mirror of https://github.com/apache/cloudstack.git
Template/ISO download fails cause the object to disappear from UI
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
This commit is contained in:
parent
48d9e2443c
commit
27ea9274bd
|
|
@ -86,6 +86,7 @@ public class ObjectInDataStoreManagerImpl implements ObjectInDataStoreManager {
|
|||
public ObjectInDataStoreManagerImpl() {
|
||||
stateMachines = new StateMachine2<State, Event, DataObjectInStore>();
|
||||
stateMachines.addTransition(State.Allocated, Event.CreateOnlyRequested, State.Creating);
|
||||
stateMachines.addTransition(State.Allocated, Event.DestroyRequested, State.Destroying);
|
||||
stateMachines.addTransition(State.Creating, Event.OperationFailed, State.Allocated);
|
||||
stateMachines.addTransition(State.Creating, Event.OperationSuccessed, State.Ready);
|
||||
stateMachines.addTransition(State.Ready, Event.CopyingRequested, State.Copying);
|
||||
|
|
@ -256,13 +257,7 @@ public class ObjectInDataStoreManagerImpl implements ObjectInDataStoreManager {
|
|||
// Image store
|
||||
switch (dataObj.getType()) {
|
||||
case TEMPLATE:
|
||||
TemplateDataStoreVO destTmpltStore = templateDataStoreDao.findByStoreTemplate(dataStore.getId(), objId);
|
||||
if (destTmpltStore != null && destTmpltStore.getState() != ObjectInDataStoreStateMachine.State.Ready) {
|
||||
return templateDataStoreDao.remove(destTmpltStore.getId());
|
||||
} else {
|
||||
s_logger.warn("Template " + objId + " is not found on image store " + dataStore.getId() + ", so no need to delete");
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
case SNAPSHOT:
|
||||
SnapshotDataStoreVO destSnapshotStore = snapshotDataStoreDao.findByStoreSnapshot(dataStore.getRole(), dataStore.getId(), objId);
|
||||
if (destSnapshotStore != null && destSnapshotStore.getState() != ObjectInDataStoreStateMachine.State.Ready) {
|
||||
|
|
|
|||
|
|
@ -232,11 +232,7 @@ public class HypervisorTemplateAdapter extends TemplateAdapterBase {
|
|||
CreateTemplateContext<TemplateApiResult> context) {
|
||||
TemplateApiResult result = callback.getResult();
|
||||
TemplateInfo template = context.template;
|
||||
if (result.isFailed()) {
|
||||
// failed in creating template, we need to remove those already
|
||||
// populated template entry
|
||||
_tmpltDao.remove(template.getId());
|
||||
} else {
|
||||
if (result.isSuccess()) {
|
||||
VMTemplateVO tmplt = this._tmpltDao.findById(template.getId());
|
||||
long accountId = tmplt.getAccountId();
|
||||
if (template.getSize() != null) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue