Keep the imagePullPolicy of kubectl alpha debug consistent with the default

This commit is contained in:
wawa0210 2020-09-19 11:46:41 +08:00
parent d19aec8bf1
commit 6709d4f938
No known key found for this signature in database
GPG Key ID: 900C83A2C098B3B1
12 changed files with 38 additions and 1 deletions

View File

@ -200,6 +200,7 @@ func SetObjectDefaults_DaemonSet(in *v1.DaemonSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
corev1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
corev1.SetDefaults_ContainerPort(b)
@ -414,6 +415,7 @@ func SetObjectDefaults_Deployment(in *v1.Deployment) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
corev1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
corev1.SetDefaults_ContainerPort(b)
@ -628,6 +630,7 @@ func SetObjectDefaults_ReplicaSet(in *v1.ReplicaSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
corev1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
corev1.SetDefaults_ContainerPort(b)
@ -842,6 +845,7 @@ func SetObjectDefaults_StatefulSet(in *v1.StatefulSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
corev1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
corev1.SetDefaults_ContainerPort(b)

View File

@ -196,6 +196,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -410,6 +411,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta1.StatefulSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)

View File

@ -200,6 +200,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta2.DaemonSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -414,6 +415,7 @@ func SetObjectDefaults_Deployment(in *v1beta2.Deployment) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -628,6 +630,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta2.ReplicaSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -842,6 +845,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta2.StatefulSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)

View File

@ -194,6 +194,7 @@ func SetObjectDefaults_Job(in *v1.Job) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
corev1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
corev1.SetDefaults_ContainerPort(b)

View File

@ -195,6 +195,7 @@ func SetObjectDefaults_CronJob(in *v1beta1.CronJob) {
}
for i := range in.Spec.JobTemplate.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.JobTemplate.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -408,6 +409,7 @@ func SetObjectDefaults_JobTemplate(in *v1beta1.JobTemplate) {
}
for i := range in.Template.Spec.Template.Spec.EphemeralContainers {
a := &in.Template.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)

View File

@ -195,6 +195,7 @@ func SetObjectDefaults_CronJob(in *v2alpha1.CronJob) {
}
for i := range in.Spec.JobTemplate.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.JobTemplate.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -408,6 +409,7 @@ func SetObjectDefaults_JobTemplate(in *v2alpha1.JobTemplate) {
}
for i := range in.Template.Spec.Template.Spec.EphemeralContainers {
a := &in.Template.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)

View File

@ -301,6 +301,11 @@ var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
ct.TerminationMessagePath = "/" + ct.TerminationMessagePath // Must be non-empty
ct.TerminationMessagePolicy = "File"
},
func(ep *core.EphemeralContainer, c fuzz.Continue) {
c.FuzzNoCustom(ep) // fuzz self without calling this function again
ep.EphemeralContainerCommon.TerminationMessagePath = "/" + ep.TerminationMessagePath // Must be non-empty
ep.EphemeralContainerCommon.TerminationMessagePolicy = "File"
},
func(p *core.Probe, c fuzz.Continue) {
c.FuzzNoCustom(p)
// These fields have default values.

View File

@ -96,6 +96,10 @@ func SetDefaults_Container(obj *v1.Container) {
}
}
func SetDefaults_EphemeralContainer(obj *v1.EphemeralContainer) {
SetDefaults_Container((*v1.Container)(&obj.EphemeralContainerCommon))
}
func SetDefaults_Service(obj *v1.Service) {
if obj.Spec.SessionAffinity == "" {
obj.Spec.SessionAffinity = v1.ServiceAffinityNone

View File

@ -80,6 +80,7 @@ func TestWorkloadDefaults(t *testing.T) {
".Spec.Containers[0].TerminationMessagePolicy": `"File"`,
".Spec.DNSPolicy": `"ClusterFirst"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Env[0].ValueFrom.FieldRef.APIVersion": `"v1"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.ImagePullPolicy": `"IfNotPresent"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Lifecycle.PostStart.HTTPGet.Path": `"/"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Lifecycle.PostStart.HTTPGet.Scheme": `"HTTP"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Lifecycle.PreStop.HTTPGet.Path": `"/"`,
@ -103,6 +104,8 @@ func TestWorkloadDefaults(t *testing.T) {
".Spec.EphemeralContainers[0].EphemeralContainerCommon.StartupProbe.PeriodSeconds": "10",
".Spec.EphemeralContainers[0].EphemeralContainerCommon.StartupProbe.SuccessThreshold": "1",
".Spec.EphemeralContainers[0].EphemeralContainerCommon.StartupProbe.TimeoutSeconds": "1",
".Spec.EphemeralContainers[0].EphemeralContainerCommon.TerminationMessagePath": `"/dev/termination-log"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.TerminationMessagePolicy": `"File"`,
".Spec.InitContainers[0].Env[0].ValueFrom.FieldRef.APIVersion": `"v1"`,
".Spec.InitContainers[0].ImagePullPolicy": `"IfNotPresent"`,
".Spec.InitContainers[0].Lifecycle.PostStart.HTTPGet.Path": `"/"`,
@ -203,6 +206,7 @@ func TestPodDefaults(t *testing.T) {
".Spec.DNSPolicy": `"ClusterFirst"`,
".Spec.EnableServiceLinks": `true`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Env[0].ValueFrom.FieldRef.APIVersion": `"v1"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.ImagePullPolicy": `"IfNotPresent"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Lifecycle.PostStart.HTTPGet.Path": `"/"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Lifecycle.PostStart.HTTPGet.Scheme": `"HTTP"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.Lifecycle.PreStop.HTTPGet.Path": `"/"`,
@ -226,6 +230,8 @@ func TestPodDefaults(t *testing.T) {
".Spec.EphemeralContainers[0].EphemeralContainerCommon.StartupProbe.PeriodSeconds": "10",
".Spec.EphemeralContainers[0].EphemeralContainerCommon.StartupProbe.SuccessThreshold": "1",
".Spec.EphemeralContainers[0].EphemeralContainerCommon.StartupProbe.TimeoutSeconds": "1",
".Spec.EphemeralContainers[0].EphemeralContainerCommon.TerminationMessagePath": `"/dev/termination-log"`,
".Spec.EphemeralContainers[0].EphemeralContainerCommon.TerminationMessagePolicy": `"File"`,
".Spec.InitContainers[0].Env[0].ValueFrom.FieldRef.APIVersion": `"v1"`,
".Spec.InitContainers[0].ImagePullPolicy": `"IfNotPresent"`,
".Spec.InitContainers[0].Lifecycle.PostStart.HTTPGet.Path": `"/"`,

View File

@ -88,6 +88,7 @@ func SetObjectDefaults_EndpointsList(in *v1.EndpointsList) {
func SetObjectDefaults_EphemeralContainers(in *v1.EphemeralContainers) {
for i := range in.EphemeralContainers {
a := &in.EphemeralContainers[i]
SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
SetDefaults_ContainerPort(b)
@ -379,6 +380,7 @@ func SetObjectDefaults_Pod(in *v1.Pod) {
}
for i := range in.Spec.EphemeralContainers {
a := &in.Spec.EphemeralContainers[i]
SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
SetDefaults_ContainerPort(b)
@ -592,6 +594,7 @@ func SetObjectDefaults_PodTemplate(in *v1.PodTemplate) {
}
for i := range in.Template.Spec.EphemeralContainers {
a := &in.Template.Spec.EphemeralContainers[i]
SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
SetDefaults_ContainerPort(b)
@ -807,6 +810,7 @@ func SetObjectDefaults_ReplicationController(in *v1.ReplicationController) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
SetDefaults_ContainerPort(b)

View File

@ -204,6 +204,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta1.DaemonSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -418,6 +419,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)
@ -673,6 +675,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta1.ReplicaSet) {
}
for i := range in.Spec.Template.Spec.EphemeralContainers {
a := &in.Spec.Template.Spec.EphemeralContainers[i]
v1.SetDefaults_EphemeralContainer(a)
for j := range a.EphemeralContainerCommon.Ports {
b := &a.EphemeralContainerCommon.Ports[j]
v1.SetDefaults_ContainerPort(b)

View File

@ -160,7 +160,7 @@ func addDebugFlags(cmd *cobra.Command, opt *DebugOptions) {
cmd.Flags().StringToString("env", nil, i18n.T("Environment variables to set in the container."))
cmd.Flags().StringVar(&opt.Image, "image", opt.Image, i18n.T("Container image to use for debug container."))
cmd.MarkFlagRequired("image")
cmd.Flags().String("image-pull-policy", string(corev1.PullIfNotPresent), i18n.T("The image pull policy for the container."))
cmd.Flags().String("image-pull-policy", "", i18n.T("The image pull policy for the container. If left empty, this value will not be specified by the client and defaulted by the server"))
cmd.Flags().BoolVarP(&opt.Interactive, "stdin", "i", opt.Interactive, i18n.T("Keep stdin open on the container(s) in the pod, even if nothing is attached."))
cmd.Flags().BoolVar(&opt.Quiet, "quiet", opt.Quiet, i18n.T("If true, suppress informational messages."))
cmd.Flags().BoolVar(&opt.SameNode, "same-node", opt.SameNode, i18n.T("When used with '--copy-to', schedule the copy of target Pod on the same node."))