db upgrade

This commit is contained in:
Alex Huang 2011-03-19 10:33:13 -07:00
parent 82f7504832
commit d7e0f8dcc1
13 changed files with 94 additions and 13383 deletions

View File

@ -122,7 +122,7 @@ import com.cloud.storage.snapshot.SnapshotManagerImpl;
import com.cloud.storage.snapshot.SnapshotSchedulerImpl;
import com.cloud.storage.upload.UploadMonitorImpl;
import com.cloud.template.TemplateManagerImpl;
import com.cloud.upgrade.dao.DatabaseUpgradeChecker;
import com.cloud.upgrade.DatabaseUpgradeChecker;
import com.cloud.user.AccountManagerImpl;
import com.cloud.user.dao.AccountDaoImpl;
import com.cloud.user.dao.SSHKeyPairDaoImpl;

View File

@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.cloud.upgrade.dao;
package com.cloud.upgrade;
import java.io.File;
import java.io.FileNotFoundException;
@ -30,6 +30,14 @@ import org.apache.log4j.Logger;
import com.cloud.cluster.ClusterManagerImpl;
import com.cloud.maint.Version;
import com.cloud.upgrade.dao.DbUpgrade;
import com.cloud.upgrade.dao.Upgrade217to22;
import com.cloud.upgrade.dao.Upgrade221to222;
import com.cloud.upgrade.dao.Upgrade222to224;
import com.cloud.upgrade.dao.UpgradeSnapshot217to223;
import com.cloud.upgrade.dao.VersionDao;
import com.cloud.upgrade.dao.VersionDaoImpl;
import com.cloud.upgrade.dao.VersionVO;
import com.cloud.upgrade.dao.VersionVO.Step;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.component.SystemIntegrityChecker;

View File

