From 499d6c3473f27cf667913bbef0b4fd15fba3f180 Mon Sep 17 00:00:00 2001 From: Sylvain Rabot Date: Wed, 26 Jul 2017 19:04:08 +0200 Subject: [PATCH] Azure: Allow VNet to be in a separate Resource Group Define a new config VnetResourceGroup in order to be able to use a VNet which is not in the same resource group as kubernetes. Signed-off-by: Sylvain Rabot --- pkg/cloudprovider/providers/azure/azure.go | 2 ++ pkg/cloudprovider/providers/azure/azure_wrap.go | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/cloudprovider/providers/azure/azure.go b/pkg/cloudprovider/providers/azure/azure.go index 8ae82707ded..448f0643f1f 100644 --- a/pkg/cloudprovider/providers/azure/azure.go +++ b/pkg/cloudprovider/providers/azure/azure.go @@ -68,6 +68,8 @@ type Config struct { Location string `json:"location" yaml:"location"` // The name of the VNet that the cluster is deployed in VnetName string `json:"vnetName" yaml:"vnetName"` + // The name of the resource group that the Vnet is deployed in + VnetResourceGroup string `json:"vnetResourceGroup" yaml:"vnetResourceGroup"` // The name of the subnet that the cluster is deployed in SubnetName string `json:"subnetName" yaml:"subnetName"` // The name of the security group attached to the cluster's subnet diff --git a/pkg/cloudprovider/providers/azure/azure_wrap.go b/pkg/cloudprovider/providers/azure/azure_wrap.go index 7277b8c814f..e9c06dc6fc2 100644 --- a/pkg/cloudprovider/providers/azure/azure_wrap.go +++ b/pkg/cloudprovider/providers/azure/azure_wrap.go @@ -143,10 +143,17 @@ func (az *Cloud) getPublicIPAddress(name string) (pip network.PublicIPAddress, e func (az *Cloud) getSubnet(virtualNetworkName string, subnetName string) (subnet network.Subnet, exists bool, err error) { var realErr error + var rg string + + if len(az.VnetResourceGroup) > 0 { + rg = az.VnetResourceGroup + } else { + rg = az.ResourceGroup + } az.operationPollRateLimiter.Accept() glog.V(10).Infof("SubnetsClient.Get(%s): start", subnetName) - subnet, err = az.SubnetsClient.Get(az.ResourceGroup, virtualNetworkName, subnetName, "") + subnet, err = az.SubnetsClient.Get(rg, virtualNetworkName, subnetName, "") glog.V(10).Infof("SubnetsClient.Get(%s): end", subnetName) exists, realErr = checkResourceExistsFromError(err)