From 5341f299ff0271a2216f087a1b589b642cc3e9cd Mon Sep 17 00:00:00 2001 From: Min Chen Date: Mon, 13 May 2013 15:33:59 -0700 Subject: [PATCH] We still need the hack of Ready to Ready transition for NFS. --- .../cloudstack/storage/image/manager/ImageDataManagerImpl.java | 2 ++ .../storage/datastore/ObjectInDataStoreManagerImpl.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataManagerImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataManagerImpl.java index f9dd5a6e2cc..d8708308cef 100644 --- a/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataManagerImpl.java +++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataManagerImpl.java @@ -41,6 +41,8 @@ public class ImageDataManagerImpl implements ImageDataManager { stateMachine.addTransition(TemplateState.Destroying, TemplateEvent.DestroyRequested, TemplateState.Destroying); stateMachine.addTransition(TemplateState.Destroying, TemplateEvent.OperationFailed, TemplateState.Destroying); stateMachine.addTransition(TemplateState.Destroying, TemplateEvent.OperationSucceeded, TemplateState.Destroyed); + //TODO: this should not be needed, but it happened during testing where multiple success event is sent to callback + stateMachine.addTransition(TemplateState.Ready, TemplateEvent.OperationSucceeded, TemplateState.Ready); } @Override diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java index 78c3184dde1..10c94e421f9 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java @@ -108,6 +108,9 @@ public class ObjectInDataStoreManagerImpl implements ObjectInDataStoreManager { State.Destroyed); stateMachines.addTransition(State.Destroying, Event.OperationFailed, State.Destroying); + //TODO: further investigate why an extra event is sent when it is alreay Ready for DownloadListener + stateMachines.addTransition(State.Ready, Event.OperationSuccessed, + State.Ready); } @Override