diff --git a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java index f1a69b6381f..47740b5b672 100755 --- a/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/vm/VirtualMachineManagerImpl.java @@ -413,9 +413,10 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac ResourceCleanupService resourceCleanupService; @Inject VmWorkJobDao vmWorkJobDao; + @Inject + DataStoreProviderManager dataStoreProviderManager; private SingleCache> vmIdsInProgressCache; - DataStoreProviderManager dataStoreProviderManager; VmWorkJobHandlerProxy _jobHandlerProxy = new VmWorkJobHandlerProxy(this); @@ -1230,9 +1231,11 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac } } DataStoreProvider storeProvider = dataStoreProviderManager.getDataStoreProvider(pool.getStorageProviderName()); - DataStoreDriver storeDriver = storeProvider.getDataStoreDriver(); - if (storeDriver instanceof PrimaryDataStoreDriver) { - ((PrimaryDataStoreDriver)storeDriver).detachVolumeFromAllStorageNodes(vol); + if (storeProvider != null) { + DataStoreDriver storeDriver = storeProvider.getDataStoreDriver(); + if (storeDriver instanceof PrimaryDataStoreDriver) { + ((PrimaryDataStoreDriver)storeDriver).detachVolumeFromAllStorageNodes(vol); + } } } }