From a04b527e7de1e73e77a48bddb72a6007c45eaf13 Mon Sep 17 00:00:00 2001 From: SungWoongz Date: Wed, 28 Aug 2024 15:07:53 +0900 Subject: [PATCH 1/4] [Alibaba] Includ tag information when get SG --- .../drivers/alibaba/resources/SecurityHandler.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cloud-control-manager/cloud-driver/drivers/alibaba/resources/SecurityHandler.go b/cloud-control-manager/cloud-driver/drivers/alibaba/resources/SecurityHandler.go index 8f987447c..c674ac660 100644 --- a/cloud-control-manager/cloud-driver/drivers/alibaba/resources/SecurityHandler.go +++ b/cloud-control-manager/cloud-driver/drivers/alibaba/resources/SecurityHandler.go @@ -447,6 +447,16 @@ func (securityHandler *AlibabaSecurityHandler) ExtractSecurityInfo(securityGroup {Key: "CreationTime", Value: securityGroupResult.CreationTime}, }, } + if securityGroupResult.Tags.Tag != nil { + var tagList []irs.KeyValue + for _, tag := range securityGroupResult.Tags.Tag { + tagList = append(tagList, irs.KeyValue{ + Key: tag.TagKey, + Value: tag.TagValue, + }) + } + securityInfo.TagList = tagList + } return securityInfo, nil } From 76019d9b41a82540bd0fdd33c523c692fc782c7a Mon Sep 17 00:00:00 2001 From: SungWoongz Date: Wed, 28 Aug 2024 15:09:23 +0900 Subject: [PATCH 2/4] [Alibaba] fix request of DescribeEcsTags for removeTag --- .../drivers/alibaba/resources/CommonHandler.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cloud-control-manager/cloud-driver/drivers/alibaba/resources/CommonHandler.go b/cloud-control-manager/cloud-driver/drivers/alibaba/resources/CommonHandler.go index 9a13e89f9..60e589a79 100644 --- a/cloud-control-manager/cloud-driver/drivers/alibaba/resources/CommonHandler.go +++ b/cloud-control-manager/cloud-driver/drivers/alibaba/resources/CommonHandler.go @@ -769,7 +769,7 @@ func WaitForEcsTagExist(client *ecs.Client, regionInfo idrv.RegionInfo, resType //waitStatus := false curRetryCnt := 0 - maxRetryCnt := 3 // 최대 10초 기다림 + maxRetryCnt := 10 // 최대 10초 기다림 for { // 해당 resource의 tag를 가져온다. @@ -805,7 +805,7 @@ func WaitForEcsTagExist(client *ecs.Client, regionInfo idrv.RegionInfo, resType //if curStatus != irs.VMStatus(waitStatus) { curRetryCnt++ - cblogger.Errorf("Waiting for 1 second and then querying") + cblogger.Debug("Waiting for 1 second and then querying") time.Sleep(time.Second * 1) if curRetryCnt > maxRetryCnt { return false, errors.New("After waiting for a long time") @@ -849,7 +849,7 @@ func DescribeDescribeEcsTags(client *ecs.Client, regionInfo idrv.RegionInfo, res request.Domain = GetAlibabaApiEndPoint(regionID, apiProductCode) request.Version = "2014-05-26" request.ApiName = apiName - request.QueryParams["RegionId"] = regionID + //request.QueryParams["RegionId"] = regionID queryParams := map[string]string{} queryParams["RegionId"] = regionID @@ -858,7 +858,7 @@ func DescribeDescribeEcsTags(client *ecs.Client, regionInfo idrv.RegionInfo, res if key != "" { queryParams["Tag.1.Key"] = key // 한번에 1개씩만 가져온다. } - + request.QueryParams = queryParams callLogStart := call.Start() response, err := client.ProcessCommonRequest(request) From 13fc573319fa1321d1bd365355079dd846d6e6de Mon Sep 17 00:00:00 2001 From: SungWoongz Date: Wed, 28 Aug 2024 15:10:32 +0900 Subject: [PATCH 3/4] [Alibaba] Include tag information when get disk and fix parameter of AddEcsTags --- .../drivers/alibaba/resources/DiskHandler.go | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cloud-control-manager/cloud-driver/drivers/alibaba/resources/DiskHandler.go b/cloud-control-manager/cloud-driver/drivers/alibaba/resources/DiskHandler.go index 609b25658..4dce3436a 100644 --- a/cloud-control-manager/cloud-driver/drivers/alibaba/resources/DiskHandler.go +++ b/cloud-control-manager/cloud-driver/drivers/alibaba/resources/DiskHandler.go @@ -105,7 +105,7 @@ func (diskHandler *AlibabaDiskHandler) CreateDisk(diskReqInfo irs.DiskInfo) (irs // TagHandler.AddTag for _, diskTag := range diskReqInfo.TagList { cblogger.Debug("aliTag ", diskTag) - response, err := AddEcsTags(diskHandler.Client, diskHandler.Region, irs.RSType("DISK"), diskInfo.IId, diskTag) + response, err := AddEcsTags(diskHandler.Client, diskHandler.Region, irs.RSType(irs.DISK), diskInfo.IId, diskTag) if err != nil { cblogger.Error(err) //return tag, err @@ -649,15 +649,16 @@ func ExtractDiskDescribeInfo(aliDisk *ecs.Disk) (irs.DiskInfo, error) { diskInfo.OwnerVM = irs.IID{SystemId: aliDisk.InstanceId} diskStatus, errStatus := convertAlibabaDiskStatusToDiskStatus(aliDisk.Status) - tagList := []irs.KeyValue{} - for _, aliTag := range aliDisk.Tags.Tag { - sTag := irs.KeyValue{} - sTag.Key = aliTag.Key - sTag.Value = aliTag.Value - - tagList = append(tagList, sTag) + if aliDisk.Tags.Tag != nil { + var tagList []irs.KeyValue + for _, tag := range aliDisk.Tags.Tag { + tagList = append(tagList, irs.KeyValue{ + Key: tag.TagKey, + Value: tag.TagValue, + }) + } + diskInfo.TagList = tagList } - diskInfo.TagList = tagList if errStatus != nil { return irs.DiskInfo{}, errStatus @@ -716,7 +717,6 @@ func ExtractDiskDescribeInfo(aliDisk *ecs.Disk) (irs.DiskInfo, error) { //keyValueList = append(keyValueList, irs.KeyValue{Key: "Description", Value: disk.Description}) diskInfo.KeyValueList = keyValueList - return diskInfo, nil } From e6976bb01d192357e804e08da5d7193f1447cc48 Mon Sep 17 00:00:00 2001 From: SungWoongz Date: Wed, 28 Aug 2024 15:27:39 +0900 Subject: [PATCH 4/4] [Tencent] Include tag information when get NLB --- .../drivers/tencent/resources/NLBHandler.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cloud-control-manager/cloud-driver/drivers/tencent/resources/NLBHandler.go b/cloud-control-manager/cloud-driver/drivers/tencent/resources/NLBHandler.go index 268040c17..0e9d6d686 100644 --- a/cloud-control-manager/cloud-driver/drivers/tencent/resources/NLBHandler.go +++ b/cloud-control-manager/cloud-driver/drivers/tencent/resources/NLBHandler.go @@ -913,6 +913,17 @@ func (NLBHandler *TencentNLBHandler) ExtractNLBDescribeInfo(nlbInfo *clb.LoadBal Scope: "REGION", } + if nlbInfo.Tags != nil { + var tagList []irs.KeyValue + for _, tag := range nlbInfo.Tags { + tagList = append(tagList, irs.KeyValue{ + Key: *tag.TagKey, + Value: *tag.TagValue, + }) + } + resNLBInfo.TagList = tagList + } + return resNLBInfo, nil }