From 70f0f743ed698c6a39f0200e28b02627f75b973c Mon Sep 17 00:00:00 2001 From: TangBin Date: Tue, 4 Dec 2018 11:52:04 +0800 Subject: [PATCH 1/3] aws security group fix --- pkg/util/aws/securitygroup.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/util/aws/securitygroup.go b/pkg/util/aws/securitygroup.go index b33337f680..3d6b28fc82 100644 --- a/pkg/util/aws/securitygroup.go +++ b/pkg/util/aws/securitygroup.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/aws/aws-sdk-go/service/ec2" + "github.com/golang-plus/uuid" "yunion.io/x/jsonutils" "yunion.io/x/log" "yunion.io/x/onecloud/pkg/cloudprovider" @@ -245,7 +246,12 @@ func (self *SRegion) createSecurityGroup(vpcId string, name string, desc string) params := &ec2.CreateSecurityGroupInput{} params.SetVpcId(vpcId) params.SetDescription(desc) - params.SetGroupName(name) + // aws name 要求唯一,且不含中文等字符。所以随机生成一个uuid作为name。实际用户传入的name使用tag标记 + secid, err := uuid.NewV4() + if err != nil { + return "", err + } + params.SetGroupName(secid.String()) group, err := self.ec2Client.CreateSecurityGroup(params) if err != nil { From b34cb294447f8567f8d9c066926f4ba70ed66a58 Mon Sep 17 00:00:00 2001 From: TangBin Date: Tue, 4 Dec 2018 12:02:58 +0800 Subject: [PATCH 2/3] aws security group add tags --- pkg/util/aws/securitygroup.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/util/aws/securitygroup.go b/pkg/util/aws/securitygroup.go index 3d6b28fc82..9b303bf3ec 100644 --- a/pkg/util/aws/securitygroup.go +++ b/pkg/util/aws/securitygroup.go @@ -259,6 +259,8 @@ func (self *SRegion) createSecurityGroup(vpcId string, name string, desc string) } tagspec := TagSpec{ResourceType: "security-group"} + tagspec.SetNameTag(name) + tagspec.SetDescTag(desc) tags, _ := tagspec.GetTagSpecifications() tagParams := &ec2.CreateTagsInput{} tagParams.SetResources([]*string{group.GroupId}) From 3a1abae2e6c4df4f0a81602424afbc1eb1eecf1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Tue, 4 Dec 2018 13:47:29 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=81=BF=E5=85=8Did=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E6=97=B6=E8=BF=94=E5=9B=9E=E5=85=B6=E4=BB=96=E6=9C=BA=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/util/qcloud/host.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/util/qcloud/host.go b/pkg/util/qcloud/host.go index 67f362deb4..d9c7c6ce51 100644 --- a/pkg/util/qcloud/host.go +++ b/pkg/util/qcloud/host.go @@ -219,6 +219,9 @@ func (self *SHost) GetIStorages() ([]cloudprovider.ICloudStorage, error) { } func (self *SHost) GetIVMById(gid string) (cloudprovider.ICloudVM, error) { + if len(gid) == 0 { + return nil, cloudprovider.ErrNotFound + } parts, _, err := self.zone.region.GetInstances(self.zone.Zone, []string{gid}, 0, 1) if err != nil { return nil, err