cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kis...@apache.org
Subject git commit: updated refs/heads/master to a23f151
Date Fri, 24 May 2013 09:11:49 GMT
Updated Branches:
  refs/heads/master 47a562a2c -> a23f151df


KVM snapshots backUp path in 22 had entire path, instead of relative path. Fix modifies the
path to make it relative during upgrade


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

Branch: refs/heads/master
Commit: a23f151df57a16457587207e612b3f26911806e6
Parents: 47a562a
Author: Kishan Kavala <kishan@cloud.com>
Authored: Fri May 24 14:41:17 2013 +0530
Committer: Kishan Kavala <kishan@cloud.com>
Committed: Fri May 24 14:41:28 2013 +0530

----------------------------------------------------------------------
 .../src/com/cloud/upgrade/dao/Upgrade410to420.java |   40 +++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a23f151d/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
index f28d496..e7f4733 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
@@ -76,6 +76,7 @@ public class Upgrade410to420 implements DbUpgrade {
         addHostDetailsIndex(conn);
         updateNetworksForPrivateGateways(conn);
         removeFirewallServiceFromSharedNetworkOfferingWithSGService(conn);
+        fix22xKVMSnapshots(conn);
     }
 
     private void updateSystemVmTemplates(Connection conn) {
@@ -779,4 +780,43 @@ public class Upgrade410to420 implements DbUpgrade {
         }
     }
 
+    private void fix22xKVMSnapshots(Connection conn) {
+        PreparedStatement pstmt = null;
+        ResultSet rs = null;
+        s_logger.debug("Updating KVM snapshots");
+        try {
+            pstmt = conn.prepareStatement("select id, backup_snap_id from `cloud`.`snapshots`
where hypervisor_type='KVM' and removed is null and backup_snap_id is not null");
+            rs = pstmt.executeQuery();
+            while (rs.next()) {
+                long id = rs.getLong(1);
+                String backUpPath = rs.getString(2);
+                // Update Backup Path. Remove anything before /snapshots/
+                // e.g 22x Path /mnt/0f14da63-7033-3ca5-bdbe-fa62f4e2f38a/snapshots/1/2/6/i-2-6-VM_ROOT-6_20121219072022
+                // Above path should change to /snapshots/1/2/6/i-2-6-VM_ROOT-6_20121219072022
+                int index = backUpPath.indexOf("snapshots"+File.separator);
+                if (index > 1){
+                    String correctedPath = File.separator + backUpPath.substring(index);
+                    s_logger.debug("Updating Snapshot with id: "+id+" original backup path:
"+backUpPath+ " updated backup path: "+correctedPath);
+                    pstmt = conn.prepareStatement("UPDATE `cloud`.`snapshots` set backup_snap_id=?
where id = ?");
+                    pstmt.setString(1, correctedPath);
+                    pstmt.setLong(2, id);
+                    pstmt.executeUpdate();
+                }
+            }
+            s_logger.debug("Done updating KVM snapshots");
+        } catch (SQLException e) {
+            throw new CloudRuntimeException("Unable to update backup id for KVM snapshots",
e);
+        } finally {
+            try {
+                if (rs != null) {
+                    rs.close();
+                }
+
+                if (pstmt != null) {
+                    pstmt.close();
+                }
+            } catch (SQLException e) {
+            }
+        }
+    }
 }


Mime
View raw message