Hi Marcus,

Your commit a504c004bf10555e5ea67ec89fe7bf6f00fe4622 broke S3 functionality. 
With S3 as secondary storage, system vm cannot be started. Since for S3, copy 
template to primary will be from an ImageCache store. Your following line of 
code :

      if (srcData.getObjectType() == DataObjectType.TEMPLATE && 
srcData.getDataStore().getRole() == DataStoreRole.Image && 
destData.getDataStore().getRole() == DataStoreRole.Primary) {
             //copy template to primary storage
             return processor.copyTemplateToPrimaryStorage(cmd);
         }

will not cover this case. I saw that you mentioned about this commit in another 
thread about CLVM broken in master. To fix this problem,  we can change the 
above line to:

      if (srcData.getObjectType() == DataObjectType.TEMPLATE && 
(srcData.getDataStore().getRole() == DataStoreRole.Image || 
srcData.getDataStore().getRole() == DataStoreRole.ImageCache) && 
destData.getDataStore().getRole() == DataStoreRole.Primary) {
             //copy template to primary storage
             return processor.copyTemplateToPrimaryStorage(cmd);
         }

Edison/Chris, do you see any issue with this fix?

Thanks
-min

Reply via email to