mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
conversions: don't mutate in.ObjectMeta.Annotations
This commit is contained in:
parent
1db0024ec9
commit
dc5866a781
@ -299,6 +299,9 @@ func TestObjectWatchFraming(t *testing.T) {
|
|||||||
f := fuzzer.FuzzerFor(FuzzerFuncs, rand.NewSource(benchmarkSeed), legacyscheme.Codecs)
|
f := fuzzer.FuzzerFor(FuzzerFuncs, rand.NewSource(benchmarkSeed), legacyscheme.Codecs)
|
||||||
secret := &api.Secret{}
|
secret := &api.Secret{}
|
||||||
f.Fuzz(secret)
|
f.Fuzz(secret)
|
||||||
|
if secret.Data == nil {
|
||||||
|
secret.Data = map[string][]byte{}
|
||||||
|
}
|
||||||
secret.Data["binary"] = []byte{0x00, 0x10, 0x30, 0x55, 0xff, 0x00}
|
secret.Data["binary"] = []byte{0x00, 0x10, 0x30, 0x55, 0xff, 0x00}
|
||||||
secret.Data["utf8"] = []byte("a string with \u0345 characters")
|
secret.Data["utf8"] = []byte("a string with \u0345 characters")
|
||||||
secret.Data["long"] = bytes.Repeat([]byte{0x01, 0x02, 0x03, 0x00}, 1000)
|
secret.Data["long"] = bytes.Repeat([]byte{0x01, 0x02, 0x03, 0x00}, 1000)
|
||||||
|
@ -182,6 +182,7 @@ func Convert_v1_Deployment_To_extensions_Deployment(in *appsv1.Deployment, out *
|
|||||||
out.Spec.RollbackTo = new(extensions.RollbackConfig)
|
out.Spec.RollbackTo = new(extensions.RollbackConfig)
|
||||||
out.Spec.RollbackTo.Revision = revision64
|
out.Spec.RollbackTo.Revision = revision64
|
||||||
}
|
}
|
||||||
|
out.Annotations = deepCopyStringMap(out.Annotations)
|
||||||
delete(out.Annotations, appsv1.DeprecatedRollbackTo)
|
delete(out.Annotations, appsv1.DeprecatedRollbackTo)
|
||||||
} else {
|
} else {
|
||||||
out.Spec.RollbackTo = nil
|
out.Spec.RollbackTo = nil
|
||||||
@ -195,6 +196,8 @@ func Convert_v1_Deployment_To_extensions_Deployment(in *appsv1.Deployment, out *
|
|||||||
|
|
||||||
func Convert_extensions_Deployment_To_v1_Deployment(in *extensions.Deployment, out *appsv1.Deployment, s conversion.Scope) error {
|
func Convert_extensions_Deployment_To_v1_Deployment(in *extensions.Deployment, out *appsv1.Deployment, s conversion.Scope) error {
|
||||||
out.ObjectMeta = in.ObjectMeta
|
out.ObjectMeta = in.ObjectMeta
|
||||||
|
out.Annotations = deepCopyStringMap(out.Annotations) // deep copy because we modify it below
|
||||||
|
|
||||||
if err := Convert_extensions_DeploymentSpec_To_v1_DeploymentSpec(&in.Spec, &out.Spec, s); err != nil {
|
if err := Convert_extensions_DeploymentSpec_To_v1_DeploymentSpec(&in.Spec, &out.Spec, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -235,9 +238,8 @@ func Convert_v1_RollingUpdateDaemonSet_To_extensions_RollingUpdateDaemonSet(in *
|
|||||||
|
|
||||||
func Convert_extensions_DaemonSet_To_v1_DaemonSet(in *extensions.DaemonSet, out *appsv1.DaemonSet, s conversion.Scope) error {
|
func Convert_extensions_DaemonSet_To_v1_DaemonSet(in *extensions.DaemonSet, out *appsv1.DaemonSet, s conversion.Scope) error {
|
||||||
out.ObjectMeta = in.ObjectMeta
|
out.ObjectMeta = in.ObjectMeta
|
||||||
if out.Annotations == nil {
|
out.Annotations = deepCopyStringMap(out.Annotations) // deep copy annotations because we change them below
|
||||||
out.Annotations = make(map[string]string)
|
|
||||||
}
|
|
||||||
out.Annotations[appsv1.DeprecatedTemplateGeneration] = strconv.FormatInt(in.Spec.TemplateGeneration, 10)
|
out.Annotations[appsv1.DeprecatedTemplateGeneration] = strconv.FormatInt(in.Spec.TemplateGeneration, 10)
|
||||||
if err := Convert_extensions_DaemonSetSpec_To_v1_DaemonSetSpec(&in.Spec, &out.Spec, s); err != nil {
|
if err := Convert_extensions_DaemonSetSpec_To_v1_DaemonSetSpec(&in.Spec, &out.Spec, s); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -287,6 +289,7 @@ func Convert_v1_DaemonSet_To_extensions_DaemonSet(in *appsv1.DaemonSet, out *ext
|
|||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
out.Spec.TemplateGeneration = value64
|
out.Spec.TemplateGeneration = value64
|
||||||
|
out.Annotations = deepCopyStringMap(out.Annotations)
|
||||||
delete(out.Annotations, appsv1.DeprecatedTemplateGeneration)
|
delete(out.Annotations, appsv1.DeprecatedTemplateGeneration)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -496,3 +499,11 @@ func Convert_apps_StatefulSetStatus_To_v1_StatefulSetStatus(in *apps.StatefulSet
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func deepCopyStringMap(m map[string]string) map[string]string {
|
||||||
|
ret := make(map[string]string, len(m))
|
||||||
|
for k, v := range m {
|
||||||
|
ret[k] = v
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
@ -415,6 +415,7 @@ func Convert_v1beta2_Deployment_To_extensions_Deployment(in *appsv1beta2.Deploym
|
|||||||
out.Spec.RollbackTo = new(extensions.RollbackConfig)
|
out.Spec.RollbackTo = new(extensions.RollbackConfig)
|
||||||
out.Spec.RollbackTo.Revision = revision64
|
out.Spec.RollbackTo.Revision = revision64
|
||||||
}
|
}
|
||||||
|
out.Annotations = deepCopyStringMap(out.Annotations)
|
||||||
delete(out.Annotations, appsv1beta2.DeprecatedRollbackTo)
|
delete(out.Annotations, appsv1beta2.DeprecatedRollbackTo)
|
||||||
} else {
|
} else {
|
||||||
out.Spec.RollbackTo = nil
|
out.Spec.RollbackTo = nil
|
||||||
@ -440,6 +441,8 @@ func Convert_v1beta2_ReplicaSetSpec_To_extensions_ReplicaSetSpec(in *appsv1beta2
|
|||||||
|
|
||||||
func Convert_extensions_Deployment_To_v1beta2_Deployment(in *extensions.Deployment, out *appsv1beta2.Deployment, s conversion.Scope) error {
|
func Convert_extensions_Deployment_To_v1beta2_Deployment(in *extensions.Deployment, out *appsv1beta2.Deployment, s conversion.Scope) error {
|
||||||
out.ObjectMeta = in.ObjectMeta
|
out.ObjectMeta = in.ObjectMeta
|
||||||
|
out.Annotations = deepCopyStringMap(out.Annotations) // deep copy because we modify annotations below
|
||||||
|
|
||||||
if err := Convert_extensions_DeploymentSpec_To_v1beta2_DeploymentSpec(&in.Spec, &out.Spec, s); err != nil {
|
if err := Convert_extensions_DeploymentSpec_To_v1beta2_DeploymentSpec(&in.Spec, &out.Spec, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -463,9 +466,7 @@ func Convert_extensions_Deployment_To_v1beta2_Deployment(in *extensions.Deployme
|
|||||||
|
|
||||||
func Convert_extensions_DaemonSet_To_v1beta2_DaemonSet(in *extensions.DaemonSet, out *appsv1beta2.DaemonSet, s conversion.Scope) error {
|
func Convert_extensions_DaemonSet_To_v1beta2_DaemonSet(in *extensions.DaemonSet, out *appsv1beta2.DaemonSet, s conversion.Scope) error {
|
||||||
out.ObjectMeta = in.ObjectMeta
|
out.ObjectMeta = in.ObjectMeta
|
||||||
if out.Annotations == nil {
|
out.Annotations = deepCopyStringMap(out.Annotations)
|
||||||
out.Annotations = make(map[string]string)
|
|
||||||
}
|
|
||||||
out.Annotations[appsv1beta2.DeprecatedTemplateGeneration] = strconv.FormatInt(in.Spec.TemplateGeneration, 10)
|
out.Annotations[appsv1beta2.DeprecatedTemplateGeneration] = strconv.FormatInt(in.Spec.TemplateGeneration, 10)
|
||||||
if err := Convert_extensions_DaemonSetSpec_To_v1beta2_DaemonSetSpec(&in.Spec, &out.Spec, s); err != nil {
|
if err := Convert_extensions_DaemonSetSpec_To_v1beta2_DaemonSetSpec(&in.Spec, &out.Spec, s); err != nil {
|
||||||
return err
|
return err
|
||||||
@ -515,6 +516,7 @@ func Convert_v1beta2_DaemonSet_To_extensions_DaemonSet(in *appsv1beta2.DaemonSet
|
|||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
out.Spec.TemplateGeneration = value64
|
out.Spec.TemplateGeneration = value64
|
||||||
|
out.Annotations = deepCopyStringMap(out.Annotations)
|
||||||
delete(out.Annotations, appsv1beta2.DeprecatedTemplateGeneration)
|
delete(out.Annotations, appsv1beta2.DeprecatedTemplateGeneration)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -552,3 +554,11 @@ func Convert_v1beta2_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrate
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func deepCopyStringMap(m map[string]string) map[string]string {
|
||||||
|
ret := make(map[string]string, len(m))
|
||||||
|
for k, v := range m {
|
||||||
|
ret[k] = v
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user