Merge remote-tracking branch 'origin/4.19'

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

 Conflicts:
	plugins/network-elements/juniper-contrail/pom.xml
	pom.xml
	tools/marvin/setup.py

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2024-03-21 18:12:47 +05:30
commit 01d44347e7
18 changed files with 76 additions and 48 deletions

View File

@ -68,8 +68,8 @@
<artifactId>jetty-util</artifactId> <artifactId>jetty-util</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.cloudstack</groupId> <groupId>org.apache.cloudstack</groupId>
@ -714,8 +714,8 @@
<dependencies> <dependencies>
<!-- specify the dependent jdbc driver here --> <!-- specify the dependent jdbc driver here -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
</dependency> </dependency>
<dependency> <dependency>
@ -903,8 +903,8 @@
<outputDirectory>${project.build.directory}/pythonlibs</outputDirectory> <outputDirectory>${project.build.directory}/pythonlibs</outputDirectory>
</artifactItem> </artifactItem>
<artifactItem> <artifactItem>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<overWrite>false</overWrite> <overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/lib</outputDirectory> <outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem> </artifactItem>
@ -978,7 +978,7 @@
<exclude>org.bouncycastle:bcprov-jdk15on</exclude> <exclude>org.bouncycastle:bcprov-jdk15on</exclude>
<exclude>org.bouncycastle:bcpkix-jdk15on</exclude> <exclude>org.bouncycastle:bcpkix-jdk15on</exclude>
<exclude>org.bouncycastle:bctls-jdk15on</exclude> <exclude>org.bouncycastle:bctls-jdk15on</exclude>
<exclude>mysql:mysql-connector-java</exclude> <exclude>com.mysql:mysql-connector-j</exclude>
<exclude>org.apache.cloudstack:cloud-plugin-storage-volume-storpool</exclude> <exclude>org.apache.cloudstack:cloud-plugin-storage-volume-storpool</exclude>
<exclude>org.apache.cloudstack:cloud-plugin-storage-volume-linstor</exclude> <exclude>org.apache.cloudstack:cloud-plugin-storage-volume-linstor</exclude>
<exclude>org.apache.cloudstack:cloud-usage</exclude> <exclude>org.apache.cloudstack:cloud-usage</exclude>

View File

@ -112,8 +112,8 @@
<dependencies> <dependencies>
<!-- specify the dependent jdbc driver here --> <!-- specify the dependent jdbc driver here -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@ -180,8 +180,8 @@
<version>1.2.1</version> <version>1.2.1</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@ -238,8 +238,8 @@
<version>1.2.1</version> <version>1.2.1</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -49,8 +49,8 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.ini4j</groupId> <groupId>org.ini4j</groupId>

View File

