Dynamic loading of DB driver + support for other DB providers
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/02c5d44f Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/02c5d44f Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/02c5d44f Branch: refs/heads/master Commit: 02c5d44f0b431ea1902ec1aed7167e932930d3b3 Parents: 570b676 Author: Nick Livens <nick.liv...@nuagenetworks.net> Authored: Mon May 23 15:50:28 2016 +0200 Committer: Nick Livens <nick.liv...@nuagenetworks.net> Committed: Mon May 23 15:50:28 2016 +0200 ---------------------------------------------------------------------- build/replace.properties | 1 + client/tomcatconf/db.properties.in | 3 ++ .../snapshot/test/resources/db.properties | 5 +++ .../com/cloud/utils/db/TransactionLegacy.java | 44 ++++++++++++++------ framework/db/test/db.properties | 5 +++ framework/jobs/test/resources/db.properties | 5 +++ packaging/centos63/replace.properties | 1 + packaging/centos7/replace.properties | 1 + packaging/centos7/tomcat7/db.properties | 5 +++ packaging/debian/replace.properties | 1 + packaging/fedora20/replace.properties | 1 + packaging/fedora21/replace.properties | 1 + .../globodns/test/resources/db.properties | 5 +++ .../test/resources/db.properties | 5 +++ server/test/resources/db.properties | 5 +++ .../iam/plugin/test/resources/db.properties | 5 +++ .../iam/server/test/resources/db.properties | 5 +++ tools/devcloud-kvm/pom.xml | 2 +- tools/devcloud/pom.xml | 2 +- tools/devcloud4/pom.xml | 2 +- usage/conf/db.properties.in | 1 + usage/test/resources/db.properties | 5 +++ utils/conf/db.properties | 5 +++ 23 files changed, 100 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/build/replace.properties ---------------------------------------------------------------------- diff --git a/build/replace.properties b/build/replace.properties index 3983b10..9e0b65c 100644 --- a/build/replace.properties +++ b/build/replace.properties @@ -21,6 +21,7 @@ DBROOTPW= MSLOG=vmops.log APISERVERLOG=api.log DBHOST=localhost +DBDRIVER=jdbc:mysql AGENTLOGDIR=logs AGENTLOG=logs/agent.log MSMNTDIR=/mnt http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/client/tomcatconf/db.properties.in ---------------------------------------------------------------------- diff --git a/client/tomcatconf/db.properties.in b/client/tomcatconf/db.properties.in index 74b9263..1c2b55f 100644 --- a/client/tomcatconf/db.properties.in +++ b/client/tomcatconf/db.properties.in @@ -25,6 +25,7 @@ region.id=1 db.cloud.username=@DBUSER@ db.cloud.password=@DBPW@ db.cloud.host=@DBHOST@ +db.cloud.driver=@DBDRIVER@ db.cloud.port=3306 db.cloud.name=cloud @@ -56,6 +57,7 @@ db.cloud.encrypt.secret= db.usage.username=@DBUSER@ db.usage.password=@DBPW@ db.usage.host=@DBHOST@ +db.usage.driver=@DBDRIVER@ db.usage.port=3306 db.usage.name=cloud_usage @@ -69,6 +71,7 @@ db.usage.url.params= db.simulator.username=@DBUSER@ db.simulator.password=@DBPW@ db.simulator.host=@DBHOST@ +db.simulator.driver=@DBDRIVER@ db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/engine/storage/snapshot/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/engine/storage/snapshot/test/resources/db.properties b/engine/storage/snapshot/test/resources/db.properties index a458b23..e8e9412 100644 --- a/engine/storage/snapshot/test/resources/db.properties +++ b/engine/storage/snapshot/test/resources/db.properties @@ -26,6 +26,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -46,6 +47,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -59,6 +62,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/framework/db/src/com/cloud/utils/db/TransactionLegacy.java ---------------------------------------------------------------------- diff --git a/framework/db/src/com/cloud/utils/db/TransactionLegacy.java b/framework/db/src/com/cloud/utils/db/TransactionLegacy.java index af834ca..523162e 100644 --- a/framework/db/src/com/cloud/utils/db/TransactionLegacy.java +++ b/framework/db/src/com/cloud/utils/db/TransactionLegacy.java @@ -20,6 +20,8 @@ import java.io.Closeable; import java.io.File; import java.io.IOException; import java.sql.Connection; +import java.sql.Driver; +import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -1024,6 +1026,7 @@ public class TransactionLegacy implements Closeable { final String cloudUsername = dbProps.getProperty("db.cloud.username"); final String cloudPassword = dbProps.getProperty("db.cloud.password"); final String cloudHost = dbProps.getProperty("db.cloud.host"); + final String cloudDriver = dbProps.getProperty("db.cloud.driver"); final int cloudPort = Integer.parseInt(dbProps.getProperty("db.cloud.port")); final String cloudDbName = dbProps.getProperty("db.cloud.name"); final boolean cloudAutoReconnect = Boolean.parseBoolean(dbProps.getProperty("db.cloud.autoReconnect")); @@ -1072,10 +1075,12 @@ public class TransactionLegacy implements Closeable { new GenericObjectPool(null, cloudMaxActive, GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION, cloudMaxWait, cloudMaxIdle, cloudTestOnBorrow, false, cloudTimeBtwEvictionRunsMillis, 1, cloudMinEvcitableIdleTimeMillis, cloudTestWhileIdle); - final ConnectionFactory cloudConnectionFactory = - new DriverManagerConnectionFactory("jdbc:mysql://" + cloudHost + (s_dbHAEnabled ? "," + cloudSlaves : "") + ":" + cloudPort + "/" + cloudDbName + - "?autoReconnect=" + cloudAutoReconnect + (url != null ? "&" + url : "") + (useSSL ? "&useSSL=true" : "") + - (s_dbHAEnabled ? "&" + cloudDbHAParams : "") + (s_dbHAEnabled ? "&loadBalanceStrategy=" + loadBalanceStrategy : ""), cloudUsername, cloudPassword); + final String cloudConnectionUri = cloudDriver + "://" + cloudHost + (s_dbHAEnabled ? "," + cloudSlaves : "") + ":" + cloudPort + "/" + cloudDbName + + "?autoReconnect=" + cloudAutoReconnect + (url != null ? "&" + url : "") + (useSSL ? "&useSSL=true" : "") + + (s_dbHAEnabled ? "&" + cloudDbHAParams : "") + (s_dbHAEnabled ? "&loadBalanceStrategy=" + loadBalanceStrategy : ""); + loadDbDriver(cloudConnectionUri); + + final ConnectionFactory cloudConnectionFactory = new DriverManagerConnectionFactory(cloudConnectionUri, cloudUsername, cloudPassword); final KeyedObjectPoolFactory poolableObjFactory = (cloudPoolPreparedStatements ? new StackKeyedObjectPoolFactory() : null); @@ -1092,6 +1097,7 @@ public class TransactionLegacy implements Closeable { final String usageUsername = dbProps.getProperty("db.usage.username"); final String usagePassword = dbProps.getProperty("db.usage.password"); final String usageHost = dbProps.getProperty("db.usage.host"); + final String usageDriver = dbProps.getProperty("db.usage.driver"); final int usagePort = Integer.parseInt(dbProps.getProperty("db.usage.port")); final String usageDbName = dbProps.getProperty("db.usage.name"); final boolean usageAutoReconnect = Boolean.parseBoolean(dbProps.getProperty("db.usage.autoReconnect")); @@ -1100,11 +1106,12 @@ public class TransactionLegacy implements Closeable { final GenericObjectPool usageConnectionPool = new GenericObjectPool(null, usageMaxActive, GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION, usageMaxWait, usageMaxIdle); - final ConnectionFactory usageConnectionFactory = - new DriverManagerConnectionFactory("jdbc:mysql://" + usageHost + (s_dbHAEnabled ? "," + dbProps.getProperty("db.cloud.slaves") : "") + ":" + usagePort + - "/" + usageDbName + "?autoReconnect=" + usageAutoReconnect + (usageUrl != null ? "&" + usageUrl : "") + - (s_dbHAEnabled ? "&" + getDBHAParams("usage", dbProps) : "") + (s_dbHAEnabled ? "&loadBalanceStrategy=" + loadBalanceStrategy : ""), usageUsername, - usagePassword); + final String usageConnectionUri = usageDriver + "://" + usageHost + (s_dbHAEnabled ? "," + dbProps.getProperty("db.cloud.slaves") : "") + ":" + usagePort + + "/" + usageDbName + "?autoReconnect=" + usageAutoReconnect + (usageUrl != null ? "&" + usageUrl : "") + + (s_dbHAEnabled ? "&" + getDBHAParams("usage", dbProps) : "") + (s_dbHAEnabled ? "&loadBalanceStrategy=" + loadBalanceStrategy : ""); + loadDbDriver(usageConnectionUri); + + final ConnectionFactory usageConnectionFactory = new DriverManagerConnectionFactory(usageConnectionUri, usageUsername, usagePassword); final PoolableConnectionFactory usagePoolableConnectionFactory = new PoolableConnectionFactory(usageConnectionFactory, usageConnectionPool, new StackKeyedObjectPoolFactory(), null, false, false); @@ -1120,6 +1127,7 @@ public class TransactionLegacy implements Closeable { final String simulatorUsername = dbProps.getProperty("db.simulator.username"); final String simulatorPassword = dbProps.getProperty("db.simulator.password"); final String simulatorHost = dbProps.getProperty("db.simulator.host"); + final String simulatorDriver = dbProps.getProperty("db.simulator.driver"); final int simulatorPort = Integer.parseInt(dbProps.getProperty("db.simulator.port")); final String simulatorDbName = dbProps.getProperty("db.simulator.name"); final boolean simulatorAutoReconnect = Boolean.parseBoolean(dbProps.getProperty("db.simulator.autoReconnect")); @@ -1127,9 +1135,11 @@ public class TransactionLegacy implements Closeable { final GenericObjectPool simulatorConnectionPool = new GenericObjectPool(null, simulatorMaxActive, GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION, simulatorMaxWait, simulatorMaxIdle); - final ConnectionFactory simulatorConnectionFactory = - new DriverManagerConnectionFactory("jdbc:mysql://" + simulatorHost + ":" + simulatorPort + "/" + simulatorDbName + "?autoReconnect=" + - simulatorAutoReconnect, simulatorUsername, simulatorPassword); + final String simulatorConnectionUri = simulatorDriver + "://" + simulatorHost + ":" + simulatorPort + "/" + simulatorDbName + "?autoReconnect=" + + simulatorAutoReconnect; + loadDbDriver(simulatorConnectionUri); + + final ConnectionFactory simulatorConnectionFactory = new DriverManagerConnectionFactory(simulatorConnectionUri, simulatorUsername, simulatorPassword); final PoolableConnectionFactory simulatorPoolableConnectionFactory = new PoolableConnectionFactory(simulatorConnectionFactory, simulatorConnectionPool, new StackKeyedObjectPoolFactory(), null, false, false); @@ -1147,6 +1157,16 @@ public class TransactionLegacy implements Closeable { } } + private static void loadDbDriver(String dbConnectionUri) { + try { + Driver driver = DriverManager.getDriver(dbConnectionUri); + s_logger.debug("Successfully loaded DB driver " + driver.getClass().getName() + " for connection " + dbConnectionUri); + } catch (SQLException e) { + s_logger.error("Failed to load DB driver for connection " + dbConnectionUri, e); + throw new CloudRuntimeException("Failed to load DB driver for connection " + dbConnectionUri, e); + } + } + private static String getDBHAParams(String dbName, Properties dbProps) { StringBuilder sb = new StringBuilder(); sb.append("failOverReadOnly=" + dbProps.getProperty("db." + dbName + ".failOverReadOnly")); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/framework/db/test/db.properties ---------------------------------------------------------------------- diff --git a/framework/db/test/db.properties b/framework/db/test/db.properties index 49fd68a..c7aeaad 100644 --- a/framework/db/test/db.properties +++ b/framework/db/test/db.properties @@ -29,6 +29,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -49,6 +50,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -62,6 +65,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/framework/jobs/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/framework/jobs/test/resources/db.properties b/framework/jobs/test/resources/db.properties index 9d250ba..235de85 100644 --- a/framework/jobs/test/resources/db.properties +++ b/framework/jobs/test/resources/db.properties @@ -22,6 +22,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -42,6 +43,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -55,6 +58,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/packaging/centos63/replace.properties ---------------------------------------------------------------------- diff --git a/packaging/centos63/replace.properties b/packaging/centos63/replace.properties index 6a3101f..bdf6e22 100644 --- a/packaging/centos63/replace.properties +++ b/packaging/centos63/replace.properties @@ -21,6 +21,7 @@ DBROOTPW= MSLOG=vmops.log APISERVERLOG=api.log DBHOST=localhost +DBDRIVER=jdbc:mysql COMPONENTS-SPEC=components-premium.xml REMOTEHOST=localhost AGENTCLASSPATH= http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/packaging/centos7/replace.properties ---------------------------------------------------------------------- diff --git a/packaging/centos7/replace.properties b/packaging/centos7/replace.properties index aec359e..0b0f2cc 100644 --- a/packaging/centos7/replace.properties +++ b/packaging/centos7/replace.properties @@ -21,6 +21,7 @@ DBROOTPW= MSLOG=vmops.log APISERVERLOG=api.log DBHOST=localhost +DBDRIVER=jdbc:mysql COMPONENTS-SPEC=components-premium.xml REMOTEHOST=localhost AGENTCLASSPATH= http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/packaging/centos7/tomcat7/db.properties ---------------------------------------------------------------------- diff --git a/packaging/centos7/tomcat7/db.properties b/packaging/centos7/tomcat7/db.properties index 36ade8c..6161f3a 100644 --- a/packaging/centos7/tomcat7/db.properties +++ b/packaging/centos7/tomcat7/db.properties @@ -25,6 +25,7 @@ region.id=1 db.cloud.username=cloud db.cloud.password=ENC(vlzQjmqOV4s5q7n+S1OMbA==) db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -56,6 +57,8 @@ db.cloud.encrypt.secret=ENC(zaGuSF5a4KyWayn2t0yyjDa0HjdToVtZ) db.usage.password=ENC(cQEcN5aVucSYK+WUkPjDcw==) db.usage.username=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -69,6 +72,8 @@ db.usage.url.params= db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/packaging/debian/replace.properties ---------------------------------------------------------------------- diff --git a/packaging/debian/replace.properties b/packaging/debian/replace.properties index 6d55a98..e1d28bb 100644 --- a/packaging/debian/replace.properties +++ b/packaging/debian/replace.properties @@ -21,6 +21,7 @@ DBROOTPW= MSLOG=vmops.log APISERVERLOG=api.log DBHOST=localhost +DBDRIVER=jdbc:mysql COMPONENTS-SPEC=components-premium.xml REMOTEHOST=localhost AGENTCLASSPATH= http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/packaging/fedora20/replace.properties ---------------------------------------------------------------------- diff --git a/packaging/fedora20/replace.properties b/packaging/fedora20/replace.properties index 6a3101f..bdf6e22 100644 --- a/packaging/fedora20/replace.properties +++ b/packaging/fedora20/replace.properties @@ -21,6 +21,7 @@ DBROOTPW= MSLOG=vmops.log APISERVERLOG=api.log DBHOST=localhost +DBDRIVER=jdbc:mysql COMPONENTS-SPEC=components-premium.xml REMOTEHOST=localhost AGENTCLASSPATH= http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/packaging/fedora21/replace.properties ---------------------------------------------------------------------- diff --git a/packaging/fedora21/replace.properties b/packaging/fedora21/replace.properties index 6a3101f..bdf6e22 100644 --- a/packaging/fedora21/replace.properties +++ b/packaging/fedora21/replace.properties @@ -21,6 +21,7 @@ DBROOTPW= MSLOG=vmops.log APISERVERLOG=api.log DBHOST=localhost +DBDRIVER=jdbc:mysql COMPONENTS-SPEC=components-premium.xml REMOTEHOST=localhost AGENTCLASSPATH= http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/plugins/network-elements/globodns/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/plugins/network-elements/globodns/test/resources/db.properties b/plugins/network-elements/globodns/test/resources/db.properties index 6ebe10a..6e38a4a 100644 --- a/plugins/network-elements/globodns/test/resources/db.properties +++ b/plugins/network-elements/globodns/test/resources/db.properties @@ -27,6 +27,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -47,6 +48,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -60,6 +63,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/plugins/network-elements/juniper-contrail/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/plugins/network-elements/juniper-contrail/test/resources/db.properties b/plugins/network-elements/juniper-contrail/test/resources/db.properties index 9d250ba..235de85 100644 --- a/plugins/network-elements/juniper-contrail/test/resources/db.properties +++ b/plugins/network-elements/juniper-contrail/test/resources/db.properties @@ -22,6 +22,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -42,6 +43,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -55,6 +58,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/server/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/server/test/resources/db.properties b/server/test/resources/db.properties index 45baf4c..e9355a3 100644 --- a/server/test/resources/db.properties +++ b/server/test/resources/db.properties @@ -26,6 +26,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -46,6 +47,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -59,6 +62,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/services/iam/plugin/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/services/iam/plugin/test/resources/db.properties b/services/iam/plugin/test/resources/db.properties index faa577c..a672d63 100644 --- a/services/iam/plugin/test/resources/db.properties +++ b/services/iam/plugin/test/resources/db.properties @@ -27,6 +27,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -47,6 +48,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -60,6 +63,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/services/iam/server/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/services/iam/server/test/resources/db.properties b/services/iam/server/test/resources/db.properties index faa577c..a672d63 100644 --- a/services/iam/server/test/resources/db.properties +++ b/services/iam/server/test/resources/db.properties @@ -27,6 +27,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -47,6 +48,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -60,6 +63,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/tools/devcloud-kvm/pom.xml ---------------------------------------------------------------------- diff --git a/tools/devcloud-kvm/pom.xml b/tools/devcloud-kvm/pom.xml index a71968e..b0e1234 100644 --- a/tools/devcloud-kvm/pom.xml +++ b/tools/devcloud-kvm/pom.xml @@ -83,7 +83,7 @@ </dependencies> <configuration> <driver>org.gjt.mm.mysql.Driver</driver> - <url>jdbc:mysql://${db.cloud.host}:${db.cloud.port}/cloud</url> + <url>${db.cloud.driver}://${db.cloud.host}:${db.cloud.port}/cloud</url> <username>${db.cloud.username}</username> <password>${db.cloud.password}</password> <!--all executions are ignored if -Dmaven.test.skip=true --> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/tools/devcloud/pom.xml ---------------------------------------------------------------------- diff --git a/tools/devcloud/pom.xml b/tools/devcloud/pom.xml index e8bcaeb..8644ff4 100644 --- a/tools/devcloud/pom.xml +++ b/tools/devcloud/pom.xml @@ -83,7 +83,7 @@ </dependencies> <configuration> <driver>org.gjt.mm.mysql.Driver</driver> - <url>jdbc:mysql://${db.cloud.host}:${db.cloud.port}/cloud</url> + <url>${db.cloud.driver}://${db.cloud.host}:${db.cloud.port}/cloud</url> <username>${db.cloud.username}</username> <password>${db.cloud.password}</password> <!--all executions are ignored if -Dmaven.test.skip=true --> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/tools/devcloud4/pom.xml ---------------------------------------------------------------------- diff --git a/tools/devcloud4/pom.xml b/tools/devcloud4/pom.xml index 4749393..e3cee0c 100644 --- a/tools/devcloud4/pom.xml +++ b/tools/devcloud4/pom.xml @@ -83,7 +83,7 @@ </dependencies> <configuration> <driver>org.gjt.mm.mysql.Driver</driver> - <url>jdbc:mysql://${db.cloud.host}:${db.cloud.port}/cloud</url> + <url>${db.cloud.driver}://${db.cloud.host}:${db.cloud.port}/cloud</url> <username>${db.cloud.username}</username> <password>${db.cloud.password}</password> <!--all executions are ignored if -Dmaven.test.skip=true --> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/usage/conf/db.properties.in ---------------------------------------------------------------------- diff --git a/usage/conf/db.properties.in b/usage/conf/db.properties.in index 0dd49ed..35a40de 100644 --- a/usage/conf/db.properties.in +++ b/usage/conf/db.properties.in @@ -19,6 +19,7 @@ db.usage.username=@DBUSER@ db.usage.password=@DBPW@ db.usage.host=@DBHOST@ +db.usage.driver=@DBDRIVER@ db.usage.port=3306 db.usage.name=cloud_usage http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/usage/test/resources/db.properties ---------------------------------------------------------------------- diff --git a/usage/test/resources/db.properties b/usage/test/resources/db.properties index a458b23..e8e9412 100644 --- a/usage/test/resources/db.properties +++ b/usage/test/resources/db.properties @@ -26,6 +26,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -46,6 +47,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -59,6 +62,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250 http://git-wip-us.apache.org/repos/asf/cloudstack/blob/02c5d44f/utils/conf/db.properties ---------------------------------------------------------------------- diff --git a/utils/conf/db.properties b/utils/conf/db.properties index 49fd68a..c7aeaad 100644 --- a/utils/conf/db.properties +++ b/utils/conf/db.properties @@ -29,6 +29,7 @@ db.cloud.username=cloud db.cloud.password=cloud db.root.password= db.cloud.host=localhost +db.cloud.driver=jdbc:mysql db.cloud.port=3306 db.cloud.name=cloud @@ -49,6 +50,8 @@ db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true&prepStmtCacheSqlLi db.usage.username=cloud db.usage.password=cloud db.usage.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.usage.driver=jdbc:mysql db.usage.port=3306 db.usage.name=cloud_usage @@ -62,6 +65,8 @@ db.usage.autoReconnect=true db.simulator.username=cloud db.simulator.password=cloud db.simulator.host=localhost +# It's not guaranteed that using a different DB provider than the one from the regular cloud DB will work +db.simulator.driver=jdbc:mysql db.simulator.port=3306 db.simulator.name=simulator db.simulator.maxActive=250