You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2015/08/03 22:02:21 UTC

[4/5] git commit: updated refs/heads/master to 118e954

coverity: try-with-resource and restructure in upgrade datacenter

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/53535d60
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/53535d60
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/53535d60

Branch: refs/heads/master
Commit: 53535d60ccaca49786900d25a3e68052d5bf461d
Parents: 2b9f5b2
Author: Daan Hoogland <da...@onecht.net>
Authored: Sun Jul 19 22:40:25 2015 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Sun Aug 2 14:30:14 2015 +0200

----------------------------------------------------------------------
 .../com/cloud/upgrade/dao/Upgrade218to22.java   | 842 ++++++++++++-------
 1 file changed, 532 insertions(+), 310 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/53535d60/engine/schema/src/com/cloud/upgrade/dao/Upgrade218to22.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade218to22.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade218to22.java
index b1d24df..dd9ff5e 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade218to22.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade218to22.java
@@ -375,7 +375,7 @@ public class Upgrade218to22 implements DbUpgrade {
                     throw new CloudRuntimeException("Unable to find cp " + cpId);
                 }
 
-                long id = rs.getLong(1);
+//                long id = rs.getLong(1);
                 String state = rs.getString(2);
                 boolean running = state.equals("Running") | state.equals("Starting") | state.equals("Stopping");
                 String privateMac = rs.getString(3);
