You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by an...@apache.org on 2013/09/03 23:46:43 UTC

[1/4] git commit: updated refs/heads/4.2 to da10231

Updated Branches:
  refs/heads/4.2 3e76e5cb4 -> da10231dd


CLOUDSTACK-4559: fix devcloud
(cherry picked from commit 1a333f369b33c8d46d6a034daac311e284bc8e49)

Signed-off-by: animesh <an...@apache.org>


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

Branch: refs/heads/4.2
Commit: ff9130dd20854d491989aa13e8ec1fca9b7b5262
Parents: 66beddf
Author: Edison Su <su...@gmail.com>
Authored: Thu Aug 29 10:33:47 2013 -0700
Committer: animesh <an...@apache.org>
Committed: Mon Sep 2 22:34:20 2013 -0700

----------------------------------------------------------------------
 .../vm/hypervisor/xenserver/xcposs/vmopsSnapshot    | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ff9130dd/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot b/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
index 31f26ad..53f31a9 100644
--- a/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
+++ b/scripts/vm/hypervisor/xenserver/xcposs/vmopsSnapshot
@@ -372,8 +372,16 @@ def unmountSnapshotsDir(session, args):
 
     return "1"
 
-def getPrimarySRPath(primaryStorageSRUuid, isISCSI):
-    if isISCSI:
+def getPrimarySRPath(session, primaryStorageSRUuid, isISCSI):
+    sr = session.xenapi.SR.get_by_uuid(primaryStorageSRUuid)
+    srrec = session.xenapi.SR.get_record(sr)
+    srtype = srrec["type"]
+    if srtype == "file":
+        pbd = session.xenapi.SR.get_PBDs(sr)[0]
+        pbdrec = session.xenapi.PBD.get_record(pbd)
+        primarySRPath = pbdrec["device_config"]["location"]
+        return primarySRPath
+    elif isISCSI:
         primarySRDir = lvhdutil.VG_PREFIX + primaryStorageSRUuid
         return os.path.join(lvhdutil.VG_LOCATION, primarySRDir)
     else:
@@ -472,7 +480,7 @@ def getVhdParent(session, args):
     snapshotUuid              = args['snapshotUuid']
     isISCSI                   = getIsTrueString(args['isISCSI']) 
 
-    primarySRPath = getPrimarySRPath(primaryStorageSRUuid, isISCSI)
+    primarySRPath = getPrimarySRPath(session, primaryStorageSRUuid, isISCSI)
     util.SMlog("primarySRPath: " + primarySRPath)
 
     baseCopyUuid = getParentOfSnapshot(snapshotUuid, primarySRPath, isISCSI)
@@ -490,7 +498,7 @@ def backupSnapshot(session, args):
     isISCSI                   = getIsTrueString(args['isISCSI'])
     path = args['path']
     localMountPoint = args['localMountPoint']
-    primarySRPath = getPrimarySRPath(primaryStorageSRUuid, isISCSI)
+    primarySRPath = getPrimarySRPath(session, primaryStorageSRUuid, isISCSI)
     util.SMlog("primarySRPath: " + primarySRPath)
 
     baseCopyUuid = getParentOfSnapshot(snapshotUuid, primarySRPath, isISCSI)


[4/4] git commit: updated refs/heads/4.2 to da10231

Posted by an...@apache.org.
CLOUDSTACK-4430:[Automation][vmware] Failed to deploy vm, if one host is
down in a cluster.
(cherry picked from commit ad1633dda9f2f0ba5a1cf6e065b87a2f5978fb93)

Signed-off-by: animesh <an...@apache.org>


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

Branch: refs/heads/4.2
Commit: da10231dd091847381afd73344a7dae7e3b69218
Parents: c43a998
Author: Min Chen <mi...@citrix.com>
Authored: Wed Aug 28 11:17:29 2013 -0700
Committer: animesh <an...@apache.org>
Committed: Tue Sep 3 14:33:08 2013 -0700

----------------------------------------------------------------------
 .../cloud/storage/VMTemplateStoragePoolVO.java  |  5 ++++
 .../storage/volume/VolumeServiceImpl.java       | 31 ++++++++++++++++++--
 2 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da10231d/engine/schema/src/com/cloud/storage/VMTemplateStoragePoolVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/storage/VMTemplateStoragePoolVO.java b/engine/schema/src/com/cloud/storage/VMTemplateStoragePoolVO.java
index 9331b03..b9886e0 100644
--- a/engine/schema/src/com/cloud/storage/VMTemplateStoragePoolVO.java
+++ b/engine/schema/src/com/cloud/storage/VMTemplateStoragePoolVO.java
@@ -266,6 +266,11 @@ public class VMTemplateStoragePoolVO implements VMTemplateStorageResourceAssoc,
         return this.state;
     }
 
+    //TODO: this should be revisited post-4.2 to completely use state transition machine
+    public void setState(ObjectInDataStoreStateMachine.State state) {
+        this.state = state;
+    }
+
     public long getUpdatedCount() {
         return this.updatedCount;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da10231d/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
index 8a97c1e..1e68589 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
@@ -49,6 +49,7 @@ import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher;
 import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
 import org.apache.cloudstack.framework.async.AsyncRpcContext;
 import org.apache.cloudstack.storage.command.CommandResult;
+import org.apache.cloudstack.storage.command.CopyCmdAnswer;
 import org.apache.cloudstack.storage.command.DeleteCommand;
 import org.apache.cloudstack.storage.datastore.DataObjectManager;
 import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
@@ -516,17 +517,41 @@ public class VolumeServiceImpl implements VolumeService {
             AsyncCallbackDispatcher<VolumeServiceImpl, CopyCommandResult> callback,
             CreateVolumeFromBaseImageContext<VolumeApiResult> context) {
         DataObject vo = context.vo;
+        DataObject tmplOnPrimary = context.templateOnStore;
         CopyCommandResult result = callback.getResult();
         VolumeApiResult volResult = new VolumeApiResult((VolumeObject) vo);
 
         if (result.isSuccess()) {
             vo.processEvent(Event.OperationSuccessed, result.getAnswer());
-        } else {
-
+        } else {            
             vo.processEvent(Event.OperationFailed);
             volResult.setResult(result.getResult());
+            // hack for Vmware: host is down, previously download template to the host needs to be re-downloaded, so we need to reset
+            // template_spool_ref entry here to NOT_DOWNLOADED and Allocated state
+            Answer ans = result.getAnswer();
+            if ( ans != null && ans instanceof CopyCmdAnswer && ans.getDetails().contains("request template reload")){
+                if (tmplOnPrimary != null){
+                    s_logger.info("Reset template_spool_ref entry so that vmware template can be reloaded in next try");
+                    VMTemplateStoragePoolVO templatePoolRef = _tmpltPoolDao.findByPoolTemplate(tmplOnPrimary.getDataStore().getId(), tmplOnPrimary.getId());
+                    if (templatePoolRef != null) {
+                        long templatePoolRefId = templatePoolRef.getId();
+                        templatePoolRef = _tmpltPoolDao.acquireInLockTable(templatePoolRefId, 1200);
+                        if (templatePoolRef == null) {
+                            s_logger.warn("Reset Template State On Pool failed - unable to lock TemplatePoolRef " + templatePoolRefId);
+                        }
+                        
+                        try {
+                            templatePoolRef.setDownloadState(VMTemplateStorageResourceAssoc.Status.NOT_DOWNLOADED);
+                            templatePoolRef.setState(ObjectInDataStoreStateMachine.State.Allocated);
+                            _tmpltPoolDao.update(templatePoolRefId, templatePoolRef);
+                        } finally {
+                            _tmpltPoolDao.releaseFromLockTable(templatePoolRefId);
+                        }
+                    }
+                }
+            }
         }
-
+        
         AsyncCallFuture<VolumeApiResult> future = context.getFuture();
         future.complete(volResult);
         return null;


[2/4] git commit: updated refs/heads/4.2 to da10231

Posted by an...@apache.org.
Merge branch '4.2' of https://git-wip-us.apache.org/repos/asf/cloudstack into 4.2


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

Branch: refs/heads/4.2
Commit: 248ba8f335558dc7ec96d8721b04edc52893105f
Parents: ff9130d 3e76e5c
Author: animesh <an...@apache.org>
Authored: Tue Sep 3 14:21:47 2013 -0700
Committer: animesh <an...@apache.org>
Committed: Tue Sep 3 14:21:47 2013 -0700

----------------------------------------------------------------------
 docs/en-US/portable-ip.xml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[3/4] git commit: updated refs/heads/4.2 to da10231

Posted by an...@apache.org.
CLOUDSTACK-4509 : management cache folder need to cleanup before upgrade, currently its cleaning up only for 3.x upgrade ie /var/cache/cloud, it should do that same for 4.2 also /var/cache/cloudstack
(cherry picked from commit 63c8b147fe636316bc6a886631f17a96097fb755)

Signed-off-by: animesh <an...@apache.org>


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

Branch: refs/heads/4.2
Commit: c43a99826465c0b9de4b30f385cf9babf6c75c84
Parents: 248ba8f
Author: rayeesn <ra...@citrix.com>
Authored: Wed Aug 28 04:07:09 2013 -0700
Committer: animesh <an...@apache.org>
Committed: Tue Sep 3 14:31:24 2013 -0700

----------------------------------------------------------------------
 packaging/centos63/cloud.spec | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c43a9982/packaging/centos63/cloud.spec
----------------------------------------------------------------------
diff --git a/packaging/centos63/cloud.spec b/packaging/centos63/cloud.spec
index 5319fb6..1ae43ba 100644
--- a/packaging/centos63/cloud.spec
+++ b/packaging/centos63/cloud.spec
@@ -367,6 +367,7 @@ sed -i /"cloud soft nofile"/d /etc/security/limits.conf
 echo "cloud hard nofile 4096" >> /etc/security/limits.conf
 echo "cloud soft nofile 4096" >> /etc/security/limits.conf
 rm -rf %{_localstatedir}/cache/cloud
+rm -rf %{_localstatedir}/cache/cloudstack
 # user harcoded here, also hardcoded on wscript
 
 # save old configs if they exist (for upgrade). Otherwise we may lose them