@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.cloud.upgrade.dao;
package com.cloud.upgrade;
import java.sql.Connection;
@ -29,11 +29,10 @@ import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import com.cloud.upgrade.dao.VersionVO.Step;
import com.cloud.upgrade.dao.VersionDaoImpl;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DbTestUtils;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
public class AdvanceZone217To224UpgradeTest extends TestCase {
private static final Logger s_logger = Logger.getLogger(AdvanceZone217To224UpgradeTest.class);
@ -41,9 +40,7 @@ public class AdvanceZone217To224UpgradeTest extends TestCase {
@Override
@Before
public void setUp() throws Exception {
VersionVO version = new VersionVO("2.1.7");
version.setStep(Step.Cleanup);
DbTestUtils.executeScript("VersionDaoImplTest/clean-db.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/clean-db.sql", false, true);
}
@Override
@ -51,11 +48,11 @@ public class AdvanceZone217To224UpgradeTest extends TestCase {
public void tearDown() throws Exception {
}
public void test217to22Upgrade() {
public void test217to22Upgrade() throws SQLException {
s_logger.debug("Finding sample data from 2.1.7");
DbTestUtils.executeScript("VersionDaoImplTest/2.1.7/2.1.7.sample.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/2.1.7/2.1.7.sample.sql", false, true);
Connection conn = Transaction.getStandaloneConnection();
Connection conn;
PreparedStatement pstmt;
VersionDaoImpl dao = ComponentLocator.inject(VersionDaoImpl.class);
@ -89,15 +86,13 @@ public class AdvanceZone217To224UpgradeTest extends TestCase {
rs.close();
pstmt.close();
pstmt = conn.prepareStatement("SELECT COUNT(*) FROM disk_offering WHERE removed IS NULL AND system_used=1 AND type='Service' AND recreatable=1");
pstmt = conn.prepareStatement("SELECT COUNT(*) FROM disk_offering WHERE removed IS NULL AND system_use=1 AND type='Service' AND recreatable=1");
rs = pstmt.executeQuery();
assert (rs.next() && rs.getInt(1) == 3) : "DiskOffering for system VMs are incorrect. Expecting 3 but got " + rs.getInt(1);
rs.close();
pstmt.close();
} catch (SQLException e) {
throw new CloudRuntimeException("Problem checking upgrade version", e);
} finally {
try {
conn.close();

View File

@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.cloud.upgrade.dao;
package com.cloud.upgrade;
import java.sql.Connection;
@ -29,11 +29,10 @@ import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import com.cloud.upgrade.dao.VersionVO.Step;
import com.cloud.upgrade.dao.VersionDaoImpl;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DbTestUtils;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
public class BasicZone217To224UpgradeTest extends TestCase {
private static final Logger s_logger = Logger.getLogger(BasicZone217To224UpgradeTest.class);
@ -41,9 +40,7 @@ public class BasicZone217To224UpgradeTest extends TestCase {
@Override
@Before
public void setUp() throws Exception {
VersionVO version = new VersionVO("2.1.7");
version.setStep(Step.Cleanup);
DbTestUtils.executeScript("VersionDaoImplTest/clean-db.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/clean-db.sql", false, true);
}
@Override
@ -51,9 +48,9 @@ public class BasicZone217To224UpgradeTest extends TestCase {
public void tearDown() throws Exception {
}
public void test217to22Upgrade() {
public void test217to22Upgrade() throws SQLException {
s_logger.debug("Finding sample data from 2.1.7");
DbTestUtils.executeScript("VersionDaoImplTest/2.1.7/2.1.7_sample_basicZone_SecurityGroups.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/2.1.7/2.1.7_sample_basicZone_SecurityGroups.sql", false, true);
Connection conn = Transaction.getStandaloneConnection();
PreparedStatement pstmt;
@ -202,8 +199,6 @@ public class BasicZone217To224UpgradeTest extends TestCase {
s_logger.debug("Basic zone test is finished");
} catch (SQLException e) {
throw new CloudRuntimeException("Problem checking upgrade version", e);
} finally {
try {
conn.close();

View File

@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.cloud.upgrade.dao;
package com.cloud.upgrade;
import java.sql.Connection;
@ -30,11 +30,10 @@ import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import com.cloud.upgrade.dao.VersionVO.Step;
import com.cloud.upgrade.dao.VersionDaoImpl;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DbTestUtils;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
public class InstanceGroup217To224UpgradeTest extends TestCase {
private static final Logger s_logger = Logger.getLogger(InstanceGroup217To224UpgradeTest.class);
@ -42,9 +41,7 @@ public class InstanceGroup217To224UpgradeTest extends TestCase {
@Override
@Before
public void setUp() throws Exception {
VersionVO version = new VersionVO("2.1.7");
version.setStep(Step.Cleanup);
DbTestUtils.executeScript("VersionDaoImplTest/clean-db.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/clean-db.sql", false, true);
}
@Override
@ -52,12 +49,12 @@ public class InstanceGroup217To224UpgradeTest extends TestCase {
public void tearDown() throws Exception {
}
public void test217to22Upgrade() {
public void test217to22Upgrade() throws SQLException {
s_logger.debug("Finding sample data from 2.1.7");
DbTestUtils.executeScript("VersionDaoImplTest/2.1.7/2.1.7_sample_instanceGroups.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/2.1.7/2.1.7_sample_instanceGroups.sql", false, true);
Connection conn = Transaction.getStandaloneConnection();
PreparedStatement pstmt;
ResultSet rs;
VersionDaoImpl dao = ComponentLocator.inject(VersionDaoImpl.class);
DatabaseUpgradeChecker checker = ComponentLocator.inject(DatabaseUpgradeChecker.class);
@ -70,27 +67,11 @@ public class InstanceGroup217To224UpgradeTest extends TestCase {
s_logger.debug("Basic zone test version is " + version);
}
checker.upgrade("2.1.7", "2.2.4");
conn = Transaction.getStandaloneConnection();
Long groupNumberVmInstance = 0L;
ArrayList<Object[]> groups = new ArrayList<Object[]>();
Connection conn = Transaction.getStandaloneConnection();
try {
s_logger.debug("Starting tesing upgrade from 2.1.7 to 2.2.4 for Instance groups...");
//Version check
pstmt = conn.prepareStatement("SELECT version FROM version");
ResultSet rs = pstmt.executeQuery();
if (!rs.next()) {
s_logger.error("ERROR: No version selected");
} else if (!rs.getString(1).equals("2.2.4")) {
s_logger.error("ERROR: VERSION stored is not 2.2.4: " + rs.getString(1));
}
rs.close();
pstmt.close();
//Check that correct number of instance groups were created
Long groupNumberVmInstance = 0L;
pstmt = conn.prepareStatement("SELECT DISTINCT v.group, v.account_id from vm_instance v where v.group is not null");
rs = pstmt.executeQuery();
@ -98,13 +79,47 @@ public class InstanceGroup217To224UpgradeTest extends TestCase {
groupNumberVmInstance++;
}
rs.close();
pstmt.close();
//For each instance group from vm_instance table check that 1) entry was created in the instance_group table 2) vm to group map exists in instance_group_vm_map table
//Check 1)
pstmt = conn.prepareStatement("SELECT DISTINCT v.group, v.account_id from vm_instance v where v.group is not null");
rs = pstmt.executeQuery();
while (rs.next()) {
Object[] group = new Object[10];
group[0] = rs.getString(1); // group name
group[1] = rs.getLong(2); // accountId
groups.add(group);
}
rs.close();
pstmt.close();
} finally {
conn.close();
}
checker.upgrade("2.1.7", "2.2.4");
conn = Transaction.getStandaloneConnection();
try {
s_logger.debug("Starting tesing upgrade from 2.1.7 to 2.2.4 for Instance groups...");
//Version check
pstmt = conn.prepareStatement("SELECT version FROM version");
rs = pstmt.executeQuery();
if (!rs.next()) {
s_logger.error("ERROR: No version selected");
} else if (!rs.getString(1).equals("2.2.4")) {
s_logger.error("ERROR: VERSION stored is not 2.2.4: " + rs.getString(1));
}
rs.close();
pstmt.close();
Long groupNumber = 0L;
pstmt = conn.prepareStatement("SELECT COUNT(*) FROM instance_group");
rs = pstmt.executeQuery();
Long groupNumber = 0L;
if (rs.next()) {
groupNumber = rs.getLong(1);
}
@ -117,21 +132,6 @@ public class InstanceGroup217To224UpgradeTest extends TestCase {
System.exit(2);
}
//For each instance group from vm_instance table check that 1) entry was created in the instance_group table 2) vm to group map exists in instance_group_vm_map table
//Check 1)
pstmt = conn.prepareStatement("SELECT DISTINCT v.group, v.account_id from vm_instance v where v.group is not null");
rs = pstmt.executeQuery();
ArrayList<Object[]> groups = new ArrayList<Object[]>();
while (rs.next()) {
Object[] group = new Object[10];
group[0] = rs.getString(1); // group name
group[1] = rs.getLong(2); // accountId
groups.add(group);
}
rs.close();
pstmt.close();
for (Object[] group : groups) {
String groupName = (String)group[0];
Long accountId = (Long)group[1];
@ -171,13 +171,8 @@ public class InstanceGroup217To224UpgradeTest extends TestCase {
s_logger.debug("Instance group upgrade test is passed");
} catch (SQLException e) {
throw new CloudRuntimeException("Problem testing instance group update", e);
} finally {
try {
conn.close();
} catch (SQLException e) {
}
conn.close();
}
}

View File

@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.cloud.upgrade.dao;
package com.cloud.upgrade;
import java.sql.Connection;
@ -30,11 +30,10 @@ import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import com.cloud.upgrade.dao.VersionVO.Step;
import com.cloud.upgrade.dao.VersionDaoImpl;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DbTestUtils;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
public class PortForwarding217To224UpgradeTest extends TestCase {
private static final Logger s_logger = Logger.getLogger(PortForwarding217To224UpgradeTest.class);
@ -42,9 +41,7 @@ public class PortForwarding217To224UpgradeTest extends TestCase {
@Override
@Before
public void setUp() throws Exception {
VersionVO version = new VersionVO("2.1.7");
version.setStep(Step.Cleanup);
DbTestUtils.executeScript("VersionDaoImplTest/clean-db.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/clean-db.sql", false, true);
}
@Override
@ -52,12 +49,13 @@ public class PortForwarding217To224UpgradeTest extends TestCase {
public void tearDown() throws Exception {
}
public void test217to22Upgrade() {
public void test217to22Upgrade() throws SQLException {
s_logger.debug("Finding sample data from 2.1.7");
DbTestUtils.executeScript("VersionDaoImplTest/2.1.7/2.1.7_sample_portForwarding.sql", false, true);
DbTestUtils.executeScript("PreviousDatabaseSchema/2.1.7/2.1.7_sample_portForwarding.sql", false, true);
Connection conn = Transaction.getStandaloneConnection();
Connection conn;
PreparedStatement pstmt;
ResultSet rs;
VersionDaoImpl dao = ComponentLocator.inject(VersionDaoImpl.class);
DatabaseUpgradeChecker checker = ComponentLocator.inject(DatabaseUpgradeChecker.class);
@ -70,16 +68,33 @@ public class PortForwarding217To224UpgradeTest extends TestCase {
s_logger.debug("Port forwarding test version is " + version);
}
Long count21 = 0L;
conn = Transaction.getStandaloneConnection();
try {
//Check that correct number of port forwarding rules were created
pstmt = conn.prepareStatement("SELECT COUNT(*) FROM ip_forwarding WHERE forwarding=1");
rs = pstmt.executeQuery();
while (rs.next()) {
count21 = rs.getLong(1);
}
rs.close();
pstmt.close();
} finally {
conn.close();
}
checker.upgrade("2.1.7", "2.2.4");
conn = Transaction.getStandaloneConnection();
try {
s_logger.debug("Starting tesing upgrade from 2.1.7 to 2.2.4 for Port forwarding rules...");
//Version check
pstmt = conn.prepareStatement("SELECT version FROM version");
ResultSet rs = pstmt.executeQuery();
rs = pstmt.executeQuery();
if (!rs.next()) {
s_logger.error("ERROR: No version selected");
@ -89,17 +104,6 @@ public class PortForwarding217To224UpgradeTest extends TestCase {
rs.close();
pstmt.close();
//Check that correct number of port forwarding rules were created
Long count21 = 0L;
pstmt = conn.prepareStatement("SELECT COUNT(*) FROM ip_forwarding WHERE forwarding=1");
rs = pstmt.executeQuery();
while (rs.next()) {
count21 = rs.getLong(1);
}
rs.close();
pstmt.close();
Long count22 = 0L;
pstmt = conn.prepareStatement("SELECT COUNT(*) FROM port_forwarding_rules");
@ -119,13 +123,8 @@ public class PortForwarding217To224UpgradeTest extends TestCase {
s_logger.debug("Port forwarding rules test is passed");
} catch (SQLException e) {
throw new CloudRuntimeException("Problem testing port forwarding rules update", e);
} finally {
try {
conn.close();
} catch (SQLException e) {
}
conn.close();
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,126 +0,0 @@
SET foreign_key_checks = 0;
use cloud;
DROP VIEW IF EXISTS `cloud`.`port_forwarding_rules_view`;
DROP TABLE IF EXISTS `cloud`.`configuration`;
DROP TABLE IF EXISTS `cloud`.`ip_forwarding`;
DROP TABLE IF EXISTS `cloud`.`management_agent`;
DROP TABLE IF EXISTS `cloud`.`host`;
DROP TABLE IF EXISTS `cloud`.`mshost`;
DROP TABLE IF EXISTS `cloud`.`service_offering`;
DROP TABLE IF EXISTS `cloud`.`user`;
DROP TABLE IF EXISTS `cloud`.`user_ip_address`;
DROP TABLE IF EXISTS `cloud`.`user_statistics`;
DROP TABLE IF EXISTS `cloud`.`vm_template`;
DROP TABLE IF EXISTS `cloud`.`vm_instance`;
DROP TABLE IF EXISTS `cloud`.`domain_router`;
DROP TABLE IF EXISTS `cloud`.`event`;
DROP TABLE IF EXISTS `cloud`.`host_details`;
DROP TABLE IF EXISTS `cloud`.`host_pod_ref`;
DROP TABLE IF EXISTS `cloud`.`host_zone_ref`;
DROP TABLE IF EXISTS `cloud`.`data_ceneter`;
DROP TABLE IF EXISTS `cloud`.`volumes`;
DROP TABLE IF EXISTS `cloud`.`storage`;
DROP TABLE IF EXISTS `cloud`.`data_center`;
DROP TABLE IF EXISTS `cloud`.`pricing`;
DROP TABLE IF EXISTS `cloud`.`sequence`;
DROP TABLE IF EXISTS `cloud`.`user_vm`;
DROP TABLE IF EXISTS `cloud`.`template_host_ref`;
DROP TABLE IF EXISTS `cloud`.`upload`;
DROP TABLE IF EXISTS `cloud`.`template_zone_ref`;
DROP TABLE IF EXISTS `cloud`.`dc_vnet_alloc`;
DROP TABLE IF EXISTS `cloud`.`dc_ip_address_alloc`;
DROP TABLE IF EXISTS `cloud`.`vlan`;
DROP TABLE IF EXISTS `cloud`.`host_vlan_map`;
DROP TABLE IF EXISTS `cloud`.`pod_vlan_map`;
DROP TABLE IF EXISTS `cloud`.`vm_host`;
DROP TABLE IF EXISTS `cloud`.`op_ha_work`;
DROP TABLE IF EXISTS `cloud`.`op_dc_vnet_alloc`;
DROP TABLE IF EXISTS `cloud`.`op_dc_ip_address_alloc`;
DROP TABLE IF EXISTS `cloud`.`op_vm_host`;
DROP TABLE IF EXISTS `cloud`.`op_host_queue`;
DROP TABLE IF EXISTS `cloud`.`console_proxy`;
DROP TABLE IF EXISTS `cloud`.`secondary_storage_vm`;
DROP TABLE IF EXISTS `cloud`.`domain`;
DROP TABLE IF EXISTS `cloud`.`account`;
DROP TABLE IF EXISTS `cloud`.`limit`;
DROP TABLE IF EXISTS `cloud`.`op_host_capacity`;
DROP TABLE IF EXISTS `cloud`.`alert`;
DROP TABLE IF EXISTS `cloud`.`op_lock`;
DROP TABLE IF EXISTS `cloud`.`op_host_upgrade`;
DROP TABLE IF EXISTS `cloud`.`snapshots`;
DROP TABLE IF EXISTS `cloud`.`scheduled_volume_backups`;
DROP TABLE IF EXISTS `cloud`.`vm_disk`;
DROP TABLE IF EXISTS `cloud`.`disk_offering`;
DROP TABLE IF EXISTS `cloud`.`security_group`;
DROP TABLE IF EXISTS `cloud`.`network_rule_config`;
DROP TABLE IF EXISTS `cloud`.`host_details`;
DROP TABLE IF EXISTS `cloud`.`launch_permission`;
DROP TABLE IF EXISTS `cloud`.`resource_limit`;
DROP TABLE IF EXISTS `cloud`.`async_job`;
DROP TABLE IF EXISTS `cloud`.`sync_queue`;
DROP TABLE IF EXISTS `cloud`.`sync_queue_item`;
DROP TABLE IF EXISTS `cloud`.`security_group_vm_map`;
DROP TABLE IF EXISTS `cloud`.`load_balancer_vm_map`;
DROP TABLE IF EXISTS `cloud`.`load_balancer`;
DROP TABLE IF EXISTS `cloud`.`storage_pool`;
DROP TABLE IF EXISTS `cloud`.`storage_pool_host_ref`;
DROP TABLE IF EXISTS `cloud`.`template_spool_ref`;
DROP TABLE IF EXISTS `cloud`.`guest_os`;
DROP TABLE IF EXISTS `cloud`.`snapshot_policy`;
DROP TABLE IF EXISTS `cloud`.`snapshot_policy_ref`;
DROP TABLE IF EXISTS `cloud`.`snapshot_schedule`;
DROP TABLE IF EXISTS `cloud`.`op_pod_vlan_alloc`;
DROP TABLE IF EXISTS `cloud`.`storage_pool_details`;
DROP TABLE IF EXISTS `cloud`.`cluster`;
DROP TABLE IF EXISTS `cloud`.`nics`;
DROP TABLE IF EXISTS `cloud`.`networks`;
DROP TABLE IF EXISTS `cloud`.`op_networks`;
DROP TABLE IF EXISTS `cloud`.`network_offerings`;
DROP TABLE IF EXISTS `cloud`.`hypervisor_properties`;
DROP TABLE IF EXISTS `cloud`.`account_network_ref`;
DROP TABLE IF EXISTS `cloud`.`instance_group`;
DROP TABLE IF EXISTS `cloud`.`instance_group_vm_map`;
DROP TABLE IF EXISTS `cloud`.`certificate`;
DROP TABLE IF EXISTS `cloud`.`op_it_work`;
DROP TABLE IF EXISTS `cloud`.`load_balancing_ip_map`;
DROP TABLE IF EXISTS `cloud`.`load_balancing_rules`;
DROP TABLE IF EXISTS `cloud`.`port_forwarding_rules`;
DROP TABLE IF EXISTS `cloud`.`firewall_rules`;
DROP TABLE IF EXISTS `cloud`.`ssh_keypairs`;
DROP TABLE IF EXISTS `cloud`.`usage_event`;
DROP TABLE IF EXISTS `cloud`.`host_tags`;
DROP TABLE IF EXISTS `cloud`.`version`;
DROP TABLE IF EXISTS `cloud`.`account_vlan_map`;
DROP TABLE IF EXISTS `cloud`.`cluster_details`;
DROP TABLE IF EXISTS `cloud`.`guest_os_category`;
DROP TABLE IF EXISTS `cloud`.`guest_os_hypervisor`;
DROP TABLE IF EXISTS `cloud`.`host_master`;
DROP TABLE IF EXISTS `cloud`.`op_dc_link_local_ip_address_alloc`;
DROP TABLE IF EXISTS `cloud`.`op_host`;
DROP TABLE IF EXISTS `cloud`.`op_nwgrp_work`;
DROP TABLE IF EXISTS `cloud`.`op_vm_ruleset_log`;
DROP TABLE IF EXISTS `cloud`.`ovs_host_vlan_alloc`;
DROP TABLE IF EXISTS `cloud`.`ovs_tunnel`;
DROP TABLE IF EXISTS `cloud`.`ovs_tunnel_account`;
DROP TABLE IF EXISTS `cloud`.`ovs_tunnel_alloc`;
DROP TABLE IF EXISTS `cloud`.`ovs_vlan_mapping_dirty`;
DROP TABLE IF EXISTS `cloud`.`ovs_vm_flow_log`;
DROP TABLE IF EXISTS `cloud`.`ovs_work`;
DROP TABLE IF EXISTS `cloud`.`remote_access_vpn`;
DROP TABLE IF EXISTS `cloud`.`resource_count`;
DROP TABLE IF EXISTS `cloud`.`security_ingress_rule`;
DROP TABLE IF EXISTS `cloud`.`stack_maid`;
DROP TABLE IF EXISTS `cloud`.`storage_pool_work`;
DROP TABLE IF EXISTS `cloud`.`user_vm_details`;
DROP TABLE IF EXISTS `cloud`.`vpn_users`;
DROP TABLE IF EXISTS `cloud`.`network_groups`;
DROP TABLE IF EXISTS `cloud`.`network_ingress_rule`;
DROP TABLE IF EXISTS `cloud`.`op_nwgrp_work`;
DROP TABLE IF EXISTS `cloud`.`op_vm_ruleset_log`;
DROP TABLE IF EXISTS `cloud`.`disk_template_ref`;
DROP TABLE IF EXISTS `cloud`.`ext_lun_alloc`;
DROP TABLE IF EXISTS `cloud`.`ext_lun_details`;
DROP TABLE IF EXISTS `cloud`.`netapp_lun`;
DROP TABLE IF EXISTS `cloud`.`netapp_pool`;
DROP TABLE IF EXISTS `cloud`.`netapp_volume`;