@ -74,7 +74,7 @@ public class DatabaseCreator {
private static void runQuery(String host, String port, String rootPassword, String query, boolean dryRun) { private static void runQuery(String host, String port, String rootPassword, String query, boolean dryRun) {
System.out.println("============> Running query: " + query); System.out.println("============> Running query: " + query);
try (Connection conn = DriverManager.getConnection(String.format("jdbc:mysql://%s:%s/", host, port), "root", rootPassword); try (Connection conn = DriverManager.getConnection(String.format("jdbc:mysql://%s:%s/?" + TransactionLegacy.CONNECTION_PARAMS, host, port), "root", rootPassword);
Statement stmt = conn.createStatement();){ Statement stmt = conn.createStatement();){
if (!dryRun) if (!dryRun)
stmt.executeUpdate(query); stmt.executeUpdate(query);

View File

@ -16,16 +16,18 @@
// under the License. // under the License.
package com.cloud.upgrade.dao; package com.cloud.upgrade.dao;
import com.cloud.upgrade.SystemVmTemplateRegistration;
import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.CloudRuntimeException;
import java.io.InputStream; import java.io.InputStream;
import java.sql.Connection; import java.sql.Connection;
public class Upgrade41900to41910 implements DbUpgrade { public class Upgrade41900to41910 extends DbUpgradeAbstractImpl implements DbUpgrade, DbUpgradeSystemVmTemplate {
private SystemVmTemplateRegistration systemVmTemplateRegistration;
@Override @Override
public String[] getUpgradableVersionRange() { public String[] getUpgradableVersionRange() {
return new String[] {"4.19.0.0", "4.19.1.0"}; return new String[]{"4.19.0.0", "4.19.1.0"};
} }
@Override @Override
@ -46,11 +48,12 @@ public class Upgrade41900to41910 implements DbUpgrade {
throw new CloudRuntimeException("Unable to find " + scriptFile); throw new CloudRuntimeException("Unable to find " + scriptFile);
} }
return new InputStream[] {script}; return new InputStream[]{script};
} }
@Override @Override
public void performDataMigration(Connection conn) { public void performDataMigration(Connection conn) {
addIndexes(conn);
} }
@Override @Override
@ -61,6 +64,25 @@ public class Upgrade41900to41910 implements DbUpgrade {
throw new CloudRuntimeException("Unable to find " + scriptFile); throw new CloudRuntimeException("Unable to find " + scriptFile);
} }
return new InputStream[] {script}; return new InputStream[]{script};
}
private void addIndexes(Connection conn) {
DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "vm_id");
}
@Override
public void updateSystemVmTemplates(Connection conn) {
logger.debug("Updating System Vm template IDs");
initSystemVmTemplateRegistration();
try {
systemVmTemplateRegistration.updateSystemVmTemplates(conn);
} catch (Exception e) {
throw new CloudRuntimeException("Failed to find / register SystemVM template(s)");
}
}
private void initSystemVmTemplateRegistration() {
systemVmTemplateRegistration = new SystemVmTemplateRegistration("");
} }
} }

View File

