From 5000e74664b58e278bfbfa28098dabc03fb7ae9b Mon Sep 17 00:00:00 2001 From: Buddha Prakash Date: Mon, 27 Jun 2016 11:46:20 -0700 Subject: [PATCH] Inject top level QoS cgroup creation in the Kubelet --- Makefile | 1 + cmd/kubelet/app/options/options.go | 1 + cmd/kubelet/app/server.go | 7 +- docs/devel/e2e-node-tests.md | 8 + hack/make-rules/test-e2e-node.sh | 6 +- hack/verify-flags/known-flags.txt | 1 + pkg/apis/componentconfig/types.generated.go | 1856 +++++++++-------- pkg/apis/componentconfig/types.go | 8 +- pkg/apis/componentconfig/v1alpha1/defaults.go | 3 + pkg/apis/componentconfig/v1alpha1/types.go | 4 + pkg/kubelet/cm/container_manager.go | 2 + pkg/kubelet/cm/container_manager_linux.go | 62 + pkg/kubelet/cm/types.go | 7 + pkg/kubelet/kubelet.go | 5 + test/e2e/framework/test_context.go | 3 + test/e2e_node/cgroup_manager_test.go | 77 + test/e2e_node/e2e_node_suite_test.go | 2 +- test/e2e_node/e2e_remote.go | 5 +- test/e2e_node/e2e_service.go | 16 +- test/e2e_node/jenkins/e2e-node-jenkins.sh | 2 +- test/e2e_node/jenkins/jenkins-ci.properties | 2 +- test/e2e_node/jenkins/jenkins-pull.properties | 1 + test/e2e_node/jenkins/template.properties | 2 + test/e2e_node/runner/run_e2e.go | 3 +- 24 files changed, 1166 insertions(+), 918 deletions(-) create mode 100644 test/e2e_node/cgroup_manager_test.go diff --git a/Makefile b/Makefile index 4aa693e01b2..cc119f63ead 100644 --- a/Makefile +++ b/Makefile @@ -164,6 +164,7 @@ test-e2e: ginkgo generated_files # Example: # make test-e2e-node FOCUS=kubelet SKIP=container # make test-e2e-node REMOTE=true DELETE_INSTANCES=true +# make test-e2e-node TEST_ARGS="--cgroups-per-qos=true" # Build and run tests. .PHONY: test-e2e-node test-e2e-node: ginkgo generated_files diff --git a/cmd/kubelet/app/options/options.go b/cmd/kubelet/app/options/options.go index 282ec81b48b..6d1bae429b7 100644 --- a/cmd/kubelet/app/options/options.go +++ b/cmd/kubelet/app/options/options.go @@ -133,6 +133,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) { fs.MarkDeprecated("system-container", "Use --system-cgroups instead. Will be removed in a future version.") fs.StringVar(&s.SystemCgroups, "system-cgroups", s.SystemCgroups, "Optional absolute name of cgroups in which to place all non-kernel processes that are not already inside a cgroup under `/`. Empty for no container. Rolling back the flag requires a reboot. (Default: \"\").") + fs.BoolVar(&s.CgroupsPerQOS, "cgroups-per-qos", s.CgroupsPerQOS, "Enable creation of QoS cgroup hierarchy, if true top level QoS and pod cgroups are created.") fs.StringVar(&s.CgroupRoot, "cgroup-root", s.CgroupRoot, "Optional root cgroup to use for pods. This is handled by the container runtime on a best effort basis. Default: '', which means use the container runtime default.") fs.StringVar(&s.ContainerRuntime, "container-runtime", s.ContainerRuntime, "The container runtime to use. Possible values: 'docker', 'rkt'. Default: 'docker'.") fs.DurationVar(&s.RuntimeRequestTimeout.Duration, "runtime-request-timeout", s.RuntimeRequestTimeout.Duration, "Timeout of all runtime requests except long running request - pull, logs, exec and attach. When timeout exceeded, kubelet will cancel the request, throw out an error and retry later. Default: 2m0s") diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index fd09ef02acc..2cfe30cd3c5 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -220,6 +220,7 @@ func UnsecuredKubeletConfig(s *options.KubeletServer) (*KubeletConfig, error) { EnableControllerAttachDetach: s.EnableControllerAttachDetach, EnableCustomMetrics: s.EnableCustomMetrics, EnableDebuggingHandlers: s.EnableDebuggingHandlers, + CgroupsPerQOS: s.CgroupsPerQOS, EnableServer: s.EnableServer, EventBurst: int(s.EventBurst), EventRecordQPS: float32(s.EventRecordQPS), @@ -363,12 +364,13 @@ func run(s *options.KubeletServer, kcfg *KubeletConfig) (err error) { if kcfg.SystemCgroups != "" && kcfg.CgroupRoot == "" { return fmt.Errorf("invalid configuration: system container was specified and cgroup root was not specified") } - kcfg.ContainerManager, err = cm.NewContainerManager(kcfg.Mounter, kcfg.CAdvisorInterface, cm.NodeConfig{ RuntimeCgroupsName: kcfg.RuntimeCgroups, SystemCgroupsName: kcfg.SystemCgroups, KubeletCgroupsName: kcfg.KubeletCgroups, ContainerRuntime: kcfg.ContainerRuntime, + CgroupsPerQOS: kcfg.CgroupsPerQOS, + CgroupRoot: kcfg.CgroupRoot, }) if err != nil { return err @@ -575,6 +577,7 @@ func SimpleKubelet(client *clientset.Clientset, EnableCustomMetrics: false, EnableDebuggingHandlers: true, EnableServer: true, + CgroupsPerQOS: false, FileCheckFrequency: fileCheckFrequency, // Since this kubelet runs with --configure-cbr0=false, it needs to use // hairpin-veth to allow hairpin packets. Note that this deviates from @@ -798,6 +801,7 @@ type KubeletConfig struct { EnableControllerAttachDetach bool EnableCustomMetrics bool EnableDebuggingHandlers bool + CgroupsPerQOS bool EnableServer bool EventClient *clientset.Clientset EventBurst int @@ -929,6 +933,7 @@ func CreateAndInitKubelet(kc *KubeletConfig) (k KubeletBootstrap, pc *config.Pod kc.NodeLabels, kc.NodeStatusUpdateFrequency, kc.OSInterface, + kc.CgroupsPerQOS, kc.CgroupRoot, kc.ContainerRuntime, kc.RuntimeRequestTimeout, diff --git a/docs/devel/e2e-node-tests.md b/docs/devel/e2e-node-tests.md index f4713855235..6ba390ed90e 100644 --- a/docs/devel/e2e-node-tests.md +++ b/docs/devel/e2e-node-tests.md @@ -205,6 +205,14 @@ less useful for catching flakes related creating the instance from an image.** make test-e2e-node REMOTE=true RUN_UNTIL_FAILURE=true ``` +## Additional QoS Cgroups Hierarchy level testing + +For testing with the QoS Cgroup Hierarchy enabled, you can pass --cgroups-per-qos flag as an argument into Ginkgo using TEST_ARGS + +```sh +make test_e2e_node TEST_ARGS="--cgroups-per-qos=true" +``` + # Notes on tests run by the Kubernetes project during pre-, post- submit. The node e2e tests are run by the PR builder for each Pull Request and the results published at diff --git a/hack/make-rules/test-e2e-node.sh b/hack/make-rules/test-e2e-node.sh index 147e1ce7186..fcf39672cc6 100755 --- a/hack/make-rules/test-e2e-node.sh +++ b/hack/make-rules/test-e2e-node.sh @@ -33,6 +33,7 @@ cleanup=${CLEANUP:-"true"} delete_instances=${DELETE_INSTANCES:-"false"} run_until_failure=${RUN_UNTIL_FAILURE:-"false"} list_images=${LIST_IMAGES:-"false"} +test_args=${TEST_ARGS:-""} if [[ $list_images == "true" ]]; then gcloud compute images list --project="${image_project}" | grep "e2e-node" @@ -117,7 +118,7 @@ if [ $remote = true ] ; then --hosts="$hosts" --images="$images" --cleanup="$cleanup" \ --results-dir="$artifacts" --ginkgo-flags="$ginkgoflags" \ --image-project="$image_project" --instance-name-prefix="$instance_prefix" --setup-node="true" \ - --delete-instances="$delete_instances" + --delete-instances="$delete_instances" --test_args="$test_args" exit $? else @@ -129,6 +130,7 @@ else # Test using the host the script was run on # Provided for backwards compatibility "${ginkgo}" --focus=$focus --skip=$skip "${KUBE_ROOT}/test/e2e_node/" --report-dir=${report} \ - -- --alsologtostderr --v 2 --node-name $(hostname) --disable-kubenet=true --build-services=true --start-services=true --stop-services=true + -- --alsologtostderr --v 2 --node-name $(hostname) --disable-kubenet=true --build-services=true \ + --start-services=true --stop-services=true "$test_args" exit $? fi diff --git a/hack/verify-flags/known-flags.txt b/hack/verify-flags/known-flags.txt index aaa532b55ef..e12edc2eaac 100644 --- a/hack/verify-flags/known-flags.txt +++ b/hack/verify-flags/known-flags.txt @@ -42,6 +42,7 @@ build-tag cadvisor-port cert-dir certificate-authority +cgroups-per-qos cgroup-root chaos-chance clean-start diff --git a/pkg/apis/componentconfig/types.generated.go b/pkg/apis/componentconfig/types.generated.go index 512b4a8a634..f98a515a711 100644 --- a/pkg/apis/componentconfig/types.generated.go +++ b/pkg/apis/componentconfig/types.generated.go @@ -1177,31 +1177,32 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [95]bool + var yyq2 [96]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[48] = x.CloudProvider != "" yyq2[49] = x.CloudConfigFile != "" yyq2[50] = x.KubeletCgroups != "" - yyq2[51] = x.RuntimeCgroups != "" - yyq2[52] = x.SystemCgroups != "" - yyq2[53] = x.CgroupRoot != "" - yyq2[55] = true - yyq2[56] = x.RktPath != "" - yyq2[57] = x.RktAPIEndpoint != "" - yyq2[58] = x.RktStage1Image != "" - yyq2[79] = true - yyq2[80] = x.NodeIP != "" - yyq2[84] = x.EvictionHard != "" - yyq2[85] = x.EvictionSoft != "" - yyq2[86] = x.EvictionSoftGracePeriod != "" - yyq2[87] = true - yyq2[88] = x.EvictionMaxPodGracePeriod != 0 - yyq2[93] = x.Kind != "" - yyq2[94] = x.APIVersion != "" + yyq2[51] = x.CgroupsPerQOS != false + yyq2[52] = x.RuntimeCgroups != "" + yyq2[53] = x.SystemCgroups != "" + yyq2[54] = x.CgroupRoot != "" + yyq2[56] = true + yyq2[57] = x.RktPath != "" + yyq2[58] = x.RktAPIEndpoint != "" + yyq2[59] = x.RktStage1Image != "" + yyq2[80] = true + yyq2[81] = x.NodeIP != "" + yyq2[85] = x.EvictionHard != "" + yyq2[86] = x.EvictionSoft != "" + yyq2[87] = x.EvictionSoftGracePeriod != "" + yyq2[88] = true + yyq2[89] = x.EvictionMaxPodGracePeriod != 0 + yyq2[94] = x.Kind != "" + yyq2[95] = x.APIVersion != "" var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(95) + r.EncodeArrayStart(96) } else { yynn2 = 76 for _, b := range yyq2 { @@ -2294,21 +2295,21 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym173 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RuntimeCgroups)) + r.EncodeBool(bool(x.CgroupsPerQOS)) } } else { - r.EncodeString(codecSelferC_UTF81234, "") + r.EncodeBool(false) } } else { if yyq2[51] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("runtimeCgroups")) + r.EncodeString(codecSelferC_UTF81234, string("CgroupsPerQOS")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym174 := z.EncBinary() _ = yym174 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RuntimeCgroups)) + r.EncodeBool(bool(x.CgroupsPerQOS)) } } } @@ -2319,7 +2320,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym176 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.SystemCgroups)) + r.EncodeString(codecSelferC_UTF81234, string(x.RuntimeCgroups)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -2327,13 +2328,13 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[52] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("systemCgroups")) + r.EncodeString(codecSelferC_UTF81234, string("runtimeCgroups")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym177 := z.EncBinary() _ = yym177 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.SystemCgroups)) + r.EncodeString(codecSelferC_UTF81234, string(x.RuntimeCgroups)) } } } @@ -2344,7 +2345,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym179 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.CgroupRoot)) + r.EncodeString(codecSelferC_UTF81234, string(x.SystemCgroups)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -2352,11 +2353,36 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[53] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("cgroupRoot")) + r.EncodeString(codecSelferC_UTF81234, string("systemCgroups")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym180 := z.EncBinary() _ = yym180 if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.SystemCgroups)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[54] { + yym182 := z.EncBinary() + _ = yym182 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.CgroupRoot)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[54] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("cgroupRoot")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym183 := z.EncBinary() + _ = yym183 + if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.CgroupRoot)) } @@ -2364,8 +2390,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym182 := z.EncBinary() - _ = yym182 + yym185 := z.EncBinary() + _ = yym185 if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntime)) @@ -2374,8 +2400,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("containerRuntime")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym183 := z.EncBinary() - _ = yym183 + yym186 := z.EncBinary() + _ = yym186 if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntime)) @@ -2383,59 +2409,34 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[55] { - yy185 := &x.RuntimeRequestTimeout - yym186 := z.EncBinary() - _ = yym186 + if yyq2[56] { + yy188 := &x.RuntimeRequestTimeout + yym189 := z.EncBinary() + _ = yym189 if false { - } else if z.HasExtensions() && z.EncExt(yy185) { - } else if !yym186 && z.IsJSONHandle() { - z.EncJSONMarshal(yy185) + } else if z.HasExtensions() && z.EncExt(yy188) { + } else if !yym189 && z.IsJSONHandle() { + z.EncJSONMarshal(yy188) } else { - z.EncFallback(yy185) + z.EncFallback(yy188) } } else { r.EncodeNil() } } else { - if yyq2[55] { + if yyq2[56] { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("runtimeRequestTimeout")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy187 := &x.RuntimeRequestTimeout - yym188 := z.EncBinary() - _ = yym188 - if false { - } else if z.HasExtensions() && z.EncExt(yy187) { - } else if !yym188 && z.IsJSONHandle() { - z.EncJSONMarshal(yy187) - } else { - z.EncFallback(yy187) - } - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[56] { - yym190 := z.EncBinary() - _ = yym190 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RktPath)) - } - } else { - r.EncodeString(codecSelferC_UTF81234, "") - } - } else { - if yyq2[56] { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("rktPath")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) + yy190 := &x.RuntimeRequestTimeout yym191 := z.EncBinary() _ = yym191 if false { + } else if z.HasExtensions() && z.EncExt(yy190) { + } else if !yym191 && z.IsJSONHandle() { + z.EncJSONMarshal(yy190) } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RktPath)) + z.EncFallback(yy190) } } } @@ -2446,7 +2447,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym193 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RktAPIEndpoint)) + r.EncodeString(codecSelferC_UTF81234, string(x.RktPath)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -2454,13 +2455,13 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[57] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("rktAPIEndpoint")) + r.EncodeString(codecSelferC_UTF81234, string("rktPath")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym194 := z.EncBinary() _ = yym194 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RktAPIEndpoint)) + r.EncodeString(codecSelferC_UTF81234, string(x.RktPath)) } } } @@ -2471,7 +2472,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym196 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RktStage1Image)) + r.EncodeString(codecSelferC_UTF81234, string(x.RktAPIEndpoint)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -2479,33 +2480,39 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[58] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("rktStage1Image")) + r.EncodeString(codecSelferC_UTF81234, string("rktAPIEndpoint")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym197 := z.EncBinary() _ = yym197 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RktStage1Image)) + r.EncodeString(codecSelferC_UTF81234, string(x.RktAPIEndpoint)) } } } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym199 := z.EncBinary() - _ = yym199 - if false { + if yyq2[59] { + yym199 := z.EncBinary() + _ = yym199 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.RktStage1Image)) + } } else { - r.EncodeString(codecSelferC_UTF81234, string(x.LockFilePath)) + r.EncodeString(codecSelferC_UTF81234, "") } } else { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("lockFilePath")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym200 := z.EncBinary() - _ = yym200 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.LockFilePath)) + if yyq2[59] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("rktStage1Image")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym200 := z.EncBinary() + _ = yym200 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.RktStage1Image)) + } } } if yyr2 || yy2arr2 { @@ -2514,17 +2521,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym202 if false { } else { - r.EncodeBool(bool(x.ExitOnLockContention)) + r.EncodeString(codecSelferC_UTF81234, string(x.LockFilePath)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("exitOnLockContention")) + r.EncodeString(codecSelferC_UTF81234, string("lockFilePath")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym203 := z.EncBinary() _ = yym203 if false { } else { - r.EncodeBool(bool(x.ExitOnLockContention)) + r.EncodeString(codecSelferC_UTF81234, string(x.LockFilePath)) } } if yyr2 || yy2arr2 { @@ -2533,17 +2540,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym205 if false { } else { - r.EncodeBool(bool(x.ConfigureCBR0)) + r.EncodeBool(bool(x.ExitOnLockContention)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("configureCbr0")) + r.EncodeString(codecSelferC_UTF81234, string("exitOnLockContention")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym206 := z.EncBinary() _ = yym206 if false { } else { - r.EncodeBool(bool(x.ConfigureCBR0)) + r.EncodeBool(bool(x.ExitOnLockContention)) } } if yyr2 || yy2arr2 { @@ -2552,17 +2559,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym208 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.HairpinMode)) + r.EncodeBool(bool(x.ConfigureCBR0)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("hairpinMode")) + r.EncodeString(codecSelferC_UTF81234, string("configureCbr0")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym209 := z.EncBinary() _ = yym209 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.HairpinMode)) + r.EncodeBool(bool(x.ConfigureCBR0)) } } if yyr2 || yy2arr2 { @@ -2571,17 +2578,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym211 if false { } else { - r.EncodeBool(bool(x.BabysitDaemons)) + r.EncodeString(codecSelferC_UTF81234, string(x.HairpinMode)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("babysitDaemons")) + r.EncodeString(codecSelferC_UTF81234, string("hairpinMode")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym212 := z.EncBinary() _ = yym212 if false { } else { - r.EncodeBool(bool(x.BabysitDaemons)) + r.EncodeString(codecSelferC_UTF81234, string(x.HairpinMode)) } } if yyr2 || yy2arr2 { @@ -2590,17 +2597,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym214 if false { } else { - r.EncodeInt(int64(x.MaxPods)) + r.EncodeBool(bool(x.BabysitDaemons)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("maxPods")) + r.EncodeString(codecSelferC_UTF81234, string("babysitDaemons")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym215 := z.EncBinary() _ = yym215 if false { } else { - r.EncodeInt(int64(x.MaxPods)) + r.EncodeBool(bool(x.BabysitDaemons)) } } if yyr2 || yy2arr2 { @@ -2609,17 +2616,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym217 if false { } else { - r.EncodeInt(int64(x.NvidiaGPUs)) + r.EncodeInt(int64(x.MaxPods)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("nvidiaGPUs")) + r.EncodeString(codecSelferC_UTF81234, string("maxPods")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym218 := z.EncBinary() _ = yym218 if false { } else { - r.EncodeInt(int64(x.NvidiaGPUs)) + r.EncodeInt(int64(x.MaxPods)) } } if yyr2 || yy2arr2 { @@ -2628,17 +2635,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym220 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.DockerExecHandlerName)) + r.EncodeInt(int64(x.NvidiaGPUs)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("dockerExecHandlerName")) + r.EncodeString(codecSelferC_UTF81234, string("nvidiaGPUs")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym221 := z.EncBinary() _ = yym221 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.DockerExecHandlerName)) + r.EncodeInt(int64(x.NvidiaGPUs)) } } if yyr2 || yy2arr2 { @@ -2647,17 +2654,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym223 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR)) + r.EncodeString(codecSelferC_UTF81234, string(x.DockerExecHandlerName)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("podCIDR")) + r.EncodeString(codecSelferC_UTF81234, string("dockerExecHandlerName")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym224 := z.EncBinary() _ = yym224 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR)) + r.EncodeString(codecSelferC_UTF81234, string(x.DockerExecHandlerName)) } } if yyr2 || yy2arr2 { @@ -2666,17 +2673,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym226 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ResolverConfig)) + r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("resolvConf")) + r.EncodeString(codecSelferC_UTF81234, string("podCIDR")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym227 := z.EncBinary() _ = yym227 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ResolverConfig)) + r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR)) } } if yyr2 || yy2arr2 { @@ -2685,17 +2692,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym229 if false { } else { - r.EncodeBool(bool(x.CPUCFSQuota)) + r.EncodeString(codecSelferC_UTF81234, string(x.ResolverConfig)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("cpuCFSQuota")) + r.EncodeString(codecSelferC_UTF81234, string("resolvConf")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym230 := z.EncBinary() _ = yym230 if false { } else { - r.EncodeBool(bool(x.CPUCFSQuota)) + r.EncodeString(codecSelferC_UTF81234, string(x.ResolverConfig)) } } if yyr2 || yy2arr2 { @@ -2704,17 +2711,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym232 if false { } else { - r.EncodeBool(bool(x.Containerized)) + r.EncodeBool(bool(x.CPUCFSQuota)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("containerized")) + r.EncodeString(codecSelferC_UTF81234, string("cpuCFSQuota")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym233 := z.EncBinary() _ = yym233 if false { } else { - r.EncodeBool(bool(x.Containerized)) + r.EncodeBool(bool(x.CPUCFSQuota)) } } if yyr2 || yy2arr2 { @@ -2723,17 +2730,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym235 if false { } else { - r.EncodeInt(int64(x.MaxOpenFiles)) + r.EncodeBool(bool(x.Containerized)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("maxOpenFiles")) + r.EncodeString(codecSelferC_UTF81234, string("containerized")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym236 := z.EncBinary() _ = yym236 if false { } else { - r.EncodeInt(int64(x.MaxOpenFiles)) + r.EncodeBool(bool(x.Containerized)) } } if yyr2 || yy2arr2 { @@ -2742,17 +2749,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym238 if false { } else { - r.EncodeBool(bool(x.ReconcileCIDR)) + r.EncodeInt(int64(x.MaxOpenFiles)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("reconcileCIDR")) + r.EncodeString(codecSelferC_UTF81234, string("maxOpenFiles")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym239 := z.EncBinary() _ = yym239 if false { } else { - r.EncodeBool(bool(x.ReconcileCIDR)) + r.EncodeInt(int64(x.MaxOpenFiles)) } } if yyr2 || yy2arr2 { @@ -2761,17 +2768,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym241 if false { } else { - r.EncodeBool(bool(x.RegisterSchedulable)) + r.EncodeBool(bool(x.ReconcileCIDR)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("registerSchedulable")) + r.EncodeString(codecSelferC_UTF81234, string("reconcileCIDR")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym242 := z.EncBinary() _ = yym242 if false { } else { - r.EncodeBool(bool(x.RegisterSchedulable)) + r.EncodeBool(bool(x.ReconcileCIDR)) } } if yyr2 || yy2arr2 { @@ -2780,17 +2787,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym244 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ContentType)) + r.EncodeBool(bool(x.RegisterSchedulable)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("contentType")) + r.EncodeString(codecSelferC_UTF81234, string("registerSchedulable")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym245 := z.EncBinary() _ = yym245 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ContentType)) + r.EncodeBool(bool(x.RegisterSchedulable)) } } if yyr2 || yy2arr2 { @@ -2799,17 +2806,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym247 if false { } else { - r.EncodeInt(int64(x.KubeAPIQPS)) + r.EncodeString(codecSelferC_UTF81234, string(x.ContentType)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("kubeAPIQPS")) + r.EncodeString(codecSelferC_UTF81234, string("contentType")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym248 := z.EncBinary() _ = yym248 if false { } else { - r.EncodeInt(int64(x.KubeAPIQPS)) + r.EncodeString(codecSelferC_UTF81234, string(x.ContentType)) } } if yyr2 || yy2arr2 { @@ -2818,17 +2825,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym250 if false { } else { - r.EncodeInt(int64(x.KubeAPIBurst)) + r.EncodeInt(int64(x.KubeAPIQPS)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("kubeAPIBurst")) + r.EncodeString(codecSelferC_UTF81234, string("kubeAPIQPS")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym251 := z.EncBinary() _ = yym251 if false { } else { - r.EncodeInt(int64(x.KubeAPIBurst)) + r.EncodeInt(int64(x.KubeAPIQPS)) } } if yyr2 || yy2arr2 { @@ -2837,17 +2844,17 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym253 if false { } else { - r.EncodeBool(bool(x.SerializeImagePulls)) + r.EncodeInt(int64(x.KubeAPIBurst)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("serializeImagePulls")) + r.EncodeString(codecSelferC_UTF81234, string("kubeAPIBurst")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym254 := z.EncBinary() _ = yym254 if false { } else { - r.EncodeBool(bool(x.SerializeImagePulls)) + r.EncodeInt(int64(x.KubeAPIBurst)) } } if yyr2 || yy2arr2 { @@ -2855,6 +2862,25 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { yym256 := z.EncBinary() _ = yym256 if false { + } else { + r.EncodeBool(bool(x.SerializeImagePulls)) + } + } else { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("serializeImagePulls")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym257 := z.EncBinary() + _ = yym257 + if false { + } else { + r.EncodeBool(bool(x.SerializeImagePulls)) + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yym259 := z.EncBinary() + _ = yym259 + if false { } else { r.EncodeBool(bool(x.ExperimentalFlannelOverlay)) } @@ -2862,8 +2888,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("experimentalFlannelOverlay")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym257 := z.EncBinary() - _ = yym257 + yym260 := z.EncBinary() + _ = yym260 if false { } else { r.EncodeBool(bool(x.ExperimentalFlannelOverlay)) @@ -2871,42 +2897,42 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[79] { - yy259 := &x.OutOfDiskTransitionFrequency - yym260 := z.EncBinary() - _ = yym260 + if yyq2[80] { + yy262 := &x.OutOfDiskTransitionFrequency + yym263 := z.EncBinary() + _ = yym263 if false { - } else if z.HasExtensions() && z.EncExt(yy259) { - } else if !yym260 && z.IsJSONHandle() { - z.EncJSONMarshal(yy259) + } else if z.HasExtensions() && z.EncExt(yy262) { + } else if !yym263 && z.IsJSONHandle() { + z.EncJSONMarshal(yy262) } else { - z.EncFallback(yy259) + z.EncFallback(yy262) } } else { r.EncodeNil() } } else { - if yyq2[79] { + if yyq2[80] { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("outOfDiskTransitionFrequency")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy261 := &x.OutOfDiskTransitionFrequency - yym262 := z.EncBinary() - _ = yym262 + yy264 := &x.OutOfDiskTransitionFrequency + yym265 := z.EncBinary() + _ = yym265 if false { - } else if z.HasExtensions() && z.EncExt(yy261) { - } else if !yym262 && z.IsJSONHandle() { - z.EncJSONMarshal(yy261) + } else if z.HasExtensions() && z.EncExt(yy264) { + } else if !yym265 && z.IsJSONHandle() { + z.EncJSONMarshal(yy264) } else { - z.EncFallback(yy261) + z.EncFallback(yy264) } } } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[80] { - yym264 := z.EncBinary() - _ = yym264 + if yyq2[81] { + yym267 := z.EncBinary() + _ = yym267 if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.NodeIP)) @@ -2915,12 +2941,12 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { r.EncodeString(codecSelferC_UTF81234, "") } } else { - if yyq2[80] { + if yyq2[81] { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("nodeIP")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym265 := z.EncBinary() - _ = yym265 + yym268 := z.EncBinary() + _ = yym268 if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.NodeIP)) @@ -2932,8 +2958,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { if x.NodeLabels == nil { r.EncodeNil() } else { - yym267 := z.EncBinary() - _ = yym267 + yym270 := z.EncBinary() + _ = yym270 if false { } else { z.F.EncMapStringStringV(x.NodeLabels, false, e) @@ -2946,8 +2972,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { if x.NodeLabels == nil { r.EncodeNil() } else { - yym268 := z.EncBinary() - _ = yym268 + yym271 := z.EncBinary() + _ = yym271 if false { } else { z.F.EncMapStringStringV(x.NodeLabels, false, e) @@ -2956,8 +2982,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym270 := z.EncBinary() - _ = yym270 + yym273 := z.EncBinary() + _ = yym273 if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.NonMasqueradeCIDR)) @@ -2966,8 +2992,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("nonMasqueradeCIDR")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym271 := z.EncBinary() - _ = yym271 + yym274 := z.EncBinary() + _ = yym274 if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.NonMasqueradeCIDR)) @@ -2975,8 +3001,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym273 := z.EncBinary() - _ = yym273 + yym276 := z.EncBinary() + _ = yym276 if false { } else { r.EncodeBool(bool(x.EnableCustomMetrics)) @@ -2985,38 +3011,13 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("enableCustomMetrics")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym274 := z.EncBinary() - _ = yym274 + yym277 := z.EncBinary() + _ = yym277 if false { } else { r.EncodeBool(bool(x.EnableCustomMetrics)) } } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[84] { - yym276 := z.EncBinary() - _ = yym276 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.EvictionHard)) - } - } else { - r.EncodeString(codecSelferC_UTF81234, "") - } - } else { - if yyq2[84] { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("evictionHard")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym277 := z.EncBinary() - _ = yym277 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.EvictionHard)) - } - } - } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) if yyq2[85] { @@ -3024,7 +3025,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym279 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoft)) + r.EncodeString(codecSelferC_UTF81234, string(x.EvictionHard)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -3032,13 +3033,13 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[85] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("evictionSoft")) + r.EncodeString(codecSelferC_UTF81234, string("evictionHard")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym280 := z.EncBinary() _ = yym280 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoft)) + r.EncodeString(codecSelferC_UTF81234, string(x.EvictionHard)) } } } @@ -3049,7 +3050,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym282 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoftGracePeriod)) + r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoft)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -3057,11 +3058,36 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[86] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("evictionSoftGracePeriod")) + r.EncodeString(codecSelferC_UTF81234, string("evictionSoft")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym283 := z.EncBinary() _ = yym283 if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoft)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[87] { + yym285 := z.EncBinary() + _ = yym285 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoftGracePeriod)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[87] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("evictionSoftGracePeriod")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym286 := z.EncBinary() + _ = yym286 + if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.EvictionSoftGracePeriod)) } @@ -3069,42 +3095,42 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[87] { - yy285 := &x.EvictionPressureTransitionPeriod - yym286 := z.EncBinary() - _ = yym286 + if yyq2[88] { + yy288 := &x.EvictionPressureTransitionPeriod + yym289 := z.EncBinary() + _ = yym289 if false { - } else if z.HasExtensions() && z.EncExt(yy285) { - } else if !yym286 && z.IsJSONHandle() { - z.EncJSONMarshal(yy285) + } else if z.HasExtensions() && z.EncExt(yy288) { + } else if !yym289 && z.IsJSONHandle() { + z.EncJSONMarshal(yy288) } else { - z.EncFallback(yy285) + z.EncFallback(yy288) } } else { r.EncodeNil() } } else { - if yyq2[87] { + if yyq2[88] { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("evictionPressureTransitionPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy287 := &x.EvictionPressureTransitionPeriod - yym288 := z.EncBinary() - _ = yym288 + yy290 := &x.EvictionPressureTransitionPeriod + yym291 := z.EncBinary() + _ = yym291 if false { - } else if z.HasExtensions() && z.EncExt(yy287) { - } else if !yym288 && z.IsJSONHandle() { - z.EncJSONMarshal(yy287) + } else if z.HasExtensions() && z.EncExt(yy290) { + } else if !yym291 && z.IsJSONHandle() { + z.EncJSONMarshal(yy290) } else { - z.EncFallback(yy287) + z.EncFallback(yy290) } } } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[88] { - yym290 := z.EncBinary() - _ = yym290 + if yyq2[89] { + yym293 := z.EncBinary() + _ = yym293 if false { } else { r.EncodeInt(int64(x.EvictionMaxPodGracePeriod)) @@ -3113,12 +3139,12 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { r.EncodeInt(0) } } else { - if yyq2[88] { + if yyq2[89] { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("evictionMaxPodGracePeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym291 := z.EncBinary() - _ = yym291 + yym294 := z.EncBinary() + _ = yym294 if false { } else { r.EncodeInt(int64(x.EvictionMaxPodGracePeriod)) @@ -3127,8 +3153,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym293 := z.EncBinary() - _ = yym293 + yym296 := z.EncBinary() + _ = yym296 if false { } else { r.EncodeInt(int64(x.PodsPerCore)) @@ -3137,8 +3163,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("podsPerCore")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym294 := z.EncBinary() - _ = yym294 + yym297 := z.EncBinary() + _ = yym297 if false { } else { r.EncodeInt(int64(x.PodsPerCore)) @@ -3146,8 +3172,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym296 := z.EncBinary() - _ = yym296 + yym299 := z.EncBinary() + _ = yym299 if false { } else { r.EncodeBool(bool(x.EnableControllerAttachDetach)) @@ -3156,8 +3182,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("enableControllerAttachDetach")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym297 := z.EncBinary() - _ = yym297 + yym300 := z.EncBinary() + _ = yym300 if false { } else { r.EncodeBool(bool(x.EnableControllerAttachDetach)) @@ -3168,8 +3194,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { if x.SystemReserved == nil { r.EncodeNil() } else { - yym299 := z.EncBinary() - _ = yym299 + yym302 := z.EncBinary() + _ = yym302 if false { } else if z.HasExtensions() && z.EncExt(x.SystemReserved) { } else { @@ -3183,8 +3209,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { if x.SystemReserved == nil { r.EncodeNil() } else { - yym300 := z.EncBinary() - _ = yym300 + yym303 := z.EncBinary() + _ = yym303 if false { } else if z.HasExtensions() && z.EncExt(x.SystemReserved) { } else { @@ -3197,8 +3223,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { if x.KubeReserved == nil { r.EncodeNil() } else { - yym302 := z.EncBinary() - _ = yym302 + yym305 := z.EncBinary() + _ = yym305 if false { } else if z.HasExtensions() && z.EncExt(x.KubeReserved) { } else { @@ -3212,8 +3238,8 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { if x.KubeReserved == nil { r.EncodeNil() } else { - yym303 := z.EncBinary() - _ = yym303 + yym306 := z.EncBinary() + _ = yym306 if false { } else if z.HasExtensions() && z.EncExt(x.KubeReserved) { } else { @@ -3221,31 +3247,6 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } } } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[93] { - yym305 := z.EncBinary() - _ = yym305 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) - } - } else { - r.EncodeString(codecSelferC_UTF81234, "") - } - } else { - if yyq2[93] { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("kind")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym306 := z.EncBinary() - _ = yym306 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) - } - } - } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) if yyq2[94] { @@ -3253,7 +3254,7 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym308 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion)) + r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -3261,11 +3262,36 @@ func (x *KubeletConfiguration) CodecEncodeSelf(e *codec1978.Encoder) { } else { if yyq2[94] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("apiVersion")) + r.EncodeString(codecSelferC_UTF81234, string("kind")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym309 := z.EncBinary() _ = yym309 if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[95] { + yym311 := z.EncBinary() + _ = yym311 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[95] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("apiVersion")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym312 := z.EncBinary() + _ = yym312 + if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion)) } @@ -3728,6 +3754,12 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode } else { x.KubeletCgroups = string(r.DecodeString()) } + case "CgroupsPerQOS": + if r.TryDecodeAsNil() { + x.CgroupsPerQOS = false + } else { + x.CgroupsPerQOS = bool(r.DecodeBool()) + } case "runtimeCgroups": if r.TryDecodeAsNil() { x.RuntimeCgroups = "" @@ -3756,15 +3788,15 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.RuntimeRequestTimeout = pkg1_unversioned.Duration{} } else { - yyv70 := &x.RuntimeRequestTimeout - yym71 := z.DecBinary() - _ = yym71 + yyv71 := &x.RuntimeRequestTimeout + yym72 := z.DecBinary() + _ = yym72 if false { - } else if z.HasExtensions() && z.DecExt(yyv70) { - } else if !yym71 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv70) + } else if z.HasExtensions() && z.DecExt(yyv71) { + } else if !yym72 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv71) } else { - z.DecFallback(yyv70, false) + z.DecFallback(yyv71, false) } } case "rktPath": @@ -3909,15 +3941,15 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.OutOfDiskTransitionFrequency = pkg1_unversioned.Duration{} } else { - yyv95 := &x.OutOfDiskTransitionFrequency - yym96 := z.DecBinary() - _ = yym96 + yyv96 := &x.OutOfDiskTransitionFrequency + yym97 := z.DecBinary() + _ = yym97 if false { - } else if z.HasExtensions() && z.DecExt(yyv95) { - } else if !yym96 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv95) + } else if z.HasExtensions() && z.DecExt(yyv96) { + } else if !yym97 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv96) } else { - z.DecFallback(yyv95, false) + z.DecFallback(yyv96, false) } } case "nodeIP": @@ -3930,12 +3962,12 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.NodeLabels = nil } else { - yyv98 := &x.NodeLabels - yym99 := z.DecBinary() - _ = yym99 + yyv99 := &x.NodeLabels + yym100 := z.DecBinary() + _ = yym100 if false { } else { - z.F.DecMapStringStringX(yyv98, false, d) + z.F.DecMapStringStringX(yyv99, false, d) } } case "nonMasqueradeCIDR": @@ -3972,15 +4004,15 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.EvictionPressureTransitionPeriod = pkg1_unversioned.Duration{} } else { - yyv105 := &x.EvictionPressureTransitionPeriod - yym106 := z.DecBinary() - _ = yym106 + yyv106 := &x.EvictionPressureTransitionPeriod + yym107 := z.DecBinary() + _ = yym107 if false { - } else if z.HasExtensions() && z.DecExt(yyv105) { - } else if !yym106 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv105) + } else if z.HasExtensions() && z.DecExt(yyv106) { + } else if !yym107 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv106) } else { - z.DecFallback(yyv105, false) + z.DecFallback(yyv106, false) } } case "evictionMaxPodGracePeriod": @@ -4005,26 +4037,26 @@ func (x *KubeletConfiguration) codecDecodeSelfFromMap(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.SystemReserved = nil } else { - yyv110 := &x.SystemReserved - yym111 := z.DecBinary() - _ = yym111 + yyv111 := &x.SystemReserved + yym112 := z.DecBinary() + _ = yym112 if false { - } else if z.HasExtensions() && z.DecExt(yyv110) { + } else if z.HasExtensions() && z.DecExt(yyv111) { } else { - h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv110), d) + h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv111), d) } } case "kubeReserved": if r.TryDecodeAsNil() { x.KubeReserved = nil } else { - yyv112 := &x.KubeReserved - yym113 := z.DecBinary() - _ = yym113 + yyv113 := &x.KubeReserved + yym114 := z.DecBinary() + _ = yym114 if false { - } else if z.HasExtensions() && z.DecExt(yyv112) { + } else if z.HasExtensions() && z.DecExt(yyv113) { } else { - h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv112), d) + h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv113), d) } } case "kind": @@ -4050,16 +4082,16 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj116 int - var yyb116 bool - var yyhl116 bool = l >= 0 - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + var yyj117 int + var yyb117 bool + var yyhl117 bool = l >= 0 + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4069,13 +4101,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.Config = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4083,24 +4115,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.SyncFrequency = pkg1_unversioned.Duration{} } else { - yyv118 := &x.SyncFrequency - yym119 := z.DecBinary() - _ = yym119 + yyv119 := &x.SyncFrequency + yym120 := z.DecBinary() + _ = yym120 if false { - } else if z.HasExtensions() && z.DecExt(yyv118) { - } else if !yym119 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv118) + } else if z.HasExtensions() && z.DecExt(yyv119) { + } else if !yym120 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv119) } else { - z.DecFallback(yyv118, false) + z.DecFallback(yyv119, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4108,24 +4140,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.FileCheckFrequency = pkg1_unversioned.Duration{} } else { - yyv120 := &x.FileCheckFrequency - yym121 := z.DecBinary() - _ = yym121 + yyv121 := &x.FileCheckFrequency + yym122 := z.DecBinary() + _ = yym122 if false { - } else if z.HasExtensions() && z.DecExt(yyv120) { - } else if !yym121 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv120) + } else if z.HasExtensions() && z.DecExt(yyv121) { + } else if !yym122 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv121) } else { - z.DecFallback(yyv120, false) + z.DecFallback(yyv121, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4133,24 +4165,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.HTTPCheckFrequency = pkg1_unversioned.Duration{} } else { - yyv122 := &x.HTTPCheckFrequency - yym123 := z.DecBinary() - _ = yym123 + yyv123 := &x.HTTPCheckFrequency + yym124 := z.DecBinary() + _ = yym124 if false { - } else if z.HasExtensions() && z.DecExt(yyv122) { - } else if !yym123 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv122) + } else if z.HasExtensions() && z.DecExt(yyv123) { + } else if !yym124 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv123) } else { - z.DecFallback(yyv122, false) + z.DecFallback(yyv123, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4160,13 +4192,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ManifestURL = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4176,13 +4208,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ManifestURLHeader = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4192,13 +4224,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EnableServer = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4208,13 +4240,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.Address = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4224,13 +4256,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.Port = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4240,13 +4272,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ReadOnlyPort = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4256,13 +4288,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.TLSCertFile = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4272,13 +4304,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.TLSPrivateKeyFile = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4288,13 +4320,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.CertDirectory = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4304,13 +4336,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.HostnameOverride = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4320,13 +4352,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.PodInfraContainerImage = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4336,13 +4368,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.DockerEndpoint = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4352,13 +4384,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RootDirectory = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4368,13 +4400,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.SeccompProfileRoot = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4384,13 +4416,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.AllowPrivileged = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4398,21 +4430,21 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.HostNetworkSources = nil } else { - yyv139 := &x.HostNetworkSources - yym140 := z.DecBinary() - _ = yym140 + yyv140 := &x.HostNetworkSources + yym141 := z.DecBinary() + _ = yym141 if false { } else { - z.F.DecSliceStringX(yyv139, false, d) + z.F.DecSliceStringX(yyv140, false, d) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4420,21 +4452,21 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.HostPIDSources = nil } else { - yyv141 := &x.HostPIDSources - yym142 := z.DecBinary() - _ = yym142 + yyv142 := &x.HostPIDSources + yym143 := z.DecBinary() + _ = yym143 if false { } else { - z.F.DecSliceStringX(yyv141, false, d) + z.F.DecSliceStringX(yyv142, false, d) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4442,21 +4474,21 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.HostIPCSources = nil } else { - yyv143 := &x.HostIPCSources - yym144 := z.DecBinary() - _ = yym144 + yyv144 := &x.HostIPCSources + yym145 := z.DecBinary() + _ = yym145 if false { } else { - z.F.DecSliceStringX(yyv143, false, d) + z.F.DecSliceStringX(yyv144, false, d) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4466,13 +4498,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RegistryPullQPS = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4482,13 +4514,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RegistryBurst = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4498,13 +4530,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EventRecordQPS = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4514,13 +4546,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EventBurst = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4530,13 +4562,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EnableDebuggingHandlers = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4544,24 +4576,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.MinimumGCAge = pkg1_unversioned.Duration{} } else { - yyv150 := &x.MinimumGCAge - yym151 := z.DecBinary() - _ = yym151 + yyv151 := &x.MinimumGCAge + yym152 := z.DecBinary() + _ = yym152 if false { - } else if z.HasExtensions() && z.DecExt(yyv150) { - } else if !yym151 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv150) + } else if z.HasExtensions() && z.DecExt(yyv151) { + } else if !yym152 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv151) } else { - z.DecFallback(yyv150, false) + z.DecFallback(yyv151, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4571,13 +4603,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.MaxPerPodContainerCount = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4587,13 +4619,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.MaxContainerCount = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4603,13 +4635,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.CAdvisorPort = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4619,13 +4651,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.HealthzPort = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4635,13 +4667,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.HealthzBindAddress = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4651,13 +4683,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.OOMScoreAdj = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4667,13 +4699,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RegisterNode = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4683,13 +4715,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ClusterDomain = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4699,13 +4731,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.MasterServiceNamespace = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4715,13 +4747,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ClusterDNS = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4729,24 +4761,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.StreamingConnectionIdleTimeout = pkg1_unversioned.Duration{} } else { - yyv162 := &x.StreamingConnectionIdleTimeout - yym163 := z.DecBinary() - _ = yym163 + yyv163 := &x.StreamingConnectionIdleTimeout + yym164 := z.DecBinary() + _ = yym164 if false { - } else if z.HasExtensions() && z.DecExt(yyv162) { - } else if !yym163 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv162) + } else if z.HasExtensions() && z.DecExt(yyv163) { + } else if !yym164 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv163) } else { - z.DecFallback(yyv162, false) + z.DecFallback(yyv163, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4754,24 +4786,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.NodeStatusUpdateFrequency = pkg1_unversioned.Duration{} } else { - yyv164 := &x.NodeStatusUpdateFrequency - yym165 := z.DecBinary() - _ = yym165 + yyv165 := &x.NodeStatusUpdateFrequency + yym166 := z.DecBinary() + _ = yym166 if false { - } else if z.HasExtensions() && z.DecExt(yyv164) { - } else if !yym165 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv164) + } else if z.HasExtensions() && z.DecExt(yyv165) { + } else if !yym166 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv165) } else { - z.DecFallback(yyv164, false) + z.DecFallback(yyv165, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4779,24 +4811,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.ImageMinimumGCAge = pkg1_unversioned.Duration{} } else { - yyv166 := &x.ImageMinimumGCAge - yym167 := z.DecBinary() - _ = yym167 + yyv167 := &x.ImageMinimumGCAge + yym168 := z.DecBinary() + _ = yym168 if false { - } else if z.HasExtensions() && z.DecExt(yyv166) { - } else if !yym167 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv166) + } else if z.HasExtensions() && z.DecExt(yyv167) { + } else if !yym168 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv167) } else { - z.DecFallback(yyv166, false) + z.DecFallback(yyv167, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4806,13 +4838,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ImageGCHighThresholdPercent = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4822,13 +4854,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ImageGCLowThresholdPercent = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4838,13 +4870,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.LowDiskSpaceThresholdMB = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4852,24 +4884,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.VolumeStatsAggPeriod = pkg1_unversioned.Duration{} } else { - yyv171 := &x.VolumeStatsAggPeriod - yym172 := z.DecBinary() - _ = yym172 + yyv172 := &x.VolumeStatsAggPeriod + yym173 := z.DecBinary() + _ = yym173 if false { - } else if z.HasExtensions() && z.DecExt(yyv171) { - } else if !yym172 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv171) + } else if z.HasExtensions() && z.DecExt(yyv172) { + } else if !yym173 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv172) } else { - z.DecFallback(yyv171, false) + z.DecFallback(yyv172, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4879,13 +4911,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.NetworkPluginName = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4895,13 +4927,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.NetworkPluginDir = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4911,13 +4943,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.VolumePluginDir = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4927,13 +4959,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.CloudProvider = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4943,13 +4975,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.CloudConfigFile = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4959,13 +4991,29 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.KubeletCgroups = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.CgroupsPerQOS = false + } else { + x.CgroupsPerQOS = bool(r.DecodeBool()) + } + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l + } else { + yyb117 = r.CheckBreak() + } + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4975,13 +5023,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RuntimeCgroups = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4991,13 +5039,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.SystemCgroups = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5007,13 +5055,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.CgroupRoot = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5023,13 +5071,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ContainerRuntime = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5037,24 +5085,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.RuntimeRequestTimeout = pkg1_unversioned.Duration{} } else { - yyv183 := &x.RuntimeRequestTimeout - yym184 := z.DecBinary() - _ = yym184 + yyv185 := &x.RuntimeRequestTimeout + yym186 := z.DecBinary() + _ = yym186 if false { - } else if z.HasExtensions() && z.DecExt(yyv183) { - } else if !yym184 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv183) + } else if z.HasExtensions() && z.DecExt(yyv185) { + } else if !yym186 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv185) } else { - z.DecFallback(yyv183, false) + z.DecFallback(yyv185, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5064,13 +5112,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RktPath = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5080,13 +5128,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RktAPIEndpoint = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5096,13 +5144,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RktStage1Image = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5112,13 +5160,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.LockFilePath = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5128,13 +5176,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ExitOnLockContention = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5144,13 +5192,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ConfigureCBR0 = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5160,13 +5208,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.HairpinMode = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5176,13 +5224,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.BabysitDaemons = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5192,13 +5240,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.MaxPods = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5208,13 +5256,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.NvidiaGPUs = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5224,13 +5272,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.DockerExecHandlerName = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5240,13 +5288,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.PodCIDR = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5256,13 +5304,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ResolverConfig = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5272,13 +5320,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.CPUCFSQuota = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5288,13 +5336,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.Containerized = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5304,13 +5352,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.MaxOpenFiles = int64(r.DecodeInt(64)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5320,13 +5368,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ReconcileCIDR = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5336,13 +5384,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.RegisterSchedulable = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5352,13 +5400,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ContentType = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5368,13 +5416,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.KubeAPIQPS = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5384,13 +5432,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.KubeAPIBurst = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5400,13 +5448,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.SerializeImagePulls = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5416,13 +5464,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.ExperimentalFlannelOverlay = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5430,24 +5478,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.OutOfDiskTransitionFrequency = pkg1_unversioned.Duration{} } else { - yyv208 := &x.OutOfDiskTransitionFrequency - yym209 := z.DecBinary() - _ = yym209 + yyv210 := &x.OutOfDiskTransitionFrequency + yym211 := z.DecBinary() + _ = yym211 if false { - } else if z.HasExtensions() && z.DecExt(yyv208) { - } else if !yym209 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv208) + } else if z.HasExtensions() && z.DecExt(yyv210) { + } else if !yym211 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv210) } else { - z.DecFallback(yyv208, false) + z.DecFallback(yyv210, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5457,13 +5505,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.NodeIP = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5471,21 +5519,21 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.NodeLabels = nil } else { - yyv211 := &x.NodeLabels - yym212 := z.DecBinary() - _ = yym212 + yyv213 := &x.NodeLabels + yym214 := z.DecBinary() + _ = yym214 if false { } else { - z.F.DecMapStringStringX(yyv211, false, d) + z.F.DecMapStringStringX(yyv213, false, d) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5495,13 +5543,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.NonMasqueradeCIDR = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5511,13 +5559,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EnableCustomMetrics = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5527,13 +5575,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EvictionHard = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5543,13 +5591,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EvictionSoft = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5559,13 +5607,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EvictionSoftGracePeriod = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5573,24 +5621,24 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.EvictionPressureTransitionPeriod = pkg1_unversioned.Duration{} } else { - yyv218 := &x.EvictionPressureTransitionPeriod - yym219 := z.DecBinary() - _ = yym219 + yyv220 := &x.EvictionPressureTransitionPeriod + yym221 := z.DecBinary() + _ = yym221 if false { - } else if z.HasExtensions() && z.DecExt(yyv218) { - } else if !yym219 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv218) + } else if z.HasExtensions() && z.DecExt(yyv220) { + } else if !yym221 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv220) } else { - z.DecFallback(yyv218, false) + z.DecFallback(yyv220, false) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5600,13 +5648,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EvictionMaxPodGracePeriod = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5616,13 +5664,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.PodsPerCore = int32(r.DecodeInt(32)) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5632,13 +5680,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.EnableControllerAttachDetach = bool(r.DecodeBool()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5646,30 +5694,7 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.SystemReserved = nil } else { - yyv223 := &x.SystemReserved - yym224 := z.DecBinary() - _ = yym224 - if false { - } else if z.HasExtensions() && z.DecExt(yyv223) { - } else { - h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv223), d) - } - } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l - } else { - yyb116 = r.CheckBreak() - } - if yyb116 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.KubeReserved = nil - } else { - yyv225 := &x.KubeReserved + yyv225 := &x.SystemReserved yym226 := z.DecBinary() _ = yym226 if false { @@ -5678,13 +5703,36 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv225), d) } } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.KubeReserved = nil + } else { + yyv227 := &x.KubeReserved + yym228 := z.DecBinary() + _ = yym228 + if false { + } else if z.HasExtensions() && z.DecExt(yyv227) { + } else { + h.decconfig_ConfigurationMap((*pkg2_config.ConfigurationMap)(yyv227), d) + } + } + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l + } else { + yyb117 = r.CheckBreak() + } + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5694,13 +5742,13 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco } else { x.Kind = string(r.DecodeString()) } - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -5711,17 +5759,17 @@ func (x *KubeletConfiguration) codecDecodeSelfFromArray(l int, d *codec1978.Deco x.APIVersion = string(r.DecodeString()) } for { - yyj116++ - if yyhl116 { - yyb116 = yyj116 > l + yyj117++ + if yyhl117 { + yyb117 = yyj117 > l } else { - yyb116 = r.CheckBreak() + yyb117 = r.CheckBreak() } - if yyb116 { + if yyb117 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj116-1, "") + z.DecStructFieldNotFound(yyj117-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index a6c73a14558..4f515ffc806 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -258,14 +258,18 @@ type KubeletConfiguration struct { CloudConfigFile string `json:"cloudConfigFile,omitempty"` // KubeletCgroups is the absolute name of cgroups to isolate the kubelet in. KubeletCgroups string `json:"kubeletCgroups,omitempty"` + // Enable QoS based Cgroup hierarchy: top level cgroups for QoS Classes + // And all Burstable and BestEffort pods are brought up under their + // specific top level QoS cgroup. + CgroupsPerQOS bool `json:"CgroupsPerQOS,omitempty"` // Cgroups that container runtime is expected to be isolated in. RuntimeCgroups string `json:"runtimeCgroups,omitempty"` // SystemCgroups is absolute name of cgroups in which to place // all non-kernel processes that are not already in a container. Empty // for no container. Rolling back the flag requires a reboot. SystemCgroups string `json:"systemCgroups,omitempty"` - // cgroupRoot is the root cgroup to use for pods. This is handled by the - // container runtime on a best effort basis. + // CgroupRoot is the root cgroup to use for pods. + // If CgroupsPerQOS is enabled, this is the root of the QoS cgroup hierarchy. CgroupRoot string `json:"cgroupRoot,omitempty"` // containerRuntime is the container runtime to use. ContainerRuntime string `json:"containerRuntime"` diff --git a/pkg/apis/componentconfig/v1alpha1/defaults.go b/pkg/apis/componentconfig/v1alpha1/defaults.go index 8e040919a8e..2c7e729d85d 100644 --- a/pkg/apis/componentconfig/v1alpha1/defaults.go +++ b/pkg/apis/componentconfig/v1alpha1/defaults.go @@ -154,6 +154,9 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { if obj.ConfigureCBR0 == nil { obj.ConfigureCBR0 = boolVar(false) } + if obj.CgroupsPerQOS == nil { + obj.CgroupsPerQOS = boolVar(false) + } if obj.ContainerRuntime == "" { obj.ContainerRuntime = "docker" } diff --git a/pkg/apis/componentconfig/v1alpha1/types.go b/pkg/apis/componentconfig/v1alpha1/types.go index cacde95702d..acc16adc66a 100644 --- a/pkg/apis/componentconfig/v1alpha1/types.go +++ b/pkg/apis/componentconfig/v1alpha1/types.go @@ -322,6 +322,10 @@ type KubeletConfiguration struct { // cgroupRoot is the root cgroup to use for pods. This is handled by the // container runtime on a best effort basis. CgroupRoot string `json:"cgroupRoot"` + // Enable QoS based Cgroup hierarchy: top level cgroups for QoS Classes + // And all Burstable and BestEffort pods are brought up under their + // specific top level QoS cgroup. + CgroupsPerQOS *bool `json:"CgroupsPerQOS,omitempty"` // containerRuntime is the container runtime to use. ContainerRuntime string `json:"containerRuntime"` // runtimeRequestTimeout is the timeout for all runtime requests except long running diff --git a/pkg/kubelet/cm/container_manager.go b/pkg/kubelet/cm/container_manager.go index 9e699496304..58ed5362026 100644 --- a/pkg/kubelet/cm/container_manager.go +++ b/pkg/kubelet/cm/container_manager.go @@ -43,6 +43,8 @@ type NodeConfig struct { SystemCgroupsName string KubeletCgroupsName string ContainerRuntime string + CgroupsPerQOS bool + CgroupRoot string } type Status struct { diff --git a/pkg/kubelet/cm/container_manager_linux.go b/pkg/kubelet/cm/container_manager_linux.go index 4caeb485779..7e80c09aa4c 100644 --- a/pkg/kubelet/cm/container_manager_linux.go +++ b/pkg/kubelet/cm/container_manager_linux.go @@ -37,6 +37,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/kubelet/cadvisor" + "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/util" utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/mount" @@ -97,7 +98,10 @@ type containerManagerImpl struct { status Status // External containers being managed. systemContainers []*systemContainer + qosContainers QOSContainersInfo periodicTasks []func() + // holds all the mounted cgroup subsystems + subsystems *cgroupSubsystems } type features struct { @@ -161,10 +165,24 @@ func validateSystemRequirements(mountUtil mount.Interface) (features, error) { // Takes the absolute name of the specified containers. // Empty container name disables use of the specified container. func NewContainerManager(mountUtil mount.Interface, cadvisorInterface cadvisor.Interface, nodeConfig NodeConfig) (ContainerManager, error) { + // Check if Cgroup-root actually exists on the node + if nodeConfig.CgroupsPerQOS { + if nodeConfig.CgroupRoot == "" { + return nil, fmt.Errorf("invalid configuration: cgroups-per-qos was specified and cgroup-root was not specified. To enable the QoS cgroup hierarchy you need to specify a valid cgroup-root") + } + if _, err := os.Stat(nodeConfig.CgroupRoot); err != nil { + return nil, fmt.Errorf("invalid configuration: cgroup-root doesn't exist : %v", err) + } + } + subsystems, err := getCgroupSubsystems() + if err != nil { + return nil, fmt.Errorf("failed to get mounted subsystems: %v", err) + } return &containerManagerImpl{ cadvisorInterface: cadvisorInterface, mountUtil: mountUtil, NodeConfig: nodeConfig, + subsystems: subsystems, }, nil } @@ -190,6 +208,41 @@ const ( KernelTunableModify KernelTunableBehavior = "modify" ) +// InitQOS creates the top level qos cgroup containers +// We create top level QoS containers for only Burstable and Best Effort +// and not Guaranteed QoS class. All guaranteed pods are nested under the +// RootContainer by default. InitQOS is called only once during kubelet bootstrapping. +// TODO(@dubstack) Add support for cgroup-root to work on both systemd and cgroupfs +// drivers. Currently we only support systems running cgroupfs driver +func InitQOS(rootContainer string, subsystems *cgroupSubsystems) (QOSContainersInfo, error) { + cm := NewCgroupManager(subsystems) + // Top level for Qos containers are created only for Burstable + // and Best Effort classes + qosClasses := [2]qos.QOSClass{qos.Burstable, qos.BestEffort} + + // Create containers for both qos classes + for _, qosClass := range qosClasses { + // get the container's absolute name + absoluteContainerName := path.Join(rootContainer, string(qosClass)) + // containerConfig object stores the cgroup specifications + containerConfig := &CgroupConfig{ + Name: absoluteContainerName, + ResourceParameters: &ResourceConfig{}, + } + // TODO(@dubstack) Add support on systemd cgroups driver + if err := cm.Create(containerConfig); err != nil { + return QOSContainersInfo{}, fmt.Errorf("failed to create top level %v QOS cgroup : %v", qosClass, err) + } + } + // Store the top level qos container names + qosContainersInfo := QOSContainersInfo{ + Guaranteed: rootContainer, + Burstable: path.Join(rootContainer, string(qos.Burstable)), + BestEffort: path.Join(rootContainer, string(qos.BestEffort)), + } + return qosContainersInfo, nil +} + // setupKernelTunables validates kernel tunable flags are set as expected // depending upon the specified option, it will either warn, error, or modify the kernel tunable flags func setupKernelTunables(option KernelTunableBehavior) error { @@ -240,6 +293,15 @@ func (cm *containerManagerImpl) setupNode() error { return err } + // Setup top level qos containers only if CgroupsPerQOS flag is specified as true + if cm.NodeConfig.CgroupsPerQOS { + qosContainersInfo, err := InitQOS(cm.NodeConfig.CgroupRoot, cm.subsystems) + if err != nil { + return fmt.Errorf("failed to initialise top level QOS containers: %v", err) + } + cm.qosContainers = qosContainersInfo + } + systemContainers := []*systemContainer{} if cm.ContainerRuntime == "docker" { if cm.RuntimeCgroupsName != "" { diff --git a/pkg/kubelet/cm/types.go b/pkg/kubelet/cm/types.go index 1342718563d..745870bcdcc 100644 --- a/pkg/kubelet/cm/types.go +++ b/pkg/kubelet/cm/types.go @@ -56,3 +56,10 @@ type CgroupManager interface { // Exists checks if the cgroup already exists Exists(string) bool } + +// QOSContainersInfo hold the names of containers per qos +type QOSContainersInfo struct { + Guaranteed string + BestEffort string + Burstable string +} diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 426ec317afe..13b72f3523c 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -206,6 +206,7 @@ func NewMainKubelet( nodeLabels map[string]string, nodeStatusUpdateFrequency time.Duration, osInterface kubecontainer.OSInterface, + CgroupsPerQOS bool, cgroupRoot string, containerRuntime string, runtimeRequestTimeout time.Duration, @@ -339,6 +340,7 @@ func NewMainKubelet( nodeStatusUpdateFrequency: nodeStatusUpdateFrequency, os: osInterface, oomWatcher: oomWatcher, + CgroupsPerQOS: CgroupsPerQOS, cgroupRoot: cgroupRoot, mounter: mounter, writer: writer, @@ -706,6 +708,9 @@ type Kubelet struct { // Monitor resource usage resourceAnalyzer stats.ResourceAnalyzer + // Whether or not we should have the QOS cgroup hierarchy for resource management + CgroupsPerQOS bool + // If non-empty, pass this to the container runtime as the root cgroup. cgroupRoot string diff --git a/test/e2e/framework/test_context.go b/test/e2e/framework/test_context.go index 2eeb188fb1c..d0ebecd8291 100644 --- a/test/e2e/framework/test_context.go +++ b/test/e2e/framework/test_context.go @@ -67,6 +67,8 @@ type TestContextType struct { DumpLogsOnFailure bool // Name of the node to run tests on (node e2e suite only). NodeName string + // Whether to enable the QoS Cgroup Hierarchy or not + CgroupsPerQOS bool } type CloudConfig struct { @@ -148,4 +150,5 @@ func RegisterClusterFlags() { // Register flags specific to the node e2e test suite. func RegisterNodeFlags() { flag.StringVar(&TestContext.NodeName, "node-name", "", "Name of the node to run tests on (node e2e suite only).") + flag.BoolVar(&TestContext.CgroupsPerQOS, "cgroups-per-qos", false, "Enable creation of QoS cgroup hierarchy, if true top level QoS and pod cgroups are created.") } diff --git a/test/e2e_node/cgroup_manager_test.go b/test/e2e_node/cgroup_manager_test.go new file mode 100644 index 00000000000..e0b7f840ed2 --- /dev/null +++ b/test/e2e_node/cgroup_manager_test.go @@ -0,0 +1,77 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package e2e_node + +import ( + "k8s.io/kubernetes/pkg/api" + "k8s.io/kubernetes/pkg/util" + "k8s.io/kubernetes/test/e2e/framework" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() { + f := NewDefaultFramework("kubelet-cgroup-manager") + Describe("QOS containers", func() { + Context("On enabling QOS cgroup hierarchy", func() { + It("Top level QoS containers should have been created", func() { + if framework.TestContext.CgroupsPerQOS { + podName := "qos-pod" + string(util.NewUUID()) + contName := "qos-container" + string(util.NewUUID()) + pod := &api.Pod{ + ObjectMeta: api.ObjectMeta{ + Name: podName, + Namespace: f.Namespace.Name, + }, + Spec: api.PodSpec{ + // Don't restart the Pod since it is expected to exit + RestartPolicy: api.RestartPolicyNever, + Containers: []api.Container{ + { + Image: "gcr.io/google_containers/busybox:1.24", + Name: contName, + Command: []string{"sh", "-c", "if [ -d /tmp/memory/Burstable ] && [ -d /tmp/memory/BestEffort ]; then exit 0; else exit 1; fi"}, + VolumeMounts: []api.VolumeMount{ + { + Name: "sysfscgroup", + MountPath: "/tmp", + }, + }, + }, + }, + Volumes: []api.Volume{ + { + Name: "sysfscgroup", + VolumeSource: api.VolumeSource{ + HostPath: &api.HostPathVolumeSource{Path: "/sys/fs/cgroup"}, + }, + }, + }, + }, + } + f.MungePodSpec(pod) + podClient := f.Client.Pods(f.Namespace.Name) + _, err := podClient.Create(pod) + Expect(err).NotTo(HaveOccurred()) + err = framework.WaitForPodSuccessInNamespace(f.Client, podName, contName, f.Namespace.Name) + Expect(err).NotTo(HaveOccurred()) + } + }) + }) + }) +}) diff --git a/test/e2e_node/e2e_node_suite_test.go b/test/e2e_node/e2e_node_suite_test.go index b4a93ba5efc..635b57576c1 100644 --- a/test/e2e_node/e2e_node_suite_test.go +++ b/test/e2e_node/e2e_node_suite_test.go @@ -96,7 +96,7 @@ var _ = BeforeSuite(func() { maskLocksmithdOnCoreos() if *startServices { - e2es = newE2eService(framework.TestContext.NodeName) + e2es = newE2eService(framework.TestContext.NodeName, framework.TestContext.CgroupsPerQOS) if err := e2es.start(); err != nil { Fail(fmt.Sprintf("Unable to start node services.\n%v", err)) } diff --git a/test/e2e_node/e2e_remote.go b/test/e2e_node/e2e_remote.go index 32075c4cce6..f5d6d455563 100644 --- a/test/e2e_node/e2e_remote.go +++ b/test/e2e_node/e2e_remote.go @@ -146,7 +146,7 @@ func CreateTestArchive() (string, error) { } // Returns the command output, whether the exit was ok, and any errors -func RunRemote(archive string, host string, cleanup bool, junitFileNumber int, setupNode bool) (string, bool, error) { +func RunRemote(archive string, host string, cleanup bool, junitFileNumber int, setupNode bool, testArgs string) (string, bool, error) { if setupNode { uname, err := user.Current() if err != nil { @@ -211,11 +211,10 @@ func RunRemote(archive string, host string, cleanup bool, junitFileNumber int, s // Exit failure with the error return "", false, err } - // Run the tests cmd = getSshCommand(" && ", fmt.Sprintf("cd %s", tmp), - fmt.Sprintf("timeout -k 30s %ds ./ginkgo %s ./e2e_node.test -- --logtostderr --v 2 --build-services=false --stop-services=%t --node-name=%s --report-dir=%s/results --junit-file-number=%d", *testTimeoutSeconds, *ginkgoFlags, cleanup, host, tmp, junitFileNumber), + fmt.Sprintf("timeout -k 30s %ds ./ginkgo %s ./e2e_node.test -- --logtostderr --v 2 --build-services=false --stop-services=%t --node-name=%s --report-dir=%s/results --junit-file-number=%d %s", *testTimeoutSeconds, *ginkgoFlags, cleanup, host, tmp, junitFileNumber, testArgs), ) aggErrs := []error{} diff --git a/test/e2e_node/e2e_service.go b/test/e2e_node/e2e_service.go index 58ee6a4723f..d8cd0bfb7d8 100644 --- a/test/e2e_node/e2e_service.go +++ b/test/e2e_node/e2e_service.go @@ -46,6 +46,7 @@ type e2eService struct { kubeletStaticPodDir string nodeName string logFiles map[string]logFileData + cgroupsPerQOS bool } type logFileData struct { @@ -58,14 +59,18 @@ const ( LOG_VERBOSITY_LEVEL = "4" ) -func newE2eService(nodeName string) *e2eService { +func newE2eService(nodeName string, cgroupsPerQOS bool) *e2eService { // Special log files that need to be collected for additional debugging. var logFiles = map[string]logFileData{ "kern.log": {[]string{"/var/log/kern.log"}, []string{"-k"}}, "docker.log": {[]string{"/var/log/docker.log", "/var/log/upstart/docker.log"}, []string{"-u", "docker"}}, } - return &e2eService{nodeName: nodeName, logFiles: logFiles} + return &e2eService{ + nodeName: nodeName, + logFiles: logFiles, + cgroupsPerQOS: cgroupsPerQOS, + } } func (es *e2eService) start() error { @@ -236,6 +241,12 @@ func (es *e2eService) startKubeletServer() (*killCmd, error) { "--v", LOG_VERBOSITY_LEVEL, "--logtostderr", "--pod-cidr=10.180.0.0/24", // Assign a fixed CIDR to the node because there is no node controller. ) + if es.cgroupsPerQOS { + cmdArgs = append(cmdArgs, + "--cgroups-per-qos", "true", + "--cgroup-root", "/", + ) + } if !*disableKubenet { cwd, err := os.Getwd() if err != nil { @@ -245,6 +256,7 @@ func (es *e2eService) startKubeletServer() (*killCmd, error) { "--network-plugin=kubenet", "--network-plugin-dir", filepath.Join(cwd, CNIDirectory, "bin")) // Enable kubenet } + cmd := exec.Command("sudo", cmdArgs...) hcc := newHealthCheckCommand( "http://127.0.0.1:10255/healthz", diff --git a/test/e2e_node/jenkins/e2e-node-jenkins.sh b/test/e2e_node/jenkins/e2e-node-jenkins.sh index 02ad86e333f..77038359d67 100755 --- a/test/e2e_node/jenkins/e2e-node-jenkins.sh +++ b/test/e2e_node/jenkins/e2e-node-jenkins.sh @@ -39,4 +39,4 @@ go run test/e2e_node/runner/run_e2e.go --logtostderr --vmodule=*=2 --ssh-env="g --zone="$GCE_ZONE" --project="$GCE_PROJECT" --hosts="$GCE_HOSTS" \ --image-config-file="$GCE_IMAGE_CONFIG_PATH" --cleanup="$CLEANUP" \ --results-dir="$ARTIFACTS" --ginkgo-flags="$GINKGO_FLAGS" \ - --setup-node="$SETUP_NODE" --instance-metadata="$GCE_INSTANCE_METADATA" + --setup-node="$SETUP_NODE" --test_args="$TEST_ARGS" --instance-metadata="$GCE_INSTANCE_METADATA" diff --git a/test/e2e_node/jenkins/jenkins-ci.properties b/test/e2e_node/jenkins/jenkins-ci.properties index 8392dd6a6c8..3b090984422 100644 --- a/test/e2e_node/jenkins/jenkins-ci.properties +++ b/test/e2e_node/jenkins/jenkins-ci.properties @@ -5,4 +5,4 @@ GCE_PROJECT=kubernetes-jenkins CLEANUP=true GINKGO_FLAGS=--skip=FLAKY SETUP_NODE=false - +TEST_ARGS=--cgroups-per-qos=true diff --git a/test/e2e_node/jenkins/jenkins-pull.properties b/test/e2e_node/jenkins/jenkins-pull.properties index 47b7c1c51f0..62333ffe3c4 100644 --- a/test/e2e_node/jenkins/jenkins-pull.properties +++ b/test/e2e_node/jenkins/jenkins-pull.properties @@ -5,3 +5,4 @@ GCE_PROJECT=kubernetes-jenkins-pull CLEANUP=true GINKGO_FLAGS=--skip=FLAKY SETUP_NODE=false +TEST_ARGS=--cgroups-per-qos=true diff --git a/test/e2e_node/jenkins/template.properties b/test/e2e_node/jenkins/template.properties index 1f2b7a2a007..a15c9595564 100644 --- a/test/e2e_node/jenkins/template.properties +++ b/test/e2e_node/jenkins/template.properties @@ -17,3 +17,5 @@ GCE_IMAGE_PROJECT= CLEANUP=true # If true, current user will be added to the docker group on test node SETUP_NODE=false +# If true QoS Cgroup Hierarchy is created and tests specifc to the cgroup hierarchy run +TEST_ARGS=--cgroups-per-qos=true diff --git a/test/e2e_node/runner/run_e2e.go b/test/e2e_node/runner/run_e2e.go index 4f599d83ed9..19e4b4d43c0 100644 --- a/test/e2e_node/runner/run_e2e.go +++ b/test/e2e_node/runner/run_e2e.go @@ -41,6 +41,7 @@ import ( "google.golang.org/api/compute/v1" ) +var testArgs = flag.String("test_args", "", "Space-separated list of arguments to pass to Ginkgo test runner.") var instanceNamePrefix = flag.String("instance-name-prefix", "", "prefix for instance names") var zone = flag.String("zone", "", "gce zone the hosts live in") var project = flag.String("project", "", "gce project the hosts live in") @@ -254,7 +255,7 @@ func testHost(host string, deleteFiles bool, junitFileNum int, setupNode bool) * } } - output, exitOk, err := e2e_node.RunRemote(path, host, deleteFiles, junitFileNum, setupNode) + output, exitOk, err := e2e_node.RunRemote(path, host, deleteFiles, junitFileNum, setupNode, *testArgs) return &TestResult{ output: output, err: err,