mirror of https://github.com/k3s-io/k3s
Merge pull request #67929 from charrywanganthony/label_dryrun
fix the output of dryrun when label the same value as originalpull/58/head
commit
1886e09041
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue