From 4fdf44cbed73a938d7dc38edc9a1f458505a43f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Mon, 29 Sep 2025 12:24:08 +0800 Subject: [PATCH] fix(cloudevent): options changed with etcd (#23432) --- pkg/apis/cloudevent/cloudevent_const.go | 3 ++- pkg/cloudevent/options/options.go | 11 +++++++++++ pkg/cloudevent/service/service.go | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/apis/cloudevent/cloudevent_const.go b/pkg/apis/cloudevent/cloudevent_const.go index cd8911eedb..aa1a642f62 100644 --- a/pkg/apis/cloudevent/cloudevent_const.go +++ b/pkg/apis/cloudevent/cloudevent_const.go @@ -17,7 +17,8 @@ package cloudevent import "yunion.io/x/onecloud/pkg/apis" const ( - SERVICE_TYPE = apis.SERVICE_TYPE_CLOUDEVENT + SERVICE_TYPE = apis.SERVICE_TYPE_CLOUDEVENT + SERVICE_VERSION = "" CLOUD_EVENT_SERVICE_COMPUTE = "compute" CLOUD_EVENT_SERVICE_UNKNOWN = "unknown" diff --git a/pkg/cloudevent/options/options.go b/pkg/cloudevent/options/options.go index 62238572f6..51fc344b0f 100644 --- a/pkg/cloudevent/options/options.go +++ b/pkg/cloudevent/options/options.go @@ -32,3 +32,14 @@ type CloudeventOptions struct { var ( Options CloudeventOptions ) + +func OnOptionsChange(oldO, newO interface{}) bool { + oldOpts := oldO.(*CloudeventOptions) + newOpts := newO.(*CloudeventOptions) + + changed := false + if common_options.OnCommonOptionsChange(&oldOpts.CommonOptions, &newOpts.CommonOptions) { + changed = true + } + return changed +} diff --git a/pkg/cloudevent/service/service.go b/pkg/cloudevent/service/service.go index e0ff959606..84c8d1917b 100644 --- a/pkg/cloudevent/service/service.go +++ b/pkg/cloudevent/service/service.go @@ -45,6 +45,8 @@ func StartService() { log.Infof("Auth complete") }) + common_options.StartOptionManager(opts, opts.ConfigSyncPeriodSeconds, api.SERVICE_TYPE, api.SERVICE_VERSION, options.OnOptionsChange) + dbOpts := &opts.DBOptions baseOpts := &opts.BaseOptions