Merge pull request #4976 from leseb/pool-finalizer

ceph: only delete pool if exists
This commit is contained in:
Sébastien Han authored and GitHub committed 2020-03-06 15:58:34 +01:00
commit e0b40c91c7
2 files changed
+17 -3

No files matched your search

+13 -2
View File
@@ -235,8 +235,19 @@ func createPool(context *clusterd.Context, p *cephv1.CephBlockPool) error {
// Delete the pool
func deletePool(context *clusterd.Context, p *cephv1.CephBlockPool) error {
if err := cephclient.DeletePool(context, p.Namespace, p.Name); err != nil {
return errors.Wrapf(err, "failed to delete pool %q", p.Name)
pools, err := cephclient.ListPoolSummaries(context, p.Namespace)
if err != nil {
return errors.Wrapf(err, "failed to list pools")
}
// Only delete the pool if it exists...
for _, pool := range pools {
if pool.Name == p.Name {
err := cephclient.DeletePool(context, p.Namespace, p.Name)
if err != nil {
return errors.Wrapf(err, "failed to delete pool %q", p.Name)
}
}
}
return nil
+4 -1
View File
@@ -111,7 +111,10 @@ func (p *PoolOperation) DeletePool(blockClient *BlockOperation, namespace, poolN
for _, blockImage := range blockImagesList {
if poolName == blockImage.PoolName {
logger.Infof("force deleting block image %q in pool %q", blockImage, poolName)
blockClient.DeleteBlockImage(blockImage, namespace)
err := blockClient.DeleteBlockImage(blockImage, namespace)
if err != nil {
logger.Infof("failed deleting image %q from %q. %v", blockImage, poolName, err)
}
}
}