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
60324942
Commit
60324942
authored
Jul 18, 2016
by
k8s-merge-robot
Committed by
GitHub
Jul 18, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #29096 from gmarek/cidrAllocation
Automatic merge from submit-queue Re-check assigned CIDR during update Ref. #29064 cc @bgrant0607
parents
524c5b53
579912d9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
5 deletions
+13
-5
cidr_allocator.go
pkg/controller/node/cidr_allocator.go
+13
-5
No files found.
pkg/controller/node/cidr_allocator.go
View file @
60324942
...
...
@@ -158,17 +158,17 @@ func (r *rangeAllocator) AllocateOrOccupyCIDR(node *api.Node) error {
// ReleaseCIDR releases the CIDR of the removed node
func
(
r
*
rangeAllocator
)
ReleaseCIDR
(
node
*
api
.
Node
)
error
{
if
node
.
Spec
.
PodCIDR
==
""
{
if
node
==
nil
||
node
.
Spec
.
PodCIDR
==
""
{
return
nil
}
_
,
podCIDR
,
err
:=
net
.
ParseCIDR
(
node
.
Spec
.
PodCIDR
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Failed to parse
node %s, CIDR %s"
,
node
.
Name
,
node
.
Spec
.
PodCIDR
)
return
fmt
.
Errorf
(
"Failed to parse
CIDR %s on Node %v: %v"
,
node
.
Spec
.
PodCIDR
,
node
.
Name
,
err
)
}
glog
.
V
(
4
)
.
Infof
(
"re
cycle node %s CIDR %s"
,
node
.
Name
,
p
odCIDR
)
glog
.
V
(
4
)
.
Infof
(
"re
lease CIDR %s"
,
node
.
Spec
.
P
odCIDR
)
if
err
=
r
.
cidrs
.
release
(
podCIDR
);
err
!=
nil
{
return
fmt
.
Errorf
(
"
Failed to release cidr: %v"
,
err
)
return
fmt
.
Errorf
(
"
Error when releasing CIDR %v: %v"
,
node
.
Spec
.
PodCIDR
,
err
)
}
return
err
}
...
...
@@ -195,11 +195,19 @@ func (r *rangeAllocator) updateCIDRAllocation(data nodeAndCIDR) error {
for
rep
:=
0
;
rep
<
podCIDRUpdateRetry
;
rep
++
{
// TODO: change it to using PATCH instead of full Node updates.
node
,
err
=
r
.
client
.
Core
()
.
Nodes
()
.
Get
(
data
.
nodeName
)
glog
.
Infof
(
"Got Node: %v"
,
node
)
if
err
!=
nil
{
glog
.
Errorf
(
"Failed while getting node %v to retry updating Node.Spec.PodCIDR: %v"
,
data
.
nodeName
,
err
)
continue
}
if
node
.
Spec
.
PodCIDR
!=
""
{
glog
.
Errorf
(
"Node %v already has allocated CIDR %v. Releasing assigned one if different."
,
node
.
Name
,
node
.
Spec
.
PodCIDR
)
if
node
.
Spec
.
PodCIDR
!=
data
.
cidr
.
String
()
{
if
err
:=
r
.
cidrs
.
release
(
data
.
cidr
);
err
!=
nil
{
glog
.
Errorf
(
"Error when releasing CIDR %v"
,
data
.
cidr
.
String
())
}
}
return
nil
}
node
.
Spec
.
PodCIDR
=
data
.
cidr
.
String
()
if
_
,
err
:=
r
.
client
.
Core
()
.
Nodes
()
.
Update
(
node
);
err
!=
nil
{
glog
.
Errorf
(
"Failed while updating Node.Spec.PodCIDR (%d retries left): %v"
,
podCIDRUpdateRetry
-
rep
-
1
,
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