CLOUDSTACK-3890. Delting the storage pool is not getting from xenserver. The

storage pool entry was removed from the db but the pool wasn't unmounted from
the host. There was a check that if the pool is not in UP state then the entry
can just be removed. That is wrong. A pool can only be removed if it is in
maintenance state. So after putting the pool in maintenance state if admin
tries to delete the pool we just remove the db entry without un-mounting the
storage pool from the host. Removed the incorrect check.
This commit is contained in:
Devdeep Singh 2013-07-29 17:20:56 +05:30
parent 97424e2954
commit d06a5bc5f0

View File

@ -439,10 +439,7 @@ public class CloudStackPrimaryDataStoreLifeCycleImpl implements PrimaryDataStore
List<StoragePoolHostVO> hostPoolRecords = this._storagePoolHostDao.listByPoolId(store.getId()); List<StoragePoolHostVO> hostPoolRecords = this._storagePoolHostDao.listByPoolId(store.getId());
StoragePool pool = (StoragePool) store; StoragePool pool = (StoragePool) store;
boolean deleteFlag = false; boolean deleteFlag = false;
// If datastore is not in ready state, simply delete its db entry.
if (pool.getStatus() != StoragePoolStatus.Up) {
return this.dataStoreHelper.deletePrimaryDataStore(store);
}
// Remove the SR associated with the Xenserver // Remove the SR associated with the Xenserver
for (StoragePoolHostVO host : hostPoolRecords) { for (StoragePoolHostVO host : hostPoolRecords) {
DeleteStoragePoolCommand deleteCmd = new DeleteStoragePoolCommand(pool); DeleteStoragePoolCommand deleteCmd = new DeleteStoragePoolCommand(pool);