@ -83,6 +83,7 @@ public class TransactionLegacy implements Closeable {
public static final short SIMULATOR_DB = 3; public static final short SIMULATOR_DB = 3;
public static final short CONNECTED_DB = -1; public static final short CONNECTED_DB = -1;
public static final String CONNECTION_PARAMS = "scrollTolerantForwardOnly=true";
private static AtomicLong s_id = new AtomicLong(); private static AtomicLong s_id = new AtomicLong();
private static final TransactionMBeanImpl s_mbean = new TransactionMBeanImpl(); private static final TransactionMBeanImpl s_mbean = new TransactionMBeanImpl();
@ -1212,6 +1213,9 @@ public class TransactionLegacy implements Closeable {
connectionUri.append(loadBalanceStrategy); connectionUri.append(loadBalanceStrategy);
} }
connectionUri.append("&");
connectionUri.append(CONNECTION_PARAMS);
return connectionUri.toString(); return connectionUri.toString();
} }
@ -1276,7 +1280,7 @@ public class TransactionLegacy implements Closeable {
@SuppressWarnings({"unchecked", "rawtypes"}) @SuppressWarnings({"unchecked", "rawtypes"})
private static DataSource getDefaultDataSource(final String database) { private static DataSource getDefaultDataSource(final String database) {
final ConnectionFactory connectionFactory = new DriverManagerConnectionFactory("jdbc:mysql://localhost:3306/" + database, "cloud", "cloud"); final ConnectionFactory connectionFactory = new DriverManagerConnectionFactory("jdbc:mysql://localhost:3306/" + database + "?" + CONNECTION_PARAMS, "cloud", "cloud");
final PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, null); final PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, null);
final GenericObjectPool connectionPool = new GenericObjectPool(poolableConnectionFactory); final GenericObjectPool connectionPool = new GenericObjectPool(poolableConnectionFactory);
return new PoolingDataSource(connectionPool); return new PoolingDataSource(connectionPool);

View File

@ -29,8 +29,8 @@
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -49,8 +49,8 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -124,8 +124,8 @@
<artifactId>reload4j</artifactId> <artifactId>reload4j</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -39,8 +39,8 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -166,7 +166,7 @@
<cs.kafka-clients.version>2.7.0</cs.kafka-clients.version> <cs.kafka-clients.version>2.7.0</cs.kafka-clients.version>
<cs.libvirt-java.version>0.5.3</cs.libvirt-java.version> <cs.libvirt-java.version>0.5.3</cs.libvirt-java.version>
<cs.mail.version>1.5.0-b01</cs.mail.version> <cs.mail.version>1.5.0-b01</cs.mail.version>
<cs.mysql.version>8.0.19</cs.mysql.version> <cs.mysql.version>8.0.33</cs.mysql.version>
<cs.neethi.version>2.0.4</cs.neethi.version> <cs.neethi.version>2.0.4</cs.neethi.version>
<cs.nitro.version>10.1</cs.nitro.version> <cs.nitro.version>10.1</cs.nitro.version>
<cs.opensaml.version>2.6.6</cs.opensaml.version> <cs.opensaml.version>2.6.6</cs.opensaml.version>
@ -465,8 +465,8 @@
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>

View File

@ -35,8 +35,8 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>

View File

@ -86,7 +86,7 @@ public abstract class TestCase {
this.conn = null; this.conn = null;
try { try {
Class.forName("com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver");
this.conn = DriverManager.getConnection("jdbc:mysql://" + param.get("db") + "/cloud", "root", dbPassword); this.conn = DriverManager.getConnection("jdbc:mysql://" + param.get("db") + "/cloud?" + TransactionLegacy.CONNECTION_PARAMS, "root", dbPassword);
if (!this.conn.isValid(0)) { if (!this.conn.isValid(0)) {
LOGGER.error("Connection to DB failed to establish"); LOGGER.error("Connection to DB failed to establish");
} }

View File

@ -30,8 +30,8 @@
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -80,8 +80,8 @@
<dependencies> <dependencies>
<!-- specify the dependent jdbc driver here --> <!-- specify the dependent jdbc driver here -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -30,8 +30,8 @@
</parent> </parent>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -80,8 +80,8 @@
<dependencies> <dependencies>
<!-- specify the dependent jdbc driver here --> <!-- specify the dependent jdbc driver here -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version> <version>${cs.mysql.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -59,8 +59,8 @@
<artifactId>commons-daemon</artifactId> <artifactId>commons-daemon</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -41,6 +41,7 @@ import org.junit.runners.Parameterized.Parameters;
import org.mockito.Mockito; import org.mockito.Mockito;
import com.cloud.utils.PropertiesUtil; import com.cloud.utils.PropertiesUtil;
import com.cloud.utils.db.TransactionLegacy;
@RunWith(Parameterized.class) @RunWith(Parameterized.class)
public class UsageSanityCheckerIT{ public class UsageSanityCheckerIT{
@ -106,7 +107,7 @@ public class UsageSanityCheckerIT{
protected Connection createConnection(String dbSchema) throws SQLException { protected Connection createConnection(String dbSchema) throws SQLException {
String cloudDbUrl = "jdbc:mysql://"+properties.getProperty("db."+dbSchema+".host") + String cloudDbUrl = "jdbc:mysql://"+properties.getProperty("db."+dbSchema+".host") +
":" + properties.getProperty("db."+dbSchema+".port") + "/" + ":" + properties.getProperty("db."+dbSchema+".port") + "/" +
properties.getProperty("db."+dbSchema+".name"); properties.getProperty("db."+dbSchema+".name") + "?" + TransactionLegacy.CONNECTION_PARAMS;
return DriverManager.getConnection(cloudDbUrl, properties.getProperty("db."+dbSchema+".username"), return DriverManager.getConnection(cloudDbUrl, properties.getProperty("db."+dbSchema+".username"),
properties.getProperty("db."+dbSchema+".password")); properties.getProperty("db."+dbSchema+".password"));
} }

View File

@ -124,8 +124,9 @@
</dependency> </dependency>
<!-- Test dependency in mysql for db tests --> <!-- Test dependency in mysql for db tests -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-j</artifactId>
<version>${cs.mysql.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>