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
a718f78a
Commit
a718f78a
authored
Aug 24, 2016
by
Angus Lees
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
azure: Update LB API hosts->nodes
Update EnsureLoadBalancer/UpdateLoadBalancer API to use node objects.
parent
398c62d1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
21 deletions
+21
-21
azure_loadbalancer.go
pkg/cloudprovider/providers/azure/azure_loadbalancer.go
+9
-9
azure_test.go
pkg/cloudprovider/providers/azure/azure_test.go
+12
-12
No files found.
pkg/cloudprovider/providers/azure/azure_loadbalancer.go
View file @
a718f78a
...
@@ -62,7 +62,7 @@ func (az *Cloud) GetLoadBalancer(clusterName string, service *v1.Service) (statu
...
@@ -62,7 +62,7 @@ func (az *Cloud) GetLoadBalancer(clusterName string, service *v1.Service) (statu
}
}
// EnsureLoadBalancer creates a new load balancer 'name', or updates the existing one. Returns the status of the balancer
// EnsureLoadBalancer creates a new load balancer 'name', or updates the existing one. Returns the status of the balancer
func
(
az
*
Cloud
)
EnsureLoadBalancer
(
clusterName
string
,
service
*
v1
.
Service
,
node
Names
[]
string
)
(
*
v1
.
LoadBalancerStatus
,
error
)
{
func
(
az
*
Cloud
)
EnsureLoadBalancer
(
clusterName
string
,
service
*
v1
.
Service
,
node
s
[]
*
v1
.
Node
)
(
*
v1
.
LoadBalancerStatus
,
error
)
{
lbName
:=
getLoadBalancerName
(
clusterName
)
lbName
:=
getLoadBalancerName
(
clusterName
)
pipName
:=
getPublicIPName
(
clusterName
,
service
)
pipName
:=
getPublicIPName
(
clusterName
,
service
)
serviceName
:=
getServiceName
(
service
)
serviceName
:=
getServiceName
(
service
)
...
@@ -101,7 +101,7 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
...
@@ -101,7 +101,7 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
}
}
}
}
lb
,
lbNeedsUpdate
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
pip
,
clusterName
,
service
,
node
Name
s
)
lb
,
lbNeedsUpdate
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
pip
,
clusterName
,
service
,
nodes
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
@@ -116,9 +116,9 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
...
@@ -116,9 +116,9 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
// Add the machines to the backend pool if they're not already
// Add the machines to the backend pool if they're not already
lbBackendName
:=
getBackendPoolName
(
clusterName
)
lbBackendName
:=
getBackendPoolName
(
clusterName
)
lbBackendPoolID
:=
az
.
getBackendPoolID
(
lbName
,
lbBackendName
)
lbBackendPoolID
:=
az
.
getBackendPoolID
(
lbName
,
lbBackendName
)
hostUpdates
:=
make
([]
func
()
error
,
len
(
node
Name
s
))
hostUpdates
:=
make
([]
func
()
error
,
len
(
nodes
))
for
i
,
node
Name
:=
range
nodeNam
es
{
for
i
,
node
:=
range
nod
es
{
localNodeName
:=
nodeName
localNodeName
:=
node
.
Name
f
:=
func
()
error
{
f
:=
func
()
error
{
err
:=
az
.
ensureHostInPool
(
serviceName
,
types
.
NodeName
(
localNodeName
),
lbBackendPoolID
)
err
:=
az
.
ensureHostInPool
(
serviceName
,
types
.
NodeName
(
localNodeName
),
lbBackendPoolID
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -141,8 +141,8 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
...
@@ -141,8 +141,8 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
}
}
// UpdateLoadBalancer updates hosts under the specified load balancer.
// UpdateLoadBalancer updates hosts under the specified load balancer.
func
(
az
*
Cloud
)
UpdateLoadBalancer
(
clusterName
string
,
service
*
v1
.
Service
,
node
Names
[]
string
)
error
{
func
(
az
*
Cloud
)
UpdateLoadBalancer
(
clusterName
string
,
service
*
v1
.
Service
,
node
s
[]
*
v1
.
Node
)
error
{
_
,
err
:=
az
.
EnsureLoadBalancer
(
clusterName
,
service
,
node
Name
s
)
_
,
err
:=
az
.
EnsureLoadBalancer
(
clusterName
,
service
,
nodes
)
return
err
return
err
}
}
...
@@ -167,7 +167,7 @@ func (az *Cloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Servi
...
@@ -167,7 +167,7 @@ func (az *Cloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Servi
return
err
return
err
}
}
if
existsLb
{
if
existsLb
{
lb
,
lbNeedsUpdate
,
reconcileErr
:=
az
.
reconcileLoadBalancer
(
lb
,
nil
,
clusterName
,
service
,
[]
string
{})
lb
,
lbNeedsUpdate
,
reconcileErr
:=
az
.
reconcileLoadBalancer
(
lb
,
nil
,
clusterName
,
service
,
[]
*
v1
.
Node
{})
if
reconcileErr
!=
nil
{
if
reconcileErr
!=
nil
{
return
reconcileErr
return
reconcileErr
}
}
...
@@ -259,7 +259,7 @@ func (az *Cloud) ensurePublicIPDeleted(serviceName, pipName string) error {
...
@@ -259,7 +259,7 @@ func (az *Cloud) ensurePublicIPDeleted(serviceName, pipName string) error {
// This ensures load balancer exists and the frontend ip config is setup.
// This ensures load balancer exists and the frontend ip config is setup.
// This also reconciles the Service's Ports with the LoadBalancer config.
// This also reconciles the Service's Ports with the LoadBalancer config.
// This entails adding rules/probes for expected Ports and removing stale rules/ports.
// This entails adding rules/probes for expected Ports and removing stale rules/ports.
func
(
az
*
Cloud
)
reconcileLoadBalancer
(
lb
network
.
LoadBalancer
,
pip
*
network
.
PublicIPAddress
,
clusterName
string
,
service
*
v1
.
Service
,
node
Names
[]
string
)
(
network
.
LoadBalancer
,
bool
,
error
)
{
func
(
az
*
Cloud
)
reconcileLoadBalancer
(
lb
network
.
LoadBalancer
,
pip
*
network
.
PublicIPAddress
,
clusterName
string
,
service
*
v1
.
Service
,
node
s
[]
*
v1
.
Node
)
(
network
.
LoadBalancer
,
bool
,
error
)
{
lbName
:=
getLoadBalancerName
(
clusterName
)
lbName
:=
getLoadBalancerName
(
clusterName
)
serviceName
:=
getServiceName
(
service
)
serviceName
:=
getServiceName
(
service
)
lbFrontendIPConfigName
:=
getFrontendIPConfigName
(
service
)
lbFrontendIPConfigName
:=
getFrontendIPConfigName
(
service
)
...
...
pkg/cloudprovider/providers/azure/azure_test.go
View file @
a718f78a
...
@@ -38,9 +38,9 @@ func TestReconcileLoadBalancerAddPort(t *testing.T) {
...
@@ -38,9 +38,9 @@ func TestReconcileLoadBalancerAddPort(t *testing.T) {
svc
:=
getTestService
(
"servicea"
,
80
)
svc
:=
getTestService
(
"servicea"
,
80
)
pip
:=
getTestPublicIP
()
pip
:=
getTestPublicIP
()
lb
:=
getTestLoadBalancer
()
lb
:=
getTestLoadBalancer
()
hosts
:=
[]
string
{}
nodes
:=
[]
*
v1
.
Node
{}
lb
,
updated
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
&
pip
,
testClusterName
,
&
svc
,
host
s
)
lb
,
updated
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
&
pip
,
testClusterName
,
&
svc
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
...
@@ -67,9 +67,9 @@ func TestReconcileLoadBalancerNodeHealth(t *testing.T) {
...
@@ -67,9 +67,9 @@ func TestReconcileLoadBalancerNodeHealth(t *testing.T) {
pip
:=
getTestPublicIP
()
pip
:=
getTestPublicIP
()
lb
:=
getTestLoadBalancer
()
lb
:=
getTestLoadBalancer
()
hosts
:=
[]
string
{}
nodes
:=
[]
*
v1
.
Node
{}
lb
,
updated
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
&
pip
,
testClusterName
,
&
svc
,
host
s
)
lb
,
updated
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
&
pip
,
testClusterName
,
&
svc
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
...
@@ -92,15 +92,15 @@ func TestReconcileLoadBalancerRemoveAllPortsRemovesFrontendConfig(t *testing.T)
...
@@ -92,15 +92,15 @@ func TestReconcileLoadBalancerRemoveAllPortsRemovesFrontendConfig(t *testing.T)
svc
:=
getTestService
(
"servicea"
,
80
)
svc
:=
getTestService
(
"servicea"
,
80
)
lb
:=
getTestLoadBalancer
()
lb
:=
getTestLoadBalancer
()
pip
:=
getTestPublicIP
()
pip
:=
getTestPublicIP
()
hosts
:=
[]
string
{}
nodes
:=
[]
*
v1
.
Node
{}
lb
,
updated
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
&
pip
,
testClusterName
,
&
svc
,
host
s
)
lb
,
updated
,
err
:=
az
.
reconcileLoadBalancer
(
lb
,
&
pip
,
testClusterName
,
&
svc
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
svcUpdated
:=
getTestService
(
"servicea"
)
svcUpdated
:=
getTestService
(
"servicea"
)
lb
,
updated
,
err
=
az
.
reconcileLoadBalancer
(
lb
,
nil
,
testClusterName
,
&
svcUpdated
,
host
s
)
lb
,
updated
,
err
=
az
.
reconcileLoadBalancer
(
lb
,
nil
,
testClusterName
,
&
svcUpdated
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
...
@@ -122,12 +122,12 @@ func TestReconcileLoadBalancerRemovesPort(t *testing.T) {
...
@@ -122,12 +122,12 @@ func TestReconcileLoadBalancerRemovesPort(t *testing.T) {
az
:=
getTestCloud
()
az
:=
getTestCloud
()
svc
:=
getTestService
(
"servicea"
,
80
,
443
)
svc
:=
getTestService
(
"servicea"
,
80
,
443
)
pip
:=
getTestPublicIP
()
pip
:=
getTestPublicIP
()
hosts
:=
[]
string
{}
nodes
:=
[]
*
v1
.
Node
{}
existingLoadBalancer
:=
getTestLoadBalancer
(
svc
)
existingLoadBalancer
:=
getTestLoadBalancer
(
svc
)
svcUpdated
:=
getTestService
(
"servicea"
,
80
)
svcUpdated
:=
getTestService
(
"servicea"
,
80
)
updatedLoadBalancer
,
_
,
err
:=
az
.
reconcileLoadBalancer
(
existingLoadBalancer
,
&
pip
,
testClusterName
,
&
svcUpdated
,
host
s
)
updatedLoadBalancer
,
_
,
err
:=
az
.
reconcileLoadBalancer
(
existingLoadBalancer
,
&
pip
,
testClusterName
,
&
svcUpdated
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
...
@@ -141,16 +141,16 @@ func TestReconcileLoadBalancerMultipleServices(t *testing.T) {
...
@@ -141,16 +141,16 @@ func TestReconcileLoadBalancerMultipleServices(t *testing.T) {
svc1
:=
getTestService
(
"servicea"
,
80
,
443
)
svc1
:=
getTestService
(
"servicea"
,
80
,
443
)
svc2
:=
getTestService
(
"serviceb"
,
80
)
svc2
:=
getTestService
(
"serviceb"
,
80
)
pip
:=
getTestPublicIP
()
pip
:=
getTestPublicIP
()
hosts
:=
[]
string
{}
nodes
:=
[]
*
v1
.
Node
{}
existingLoadBalancer
:=
getTestLoadBalancer
()
existingLoadBalancer
:=
getTestLoadBalancer
()
updatedLoadBalancer
,
_
,
err
:=
az
.
reconcileLoadBalancer
(
existingLoadBalancer
,
&
pip
,
testClusterName
,
&
svc1
,
host
s
)
updatedLoadBalancer
,
_
,
err
:=
az
.
reconcileLoadBalancer
(
existingLoadBalancer
,
&
pip
,
testClusterName
,
&
svc1
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
updatedLoadBalancer
,
_
,
err
=
az
.
reconcileLoadBalancer
(
updatedLoadBalancer
,
&
pip
,
testClusterName
,
&
svc2
,
host
s
)
updatedLoadBalancer
,
_
,
err
=
az
.
reconcileLoadBalancer
(
updatedLoadBalancer
,
&
pip
,
testClusterName
,
&
svc2
,
node
s
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
t
.
Errorf
(
"Unexpected error: %q"
,
err
)
}
}
...
...
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