From 2c3c0f06cab203820dc2e043530f53bcdef870ba Mon Sep 17 00:00:00 2001 From: Abhi Date: Thu, 12 Apr 2012 17:46:18 +0530 Subject: [PATCH] bug CS-13303: updating resource state on upgrade --- .../cloud/upgrade/dao/Upgrade2214to30.java | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/upgrade/dao/Upgrade2214to30.java b/server/src/com/cloud/upgrade/dao/Upgrade2214to30.java index d7737bc9968..31fc75ea09f 100755 --- a/server/src/com/cloud/upgrade/dao/Upgrade2214to30.java +++ b/server/src/com/cloud/upgrade/dao/Upgrade2214to30.java @@ -83,7 +83,8 @@ public class Upgrade2214to30 implements DbUpgrade { migrateUserConcentratedPlannerChoice(conn); // update domain router table for element it; updateRouters(conn); - + //update host capacities + updateHostCapacity(conn); } @Override @@ -935,6 +936,38 @@ public class Upgrade2214to30 implements DbUpgrade { } } } + + protected void updateHostCapacity(Connection conn){ + PreparedStatement pstmt = null; + try { + s_logger.debug("Updating op_host_capacity table, column capacity_state"); + pstmt = conn + .prepareStatement("UPDATE op_host_capacity, host SET op_host_capacity.capacity_state='Disabled' where host.id=op_host_capacity.host_id and op_host_capacity.capacity_type in (0,1) and host.resource_state='Disabled';"); + pstmt.executeUpdate(); + pstmt = conn + .prepareStatement("UPDATE op_host_capacity, cluster SET op_host_capacity.capacity_state='Disabled' where cluster.id=op_host_capacity.cluster_id and cluster.allocation_state='Disabled';"); + pstmt.executeUpdate(); + pstmt = conn + .prepareStatement("UPDATE op_host_capacity, host_pod_ref SET op_host_capacity.capacity_state='Disabled' where host_pod_ref.id=op_host_capacity.pod_id and host_pod_ref.allocation_state='Disabled';"); + pstmt.executeUpdate(); + pstmt = conn + .prepareStatement("UPDATE op_host_capacity, data_center SET op_host_capacity.capacity_state='Disabled' where data_center.id=op_host_capacity.data_center_id and data_center.allocation_state='Disabled';"); + pstmt.executeUpdate(); + pstmt = conn + .prepareStatement(""); + pstmt.executeUpdate(); + } catch (SQLException e) { + throw new CloudRuntimeException("Unable to update op_host_capacity table. ", e); + } finally { + try { + if (pstmt != null) { + pstmt.close(); + } + } catch (SQLException e) { + throw new CloudRuntimeException("Unable to close statement for op_host_capacity table. ", e); + } + } + } protected void switchAccountSpecificNetworksToIsolated(Connection conn) { PreparedStatement pstmt = null;