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) {