Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
113c5e34
Commit
113c5e34
authored
Oct 06, 2016
by
Cole Mickens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
azure: filter load balancer backend nodes to PrimaryAvailabilitySet if set
parent
049a0236
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
12 deletions
+39
-12
azure.go
pkg/cloudprovider/providers/azure/azure.go
+10
-9
azure_loadbalancer.go
pkg/cloudprovider/providers/azure/azure_loadbalancer.go
+11
-0
azure_test.go
pkg/cloudprovider/providers/azure/azure_test.go
+6
-1
azure_util.go
pkg/cloudprovider/providers/azure/azure_util.go
+12
-2
No files found.
pkg/cloudprovider/providers/azure/azure.go
View file @
113c5e34
...
@@ -33,15 +33,16 @@ const CloudProviderName = "azure"
...
@@ -33,15 +33,16 @@ const CloudProviderName = "azure"
// Config holds the configuration parsed from the --cloud-config flag
// Config holds the configuration parsed from the --cloud-config flag
type
Config
struct
{
type
Config
struct
{
Cloud
string
`json:"cloud" yaml:"cloud"`
Cloud
string
`json:"cloud" yaml:"cloud"`
TenantID
string
`json:"tenantId" yaml:"tenantId"`
TenantID
string
`json:"tenantId" yaml:"tenantId"`
SubscriptionID
string
`json:"subscriptionId" yaml:"subscriptionId"`
SubscriptionID
string
`json:"subscriptionId" yaml:"subscriptionId"`
ResourceGroup
string
`json:"resourceGroup" yaml:"resourceGroup"`
ResourceGroup
string
`json:"resourceGroup" yaml:"resourceGroup"`
Location
string
`json:"location" yaml:"location"`
Location
string
`json:"location" yaml:"location"`
VnetName
string
`json:"vnetName" yaml:"vnetName"`
VnetName
string
`json:"vnetName" yaml:"vnetName"`
SubnetName
string
`json:"subnetName" yaml:"subnetName"`
SubnetName
string
`json:"subnetName" yaml:"subnetName"`
SecurityGroupName
string
`json:"securityGroupName" yaml:"securityGroupName"`
SecurityGroupName
string
`json:"securityGroupName" yaml:"securityGroupName"`
RouteTableName
string
`json:"routeTableName" yaml:"routeTableName"`
RouteTableName
string
`json:"routeTableName" yaml:"routeTableName"`
PrimaryAvailabilitySetName
string
`json:"primaryAvailabilitySetName" yaml:"primaryAvailabilitySetName"`
AADClientID
string
`json:"aadClientId" yaml:"aadClientId"`
AADClientID
string
`json:"aadClientId" yaml:"aadClientId"`
AADClientSecret
string
`json:"aadClientSecret" yaml:"aadClientSecret"`
AADClientSecret
string
`json:"aadClientSecret" yaml:"aadClientSecret"`
...
...
pkg/cloudprovider/providers/azure/azure_loadbalancer.go
View file @
113c5e34
...
@@ -573,6 +573,17 @@ func (az *Cloud) ensureHostInPool(serviceName string, nodeName types.NodeName, b
...
@@ -573,6 +573,17 @@ func (az *Cloud) ensureHostInPool(serviceName string, nodeName types.NodeName, b
return
err
return
err
}
}
// Check availability set
if
az
.
PrimaryAvailabilitySetName
!=
""
{
expectedAvailabilitySetName
:=
az
.
getAvailabilitySetID
(
az
.
PrimaryAvailabilitySetName
)
if
!
strings
.
EqualFold
(
*
machine
.
Properties
.
AvailabilitySet
.
ID
,
expectedAvailabilitySetName
)
{
glog
.
V
(
1
)
.
Infof
(
"nicupdate(%s): skipping nic (%s) since it is not in the primaryAvailabilitSet(%s)"
,
serviceName
,
nicName
,
az
.
PrimaryAvailabilitySetName
)
return
nil
}
}
nic
,
err
:=
az
.
InterfacesClient
.
Get
(
az
.
ResourceGroup
,
nicName
,
""
)
nic
,
err
:=
az
.
InterfacesClient
.
Get
(
az
.
ResourceGroup
,
nicName
,
""
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
...
pkg/cloudprovider/providers/azure/azure_test.go
View file @
113c5e34
...
@@ -412,7 +412,8 @@ func TestNewCloudFromJSON(t *testing.T) {
...
@@ -412,7 +412,8 @@ func TestNewCloudFromJSON(t *testing.T) {
"subnetName": "--subnet-name--",
"subnetName": "--subnet-name--",
"securityGroupName": "--security-group-name--",
"securityGroupName": "--security-group-name--",
"vnetName": "--vnet-name--",
"vnetName": "--vnet-name--",
"routeTableName": "--route-table-name--"
"routeTableName": "--route-table-name--",
"primaryAvailabilitySetName": "--primary-availability-set-name--"
}`
}`
validateConfig
(
t
,
config
)
validateConfig
(
t
,
config
)
}
}
...
@@ -430,6 +431,7 @@ subnetName: --subnet-name--
...
@@ -430,6 +431,7 @@ subnetName: --subnet-name--
securityGroupName: --security-group-name--
securityGroupName: --security-group-name--
vnetName: --vnet-name--
vnetName: --vnet-name--
routeTableName: --route-table-name--
routeTableName: --route-table-name--
primaryAvailabilitySetName: --primary-availability-set-name--
`
`
validateConfig
(
t
,
config
)
validateConfig
(
t
,
config
)
}
}
...
@@ -476,6 +478,9 @@ func validateConfig(t *testing.T, config string) {
...
@@ -476,6 +478,9 @@ func validateConfig(t *testing.T, config string) {
if
azureCloud
.
RouteTableName
!=
"--route-table-name--"
{
if
azureCloud
.
RouteTableName
!=
"--route-table-name--"
{
t
.
Errorf
(
"got incorrect value for RouteTableName"
)
t
.
Errorf
(
"got incorrect value for RouteTableName"
)
}
}
if
azureCloud
.
PrimaryAvailabilitySetName
!=
"--primary-availability-set-name--"
{
t
.
Errorf
(
"got incorrect value for PrimaryAvailabilitySetName"
)
}
}
}
func
TestDecodeInstanceInfo
(
t
*
testing
.
T
)
{
func
TestDecodeInstanceInfo
(
t
*
testing
.
T
)
{
...
...
pkg/cloudprovider/providers/azure/azure_util.go
View file @
113c5e34
...
@@ -32,7 +32,8 @@ const (
...
@@ -32,7 +32,8 @@ const (
loadBalancerMinimumPriority
=
500
loadBalancerMinimumPriority
=
500
loadBalancerMaximumPriority
=
4096
loadBalancerMaximumPriority
=
4096
machineResourceIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s"
machineIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s"
availabilitySetIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/availabilitySets/%s"
frontendIPConfigIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/loadBalancers/%s/frontendIPConfigurations/%s"
frontendIPConfigIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/loadBalancers/%s/frontendIPConfigurations/%s"
backendPoolIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/loadBalancers/%s/backendAddressPools/%s"
backendPoolIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/loadBalancers/%s/backendAddressPools/%s"
loadBalancerRuleIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/loadBalancers/%s/loadBalancingRules/%s"
loadBalancerRuleIDTemplate
=
"/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/loadBalancers/%s/loadBalancingRules/%s"
...
@@ -43,12 +44,21 @@ const (
...
@@ -43,12 +44,21 @@ const (
// returns the full identifier of a machine
// returns the full identifier of a machine
func
(
az
*
Cloud
)
getMachineID
(
machineName
string
)
string
{
func
(
az
*
Cloud
)
getMachineID
(
machineName
string
)
string
{
return
fmt
.
Sprintf
(
return
fmt
.
Sprintf
(
machine
Resource
IDTemplate
,
machineIDTemplate
,
az
.
SubscriptionID
,
az
.
SubscriptionID
,
az
.
ResourceGroup
,
az
.
ResourceGroup
,
machineName
)
machineName
)
}
}
// returns the full identifier of an availabilitySet
func
(
az
*
Cloud
)
getAvailabilitySetID
(
availabilitySetName
string
)
string
{
return
fmt
.
Sprintf
(
availabilitySetIDTemplate
,
az
.
SubscriptionID
,
az
.
ResourceGroup
,
availabilitySetName
)
}
// returns the full identifier of a loadbalancer frontendipconfiguration.
// returns the full identifier of a loadbalancer frontendipconfiguration.
func
(
az
*
Cloud
)
getFrontendIPConfigID
(
lbName
,
backendPoolName
string
)
string
{
func
(
az
*
Cloud
)
getFrontendIPConfigID
(
lbName
,
backendPoolName
string
)
string
{
return
fmt
.
Sprintf
(
return
fmt
.
Sprintf
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment