Skip to content

Commit b4c7932

Browse files
authored
fix(region): create disk with tags (#22832)
1 parent 0a8198d commit b4c7932

File tree

38 files changed

+304
-250
lines changed

38 files changed

+304
-250
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ require (
9595
k8s.io/cri-api v0.22.17
9696
k8s.io/klog/v2 v2.20.0
9797
moul.io/http2curl/v2 v2.3.0
98-
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250703065545-99af7a58eb9e
98+
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250704072708-d4757966c574
9999
yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0
100100
yunion.io/x/jsonutils v1.0.1-0.20250507052344-1abcf4f443b1
101101
yunion.io/x/log v1.0.1-0.20240305175729-7cf2d6cd5a91

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1406,8 +1406,8 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK
14061406
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
14071407
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
14081408
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
1409-
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250703065545-99af7a58eb9e h1:JERk+MVavD5m9Bnk+gALIWpjkbegqKnb/pYP31fPm5I=
1410-
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250703065545-99af7a58eb9e/go.mod h1:FXxAEbdNfWXX9gjME3K2nJhkydHY5EKEUZb+RLEzVwQ=
1409+
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250704072708-d4757966c574 h1:kglRbPc1P9I7rt3DP7O4pc8ji2JqVvZ4GSD+j52fwSI=
1410+
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250704072708-d4757966c574/go.mod h1:FXxAEbdNfWXX9gjME3K2nJhkydHY5EKEUZb+RLEzVwQ=
14111411
yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0 h1:msG4SiDSVU7CrXH06WuHlNEZXIooTcmNbfrIGHuIHBU=
14121412
yunion.io/x/executor v0.0.0-20250518005516-5402e9e0bed0/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
14131413
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=

pkg/compute/hostdrivers/managedvirtual.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,15 +259,17 @@ func (self *SManagedVirtualizationHostDriver) RequestAllocateDiskOnStorage(ctx c
259259
logclient.AddSimpleActionLog(disk, logclient.ACT_SYNC_CLOUD_PROJECT, err, userCred, false)
260260
}
261261
}
262-
conf := cloudprovider.DiskCreateConfig{
262+
opts := cloudprovider.DiskCreateConfig{
263263
Name: disk.GetName(),
264264
SizeGb: input.DiskSizeMb >> 10,
265265
ProjectId: projectId,
266266
Iops: disk.Iops,
267267
Throughput: disk.Throughput,
268268
Desc: disk.Description,
269269
}
270-
iDisk, err := iCloudStorage.CreateIDisk(&conf)
270+
opts.Tags, _ = disk.GetAllUserMetadata()
271+
272+
iDisk, err := iCloudStorage.CreateIDisk(&opts)
271273
if err != nil {
272274
return nil, err
273275
}

pkg/compute/models/guest_actions.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2028,7 +2028,7 @@ func (self *SGuest) PerformCreatedisk(ctx context.Context, userCred mcclient.Tok
20282028
lockman.LockObject(ctx, host)
20292029
defer lockman.ReleaseObject(ctx, host)
20302030

2031-
err = self.CreateDisksOnHost(ctx, userCred, host, disksConf, pendingUsage, false, false, nil, nil, false)
2031+
err = self.CreateDisksOnHost(ctx, userCred, host, disksConf, pendingUsage, false, options.Options.UseServerTagsForDisk, nil, nil, false)
20322032
if err != nil {
20332033
quotas.CancelPendingUsage(ctx, userCred, pendingUsage, pendingUsage, false)
20342034
logclient.AddActionLogWithContext(ctx, self, logclient.ACT_CREATE, err.Error(), userCred, false)

pkg/compute/options/options.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,9 @@ type ComputeOptions struct {
202202
// 修改标签时不再同步至云上, 云账号同步资源时不会冲掉本地打的标签(key相同的会覆盖), 云账号开启只读同步和此参数效果相同,且仅影响开启只读同步的账号
203203
KeepTagLocalization bool `help:"keep tag localization, not synchronized to the cloud" default:"false"`
204204

205+
// 调整虚拟机配置时,新增磁盘使用虚拟机标签
206+
UseServerTagsForDisk bool `help:"use server tags for disk" default:"true"`
207+
205208
EnableMonitorAgent bool `help:"enable public cloud vm monitor agent" default:"false"`
206209

207210
EnableTlsMigration bool `help:"Enable TLS migration" default:"false"`

pkg/compute/tasks/guest/guest_change_config_task.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
3131
"yunion.io/x/onecloud/pkg/cloudcommon/notifyclient"
3232
"yunion.io/x/onecloud/pkg/compute/models"
33+
"yunion.io/x/onecloud/pkg/compute/options"
3334
taskutils "yunion.io/x/onecloud/pkg/compute/tasks/utils"
3435
"yunion.io/x/onecloud/pkg/util/logclient"
3536
)
@@ -203,7 +204,7 @@ func (task *GuestChangeConfigTask) DoCreateDisksTask(ctx context.Context, guest
203204

204205
disks := confs.Create
205206
host, _ := guest.GetHost()
206-
err = guest.CreateDisksOnHost(ctx, task.UserCred, host, disks, nil, false, false, nil, nil, false)
207+
err = guest.CreateDisksOnHost(ctx, task.UserCred, host, disks, nil, false, options.Options.UseServerTagsForDisk, nil, nil, false)
207208
if err != nil {
208209
task.markStageFailed(ctx, guest, jsonutils.NewString(err.Error()))
209210
return

vendor/modules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1849,7 +1849,7 @@ sigs.k8s.io/structured-merge-diff/v4/value
18491849
# sigs.k8s.io/yaml v1.2.0
18501850
## explicit; go 1.12
18511851
sigs.k8s.io/yaml
1852-
# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250703065545-99af7a58eb9e
1852+
# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20250704072708-d4757966c574
18531853
## explicit; go 1.21
18541854
yunion.io/x/cloudmux/pkg/apis
18551855
yunion.io/x/cloudmux/pkg/apis/billing

vendor/yunion.io/x/cloudmux/pkg/cloudprovider/cdn.go

Lines changed: 32 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)