Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
dc5866a7
Commit
dc5866a7
authored
Jun 01, 2018
by
Dr. Stefan Schimanski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
conversions: don't mutate in.ObjectMeta.Annotations
parent
1db0024e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
6 deletions
+30
-6
serialization_test.go
pkg/api/testing/serialization_test.go
+3
-0
conversion.go
pkg/apis/apps/v1/conversion.go
+14
-3
conversion.go
pkg/apis/apps/v1beta2/conversion.go
+13
-3
No files found.
pkg/api/testing/serialization_test.go
View file @
dc5866a7
...
...
@@ -299,6 +299,9 @@ func TestObjectWatchFraming(t *testing.T) {
f
:=
fuzzer
.
FuzzerFor
(
FuzzerFuncs
,
rand
.
NewSource
(
benchmarkSeed
),
legacyscheme
.
Codecs
)
secret
:=
&
api
.
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
[
"utf8"
]
=
[]
byte
(
"a string with
\u0345
characters"
)
secret
.
Data
[
"long"
]
=
bytes
.
Repeat
([]
byte
{
0x01
,
0x02
,
0x03
,
0x00
},
1000
)
...
...
pkg/apis/apps/v1/conversion.go
View file @
dc5866a7
...
...
@@ -182,6 +182,7 @@ func Convert_v1_Deployment_To_extensions_Deployment(in *appsv1.Deployment, out *
out
.
Spec
.
RollbackTo
=
new
(
extensions
.
RollbackConfig
)
out
.
Spec
.
RollbackTo
.
Revision
=
revision64
}
out
.
Annotations
=
deepCopyStringMap
(
out
.
Annotations
)
delete
(
out
.
Annotations
,
appsv1
.
DeprecatedRollbackTo
)
}
else
{
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
{
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
{
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
{
out
.
ObjectMeta
=
in
.
ObjectMeta
if
out
.
Annotations
==
nil
{
out
.
Annotations
=
make
(
map
[
string
]
string
)
}
out
.
Annotations
=
deepCopyStringMap
(
out
.
Annotations
)
// deep copy annotations because we change them below
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
{
return
err
...
...
@@ -287,6 +289,7 @@ func Convert_v1_DaemonSet_To_extensions_DaemonSet(in *appsv1.DaemonSet, out *ext
return
err
}
else
{
out
.
Spec
.
TemplateGeneration
=
value64
out
.
Annotations
=
deepCopyStringMap
(
out
.
Annotations
)
delete
(
out
.
Annotations
,
appsv1
.
DeprecatedTemplateGeneration
)
}
}
...
...
@@ -496,3 +499,11 @@ func Convert_apps_StatefulSetStatus_To_v1_StatefulSetStatus(in *apps.StatefulSet
}
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
}
pkg/apis/apps/v1beta2/conversion.go
View file @
dc5866a7
...
...
@@ -415,6 +415,7 @@ func Convert_v1beta2_Deployment_To_extensions_Deployment(in *appsv1beta2.Deploym
out
.
Spec
.
RollbackTo
=
new
(
extensions
.
RollbackConfig
)
out
.
Spec
.
RollbackTo
.
Revision
=
revision64
}
out
.
Annotations
=
deepCopyStringMap
(
out
.
Annotations
)
delete
(
out
.
Annotations
,
appsv1beta2
.
DeprecatedRollbackTo
)
}
else
{
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
{
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
{
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
{
out
.
ObjectMeta
=
in
.
ObjectMeta
if
out
.
Annotations
==
nil
{
out
.
Annotations
=
make
(
map
[
string
]
string
)
}
out
.
Annotations
=
deepCopyStringMap
(
out
.
Annotations
)
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
{
return
err
...
...
@@ -515,6 +516,7 @@ func Convert_v1beta2_DaemonSet_To_extensions_DaemonSet(in *appsv1beta2.DaemonSet
return
err
}
else
{
out
.
Spec
.
TemplateGeneration
=
value64
out
.
Annotations
=
deepCopyStringMap
(
out
.
Annotations
)
delete
(
out
.
Annotations
,
appsv1beta2
.
DeprecatedTemplateGeneration
)
}
}
...
...
@@ -552,3 +554,11 @@ func Convert_v1beta2_DaemonSetUpdateStrategy_To_extensions_DaemonSetUpdateStrate
}
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
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment