disk add allowdeleteitem

This commit is contained in:
Qiu Jian
2019-01-03 20:00:50 +08:00
parent 5b63de31bc
commit 929ea31d3e
3 changed files with 15 additions and 2 deletions
+13
View File
@@ -787,6 +787,19 @@ func (self *SDisk) validateDeleteCondition(ctx context.Context, isPurge bool) er
return self.SSharableVirtualResourceBase.ValidateDeleteCondition(ctx)
}
func (self *SDisk) AllowDeleteItem(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool {
overridePendingDelete := false
purge := false
if query != nil {
overridePendingDelete = jsonutils.QueryBoolean(query, "override_pending_delete", false)
purge = jsonutils.QueryBoolean(query, "purge", false)
}
if (overridePendingDelete || purge) && !db.IsAdminAllowDelete(userCred, self) {
return false
}
return self.IsOwner(userCred) || db.IsAdminAllowDelete(userCred, self)
}
func (self *SDisk) GetTemplateId() string {
return self.TemplateId
}
+1 -1
View File
@@ -1550,7 +1550,7 @@ func (self *SGuest) DoPendingDelete(ctx context.Context, userCred mcclient.Token
for _, guestdisk := range self.GetDisks() {
disk := guestdisk.GetDisk()
if ! disk.IsDetachable() {
if !disk.IsDetachable() {
disk.DoPendingDelete(ctx, userCred)
} else {
log.Warningf("detachable disk on pending delete guests!!! should be removed earlier")
+1 -1
View File
@@ -106,7 +106,7 @@ func (self *GuestDeleteTask) OnDiskDetachComplete(ctx context.Context, obj db.IS
}
lastDisk := guestdisks[len(guestdisks)-1].GetDisk() // remove last detachable disk
log.Debugf("lastDisk IsDetachable?? %v", lastDisk.IsDetachable())
if ! lastDisk.IsDetachable() {
if !lastDisk.IsDetachable() {
self.doClearSecurityGroupComplete(ctx, guest)
return
}