From 38d1d0f7669b37f7c5c5918f9e1f8affad9bb129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Thu, 18 Sep 2025 15:08:21 +0800 Subject: [PATCH] fix(region): disk reset webhook (#23326) --- pkg/cloudcommon/notifyclient/events.go | 1 + pkg/compute/tasks/disk/disk_reset_task.go | 5 +++++ pkg/notify/models/topic.go | 1 + 3 files changed, 7 insertions(+) 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,