@@ -388,7 +388,7 @@ public class Upgrade218to22 implements DbUpgrade {
                 String guestIp = rs.getString(10);
                 String guestNetmask = rs.getString(11);
                 String gateway = rs.getString(12);
-                String type = rs.getString(13);
+//                String type = rs.getString(13);
                 try (
                         PreparedStatement selectHost =
                         conn.prepareStatement("SELECT host_pod_ref.gateway from host_pod_ref INNER JOIN vm_instance ON vm_instance.pod_id=host_pod_ref.id WHERE vm_instance.id=?");
@@ -735,357 +735,578 @@ public class Upgrade218to22 implements DbUpgrade {
     }
 
     protected void upgradeDataCenter(Connection conn) {
-        PreparedStatement pstmt;
-        try {
-            pstmt = conn.prepareStatement("SELECT value FROM configuration WHERE name='direct.attach.untagged.vlan.enabled'");
-            ResultSet rs = pstmt.executeQuery();
+        try (
+                PreparedStatement pstmt = conn.prepareStatement("SELECT value FROM configuration WHERE name='direct.attach.untagged.vlan.enabled'");
+                ResultSet rs = pstmt.executeQuery();
+            ) {
             _basicZone = !rs.next() || Boolean.parseBoolean(rs.getString(1));
-            rs.close();
-            pstmt.close();
-            pstmt =
-                conn.prepareStatement("UPDATE data_center SET networktype=?, dns_provider=?, gateway_provider=?, firewall_provider=?, dhcp_provider=?, lb_provider=?, vpn_provider=?, userdata_provider=?");
+            updateDatacenterWithServices(conn);
+
+            // For basic zone vnet field should be NULL
+            updateBasicZoneDataCenterWithVnetAndGuestCidr(conn);
+
+            ArrayList<Object[]> dcs = retrieveDataCenters(conn);
+
+            long managementNetworkOfferingId = retrieveNetworkOfferingId(conn,"System-Management-Network");
+            long publicNetworkOfferingId = retrieveNetworkOfferingId(conn,"System-Public-Network");
+            long controlNetworkOfferingId = retrieveNetworkOfferingId(conn,"System-Control-Network");
+            long storageNetworkOfferingId = retrieveNetworkOfferingId(conn,"System-Storage-Network");
+
             if (_basicZone) {
-                pstmt.setString(1, "Basic");
-                pstmt.setString(2, "DhcpServer");
-                pstmt.setString(3, null);
-                pstmt.setString(4, null);
-                pstmt.setString(5, "DhcpServer");
-                pstmt.setString(6, null);
-                pstmt.setString(7, null);
-                pstmt.setString(8, "DhcpServer");
+                for (Object[] dc : dcs) {
+                    updateBasicNetworkingDataCenter(conn, managementNetworkOfferingId, controlNetworkOfferingId, storageNetworkOfferingId, dc);
+                }
             } else {
-                pstmt.setString(1, "Advanced");
-                pstmt.setString(2, "VirtualRouter");
-                pstmt.setString(3, "VirtualRouter");
-                pstmt.setString(4, "VirtualRouter");
-                pstmt.setString(5, "VirtualRouter");
-                pstmt.setString(6, "VirtualRouter");
-                pstmt.setString(7, "VirtualRouter");
-                pstmt.setString(8, "VirtualRouter");
+                for (Object[] dc : dcs) {
+                    updateAdvancedNetworkingDataCenter(conn, managementNetworkOfferingId, publicNetworkOfferingId, controlNetworkOfferingId, storageNetworkOfferingId, dc);
+                }
             }
-            pstmt.executeUpdate();
-            pstmt.close();
 
-            // For basic zone vnet field should be NULL
+        } catch (SQLException e) {
+            s_logger.error("Can't update data center ", e);
+            throw new CloudRuntimeException("Can't update data center ", e);
+        }
+    }
 
+    /**
+     * @param conn
+     * @throws SQLException
+     */
+    private void updateDatacenterWithServices(Connection conn) throws SQLException {
+        try (PreparedStatement updateDataCenter =
+            conn.prepareStatement("UPDATE data_center SET networktype=?, dns_provider=?, gateway_provider=?, firewall_provider=?, dhcp_provider=?, lb_provider=?, vpn_provider=?, userdata_provider=?");) {
             if (_basicZone) {
-                pstmt = conn.prepareStatement("UPDATE data_center SET vnet=?, guest_network_cidr=?");
-                pstmt.setString(1, null);
-                pstmt.setString(2, null);
-                pstmt.executeUpdate();
-                pstmt.close();
-            }
+                updateDataCenter.setString(1, "Basic");
+                updateDataCenter.setString(2, "DhcpServer");
+                updateDataCenter.setString(3, null);
+                updateDataCenter.setString(4, null);
+                updateDataCenter.setString(5, "DhcpServer");
+                updateDataCenter.setString(6, null);
+                updateDataCenter.setString(7, null);
+                updateDataCenter.setString(8, "DhcpServer");
+            } else {
+                updateDataCenter.setString(1, "Advanced");
+                updateDataCenter.setString(2, "VirtualRouter");
+                updateDataCenter.setString(3, "VirtualRouter");
+                updateDataCenter.setString(4, "VirtualRouter");
+                updateDataCenter.setString(5, "VirtualRouter");
+                updateDataCenter.setString(6, "VirtualRouter");
+                updateDataCenter.setString(7, "VirtualRouter");
+                updateDataCenter.setString(8, "VirtualRouter");
+            }
+        updateDataCenter.executeUpdate();
+        }
+    }
 
-            pstmt = conn.prepareStatement("SELECT id, guest_network_cidr, domain FROM data_center");
-            rs = pstmt.executeQuery();
-            ArrayList<Object[]> dcs = new ArrayList<Object[]>();
-            while (rs.next()) {
-                Object[] dc = new Object[10];
-                dc[0] = rs.getLong(1); // data center id
-                dc[1] = rs.getString(2); // guest network cidr
-                dc[2] = rs.getString(3); // network domain
-                dcs.add(dc);
+    /**
+     * @param conn
+     * @throws SQLException
+     */
+    private void updateBasicZoneDataCenterWithVnetAndGuestCidr(Connection conn) throws SQLException {
+        if (_basicZone) {
+            try (PreparedStatement updateDataCenterWithVnetAndGuestCidr = conn.prepareStatement("UPDATE data_center SET vnet=?, guest_network_cidr=?");) {
+                updateDataCenterWithVnetAndGuestCidr.setString(1, null);
+                updateDataCenterWithVnetAndGuestCidr.setString(2, null);
+                updateDataCenterWithVnetAndGuestCidr.executeUpdate();
             }
-            rs.close();
-            pstmt.close();
+        }
+    }
 
-            pstmt = conn.prepareStatement("SELECT id FROM network_offerings WHERE name='System-Management-Network'");
-            rs = pstmt.executeQuery();
-            if (!rs.next()) {
-                s_logger.error("Unable to find the management network offering.");
-                throw new CloudRuntimeException("Unable to find the management network offering.");
-            }
-            long managementNetworkOfferingId = rs.getLong(1);
-            rs.close();
-            pstmt.close();
+    /**
+     * @param conn
+     * @return
+     * @throws SQLException
+     */
+    private ArrayList<Object[]> retrieveDataCenters(Connection conn) throws SQLException {
+        PreparedStatement selectDcData = conn.prepareStatement("SELECT id, guest_network_cidr, domain FROM data_center");
+        ResultSet dcData = selectDcData.executeQuery();
+        ArrayList<Object[]> dcs = new ArrayList<Object[]>();
+        while (dcData.next()) {
+            Object[] dc = new Object[10];
+            dc[0] = dcData.getLong(1); // data center id
+            dc[1] = dcData.getString(2); // guest network cidr
+            dc[2] = dcData.getString(3); // network domain
+            dcs.add(dc);
+        }
+        dcData.close();
+        selectDcData.close();
+        return dcs;
+    }
 
-            pstmt = conn.prepareStatement("SELECT id FROM network_offerings WHERE name='System-Public-Network'");
-            rs = pstmt.executeQuery();
-            if (!rs.next()) {
-                s_logger.error("Unable to find the public network offering.");
-                throw new CloudRuntimeException("Unable to find the public network offering.");
+    /**
+     * @return
+     * @throws SQLException
+     * @throws CloudRuntimeException
+     */
+    private long retrieveNetworkOfferingId(Connection conn, String type) throws SQLException, CloudRuntimeException {
+        long networkOfferingId;
+        try (
+                PreparedStatement pstmt = conn.prepareStatement("SELECT id FROM network_offerings WHERE name=?");
+            ) {
+            pstmt.setString(1, type);
+            try (ResultSet rs = pstmt.executeQuery();) {
+                if (!rs.next()) {
+                    s_logger.error("Unable to find the network offering for networktype '" + type + "'");
+                    throw new CloudRuntimeException("Unable to find the storage network offering.");
+                }
+                networkOfferingId = rs.getLong(1);
+                return networkOfferingId;
             }
-            long publicNetworkOfferingId = rs.getLong(1);
-            rs.close();
-            pstmt.close();
+        }
+    }
 
-            pstmt = conn.prepareStatement("SELECT id FROM network_offerings WHERE name='System-Control-Network'");
-            rs = pstmt.executeQuery();
-            if (!rs.next()) {
-                s_logger.error("Unable to find the control network offering.");
-                throw new CloudRuntimeException("Unable to find the control network offering.");
+    /**
+     * @param conn
+     * @param managementNetworkOfferingId
+     * @param controlNetworkOfferingId
+     * @param storageNetworkOfferingId
+     * @param dc
+     * @throws SQLException
+     */
+    private void updateBasicNetworkingDataCenter(Connection conn, long managementNetworkOfferingId, long controlNetworkOfferingId, long storageNetworkOfferingId, Object[] dc)
+            throws SQLException {
+        Long dcId = (Long)dc[0];
+        long mgmtNetworkId =
+            insertNetwork(conn, "ManagementNetwork" + dcId, "Management Network created for Zone " + dcId, "Management", "Native", null, null, null,
+                "Static", managementNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
+//                    long storageNetworkId =
+            insertNetwork(conn, "StorageNetwork" + dcId, "Storage Network created for Zone " + dcId, "Storage", "Native", null, null, null, "Static",
+                storageNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
+        long controlNetworkId =
+            insertNetwork(conn, "ControlNetwork" + dcId, "Control Network created for Zone " + dcId, "Control", "LinkLocal", null,
+                NetUtils.getLinkLocalGateway(), NetUtils.getLinkLocalCIDR(), "Static", controlNetworkOfferingId, dcId, "ControlNetworkGuru", "Setup", 1, 1,
+                null, null, null, true, null, false, null);
+        upgradeManagementIpAddress(conn, dcId);
+        long basicDefaultDirectNetworkId =
+            insertNetwork(conn, "BasicZoneDirectNetwork" + dcId, "Basic Zone Direct Network created for Zone " + dcId, "Guest", "Native", null, null, null,
+                "Dhcp", 5, dcId, "DirectPodBasedNetworkGuru", "Setup", 1, 1, null, null, "Direct", true, null, true, null);
+
+        updateVlanWithNetworkForDataCenter(conn, dcId, basicDefaultDirectNetworkId);
+
+        upgradeDirectUserIpAddress(conn, dcId, basicDefaultDirectNetworkId, "DirectAttached");
+
+        // update Dhcp servers information in domain_router and vm_instance tables; all domRs belong to the same
+        // network
+        retrieveAndUpdateDomainRouters(conn, dcId, controlNetworkId, basicDefaultDirectNetworkId);
+        upgradeSsvm(conn, dcId, basicDefaultDirectNetworkId, mgmtNetworkId, controlNetworkId, "Basic");
+        updateConsoleProxies(conn, dcId, mgmtNetworkId, controlNetworkId, basicDefaultDirectNetworkId, "Basic");
+    }
+
+    /**
+     * @param conn
+     * @param dcId
+     * @param controlNetworkId
+     * @param basicDefaultDirectNetworkId
+     * @throws SQLException
+     */
+    private void retrieveAndUpdateDomainRouters(Connection conn, Long dcId, long controlNetworkId, long basicDefaultDirectNetworkId) throws SQLException {
+        try (PreparedStatement selectVmInstanceData =
+            conn.prepareStatement("SELECT vm_instance.id, vm_instance.domain_id, vm_instance.account_id, domain_router.gateway, domain_router.guest_ip_address, domain_router.domain, domain_router.dns1, domain_router.dns2, domain_router.vnet FROM vm_instance INNER JOIN domain_router ON vm_instance.id=domain_router.id WHERE vm_instance.removed IS NULL AND vm_instance.type='DomainRouter' AND vm_instance.data_center_id=?");) {
+            selectVmInstanceData.setLong(1, dcId);
+            try(ResultSet vmInstanceData = selectVmInstanceData.executeQuery();) {
+                ArrayList<Object[]> routers = new ArrayList<Object[]>();
+                while (vmInstanceData.next()) {
+                    Object[] router = new Object[40];
+                    router[0] = vmInstanceData.getLong(1); // router id
+                    router[1] = vmInstanceData.getString(4); // router gateway which is gonna be gateway for user vms
+                    routers.add(router);
+                }
+
+                updateRouters(conn, dcId, controlNetworkId, basicDefaultDirectNetworkId, routers);
             }
-            long controlNetworkOfferingId = rs.getLong(1);
-            rs.close();
-            pstmt.close();
+        }
+    }
 
-            pstmt = conn.prepareStatement("SELECT id FROM network_offerings WHERE name='System-Storage-Network'");
-            rs = pstmt.executeQuery();
-            if (!rs.next()) {
-                s_logger.error("Unable to find the storage network offering.");
-                throw new CloudRuntimeException("Unable to find the storage network offering.");
+    /**
+     * @param conn
+     * @param dcId
+     * @param networkId
+     * @throws SQLException
+     */
+    private void updateVlanWithNetworkForDataCenter(Connection conn, Long dcId, long networkId) throws SQLException {
+        try (PreparedStatement selectVlanId = conn.prepareStatement("SELECT id FROM vlan WHERE vlan_type='DirectAttached' AND data_center_id=?");) {
+            selectVlanId.setLong(1, dcId);
+            try (ResultSet selectedVlanId = selectVlanId.executeQuery();) {
+                while (selectedVlanId.next()) {
+                    long vlanId = selectedVlanId.getLong(1);
+
+                    updateVlanNetworkForTag(conn, networkId, vlanId);
+                }
             }
-            long storageNetworkOfferingId = rs.getLong(1);
-            rs.close();
-            pstmt.close();
+        }
+    }
 
-            if (_basicZone) {
-                for (Object[] dc : dcs) {
-                    Long dcId = (Long)dc[0];
-                    long mgmtNetworkId =
-                        insertNetwork(conn, "ManagementNetwork" + dcId, "Management Network created for Zone " + dcId, "Management", "Native", null, null, null,
-                            "Static", managementNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
-                    long storageNetworkId =
-                        insertNetwork(conn, "StorageNetwork" + dcId, "Storage Network created for Zone " + dcId, "Storage", "Native", null, null, null, "Static",
-                            storageNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
-                    long controlNetworkId =
-                        insertNetwork(conn, "ControlNetwork" + dcId, "Control Network created for Zone " + dcId, "Control", "LinkLocal", null,
-                            NetUtils.getLinkLocalGateway(), NetUtils.getLinkLocalCIDR(), "Static", controlNetworkOfferingId, dcId, "ControlNetworkGuru", "Setup", 1, 1,
-                            null, null, null, true, null, false, null);
-                    upgradeManagementIpAddress(conn, dcId);
-                    long basicDefaultDirectNetworkId =
-                        insertNetwork(conn, "BasicZoneDirectNetwork" + dcId, "Basic Zone Direct Network created for Zone " + dcId, "Guest", "Native", null, null, null,
-                            "Dhcp", 5, dcId, "DirectPodBasedNetworkGuru", "Setup", 1, 1, null, null, "Direct", true, null, true, null);
-
-                    pstmt = conn.prepareStatement("SELECT id FROM vlan WHERE vlan_type='DirectAttached' AND data_center_id=?");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    while (rs.next()) {
-                        long vlanId = rs.getLong(1);
+    /**
+     * @param conn
+     * @param managementNetworkOfferingId
+     * @param publicNetworkOfferingId
+     * @param controlNetworkOfferingId
+     * @param storageNetworkOfferingId
+     * @param dc
+     * @throws SQLException
+     * @throws CloudRuntimeException
+     */
+    private void updateAdvancedNetworkingDataCenter(Connection conn, long managementNetworkOfferingId, long publicNetworkOfferingId, long controlNetworkOfferingId,
+            long storageNetworkOfferingId, Object[] dc) throws SQLException, CloudRuntimeException {
+        Long dcId = (Long)dc[0];
+        long mgmtNetworkId =
+            insertNetwork(conn, "ManagementNetwork" + dcId, "Management Network created for Zone " + dcId, "Management", "Native", null, null, null,
+                "Static", managementNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
+        insertNetwork(conn, "StorageNetwork" + dcId, "Storage Network created for Zone " + dcId, "Storage", "Native", null, null, null, "Static",
+            storageNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
+        long controlNetworkId =
+            insertNetwork(conn, "ControlNetwork" + dcId, "Control Network created for Zone " + dcId, "Control", "Native", null, null, null, "Static",
+                controlNetworkOfferingId, dcId, "ControlNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
+        upgradeManagementIpAddress(conn, dcId);
+        long publicNetworkId =
+            insertNetwork(conn, "PublicNetwork" + dcId, "Public Network Created for Zone " + dcId, "Public", "Vlan", null, null, null, "Static",
+                publicNetworkOfferingId, dcId, "PublicNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
 
-                        pstmt = conn.prepareStatement("UPDATE vlan SET network_id=? WHERE id=?");
-                        pstmt.setLong(1, basicDefaultDirectNetworkId);
-                        pstmt.setLong(2, vlanId);
-                        pstmt.executeUpdate();
-                        pstmt.close();
-                    }
+        ArrayList<Object[]> routers = retrieveRouters(conn, dcId);
 
-                    upgradeDirectUserIpAddress(conn, dcId, basicDefaultDirectNetworkId, "DirectAttached");
+        updateRouters(conn, dc, dcId, controlNetworkId, publicNetworkId, routers);
 
-                    // update Dhcp servers information in domain_router and vm_instance tables; all domRs belong to the same
-                    // network
-                    pstmt =
-                        conn.prepareStatement("SELECT vm_instance.id, vm_instance.domain_id, vm_instance.account_id, domain_router.gateway, domain_router.guest_ip_address, domain_router.domain, domain_router.dns1, domain_router.dns2, domain_router.vnet FROM vm_instance INNER JOIN domain_router ON vm_instance.id=domain_router.id WHERE vm_instance.removed IS NULL AND vm_instance.type='DomainRouter' AND vm_instance.data_center_id=?");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    ArrayList<Object[]> routers = new ArrayList<Object[]>();
-                    while (rs.next()) {
-                        Object[] router = new Object[40];
-                        router[0] = rs.getLong(1); // router id
-                        router[1] = rs.getString(4); // router gateway which is gonna be gateway for user vms
-                        routers.add(router);
-                    }
-                    rs.close();
-                    pstmt.close();
-
-                    for (Object[] router : routers) {
-                        s_logger.debug("Updating domR with network id in basic zone id=" + dcId);
-                        pstmt = conn.prepareStatement("UPDATE domain_router SET network_id = ? wHERE id = ? ");
-                        pstmt.setLong(1, basicDefaultDirectNetworkId);
-                        pstmt.setLong(2, (Long)router[0]);
-                        pstmt.executeUpdate();
-                        pstmt.close();
+        upgradePublicUserIpAddress(conn, dcId, publicNetworkId, "VirtualNetwork");
 
-                        upgradeUserVms(conn, (Long)router[0], basicDefaultDirectNetworkId, (String)router[1], "untagged", "DirectPodBasedNetworkGuru", "Create");
-                        upgradeDomR(conn, dcId, (Long)router[0], null, basicDefaultDirectNetworkId, controlNetworkId, "Basic", "untagged");
-                    }
+        createDirectNetworks(conn, dc, dcId);
 
-                    upgradeSsvm(conn, dcId, basicDefaultDirectNetworkId, mgmtNetworkId, controlNetworkId, "Basic");
+        ArrayList<Object[]> dhcpServers = retrieveDhcpServers(conn, dcId);
 
-                    pstmt = conn.prepareStatement("SELECT vm_instance.id FROM vm_instance WHERE removed IS NULL AND type='ConsoleProxy' AND data_center_id=?");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    while (rs.next()) {
-                        upgradeConsoleProxy(conn, dcId, rs.getLong(1), basicDefaultDirectNetworkId, mgmtNetworkId, controlNetworkId, "Basic");
-                    }
+        for (Object[] dhcpServer : dhcpServers) {
+            Long routerId = (Long)dhcpServer[0];
+            String directIp = (String)dhcpServer[1];
+
+            updateDhcpServerData(conn, dcId, controlNetworkId, routerId, directIp);
+        }
+        // Upgrade SSVM
+        upgradeSsvm(conn, dcId, publicNetworkId, mgmtNetworkId, controlNetworkId, "Advanced");
+
+        updateConsoleProxies(conn, dcId, mgmtNetworkId, controlNetworkId, publicNetworkId, "Advanced");
+    }
 
+    /**
+     * @param dcId
+     * @return
+     * @throws SQLException
+     */
+    private ArrayList<Object[]> retrieveRouters(Connection conn, Long dcId) throws SQLException {
+        ArrayList<Object[]> routers = new ArrayList<Object[]>();
+        try (PreparedStatement selectRouterData =
+            conn.prepareStatement("SELECT vm_instance.id, vm_instance.domain_id, vm_instance.account_id, domain_router.guest_ip_address, domain_router.domain, domain_router.dns1, domain_router.dns2, domain_router.vnet FROM vm_instance INNER JOIN domain_router ON vm_instance.id=domain_router.id WHERE vm_instance.removed IS NULL AND vm_instance.type='DomainRouter' AND vm_instance.data_center_id=? and domain_router.role='DHCP_FIREWALL_LB_PASSWD_USERDATA'");) {
+            selectRouterData.setLong(1, dcId);
+            try (ResultSet routerData = selectRouterData.executeQuery();) {
+                while (routerData.next()) {
+                    Object[] router = new Object[40];
+                    router[0] = routerData.getLong(1); // router id
+                    router[1] = routerData.getLong(2); // domain id
+                    router[2] = routerData.getLong(3); // account id
+                    router[3] = routerData.getString(4); // guest ip which becomes the gateway in network
+                    router[4] = routerData.getString(5); // domain name
+                    router[5] = routerData.getString(6); // dns1
+                    router[6] = routerData.getString(7); // dns2
+                    router[7] = routerData.getString(8); // vnet
+                    routers.add(router);
                 }
-            } else {
-                for (Object[] dc : dcs) {
-                    Long dcId = (Long)dc[0];
-                    long mgmtNetworkId =
-                        insertNetwork(conn, "ManagementNetwork" + dcId, "Management Network created for Zone " + dcId, "Management", "Native", null, null, null,
-                            "Static", managementNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
-                    insertNetwork(conn, "StorageNetwork" + dcId, "Storage Network created for Zone " + dcId, "Storage", "Native", null, null, null, "Static",
-                        storageNetworkOfferingId, dcId, "PodBasedNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
-                    long controlNetworkId =
-                        insertNetwork(conn, "ControlNetwork" + dcId, "Control Network created for Zone " + dcId, "Control", "Native", null, null, null, "Static",
-                            controlNetworkOfferingId, dcId, "ControlNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
-                    upgradeManagementIpAddress(conn, dcId);
-                    long publicNetworkId =
-                        insertNetwork(conn, "PublicNetwork" + dcId, "Public Network Created for Zone " + dcId, "Public", "Vlan", null, null, null, "Static",
-                            publicNetworkOfferingId, dcId, "PublicNetworkGuru", "Setup", 1, 1, null, null, null, true, null, false, null);
-
-                    pstmt =
-                        conn.prepareStatement("SELECT vm_instance.id, vm_instance.domain_id, vm_instance.account_id, domain_router.guest_ip_address, domain_router.domain, domain_router.dns1, domain_router.dns2, domain_router.vnet FROM vm_instance INNER JOIN domain_router ON vm_instance.id=domain_router.id WHERE vm_instance.removed IS NULL AND vm_instance.type='DomainRouter' AND vm_instance.data_center_id=? and domain_router.role='DHCP_FIREWALL_LB_PASSWD_USERDATA'");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    ArrayList<Object[]> routers = new ArrayList<Object[]>();
-                    while (rs.next()) {
-                        Object[] router = new Object[40];
-                        router[0] = rs.getLong(1); // router id
-                        router[1] = rs.getLong(2); // domain id
-                        router[2] = rs.getLong(3); // account id
-                        router[3] = rs.getString(4); // guest ip which becomes the gateway in network
-                        router[4] = rs.getString(5); // domain name
-                        router[5] = rs.getString(6); // dns1
-                        router[6] = rs.getString(7); // dns2
-                        router[7] = rs.getString(8); // vnet
-                        routers.add(router);
-                    }
-                    rs.close();
-                    pstmt.close();
-
-                    for (Object[] router : routers) {
-                        String vnet = (String)router[7];
-                        String reservationId = null;
-                        String state = "Allocated";
-                        if (vnet != null) {
-                            reservationId = dcId + "-" + vnet;
-                            state = "Implemented";
-                        }
+            }
+        }
+        return routers;
+    }
 
-                        String vlan = null;
-                        if (vnet != null) {
-                            vlan = "vlan://" + vnet;
-                        }
+    /**
+     * @param conn
+     * @param dc
+     * @param dcId
+     * @param controlNetworkId
+     * @param publicNetworkId
+     * @param routers
+     * @throws SQLException
+     */
+    private void updateRouters(Connection conn, Object[] dc, Long dcId, long controlNetworkId, long publicNetworkId, ArrayList<Object[]> routers) throws SQLException {
+        for (Object[] router : routers) {
+            updateRouter(conn, dc, dcId, controlNetworkId, publicNetworkId, router);
+        }
+    }
+    /**
+     * @param conn
+     * @param dcId
+     * @param controlNetworkId
+     * @param basicDefaultDirectNetworkId
+     * @param routers
+     * @throws SQLException
+     */
+    private void updateRouters(Connection conn, Long dcId, long controlNetworkId, long basicDefaultDirectNetworkId, ArrayList<Object[]> routers) throws SQLException {
+        for (Object[] router : routers) {
+            s_logger.debug("Updating domR with network id in basic zone id=" + dcId);
+            updateNetworkForRouter(conn, router, basicDefaultDirectNetworkId);
+            upgradeUserVms(conn, (Long)router[0], basicDefaultDirectNetworkId, (String)router[1], "untagged", "DirectPodBasedNetworkGuru", "Create");
+            upgradeDomR(conn, dcId, (Long)router[0], null, basicDefaultDirectNetworkId, controlNetworkId, "Basic", "untagged");
+        }
+    }
 
-                        long virtualNetworkId =
-                            insertNetwork(conn, "VirtualNetwork" + router[0], "Virtual Network for " + router[0], "Guest", "Vlan", vlan, (String)router[3],
-                                (String)dc[1], "Dhcp", 6, dcId, "ExternalGuestNetworkGuru", state, (Long)router[1], (Long)router[2], (String)router[5],
-                                (String)router[6], "Virtual", false, (String)router[4], true, reservationId);
-                        pstmt = conn.prepareStatement("UPDATE domain_router SET network_id = ? wHERE id = ? ");
-                        pstmt.setLong(1, virtualNetworkId);
-                        pstmt.setLong(2, (Long)router[0]);
-                        pstmt.executeUpdate();
-                        pstmt.close();
-                        s_logger.debug("Network inserted for " + router[0] + " id = " + virtualNetworkId);
 
-                        upgradeUserVms(conn, (Long)router[0], virtualNetworkId, (String)router[3], vnet, "ExternalGuestNetworkGuru", "Start");
-                        upgradeDomR(conn, dcId, (Long)router[0], publicNetworkId, virtualNetworkId, controlNetworkId, "Advanced", vnet);
-                    }
+    /**
+     * @param conn
+     * @param dc
+     * @param dcId
+     * @param controlNetworkId
+     * @param publicNetworkId
+     * @param router
+     * @throws SQLException
+     */
+    private void updateRouter(Connection conn, Object[] dc, Long dcId, long controlNetworkId, long publicNetworkId, Object[] router) throws SQLException {
+        String vnet = (String)router[7];
+        String reservationId = null;
+        String state = "Allocated";
+        if (vnet != null) {
+            reservationId = dcId + "-" + vnet;
+            state = "Implemented";
+        }
 
-                    upgradePublicUserIpAddress(conn, dcId, publicNetworkId, "VirtualNetwork");
+        String vlan = null;
+        if (vnet != null) {
+            vlan = "vlan://" + vnet;
+        }
 
-                    // Create direct networks
-                    pstmt = conn.prepareStatement("SELECT id, vlan_id, vlan_gateway, vlan_netmask FROM vlan WHERE vlan_type='DirectAttached' AND data_center_id=?");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    HashMap<String, Long> vlanNetworkMap = new HashMap<String, Long>();
-                    while (rs.next()) {
-                        long vlanId = rs.getLong(1);
-                        String tag = rs.getString(2);
-                        String gateway = rs.getString(3);
-                        String netmask = rs.getString(4);
-                        String cidr = NetUtils.getCidrFromGatewayAndNetmask(gateway, netmask);
-
-                        // Get the owner of the network
-                        Long accountId = 1L;
-                        Long domainId = 1L;
-                        boolean isShared = true;
-                        pstmt = conn.prepareStatement("SELECT account_id FROM account_vlan_map WHERE account_id IS NOT NULL AND vlan_db_id=?");
-                        pstmt.setLong(1, vlanId);
-                        ResultSet accountRs = pstmt.executeQuery();
-                        while (accountRs.next()) {
-                            isShared = false;
-                            accountId = accountRs.getLong(1);
-                            pstmt = conn.prepareStatement("SELECT domain_id FROM account WHERE id=?");
-                            pstmt.setLong(1, accountId);
-                            ResultSet domainRs = pstmt.executeQuery();
-                            while (domainRs.next()) {
-                                domainId = domainRs.getLong(1);
-                            }
-                        }
+        long virtualNetworkId =
+            insertNetwork(conn, "VirtualNetwork" + router[0], "Virtual Network for " + router[0], "Guest", "Vlan", vlan, (String)router[3],
+                (String)dc[1], "Dhcp", 6, dcId, "ExternalGuestNetworkGuru", state, (Long)router[1], (Long)router[2], (String)router[5],
+                (String)router[6], "Virtual", false, (String)router[4], true, reservationId);
+        updateNetworkForRouter(conn, router, virtualNetworkId);
 
-                        if (vlanNetworkMap.get(tag) == null) {
-                            long directNetworkId =
-                                insertNetwork(conn, "DirectNetwork" + vlanId, "Direct network created for " + vlanId, "Guest", "Vlan", "vlan://" + tag, gateway, cidr,
-                                    "Dhcp", 7, dcId, "DirectNetworkGuru", "Setup", domainId, accountId, null, null, "Direct", isShared, (String)dc[2], true, null);
-                            vlanNetworkMap.put(tag, directNetworkId);
-                        }
+        upgradeUserVms(conn, (Long)router[0], virtualNetworkId, (String)router[3], vnet, "ExternalGuestNetworkGuru", "Start");
+        upgradeDomR(conn, dcId, (Long)router[0], publicNetworkId, virtualNetworkId, controlNetworkId, "Advanced", vnet);
+    }
 
-                        pstmt = conn.prepareStatement("UPDATE vlan SET network_id=? WHERE id=?");
-                        pstmt.setLong(1, vlanNetworkMap.get(tag));
-                        pstmt.setLong(2, vlanId);
-                        pstmt.executeUpdate();
+    /**
+     * @param router
+     * @param virtualNetworkId
+     * @throws SQLException
+     */
+    private void updateNetworkForRouter(Connection conn, Object[] router, long virtualNetworkId) throws SQLException {
+        try (PreparedStatement updateDomainRouter = conn.prepareStatement("UPDATE domain_router SET network_id = ? WHERE id = ? ");) {
+            updateDomainRouter.setLong(1, virtualNetworkId);
+            updateDomainRouter.setLong(2, (Long)router[0]);
+            updateDomainRouter.executeUpdate();
+        }
+        s_logger.debug("Network inserted for " + router[0] + " id = " + virtualNetworkId);
+    }
 
-                        pstmt.close();
+    /**
+     * @param conn
+     * @param dc
+     * @param dcId
+     * @throws SQLException
+     */
+    private void createDirectNetworks(Connection conn, Object[] dc, Long dcId) throws SQLException {
+        // Create direct networks
+        try (PreparedStatement selectVlanData = conn.prepareStatement("SELECT id, vlan_id, vlan_gateway, vlan_netmask FROM vlan WHERE vlan_type='DirectAttached' AND data_center_id=?");) {
+            selectVlanData.setLong(1, dcId);
+            try (ResultSet vlanData = selectVlanData.executeQuery();) {
+                HashMap<String, Long> vlanNetworkMap = new HashMap<String, Long>();
+                while (vlanData.next()) {
+                    long vlanId = vlanData.getLong(1);
+                    String tag = vlanData.getString(2);
+                    String gateway = vlanData.getString(3);
+                    String netmask = vlanData.getString(4);
+                    String cidr = NetUtils.getCidrFromGatewayAndNetmask(gateway, netmask);
+
+                    // Get the owner of the network
+                    retrieveAccountDataAndCreateNetwork(conn, dc, dcId, vlanNetworkMap, vlanId, tag, gateway, cidr);
+
+                    updateNetworkInVlanTableforTag(conn, vlanNetworkMap, vlanId, tag);
+
+                    upgradeDirectUserIpAddress(conn, dcId, vlanNetworkMap.get(tag), "DirectAttached");
+                    s_logger.debug("Created Direct networks and upgraded Direct ip addresses");
+                }
+            }
+        }
+    }
 
-                        upgradeDirectUserIpAddress(conn, dcId, vlanNetworkMap.get(tag), "DirectAttached");
-                        s_logger.debug("Created Direct networks and upgraded Direct ip addresses");
-                    }
+    /**
+     * @param conn
+     * @param dc
+     * @param dcId
+     * @param vlanNetworkMap
+     * @param vlanId
+     * @param tag
+     * @param gateway
+     * @param cidr
+     * @throws SQLException
+     */
+    private void retrieveAccountDataAndCreateNetwork(Connection conn, Object[] dc, Long dcId, HashMap<String, Long> vlanNetworkMap, long vlanId, String tag, String gateway,
+            String cidr) throws SQLException {
+        Long accountId = 1L;
+        Long domainId = 1L;
+        boolean isShared = true;
+        try (PreparedStatement selectAccountId = conn.prepareStatement("SELECT account_id FROM account_vlan_map WHERE account_id IS NOT NULL AND vlan_db_id=?");) {
+            selectAccountId.setLong(1, vlanId);
+            try (ResultSet accountRs = selectAccountId.executeQuery();) {
+                while (accountRs.next()) {
+                    isShared = false;
+                    accountId = accountRs.getLong(1);
+                    domainId = retrieveDomainId(conn, accountId);
+                }
+            }
+        }
+        if (vlanNetworkMap.get(tag) == null) {
+            long directNetworkId =
+                insertNetwork(conn, "DirectNetwork" + vlanId, "Direct network created for " + vlanId, "Guest", "Vlan", "vlan://" + tag, gateway, cidr,
+                    "Dhcp", 7, dcId, "DirectNetworkGuru", "Setup", domainId, accountId, null, null, "Direct", isShared, (String)dc[2], true, null);
+            vlanNetworkMap.put(tag, directNetworkId);
+        }
+    }
 
-                    // Create DHCP domRs - Direct networks
-                    pstmt =
-                        conn.prepareStatement("SELECT vm_instance.id, domain_router.guest_ip_address FROM vm_instance INNER JOIN domain_router ON vm_instance.id=domain_router.id WHERE vm_instance.removed IS NULL AND vm_instance.type='DomainRouter' AND vm_instance.data_center_id=? and domain_router.role='DHCP_USERDATA'");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    ArrayList<Object[]> dhcpServers = new ArrayList<Object[]>();
-                    while (rs.next()) {
-                        Object[] dhcpServer = new Object[40];
-                        dhcpServer[0] = rs.getLong(1); // router id
-                        dhcpServer[1] = rs.getString(2); // guest IP address - direct ip address of the domR
-                        dhcpServers.add(dhcpServer);
-                    }
-                    rs.close();
-                    pstmt.close();
-
-                    for (Object[] dhcpServer : dhcpServers) {
-                        Long routerId = (Long)dhcpServer[0];
-                        String directIp = (String)dhcpServer[1];
-
-                        pstmt =
-                            conn.prepareStatement("SELECT u.source_network_id, v.vlan_id from user_ip_address u, vlan v where u.public_ip_address=? and v.id=u.vlan_db_id");
-                        pstmt.setString(1, directIp);
-                        rs = pstmt.executeQuery();
-                        if (!rs.next()) {
-                            throw new CloudRuntimeException("Unable to find Direct ip address " + directIp + " in user_ip_address table");
-                        }
+    /**
+     * @param accountId
+     * @param domainId
+     * @return
+     * @throws SQLException
+     */
+    private Long retrieveDomainId(Connection conn,Long accountId) throws SQLException {
+        try (PreparedStatement pstmt = conn.prepareStatement("SELECT domain_id FROM account WHERE id=?");) {
+            pstmt.setLong(1, accountId);
+            try(ResultSet domainRs = pstmt.executeQuery();) {
+                Long domainId = 1L;
+                while (domainRs.next()) {
+                    domainId = domainRs.getLong(1);
+                }
+                return domainId;
+            }
+        }
+    }
 
-                        Long directNetworkId = rs.getLong(1);
-                        String vnet = rs.getString(2);
-                        rs.close();
+    /**
+     * @param basicDefaultDirectNetworkId
+     * @param vlanId
+     * @throws SQLException
+     */
+    private void updateVlanNetworkForTag(Connection conn, long basicDefaultDirectNetworkId, long vlanId) throws SQLException {
+        try (PreparedStatement pstmt = conn.prepareStatement("UPDATE vlan SET network_id=? WHERE id=?");) {
+            pstmt.setLong(1, basicDefaultDirectNetworkId);
+            pstmt.setLong(2, vlanId);
+            pstmt.executeUpdate();
+        }
+    }
 
-                        pstmt = conn.prepareStatement("SELECT gateway from networks where id=?");
-                        pstmt.setLong(1, directNetworkId);
-                        rs = pstmt.executeQuery();
-                        if (!rs.next()) {
-                            throw new CloudRuntimeException("Unable to find gateway for network id=" + directNetworkId);
-                        }
+    /**
+     * @param vlanNetworkMap
+     * @param vlanId
+     * @param tag
+     * @throws SQLException
+     */
+    private void updateNetworkInVlanTableforTag(Connection conn, HashMap<String, Long> vlanNetworkMap, long vlanId, String tag) throws SQLException {
+        updateVlanNetworkForTag(conn, vlanId, vlanNetworkMap.get(tag));
+    }
 
-                        String gateway = rs.getString(1);
-                        rs.close();
+    /**
+     * @param conn
+     * @param dcId
+     * @return
+     * @throws SQLException
+     */
+    private ArrayList<Object[]> retrieveDhcpServers(Connection conn, Long dcId) throws SQLException {
+        // Create DHCP domRs - Direct networks
+        try (PreparedStatement pstmt =
+            conn.prepareStatement("SELECT vm_instance.id, domain_router.guest_ip_address FROM vm_instance INNER JOIN domain_router ON vm_instance.id=domain_router.id WHERE vm_instance.removed IS NULL AND vm_instance.type='DomainRouter' AND vm_instance.data_center_id=? and domain_router.role='DHCP_USERDATA'");) {
+            pstmt.setLong(1, dcId);
+            try (ResultSet rs = pstmt.executeQuery();) {
+                ArrayList<Object[]> dhcpServers = new ArrayList<Object[]>();
+                while (rs.next()) {
+                    Object[] dhcpServer = new Object[40];
+                    dhcpServer[0] = rs.getLong(1); // router id
+                    dhcpServer[1] = rs.getString(2); // guest IP address - direct ip address of the domR
+                    dhcpServers.add(dhcpServer);
+                }
+                return dhcpServers;
+            }
+        }
+    }
 
-                        pstmt = conn.prepareStatement("UPDATE domain_router SET network_id = ? wHERE id = ? ");
-                        pstmt.setLong(1, directNetworkId);
-                        pstmt.setLong(2, routerId);
-                        pstmt.executeUpdate();
-                        pstmt.close();
-                        s_logger.debug("NetworkId updated for router id=" + routerId + "with network id = " + directNetworkId);
+    /**
+     * @param conn
+     * @param dcId
+     * @param controlNetworkId
+     * @param routerId
+     * @param directIp
+     * @throws SQLException
+     * @throws CloudRuntimeException
+     */
+    private void updateDhcpServerData(Connection conn, Long dcId, long controlNetworkId, Long routerId, String directIp) throws SQLException, CloudRuntimeException {
+        try (
+                PreparedStatement pstmt =
+            conn.prepareStatement("SELECT u.source_network_id, v.vlan_id from user_ip_address u, vlan v where u.public_ip_address=? and v.id=u.vlan_db_id");
+            ) {
+            pstmt.setString(1, directIp);
+            try (ResultSet rs = pstmt.executeQuery();) {
+                if (!rs.next()) {
+                    throw new CloudRuntimeException("Unable to find Direct ip address " + directIp + " in user_ip_address table");
+                }
 
-                        upgradeUserVms(conn, routerId, directNetworkId, gateway, vnet, "DirectNetworkGuru", "Create");
-                        s_logger.debug("Upgraded Direct vms in Advance zone id=" + dcId);
-                        upgradeDomR(conn, dcId, routerId, null, directNetworkId, controlNetworkId, "Advanced", vnet);
-                        s_logger.debug("Upgraded Direct domRs in Advance zone id=" + dcId);
-                    }
+                Long directNetworkId = rs.getLong(1);
+                String vnet = rs.getString(2);
 
-                    // Upgrade SSVM
-                    upgradeSsvm(conn, dcId, publicNetworkId, mgmtNetworkId, controlNetworkId, "Advanced");
+                String gateway = retrieveGateway(conn, directNetworkId);
 
-                    // Upgrade ConsoleProxy
-                    pstmt = conn.prepareStatement("SELECT vm_instance.id FROM vm_instance WHERE removed IS NULL AND type='ConsoleProxy' AND data_center_id=?");
-                    pstmt.setLong(1, dcId);
-                    rs = pstmt.executeQuery();
-                    while (rs.next()) {
-                        upgradeConsoleProxy(conn, dcId, rs.getLong(1), publicNetworkId, mgmtNetworkId, controlNetworkId, "Advanced");
-                    }
-                    pstmt.close();
+                updateDomainRouter(conn, routerId, directNetworkId);
+                s_logger.debug("NetworkId updated for router id=" + routerId + "with network id = " + directNetworkId);
+                upgradeUserVms(conn, routerId, directNetworkId, gateway, vnet, "DirectNetworkGuru", "Create");
+                s_logger.debug("Upgraded Direct vms in Advance zone id=" + dcId);
+                upgradeDomR(conn, dcId, routerId, null, directNetworkId, controlNetworkId, "Advanced", vnet);
+                s_logger.debug("Upgraded Direct domRs in Advance zone id=" + dcId);
+            }
+        }
+    }
+
+    /**
+     * @param conn
+     * @param directNetworkId
+     * @return
+     * @throws SQLException
+     * @throws CloudRuntimeException
+     */
+    private String retrieveGateway(Connection conn, Long directNetworkId) throws SQLException, CloudRuntimeException {
+        try (PreparedStatement selectGateway = conn.prepareStatement("SELECT gateway from networks where id=?");) {
+            selectGateway.setLong(1, directNetworkId);
+            try (ResultSet rs = selectGateway.executeQuery();) {
+                if (!rs.next()) {
+                    throw new CloudRuntimeException("Unable to find gateway for network id=" + directNetworkId);
                 }
+                String gateway = rs.getString(1);
+                return gateway;
             }
+        }
+    }
 
-        } catch (SQLException e) {
-            s_logger.error("Can't update data center ", e);
-            throw new CloudRuntimeException("Can't update data center ", e);
+    /**
+     * @param routerId
+     * @param directNetworkId
+     * @throws SQLException
+     */
+    private void updateDomainRouter(Connection conn, Long routerId, Long directNetworkId) throws SQLException {
+        try (PreparedStatement updateDomainRouter = conn.prepareStatement("UPDATE domain_router SET network_id = ? WHERE id = ? ");) {
+            updateDomainRouter.setLong(1, directNetworkId);
+            updateDomainRouter.setLong(2, routerId);
+            updateDomainRouter.executeUpdate();
+        }
+    }
+
+    /**
+     * @param conn
+     * @param dcId
+     * @param mgmtNetworkId
+     * @param controlNetworkId
+     * @param publicNetworkId
+     * @throws SQLException
+     */
+    private void updateConsoleProxies(Connection conn, Long dcId, long mgmtNetworkId, long controlNetworkId, long publicNetworkId, String networkingType) throws SQLException {
+        // Upgrade ConsoleProxy
+        try (PreparedStatement selectInstanceIds = conn.prepareStatement("SELECT vm_instance.id FROM vm_instance WHERE removed IS NULL AND type='ConsoleProxy' AND data_center_id=?");) {
+            selectInstanceIds.setLong(1, dcId);
+            try (ResultSet rs = selectInstanceIds.executeQuery();) {
+                while (rs.next()) {
+                    upgradeConsoleProxy(conn, dcId, rs.getLong(1), publicNetworkId, mgmtNetworkId, controlNetworkId, networkingType);
+                }
+            }
         }
     }
 
@@ -2343,8 +2564,9 @@ public class Upgrade218to22 implements DbUpgrade {
                 long nw_offering_id = rs.getLong(5);
                 long isDefault = rs.getLong(6);
                 try (PreparedStatement pstmt1 =
-                    conn.prepareStatement("INSERT INTO usage_event (usage_event.type, usage_event.created, usage_event.account_id, usage_event.zone_id, usage_event.resource_id, usage_event.resource_name, "
-                        + "usage_event.offering_id, usage_event.size)" + " VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); ) {
+                    conn.prepareStatement(
+                            "INSERT INTO usage_event (usage_event.type, usage_event.created, usage_event.account_id, usage_event.zone_id, usage_event.resource_id, usage_event.resource_name, "
+                           + "usage_event.offering_id, usage_event.size) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); ) {
                     pstmt1.setString(1, EventTypes.EVENT_NETWORK_OFFERING_ASSIGN);
                     pstmt1.setString(2, DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), now));
                     pstmt1.setLong(3, accountId);