Merge pull request #40009 from kargakis/fix-dryrun-for-rollout

Automatic merge from submit-queue (batch tested with PRs 39911, 40002, 39969, 40012, 40009)

kubectl: fix rollback dryrun when version is not specified

@kubernetes/sig-cli-misc
This commit is contained in:
Kubernetes Submit Queue
2017-01-17 06:47:00 -08:00
committed by GitHub
2 changed files with 4 additions and 4 deletions

View File

@@ -2043,7 +2043,7 @@ run_deployment_tests() {
kubectl apply -f hack/testdata/deployment-revision2.yaml "${kube_flags[@]}" kubectl apply -f hack/testdata/deployment-revision2.yaml "${kube_flags[@]}"
kube::test::get_object_assert deployment.extensions "{{range.items}}{{$deployment_image_field}}:{{end}}" "${IMAGE_DEPLOYMENT_R2}:" kube::test::get_object_assert deployment.extensions "{{range.items}}{{$deployment_image_field}}:{{end}}" "${IMAGE_DEPLOYMENT_R2}:"
# Rollback to revision 1 with dry-run - should be no-op # Rollback to revision 1 with dry-run - should be no-op
kubectl rollout undo deployment nginx --to-revision=1 --dry-run=true "${kube_flags[@]}" kubectl rollout undo deployment nginx --dry-run=true "${kube_flags[@]}" | grep "test-cmd"
kube::test::get_object_assert deployment.extensions "{{range.items}}{{$deployment_image_field}}:{{end}}" "${IMAGE_DEPLOYMENT_R2}:" kube::test::get_object_assert deployment.extensions "{{range.items}}{{$deployment_image_field}}:{{end}}" "${IMAGE_DEPLOYMENT_R2}:"
# Rollback to revision 1 # Rollback to revision 1
kubectl rollout undo deployment nginx --to-revision=1 "${kube_flags[@]}" kubectl rollout undo deployment nginx --to-revision=1 "${kube_flags[@]}"

View File

@@ -155,8 +155,8 @@ func simpleDryRun(deployment *extensions.Deployment, c clientset.Interface, toRe
revisionToSpec[v] = &rs.Spec.Template revisionToSpec[v] = &rs.Spec.Template
} }
if len(revisionToSpec) == 0 { if len(revisionToSpec) < 2 {
return "No rollout history found.", nil return "", fmt.Errorf("no rollout history found for deployment %q", deployment.Name)
} }
if toRevision > 0 { if toRevision > 0 {
@@ -180,7 +180,7 @@ func simpleDryRun(deployment *extensions.Deployment, c clientset.Interface, toRe
} }
sliceutil.SortInts64(revisions) sliceutil.SortInts64(revisions)
template, _ := revisionToSpec[revisions[len(revisions)-1]] template, _ := revisionToSpec[revisions[len(revisions)-2]]
buf := bytes.NewBuffer([]byte{}) buf := bytes.NewBuffer([]byte{})
buf.WriteString("\n") buf.WriteString("\n")
internalTemplate := &api.PodTemplateSpec{} internalTemplate := &api.PodTemplateSpec{}