Commit ba51b6b9 authored by k8s-merge-robot's avatar k8s-merge-robot Committed by GitHub

Merge pull request #29300 from janetkuo/kubectl-set-image-record-patch

Automatic merge from submit-queue Use patch when recording commands in kubectl set image 1. Use `Patch` to mitigate update conflict. See http://stackoverflow.com/questions/38476531/kubernetes-kubectl-set-image-deployment-not-able-to-record-history 2. Return warning instead of error when fail to record command @kubernetes/kubectl
parents e2fb251c 623a97c6
...@@ -212,9 +212,9 @@ func (o *ImageOptions) Run() error { ...@@ -212,9 +212,9 @@ func (o *ImageOptions) Run() error {
// record this change (for rollout history) // record this change (for rollout history)
if o.Record || cmdutil.ContainsChangeCause(info) { if o.Record || cmdutil.ContainsChangeCause(info) {
if err := cmdutil.RecordChangeCause(obj, o.ChangeCause); err == nil { if patch, err := cmdutil.ChangeResourcePatch(info, o.ChangeCause); err == nil {
if obj, err = resource.NewHelper(info.Client, info.Mapping).Replace(info.Namespace, info.Name, false, obj); err != nil { if obj, err = resource.NewHelper(info.Client, info.Mapping).Patch(info.Namespace, info.Name, api.StrategicMergePatchType, patch); err != nil {
allErrs = append(allErrs, fmt.Errorf("changes to %s/%s can't be recorded: %v\n", info.Mapping.Resource, info.Name, err)) fmt.Fprintf(o.Err, "WARNING: changes to %s/%s can't be recorded: %v\n", info.Mapping.Resource, info.Name, err)
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment