fix(region): compute binded disk count when deleting snapshotpolicy

This commit is contained in:
rainzm
2020-10-20 09:56:45 +08:00
parent 72ef0c5476
commit 2f6678f9a7
+4 -3
View File
@@ -310,11 +310,11 @@ func (sp *SSnapshotPolicy) DetachAfterDelete(ctx context.Context, userCred mccli
func (sp *SSnapshotPolicy) CustomizeDelete(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) error {
// check if sp bind to some disks
sds, err := SnapshotPolicyDiskManager.FetchAllBySnapshotpolicyID(ctx, userCred, sp.GetId())
count, err := SnapshotPolicyDiskManager.FetchDiskCountBySPID(sp.Id)
if err != nil {
return errors.Wrap(err, "fetch bind info failed")
return errors.Wrap(err, "unable to FetchDiskCountBySPID")
}
if len(sds) != 0 {
if count != 0 {
return httperrors.NewBadRequestError("Couldn't delete snapshot policy binding to disks")
}
sp.SetStatus(userCred, api.SNAPSHOT_POLICY_DELETING, "")
@@ -350,6 +350,7 @@ func (manager *SSnapshotPolicyManager) FetchCustomizeColumns(
VirtualResourceDetails: virtRows[i],
}
rows[i] = objs[i].(*SSnapshotPolicy).getMoreDetails(rows[i])
log.Infof("details: %v", rows[i])
}
return rows