From f0ad662ec0ef278c63f395ef4de291687528a22a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Fri, 21 Sep 2018 13:28:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96network?= =?UTF-8?q?=E6=97=B6=E6=9C=AA=E5=8A=A0=E8=AE=A4=E8=AF=81=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/util/azure/vpc.go | 1 + pkg/util/azure/wire.go | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkg/util/azure/vpc.go b/pkg/util/azure/vpc.go index 4fd3e4ca62..92326dfe3a 100644 --- a/pkg/util/azure/vpc.go +++ b/pkg/util/azure/vpc.go @@ -247,6 +247,7 @@ func (self *SRegion) GetNetworkDetail(networkId string) (*Subnet, error) { if data := valid.FindStringSubmatch(networkId); len(data) == 4 { sunet := Subnet{} networkClient := network.NewSubnetsClientWithBaseURI(self.client.baseUrl, self.SubscriptionID) + networkClient.Authorizer = self.client.authorizer if result, err := networkClient.Get(context.Background(), data[1], data[2], data[3], ""); err != nil { return nil, err } else if err := jsonutils.Update(&sunet, result); err != nil { diff --git a/pkg/util/azure/wire.go b/pkg/util/azure/wire.go index c03201fc5f..37fb42969d 100644 --- a/pkg/util/azure/wire.go +++ b/pkg/util/azure/wire.go @@ -86,10 +86,19 @@ func (self *SRegion) createNetwork(vpc *SVpc, subnetName string, cidr string, de return nil, err } else if net, err := resp.Result(networkClient); err != nil { return nil, err - } else if err := jsonutils.Update(&result, net); err != nil { - return nil, err + } else { + for _, subnet := range *net.Subnets { + _, _, _subnetName := pareResourceGroupWithName(*subnet.ID, VPC_RESOURCE) + if _subnetName == subnetName { + if err := jsonutils.Update(&result, subnet); err != nil { + return nil, err + } else { + return &result, nil + } + } + } } - return &result, nil + return nil, cloudprovider.ErrNotFound } func (self *SWire) CreateINetwork(name string, cidr string, desc string) (cloudprovider.ICloudNetwork, error) {