kubectl: fix rollback dryrun when version is not specified

This commit is contained in:
Michail Kargakis 2017-01-17 11:56:28 +01:00
parent 32e163c928
commit 9c820a5793
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[@]}"
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
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}:"
# Rollback to revision 1
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
}
if len(revisionToSpec) == 0 {
return "No rollout history found.", nil
if len(revisionToSpec) < 2 {
return "", fmt.Errorf("no rollout history found for deployment %q", deployment.Name)
}
if toRevision > 0 {
@ -180,7 +180,7 @@ func simpleDryRun(deployment *extensions.Deployment, c clientset.Interface, toRe
}
sliceutil.SortInts64(revisions)
template, _ := revisionToSpec[revisions[len(revisions)-1]]
template, _ := revisionToSpec[revisions[len(revisions)-2]]
buf := bytes.NewBuffer([]byte{})
buf.WriteString("\n")
internalTemplate := &api.PodTemplateSpec{}