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
14b18475
Commit
14b18475
authored
Oct 09, 2016
by
Davide Agnello
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Openstack: Update lb member when node port changes
parent
e4b1e263
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
9 deletions
+10
-9
openstack_loadbalancer.go
...oudprovider/providers/openstack/openstack_loadbalancer.go
+10
-9
No files found.
pkg/cloudprovider/providers/openstack/openstack_loadbalancer.go
View file @
14b18475
...
@@ -363,9 +363,9 @@ func getMonitorByPoolID(client *gophercloud.ServiceClient, id string) (*v2_monit
...
@@ -363,9 +363,9 @@ func getMonitorByPoolID(client *gophercloud.ServiceClient, id string) (*v2_monit
}
}
// Check if a member exists for node
// Check if a member exists for node
func
memberExists
(
members
[]
v2_pools
.
Member
,
addr
string
)
bool
{
func
memberExists
(
members
[]
v2_pools
.
Member
,
addr
string
,
port
int
)
bool
{
for
_
,
member
:=
range
members
{
for
_
,
member
:=
range
members
{
if
member
.
Address
==
addr
{
if
member
.
Address
==
addr
&&
member
.
ProtocolPort
==
port
{
return
true
return
true
}
}
}
}
...
@@ -385,9 +385,9 @@ func popListener(existingListeners []listeners.Listener, id string) []listeners.
...
@@ -385,9 +385,9 @@ func popListener(existingListeners []listeners.Listener, id string) []listeners.
return
existingListeners
return
existingListeners
}
}
func
popMember
(
members
[]
v2_pools
.
Member
,
addr
string
)
[]
v2_pools
.
Member
{
func
popMember
(
members
[]
v2_pools
.
Member
,
addr
string
,
port
int
)
[]
v2_pools
.
Member
{
for
i
,
member
:=
range
members
{
for
i
,
member
:=
range
members
{
if
member
.
Address
==
addr
{
if
member
.
Address
==
addr
&&
member
.
ProtocolPort
==
port
{
members
[
i
]
=
members
[
len
(
members
)
-
1
]
members
[
i
]
=
members
[
len
(
members
)
-
1
]
members
=
members
[
:
len
(
members
)
-
1
]
members
=
members
[
:
len
(
members
)
-
1
]
}
}
...
@@ -602,7 +602,7 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *api.Ser
...
@@ -602,7 +602,7 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *api.Ser
}
}
}
}
if
!
memberExists
(
members
,
addr
)
{
if
!
memberExists
(
members
,
addr
,
int
(
port
.
NodePort
)
)
{
glog
.
V
(
4
)
.
Infof
(
"Creating member for pool %s"
,
pool
.
ID
)
glog
.
V
(
4
)
.
Infof
(
"Creating member for pool %s"
,
pool
.
ID
)
_
,
err
:=
v2_pools
.
CreateAssociateMember
(
lbaas
.
network
,
pool
.
ID
,
v2_pools
.
MemberCreateOpts
{
_
,
err
:=
v2_pools
.
CreateAssociateMember
(
lbaas
.
network
,
pool
.
ID
,
v2_pools
.
MemberCreateOpts
{
ProtocolPort
:
int
(
port
.
NodePort
),
ProtocolPort
:
int
(
port
.
NodePort
),
...
@@ -614,9 +614,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *api.Ser
...
@@ -614,9 +614,10 @@ func (lbaas *LbaasV2) EnsureLoadBalancer(clusterName string, apiService *api.Ser
}
}
waitLoadbalancerActiveProvisioningStatus
(
lbaas
.
network
,
loadbalancer
.
ID
)
waitLoadbalancerActiveProvisioningStatus
(
lbaas
.
network
,
loadbalancer
.
ID
)
}
else
{
// After all members have been processed, remaining members are deleted as obsolete.
members
=
popMember
(
members
,
addr
,
int
(
port
.
NodePort
))
}
}
// After all members have been processed, remaining members are deleted as obsolete.
members
=
popMember
(
members
,
addr
)
glog
.
V
(
4
)
.
Infof
(
"Ensured pool %s has member for %s at %s"
,
pool
.
ID
,
nodeName
,
addr
)
glog
.
V
(
4
)
.
Infof
(
"Ensured pool %s has member for %s at %s"
,
pool
.
ID
,
nodeName
,
addr
)
}
}
...
@@ -832,7 +833,7 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *api.Servic
...
@@ -832,7 +833,7 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *api.Servic
// Add any new members for this port
// Add any new members for this port
for
addr
:=
range
addrs
{
for
addr
:=
range
addrs
{
if
_
,
ok
:=
members
[
addr
];
ok
{
if
_
,
ok
:=
members
[
addr
];
ok
&&
members
[
addr
]
.
ProtocolPort
==
int
(
port
.
NodePort
)
{
// Already exists, do not create member
// Already exists, do not create member
continue
continue
}
}
...
@@ -849,7 +850,7 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *api.Servic
...
@@ -849,7 +850,7 @@ func (lbaas *LbaasV2) UpdateLoadBalancer(clusterName string, service *api.Servic
// Remove any old members for this port
// Remove any old members for this port
for
_
,
member
:=
range
members
{
for
_
,
member
:=
range
members
{
if
_
,
ok
:=
addrs
[
member
.
Address
];
ok
{
if
_
,
ok
:=
addrs
[
member
.
Address
];
ok
&&
member
.
ProtocolPort
==
int
(
port
.
NodePort
)
{
// Still present, do not delete member
// Still present, do not delete member
continue
continue
}
}
...
...
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