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
2b1a0e98
Commit
2b1a0e98
authored
Oct 01, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14746 from jszczepkowski/deployment-fix
Auto commit by PR queue bot
parents
4e63cafd
e5b2f310
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
8 deletions
+12
-8
deployment_controller.go
pkg/controller/deployment/deployment_controller.go
+12
-8
No files found.
pkg/controller/deployment/deployment_controller.go
View file @
2b1a0e98
...
@@ -21,6 +21,7 @@ import (
...
@@ -21,6 +21,7 @@ import (
"math"
"math"
"time"
"time"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/experimental"
"k8s.io/kubernetes/pkg/apis/experimental"
client
"k8s.io/kubernetes/pkg/client/unversioned"
client
"k8s.io/kubernetes/pkg/client/unversioned"
...
@@ -44,22 +45,25 @@ func New(client client.Interface) *DeploymentController {
...
@@ -44,22 +45,25 @@ func New(client client.Interface) *DeploymentController {
func
(
d
*
DeploymentController
)
Run
(
syncPeriod
time
.
Duration
)
{
func
(
d
*
DeploymentController
)
Run
(
syncPeriod
time
.
Duration
)
{
go
util
.
Until
(
func
()
{
go
util
.
Until
(
func
()
{
if
err
:=
d
.
reconcileDeployments
();
err
!=
nil
{
errs
:=
d
.
reconcileDeployments
()
for
_
,
err
:=
range
errs
{
glog
.
Errorf
(
"Failed to reconcile: %v"
,
err
)
}
}
},
syncPeriod
,
util
.
NeverStop
)
},
syncPeriod
,
util
.
NeverStop
)
}
}
func
(
d
*
DeploymentController
)
reconcileDeployments
()
error
{
func
(
d
*
DeploymentController
)
reconcileDeployments
()
[]
error
{
list
,
err
:=
d
.
expClient
.
Deployments
(
api
.
NamespaceAll
)
.
List
(
labels
.
Everything
(),
fields
.
Everything
())
list
,
err
:=
d
.
expClient
.
Deployments
(
api
.
NamespaceAll
)
.
List
(
labels
.
Everything
(),
fields
.
Everything
())
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"error listing deployments: %v"
,
err
)
return
[]
error
{
fmt
.
Errorf
(
"error listing deployments: %v"
,
err
)}
}
}
errs
:=
[]
error
{}
for
_
,
deployment
:=
range
list
.
Items
{
for
_
,
deployment
:=
range
list
.
Items
{
if
err
:=
d
.
reconcileDeployment
(
&
deployment
);
err
!=
nil
{
if
err
:=
d
.
reconcileDeployment
(
&
deployment
);
err
!=
nil
{
return
fmt
.
Errorf
(
"error in reconciling deployment: %v"
,
err
)
errs
=
append
(
errs
,
fmt
.
Errorf
(
"error in reconciling deployment %s: %v"
,
deployment
.
Name
,
err
)
)
}
}
}
}
return
nil
return
errs
}
}
func
(
d
*
DeploymentController
)
reconcileDeployment
(
deployment
*
experimental
.
Deployment
)
error
{
func
(
d
*
DeploymentController
)
reconcileDeployment
(
deployment
*
experimental
.
Deployment
)
error
{
...
@@ -69,7 +73,7 @@ func (d *DeploymentController) reconcileDeployment(deployment *experimental.Depl
...
@@ -69,7 +73,7 @@ func (d *DeploymentController) reconcileDeployment(deployment *experimental.Depl
case
experimental
.
RollingUpdateDeploymentStrategyType
:
case
experimental
.
RollingUpdateDeploymentStrategyType
:
return
d
.
reconcileRollingUpdateDeployment
(
*
deployment
)
return
d
.
reconcileRollingUpdateDeployment
(
*
deployment
)
}
}
return
fmt
.
Errorf
(
"
U
nexpected deployment strategy type: %s"
,
deployment
.
Spec
.
Strategy
.
Type
)
return
fmt
.
Errorf
(
"
u
nexpected deployment strategy type: %s"
,
deployment
.
Spec
.
Strategy
.
Type
)
}
}
func
(
d
*
DeploymentController
)
reconcileRecreateDeployment
(
deployment
experimental
.
Deployment
)
error
{
func
(
d
*
DeploymentController
)
reconcileRecreateDeployment
(
deployment
experimental
.
Deployment
)
error
{
...
@@ -176,7 +180,7 @@ func (d *DeploymentController) scaleUp(allRCs []*api.ReplicationController, newR
...
@@ -176,7 +180,7 @@ func (d *DeploymentController) scaleUp(allRCs []*api.ReplicationController, newR
}
}
maxSurge
,
isPercent
,
err
:=
util
.
GetIntOrPercentValue
(
&
deployment
.
Spec
.
Strategy
.
RollingUpdate
.
MaxSurge
)
maxSurge
,
isPercent
,
err
:=
util
.
GetIntOrPercentValue
(
&
deployment
.
Spec
.
Strategy
.
RollingUpdate
.
MaxSurge
)
if
err
!=
nil
{
if
err
!=
nil
{
return
false
,
fmt
.
Errorf
(
"
I
nvalid value for MaxSurge: %v"
,
err
)
return
false
,
fmt
.
Errorf
(
"
i
nvalid value for MaxSurge: %v"
,
err
)
}
}
if
isPercent
{
if
isPercent
{
maxSurge
=
util
.
GetValueFromPercent
(
maxSurge
,
deployment
.
Spec
.
Replicas
)
maxSurge
=
util
.
GetValueFromPercent
(
maxSurge
,
deployment
.
Spec
.
Replicas
)
...
@@ -208,7 +212,7 @@ func (d *DeploymentController) scaleDown(allRCs []*api.ReplicationController, ol
...
@@ -208,7 +212,7 @@ func (d *DeploymentController) scaleDown(allRCs []*api.ReplicationController, ol
}
}
maxUnavailable
,
isPercent
,
err
:=
util
.
GetIntOrPercentValue
(
&
deployment
.
Spec
.
Strategy
.
RollingUpdate
.
MaxUnavailable
)
maxUnavailable
,
isPercent
,
err
:=
util
.
GetIntOrPercentValue
(
&
deployment
.
Spec
.
Strategy
.
RollingUpdate
.
MaxUnavailable
)
if
err
!=
nil
{
if
err
!=
nil
{
return
false
,
fmt
.
Errorf
(
"
I
nvalid value for MaxUnavailable: %v"
,
err
)
return
false
,
fmt
.
Errorf
(
"
i
nvalid value for MaxUnavailable: %v"
,
err
)
}
}
if
isPercent
{
if
isPercent
{
maxUnavailable
=
util
.
GetValueFromPercent
(
maxUnavailable
,
deployment
.
Spec
.
Replicas
)
maxUnavailable
=
util
.
GetValueFromPercent
(
maxUnavailable
,
deployment
.
Spec
.
Replicas
)
...
...
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