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
d544561a
Commit
d544561a
authored
Apr 26, 2017
by
Ricky Pai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
validate HostAliases are not present when using hostNetwork
parent
6ff5f06e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
0 deletions
+17
-0
validation.go
pkg/api/validation/validation.go
+11
-0
validation_test.go
pkg/api/validation/validation_test.go
+6
-0
No files found.
pkg/api/validation/validation.go
View file @
d544561a
...
@@ -1909,6 +1909,16 @@ func validateHostNetwork(hostNetwork bool, containers []api.Container, fldPath *
...
@@ -1909,6 +1909,16 @@ func validateHostNetwork(hostNetwork bool, containers []api.Container, fldPath *
return
allErrors
return
allErrors
}
}
func
validateHostNetworkNoHostAliases
(
hostNetwork
bool
,
hostAliases
[]
api
.
HostAlias
,
fldPath
*
field
.
Path
)
field
.
ErrorList
{
allErrors
:=
field
.
ErrorList
{}
if
hostNetwork
{
if
len
(
hostAliases
)
>
0
{
allErrors
=
append
(
allErrors
,
field
.
Forbidden
(
fldPath
,
"may not be set when `hostNetwork` is true"
))
}
}
return
allErrors
}
// validateImagePullSecrets checks to make sure the pull secrets are well
// validateImagePullSecrets checks to make sure the pull secrets are well
// formed. Right now, we only expect name to be set (it's the only field). If
// formed. Right now, we only expect name to be set (it's the only field). If
// this ever changes and someone decides to set those fields, we'd like to
// this ever changes and someone decides to set those fields, we'd like to
...
@@ -2401,6 +2411,7 @@ func ValidatePodSecurityContext(securityContext *api.PodSecurityContext, spec *a
...
@@ -2401,6 +2411,7 @@ func ValidatePodSecurityContext(securityContext *api.PodSecurityContext, spec *a
if
securityContext
!=
nil
{
if
securityContext
!=
nil
{
allErrs
=
append
(
allErrs
,
validateHostNetwork
(
securityContext
.
HostNetwork
,
spec
.
Containers
,
specPath
.
Child
(
"containers"
))
...
)
allErrs
=
append
(
allErrs
,
validateHostNetwork
(
securityContext
.
HostNetwork
,
spec
.
Containers
,
specPath
.
Child
(
"containers"
))
...
)
allErrs
=
append
(
allErrs
,
validateHostNetworkNoHostAliases
(
securityContext
.
HostNetwork
,
spec
.
HostAliases
,
specPath
)
...
)
if
securityContext
.
FSGroup
!=
nil
{
if
securityContext
.
FSGroup
!=
nil
{
for
_
,
msg
:=
range
validation
.
IsValidGroupId
(
*
securityContext
.
FSGroup
)
{
for
_
,
msg
:=
range
validation
.
IsValidGroupId
(
*
securityContext
.
FSGroup
)
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"fsGroup"
),
*
(
securityContext
.
FSGroup
),
msg
))
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"fsGroup"
),
*
(
securityContext
.
FSGroup
),
msg
))
...
...
pkg/api/validation/validation_test.go
View file @
d544561a
...
@@ -3262,6 +3262,12 @@ func TestValidatePodSpec(t *testing.T) {
...
@@ -3262,6 +3262,12 @@ func TestValidatePodSpec(t *testing.T) {
RestartPolicy
:
api
.
RestartPolicyAlways
,
RestartPolicy
:
api
.
RestartPolicyAlways
,
DNSPolicy
:
api
.
DNSClusterFirst
,
DNSPolicy
:
api
.
DNSClusterFirst
,
},
},
"with hostNetwork and hostAliases"
:
{
SecurityContext
:
&
api
.
PodSecurityContext
{
HostNetwork
:
true
,
},
HostAliases
:
[]
api
.
HostAlias
{{
IP
:
"12.34.56.78"
,
Hostnames
:
[]
string
{
"host1"
,
"host2"
}}},
},
"bad supplementalGroups large than math.MaxInt32"
:
{
"bad supplementalGroups large than math.MaxInt32"
:
{
Containers
:
[]
api
.
Container
{{
Name
:
"ctr"
,
Image
:
"image"
,
ImagePullPolicy
:
"IfNotPresent"
,
TerminationMessagePolicy
:
"File"
}},
Containers
:
[]
api
.
Container
{{
Name
:
"ctr"
,
Image
:
"image"
,
ImagePullPolicy
:
"IfNotPresent"
,
TerminationMessagePolicy
:
"File"
}},
SecurityContext
:
&
api
.
PodSecurityContext
{
SecurityContext
:
&
api
.
PodSecurityContext
{
...
...
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