fix the output of dryrun when label the same value as original
This commit is contained in:
		@@ -252,18 +252,25 @@ func (o *LabelOptions) RunLabel() error {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		var outputObj runtime.Object
 | 
							var outputObj runtime.Object
 | 
				
			||||||
		dataChangeMsg := "not labeled"
 | 
							var dataChangeMsg string
 | 
				
			||||||
 | 
							obj := info.Object
 | 
				
			||||||
 | 
							oldData, err := json.Marshal(obj)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		if o.dryrun || o.local || o.list {
 | 
							if o.dryrun || o.local || o.list {
 | 
				
			||||||
			err = labelFunc(info.Object, o.overwrite, o.resourceVersion, o.newLabels, o.removeLabels)
 | 
								err = labelFunc(obj, o.overwrite, o.resourceVersion, o.newLabels, o.removeLabels)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				return err
 | 
									return err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			dataChangeMsg = "labeled"
 | 
								newObj, err := json.Marshal(obj)
 | 
				
			||||||
 | 
								if err != nil {
 | 
				
			||||||
 | 
									return err
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								dataChangeMsg = updateDataChangeMsg(oldData, newObj)
 | 
				
			||||||
			outputObj = info.Object
 | 
								outputObj = info.Object
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			obj := info.Object
 | 
					 | 
				
			||||||
			name, namespace := info.Name, info.Namespace
 | 
								name, namespace := info.Name, info.Namespace
 | 
				
			||||||
			oldData, err := json.Marshal(obj)
 | 
					 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				return err
 | 
									return err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -283,14 +290,12 @@ func (o *LabelOptions) RunLabel() error {
 | 
				
			|||||||
			if err := o.Recorder.Record(obj); err != nil {
 | 
								if err := o.Recorder.Record(obj); err != nil {
 | 
				
			||||||
				glog.V(4).Infof("error recording current command: %v", err)
 | 
									glog.V(4).Infof("error recording current command: %v", err)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			newData, err := json.Marshal(obj)
 | 
								newObj, err := json.Marshal(obj)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				return err
 | 
									return err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if !reflect.DeepEqual(oldData, newData) {
 | 
								dataChangeMsg = updateDataChangeMsg(oldData, newObj)
 | 
				
			||||||
				dataChangeMsg = "labeled"
 | 
								patchBytes, err := jsonpatch.CreateMergePatch(oldData, newObj)
 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			patchBytes, err := jsonpatch.CreateMergePatch(oldData, newData)
 | 
					 | 
				
			||||||
			createdPatch := err == nil
 | 
								createdPatch := err == nil
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				glog.V(2).Infof("couldn't compute patch: %v", err)
 | 
									glog.V(2).Infof("couldn't compute patch: %v", err)
 | 
				
			||||||
@@ -344,6 +349,14 @@ func (o *LabelOptions) RunLabel() error {
 | 
				
			|||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func updateDataChangeMsg(oldObj []byte, newObj []byte) string {
 | 
				
			||||||
 | 
						msg := "not labeled"
 | 
				
			||||||
 | 
						if !reflect.DeepEqual(oldObj, newObj) {
 | 
				
			||||||
 | 
							msg = "labeled"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return msg
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func validateNoOverwrites(accessor metav1.Object, labels map[string]string) error {
 | 
					func validateNoOverwrites(accessor metav1.Object, labels map[string]string) error {
 | 
				
			||||||
	allErrs := []error{}
 | 
						allErrs := []error{}
 | 
				
			||||||
	for key := range labels {
 | 
						for key := range labels {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user