Simon, If I look at the changes of the commit I've mentioned, I can only see a change for /usr/share/cloudstack-mysql-ha/lib/*.jar (*jar -> *.jar) The mysql-connector-java was already part of it.
This is the entry in our catalina.properties : common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*.jar So that's exactly the same. I've narrowed it down to this exact commit, so that's why I mentioned it. Any idea why the removal of the mysql-connector-java in the CLASSPATH might break it? Kind regards, Nick Livens On Wed, May 18, 2016 at 3:54 PM, Simon Weller <swel...@ena.com> wrote: > Nick, > > mysql-connector-java.jar was moved into the tomcat common.loader in > /etc/cloudstack/management/catalina.properties: > > > common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*.jar > > This was done to fix a bug where the mysql-ha feature was broken. > > Does your common.loader look similar to the above? > > - Si > > > > > > ________________________________________ > From: Nick LIVENS <nick.liv...@nuagenetworks.net> > Sent: Wednesday, May 18, 2016 5:49 AM > To: dev@cloudstack.apache.org > Subject: Re: MySQL : No suitable driver found for jdbc:mysql > > Hey all, > > So I've figured it out what's causing the issue, in > commit c22659d76d73f00f41c13776c490e17a50aacd20, there has been a change in > the classpath in cloud-management.sysconfig > The change removes the mysql-connector-java.jar from the classpath. > > Before : > > CLASSPATH=/etc/cloudstack/management:/usr/share/cloudstack-common:/usr/share/cloudstack-management/setup:/usr/share/java/mysql-connector-java.jar > > After : > > CLASSPATH=/etc/cloudstack/management:/usr/share/cloudstack-common:/usr/share/cloudstack-management/setup > > Commit comment : Addresses CLOUDSTACK-9300 where the MySQL HA > StaticStrategy class fails to load successfully > > Does anyone have an idea why the mysql-connector-java.jar was removed from > the classpath? > > Thanks in advance! > > On Wed, May 18, 2016 at 8:40 AM, Paul Angus <paul.an...@shapeblue.com> > wrote: > > > Thanks Rohit, > > > > I see what you're saying. > > The conversation was actually based on your statement 'Nick, install > > libmysql-java or equivalent pkg' to which I asked why a user would have > to > > install an apparently additional component (Nick had already said that > > mysql-connector-java.jar was loaded). > > > > The conversation then spiralled out of control. > > > > Kind regards, > > > > Paul Angus > > > > paul.an...@shapeblue.com > > www.shapeblue.com > > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > > @shapeblue > > > > > > > > -----Original Message----- > > From: Rohit Yadav [mailto:rohit.ya...@shapeblue.com] > > Sent: 18 May 2016 03:51 > > To: dev@cloudstack.apache.org > > Cc: dev@cloudstack.apache.org > > Subject: Re: MySQL : No suitable driver found for jdbc:mysql > > > > Paul, > > > > > > rohit.ya...@shapeblue.com > > www.shapeblue.com > > 53 Chandos Place, Covent Garden, London WC2N 4HSUK @shapeblue > > > > > > On May 17 2016, at 11:33 pm, Paul Angus <paul.an...@shapeblue.com> > wrote: > > > > @Rohit, > > > > On CentOS 7 I get > > > > [root@localhost ~]# yum install libmysql-java > > > > This is incorrect, perhaps you did not read my email: > > "The mysql-connector-java (on centos) or libmysql-java (on debian) > package > > provides the jar dependency that understands jdbc and is necessary for > > CloudStack to communicate with MySQL, execute operations etc." > > > > The libmysql-java is the package name on debian/ubuntu, I said > > libmysql-java or 'equivalent' as I don't know what environment Nick was > > running. On CentOS, the same package that provides the mysql-java > > client/jar dependency is called 'mysql-connector-java'. > > > > The hullabulla raised around packaging dependency, is a non-issue. > > > > Based on what Nick has shared, his environment has oracle-java and not > > openjdk -- it is likely a case of missing classpath, JAVA_HOME and java > jdk > > directory path issue in the initd/systemd script. > > > > Regards. > > > > > > Loaded plugins: fastestmirror > > base | 3.6 kB 00:00:00 > > epel/x86_64/metalink | 25 kB 00:00:00 > > epel | 4.3 kB 00:00:00 > > extras | 3.4 kB 00:00:00 > > updates | 3.4 kB 00:00:00 > > (1/3): epel/x86_64/group_gz | 170 kB 00:00:00 > > (2/3): epel/x86_64/updateinfo | 555 kB 00:00:00 > > (3/3): epel/x86_64/primary_db | 4.1 MB 00:00:00 > > Loading mirror speeds from cached hostfile > > * base: mirrors.clouvider.net > > * epel: epel.mirrors.ovh.net > > * extras: centos.serverspace.co.uk > > * updates: mirror.as29550.net > > No package libmysql-java available. > > Error: Nothing to do > > [root@localhost ~]# > > > > Kind regards, > > > > Paul Angus > > > > paul.an...@shapeblue.com > > www.shapeblue.com > > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > > @shapeblue > > > > -----Original Message----- > > From: Rohit Yadav [mailto:rohit.ya...@shapeblue.com] > > Sent: 17 May 2016 18:15 > > To: dev@cloudstack.apache.org > > Subject: Re: MySQL : No suitable driver found for jdbc:mysql > > > > Nick, assuming it's a CentOS environment can you run > > cloudstack-setup-databases (again), make sure that database IP and > cluster > > node IP parameters in db.properties are correct, and finally check that > the > > jar is in the classpath in the initd/systemd script (check JAVA_HOME, jdk > > dirs etc.). Also watchout for errors in the logs. > > > > Oracle-java is not available from default repositories, in that case you > > may need to fix JAVA_HOME and jdk paths in initd scripts. > > > > Regards. > > ________________________________________ > > From: Nick LIVENS <nick.liv...@nuagenetworks.net> > > Sent: 17 May 2016 18:34:38 > > To: dev@cloudstack.apache.org > > Subject: MySQL : No suitable driver found for jdbc:mysql > > > > Hi all, > > > > I'm facing the following issue when installing ACS 4.9.0 (current > master). > > java.sql.SQLException: No suitable driver found for > > > jdbc:mysql://localhost:3306/cloud?autoReconnect=true&prepStmtCacheSize=517&cachePrepStmts=true > > at java.sql.DriverManager.getConnection(DriverManager.java:596) > > at java.sql.DriverManager.getConnection(DriverManager.java:215) > > at > > > > > org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75) > > at > > > > > org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) > > at > > > > > org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188) > > at > > > > > org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106) > > at > > > > > com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:202) > > at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68) > > at > > com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:88) > > > > First, I thought that the mysql-connector-java.jar was not loaded / > > installed correctly. But this jar is loaded : > > [root@csc-1 java]# lsof -p 14064 | grep jar | grep mysql > > java 14064 cloud mem REG 253,1 883899 134860304 > > /usr/share/java/mysql-connector-java.jar > > java 14064 cloud 38r REG 253,1 883899 134860304 > > /usr/share/java/mysql-connector-java.jar > > > > Tomcat specifics : > > [root@csc-1 java]# tomcat version > > Server version: Apache Tomcat/7.0.54 > > Server built: Mar 24 2015 07:49:05 > > Server number: 7.0.54.0 > > OS Name: Linux > > OS Version: 3.10.0-229.7.2.el7.x86_64 > > Architecture: amd64 > > JVM Version: 1.7.0_85-mockbuild_2015_07_11_12_24-b00 > > JVM Vendor: Oracle Corporation > > > > Does anyone have an idea why I might be facing this issue? > > > > Thanks! > > > > Kind regards, > > Nick Livens > > > > rohit.ya...@shapeblue.com > > www.shapeblue.com > > 53 Chandos Place, Covent Garden, London WC2N 4HSUK @shapeblue > > >