controller: old pods should block deployment completeness

This commit is contained in:
Michail Kargakis
2017-01-21 22:54:21 +01:00
parent 8d5227bb2e
commit 506e71485f
2 changed files with 16 additions and 7 deletions

View File

@@ -816,9 +816,10 @@ func IsRollingUpdate(deployment *extensions.Deployment) bool {
}
// DeploymentComplete considers a deployment to be complete once its desired replicas equals its
// updatedReplicas and it doesn't violate minimum availability.
// updatedReplicas, no old pods are running, and it doesn't violate minimum availability.
func DeploymentComplete(deployment *extensions.Deployment, newStatus *extensions.DeploymentStatus) bool {
return newStatus.UpdatedReplicas == *(deployment.Spec.Replicas) &&
newStatus.Replicas == *(deployment.Spec.Replicas) &&
newStatus.AvailableReplicas >= *(deployment.Spec.Replicas)-MaxUnavailable(*deployment) &&
newStatus.ObservedGeneration >= deployment.Generation
}