diff --git a/pkg/cloudcommon/notifyclient/events.go b/pkg/cloudcommon/notifyclient/events.go index 40f1523a54..1358f314f2 100644 --- a/pkg/cloudcommon/notifyclient/events.go +++ b/pkg/cloudcommon/notifyclient/events.go @@ -45,6 +45,7 @@ var ( ActionCreate = api.ActionCreate ActionDelete = api.ActionDelete ActionUpdate = api.ActionUpdate + ActionReset = api.ActionReset ActionRebuildRoot = api.ActionRebuildRoot ActionResetPassword = api.ActionResetPassword ActionChangeConfig = api.ActionChangeConfig diff --git a/pkg/compute/tasks/disk/disk_reset_task.go b/pkg/compute/tasks/disk/disk_reset_task.go index 6fc0377542..64ae8737f2 100644 --- a/pkg/compute/tasks/disk/disk_reset_task.go +++ b/pkg/compute/tasks/disk/disk_reset_task.go @@ -25,6 +25,7 @@ import ( api "yunion.io/x/onecloud/pkg/apis/compute" "yunion.io/x/onecloud/pkg/cloudcommon/db" "yunion.io/x/onecloud/pkg/cloudcommon/db/taskman" + "yunion.io/x/onecloud/pkg/cloudcommon/notifyclient" "yunion.io/x/onecloud/pkg/compute/models" "yunion.io/x/onecloud/pkg/util/logclient" ) @@ -65,6 +66,10 @@ func (self *DiskResetTask) TaskFailed(ctx context.Context, disk *models.SDisk, r } func (self *DiskResetTask) TaskCompleted(ctx context.Context, disk *models.SDisk, data *jsonutils.JSONDict) { + notifyclient.EventNotify(ctx, self.GetUserCred(), notifyclient.SEventNotifyParam{ + Obj: disk, + Action: notifyclient.ActionReset, + }) guests := disk.GetGuests() if jsonutils.QueryBoolean(self.Params, "auto_start", false) { if len(guests) == 1 { diff --git a/pkg/notify/models/topic.go b/pkg/notify/models/topic.go index c5175b77ef..ac4c13214a 100644 --- a/pkg/notify/models/topic.go +++ b/pkg/notify/models/topic.go @@ -504,6 +504,7 @@ func initTopicElement(name string, t *STopic) { t.addResources( api.TOPIC_RESOURCE_SERVER, api.TOPIC_RESOURCE_CLOUDPHONE, + api.TOPIC_RESOURCE_DISK, ) t.addAction( api.ActionStart,