diff --git a/api/api-rules/violation_exceptions.list b/api/api-rules/violation_exceptions.list index 599e55546cb63..7fd4e5db02fa5 100644 --- a/api/api-rules/violation_exceptions.list +++ b/api/api-rules/violation_exceptions.list @@ -80,6 +80,7 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Command API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Env API rule violation: list_type_missing,k8s.io/api/core/v1,Container,EnvFrom +API rule violation: list_type_missing,k8s.io/api/core/v1,Container,ResizePolicy API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeDevices API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeMounts API rule violation: list_type_missing,k8s.io/api/core/v1,ContainerImage,Names @@ -94,6 +95,7 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommo API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,EnvFrom API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Ports +API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,ResizePolicy API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainers,EphemeralContainers diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 4719fe2a2a7d7..e0840f15ab304 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -5616,9 +5616,23 @@ "$ref": "#/definitions/io.k8s.api.core.v1.Probe", "description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes" }, + "resizePolicy": { + "description": "Resources resize policy for the container. More info: TODO: update doc", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResizePolicy" + }, + "type": "array" + }, "resources": { "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements", - "description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/" + "description": "Compute Resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ //TODO: Mutable - update doc" + }, + "resourcesAllocated": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "description": "Node compute resources allocated to the container. More info: TODO: update doc", + "type": "object" }, "securityContext": { "$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext", @@ -5836,6 +5850,10 @@ "description": "Specifies whether the container has passed its readiness probe.", "type": "boolean" }, + "resources": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements", + "description": "Compute resource requests and limits applied to the container. More info: TODO: Update doc" + }, "restartCount": { "description": "The number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed. Note that this is calculated from dead containers. But those containers are subject to garbage collection. This value will get capped at 5 by GC.", "format": "int32", @@ -6214,10 +6232,24 @@ "$ref": "#/definitions/io.k8s.api.core.v1.Probe", "description": "Probes are not allowed for ephemeral containers." }, + "resizePolicy": { + "description": "Resources resize policy is not applicable to ephemeral containers.", + "items": { + "$ref": "#/definitions/io.k8s.api.core.v1.ResizePolicy" + }, + "type": "array" + }, "resources": { "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements", "description": "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod." }, + "resourcesAllocated": { + "additionalProperties": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity" + }, + "description": "Node compute resources are not allocated for ephemeral containers, they use spare resources.", + "type": "object" + }, "securityContext": { "$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext", "description": "SecurityContext is not allowed for ephemeral containers." @@ -9161,6 +9193,24 @@ ], "type": "object" }, + "io.k8s.api.core.v1.ResizePolicy": { + "description": "ResizePolicy represents the resource resize policy for a single container.", + "properties": { + "policy": { + "description": "Container resize policy applicable to the above resource.", + "type": "string" + }, + "resourceName": { + "description": "Name of the resource type to which this resize policy applies. Supported values: cpu, memory.", + "type": "string" + } + }, + "required": [ + "resourceName", + "policy" + ], + "type": "object" + }, "io.k8s.api.core.v1.ResourceFieldSelector": { "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format", "properties": { diff --git a/pkg/api/pod/util.go b/pkg/api/pod/util.go index 69589a11c1f51..885fbf32cd6d2 100644 --- a/pkg/api/pod/util.go +++ b/pkg/api/pod/util.go @@ -444,6 +444,14 @@ func dropDisabledFields( podSpec.SetHostnameAsFQDN = nil } + if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) && !inPlacePodVerticalScalingInUse(oldPodSpec) { + // Drop ResourcesAllocated and ResizePolicy fields. Don't drop updates to Resources field because + // template spec Resources field is mutable for certain controllers. Let ValidatePodUpdate handle it. + for i := range podSpec.Containers { + podSpec.Containers[i].ResourcesAllocated = nil + podSpec.Containers[i].ResizePolicy = nil + } + } } // dropDisabledRunAsGroupField removes disabled fields from PodSpec related @@ -559,6 +567,22 @@ func overheadInUse(podSpec *api.PodSpec) bool { return false } +// inPlacePodVerticalScalingInUse returns true if the pod spec is non-nil and has ResizePolicy or ResourcesAllocated set +func inPlacePodVerticalScalingInUse(podSpec *api.PodSpec) bool { + if podSpec == nil { + return false + } + var inUse bool + VisitContainers(podSpec, AllContainers, func(c *api.Container, containerType ContainerType) bool { + if (c.ResourcesAllocated != nil && len(c.ResourcesAllocated) > 0) || len(c.ResizePolicy) > 0 { + inUse = true + return false + } + return true + }) + return inUse +} + // procMountInUse returns true if the pod spec is non-nil and has a SecurityContext's ProcMount field set to a non-default value func procMountInUse(podSpec *api.PodSpec) bool { if podSpec == nil { diff --git a/pkg/api/pod/util_test.go b/pkg/api/pod/util_test.go index 693ca2a0ae7ee..d1070c85da1cf 100644 --- a/pkg/api/pod/util_test.go +++ b/pkg/api/pod/util_test.go @@ -1740,3 +1740,115 @@ func TestDropEphemeralContainers(t *testing.T) { } } } + +func TestDropInPlacePodVerticalScaling(t *testing.T) { + podWithInPlaceVerticalScaling := func() *api.Pod { + return &api.Pod{ + Spec: api.PodSpec{ + Containers: []api.Container{ + { + Name: "c1", + Image: "image", + Resources: api.ResourceRequirements{ + Requests: api.ResourceList{api.ResourceCPU: resource.MustParse("100m")}, + Limits: api.ResourceList{api.ResourceCPU: resource.MustParse("200m")}, + }, + ResourcesAllocated: api.ResourceList{api.ResourceCPU: resource.MustParse("100m")}, + ResizePolicy: []api.ResizePolicy{ + {ResourceName: api.ResourceCPU, Policy: api.NoRestart}, + {ResourceName: api.ResourceMemory, Policy: api.RestartContainer}, + }, + }, + }, + }, + } + } + podWithoutInPlaceVerticalScaling := func() *api.Pod { + return &api.Pod{ + Spec: api.PodSpec{ + Containers: []api.Container{ + { + Name: "c1", + Image: "image", + Resources: api.ResourceRequirements{ + Requests: api.ResourceList{api.ResourceCPU: resource.MustParse("100m")}, + Limits: api.ResourceList{api.ResourceCPU: resource.MustParse("200m")}, + }, + }, + }, + }, + } + } + + podInfo := []struct { + description string + hasInPlaceVerticalScaling bool + pod func() *api.Pod + }{ + { + description: "has in-place vertical scaling enabled with resources", + hasInPlaceVerticalScaling: true, + pod: podWithInPlaceVerticalScaling, + }, + { + description: "has in-place vertical scaling disabled", + hasInPlaceVerticalScaling: false, + pod: podWithoutInPlaceVerticalScaling, + }, + { + description: "is nil", + hasInPlaceVerticalScaling: false, + pod: func() *api.Pod { return nil }, + }, + } + + for _, enabled := range []bool{true, false} { + for _, oldPodInfo := range podInfo { + for _, newPodInfo := range podInfo { + oldPodHasInPlaceVerticalScaling, oldPod := oldPodInfo.hasInPlaceVerticalScaling, oldPodInfo.pod() + newPodHasInPlaceVerticalScaling, newPod := newPodInfo.hasInPlaceVerticalScaling, newPodInfo.pod() + if newPod == nil { + continue + } + + t.Run(fmt.Sprintf("feature enabled=%v, old pod %v, new pod %v", enabled, oldPodInfo.description, newPodInfo.description), func(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, enabled)() + + var oldPodSpec *api.PodSpec + if oldPod != nil { + oldPodSpec = &oldPod.Spec + } + dropDisabledFields(&newPod.Spec, nil, oldPodSpec, nil) + + // old pod should never be changed + if !reflect.DeepEqual(oldPod, oldPodInfo.pod()) { + t.Errorf("old pod changed: %v", diff.ObjectReflectDiff(oldPod, oldPodInfo.pod())) + } + + switch { + case enabled || oldPodHasInPlaceVerticalScaling: + // new pod should not be changed if the feature is enabled, or if the old pod had + // ResizePolicy or ResourcesAllocated fields set + if !reflect.DeepEqual(newPod, newPodInfo.pod()) { + t.Errorf("new pod changed: %v", diff.ObjectReflectDiff(newPod, newPodInfo.pod())) + } + case newPodHasInPlaceVerticalScaling: + // new pod should be changed + if reflect.DeepEqual(newPod, newPodInfo.pod()) { + t.Errorf("new pod was not changed") + } + // new pod should not have ResourcesAllocated or ResizePolicy + if !reflect.DeepEqual(newPod, podWithoutInPlaceVerticalScaling()) { + t.Errorf("new pod had ResourcesAllocated or ResizePolicy: %v", diff.ObjectReflectDiff(newPod, podWithoutInPlaceVerticalScaling())) + } + default: + // new pod should not need to be changed + if !reflect.DeepEqual(newPod, newPodInfo.pod()) { + t.Errorf("new pod changed: %v", diff.ObjectReflectDiff(newPod, newPodInfo.pod())) + } + } + }) + } + } + } +} diff --git a/pkg/api/v1/resource/helpers.go b/pkg/api/v1/resource/helpers.go index 0464b84f98f88..e0999c411ac70 100644 --- a/pkg/api/v1/resource/helpers.go +++ b/pkg/api/v1/resource/helpers.go @@ -86,30 +86,58 @@ func PodRequestsAndLimits(pod *v1.Pod) (reqs, limits v1.ResourceList) { return } -// GetResourceRequestQuantity finds and returns the request quantity for a specific resource. -func GetResourceRequestQuantity(pod *v1.Pod, resourceName v1.ResourceName) resource.Quantity { - requestQuantity := resource.Quantity{} +// PodResourceAllocations returns a dictionary of resources allocated to the containers of pod. +func PodResourceAllocations(pod *v1.Pod) (allocations v1.ResourceList) { + allocations = v1.ResourceList{} + for _, container := range pod.Spec.Containers { + addResourceList(allocations, container.ResourcesAllocated) + } + // init containers define the minimum of any resource + for _, container := range pod.Spec.InitContainers { + maxResourceList(allocations, container.Resources.Requests) + } + if pod.Spec.Overhead != nil && utilfeature.DefaultFeatureGate.Enabled(features.PodOverhead) { + addResourceList(allocations, pod.Spec.Overhead) + } + return +} +func getFormattedResourceQuantity(resourceName v1.ResourceName) resource.Quantity { + resourceQuantity := resource.Quantity{} switch resourceName { case v1.ResourceCPU: - requestQuantity = resource.Quantity{Format: resource.DecimalSI} + resourceQuantity = resource.Quantity{Format: resource.DecimalSI} case v1.ResourceMemory, v1.ResourceStorage, v1.ResourceEphemeralStorage: - requestQuantity = resource.Quantity{Format: resource.BinarySI} + resourceQuantity = resource.Quantity{Format: resource.BinarySI} default: - requestQuantity = resource.Quantity{Format: resource.DecimalSI} + resourceQuantity = resource.Quantity{Format: resource.DecimalSI} } + return resourceQuantity +} +func addPodOverheadQuantity(pod *v1.Pod, resourceName v1.ResourceName, resourceQuantity resource.Quantity) resource.Quantity { + // if PodOverhead feature is supported, add overhead for running a pod + // to the total requests if the resource total is non-zero + if pod.Spec.Overhead != nil && utilfeature.DefaultFeatureGate.Enabled(features.PodOverhead) { + if podOverhead, ok := pod.Spec.Overhead[resourceName]; ok && !resourceQuantity.IsZero() { + resourceQuantity.Add(podOverhead) + } + } + return resourceQuantity +} + +// GetResourceRequestQuantity finds and returns the request quantity for a specific resource. +func GetResourceRequestQuantity(pod *v1.Pod, resourceName v1.ResourceName) resource.Quantity { + requestQuantity := getFormattedResourceQuantity(resourceName) if resourceName == v1.ResourceEphemeralStorage && !utilfeature.DefaultFeatureGate.Enabled(features.LocalStorageCapacityIsolation) { // if the local storage capacity isolation feature gate is disabled, pods request 0 disk return requestQuantity } - for _, container := range pod.Spec.Containers { if rQuantity, ok := container.Resources.Requests[resourceName]; ok { requestQuantity.Add(rQuantity) } } - for _, container := range pod.Spec.InitContainers { if rQuantity, ok := container.Resources.Requests[resourceName]; ok { if requestQuantity.Cmp(rQuantity) < 0 { @@ -117,16 +145,31 @@ func GetResourceRequestQuantity(pod *v1.Pod, resourceName v1.ResourceName) resou } } } + requestQuantity = addPodOverheadQuantity(pod, resourceName, requestQuantity) + return requestQuantity +} - // if PodOverhead feature is supported, add overhead for running a pod - // to the total requests if the resource total is non-zero - if pod.Spec.Overhead != nil && utilfeature.DefaultFeatureGate.Enabled(features.PodOverhead) { - if podOverhead, ok := pod.Spec.Overhead[resourceName]; ok && !requestQuantity.IsZero() { - requestQuantity.Add(podOverhead) +// GetResourceAllocationQuantity finds and returns the resourcesAllocated quantity for a specific resource. +func GetResourceAllocationQuantity(pod *v1.Pod, resourceName v1.ResourceName) resource.Quantity { + allocQuantity := getFormattedResourceQuantity(resourceName) + if resourceName == v1.ResourceEphemeralStorage && !utilfeature.DefaultFeatureGate.Enabled(features.LocalStorageCapacityIsolation) { + // if the local storage capacity isolation feature gate is disabled, pods request 0 disk + return allocQuantity + } + for _, container := range pod.Spec.Containers { + if rQuantity, ok := container.ResourcesAllocated[resourceName]; ok { + allocQuantity.Add(rQuantity) } } - - return requestQuantity + for _, container := range pod.Spec.InitContainers { + if rQuantity, ok := container.Resources.Requests[resourceName]; ok { + if allocQuantity.Cmp(rQuantity) < 0 { + allocQuantity = rQuantity.DeepCopy() + } + } + } + allocQuantity = addPodOverheadQuantity(pod, resourceName, allocQuantity) + return allocQuantity } // GetResourceRequest finds and returns the request value for a specific resource. @@ -144,6 +187,18 @@ func GetResourceRequest(pod *v1.Pod, resource v1.ResourceName) int64 { return requestQuantity.Value() } +// GetResourceAllocation finds and returns resource allocation for a specific resource. +func GetResourceAllocation(pod *v1.Pod, resource v1.ResourceName) int64 { + if resource == v1.ResourcePods { + return 1 + } + allocQuantity := GetResourceAllocationQuantity(pod, resource) + if resource == v1.ResourceCPU { + return allocQuantity.MilliValue() + } + return allocQuantity.Value() +} + // ExtractResourceValueByContainerName extracts the value of a resource // by providing container name func ExtractResourceValueByContainerName(fs *v1.ResourceFieldSelector, pod *v1.Pod, containerName string) (string, error) { @@ -192,6 +247,12 @@ func ExtractContainerResourceValue(fs *v1.ResourceFieldSelector, container *v1.C return convertResourceMemoryToString(container.Resources.Requests.Memory(), divisor) case "requests.ephemeral-storage": return convertResourceEphemeralStorageToString(container.Resources.Requests.StorageEphemeral(), divisor) + case "resourcesAllocated.cpu": + return convertResourceCPUToString(container.ResourcesAllocated.Cpu(), divisor) + case "resourcesAllocated.memory": + return convertResourceMemoryToString(container.ResourcesAllocated.Memory(), divisor) + case "resourcesAllocated.ephemeral-storage": + return convertResourceEphemeralStorageToString(container.ResourcesAllocated.StorageEphemeral(), divisor) } return "", fmt.Errorf("unsupported container resource : %v", fs.Resource) diff --git a/pkg/api/v1/resource/helpers_test.go b/pkg/api/v1/resource/helpers_test.go index cc6a14b76dee3..d13c2349a7b5d 100644 --- a/pkg/api/v1/resource/helpers_test.go +++ b/pkg/api/v1/resource/helpers_test.go @@ -254,6 +254,30 @@ func TestExtractResourceValue(t *testing.T) { expectedValue: "104857600", }, + { + fs: &v1.ResourceFieldSelector{ + Resource: "resourcesAllocated.cpu", + }, + cName: "foo", + pod: getPod("foo", podResources{cpuAllocated: "7"}), + expectedValue: "7", + }, + { + fs: &v1.ResourceFieldSelector{ + Resource: "resourcesAllocated.memory", + }, + cName: "foo", + pod: getPod("foo", podResources{memoryAllocated: "1400Mi"}), + expectedValue: "1468006400", + }, + { + fs: &v1.ResourceFieldSelector{ + Resource: "resourcesAllocated.ephemeral-storage", + }, + cName: "foo", + pod: getPod("foo", podResources{ephemeralStorageAllocated: "2Gi"}), + expectedValue: "2147483648", + }, } as := assert.New(t) for idx, tc := range cases { @@ -337,8 +361,103 @@ func TestPodRequestsAndLimits(t *testing.T) { } } +func TestGetResourceAllocation(t *testing.T) { + cases := []struct { + pod *v1.Pod + cName string + resourceName v1.ResourceName + expectedValue int64 + }{ + { + pod: getPod("foo", podResources{cpuAllocated: "9"}), + resourceName: v1.ResourceCPU, + expectedValue: 9000, + }, + { + pod: getPod("foo", podResources{memoryAllocated: "90Mi"}), + resourceName: v1.ResourceMemory, + expectedValue: 94371840, + }, + { + cName: "just-overhead for cpu", + pod: getPod("foo", podResources{cpuOverhead: "5", memoryOverhead: "5"}), + resourceName: v1.ResourceCPU, + expectedValue: 0, + }, + { + cName: "just-overhead for memory", + pod: getPod("foo", podResources{memoryOverhead: "5"}), + resourceName: v1.ResourceMemory, + expectedValue: 0, + }, + { + cName: "cpu overhead and req", + pod: getPod("foo", podResources{cpuAllocated: "2", cpuOverhead: "5", memoryOverhead: "5"}), + resourceName: v1.ResourceCPU, + expectedValue: 7000, + }, + { + cName: "mem overhead and req", + pod: getPod("foo", podResources{cpuAllocated: "2", memoryAllocated: "1024", cpuOverhead: "5", memoryOverhead: "5"}), + resourceName: v1.ResourceMemory, + expectedValue: 1029, + }, + } + as := assert.New(t) + for idx, tc := range cases { + actual := GetResourceAllocation(tc.pod, tc.resourceName) + as.Equal(actual, tc.expectedValue, "expected test case [%d] %v: to return %q; got %q instead", idx, tc.cName, tc.expectedValue, actual) + } +} + +func TestPodResourceAllocations(t *testing.T) { + cases := []struct { + pod *v1.Pod + cName string + expectedAllocation v1.ResourceList + }{ + { + cName: "just-allocation-no-overhead", + pod: getPod("foo", podResources{cpuAllocated: "9"}), + expectedAllocation: v1.ResourceList{ + v1.ResourceName(v1.ResourceCPU): resource.MustParse("9"), + }, + }, + { + cName: "just-overhead", + pod: getPod("foo", podResources{cpuOverhead: "5", memoryOverhead: "5"}), + expectedAllocation: v1.ResourceList{ + v1.ResourceName(v1.ResourceCPU): resource.MustParse("5"), + v1.ResourceName(v1.ResourceMemory): resource.MustParse("5"), + }, + }, + { + cName: "allocation-and-overhead", + pod: getPod("foo", podResources{cpuAllocated: "1", memoryAllocated: "10", cpuOverhead: "5", memoryOverhead: "5"}), + expectedAllocation: v1.ResourceList{ + v1.ResourceName(v1.ResourceCPU): resource.MustParse("6"), + v1.ResourceName(v1.ResourceMemory): resource.MustParse("15"), + }, + }, + { + cName: "some-req-some-allocation-and-overhead", + pod: getPod("foo", podResources{cpuRequest: "1", cpuAllocated: "2", memoryRequest: "10", cpuOverhead: "5", memoryOverhead: "5"}), + expectedAllocation: v1.ResourceList{ + v1.ResourceName(v1.ResourceCPU): resource.MustParse("7"), + v1.ResourceName(v1.ResourceMemory): resource.MustParse("15"), + }, + }, + } + for idx, tc := range cases { + resAllocation := PodResourceAllocations(tc.pod) + if !equality.Semantic.DeepEqual(tc.expectedAllocation, resAllocation) { + t.Errorf("test case failure[%d]: %v, allocated:\n expected:\t%v\ngot\t\t%v", idx, tc.cName, tc.expectedAllocation, resAllocation) + } + } +} + type podResources struct { - cpuRequest, cpuLimit, memoryRequest, memoryLimit, cpuOverhead, memoryOverhead string + cpuRequest, cpuLimit, memoryRequest, memoryLimit, cpuOverhead, memoryOverhead, cpuAllocated, memoryAllocated, ephemeralStorageAllocated string } func getPod(cname string, resources podResources) *v1.Pod { @@ -346,6 +465,7 @@ func getPod(cname string, resources podResources) *v1.Pod { Limits: make(v1.ResourceList), Requests: make(v1.ResourceList), } + alloc := make(v1.ResourceList) overhead := make(v1.ResourceList) @@ -367,13 +487,23 @@ func getPod(cname string, resources podResources) *v1.Pod { if resources.memoryOverhead != "" { overhead[v1.ResourceMemory] = resource.MustParse(resources.memoryOverhead) } + if resources.cpuAllocated != "" { + alloc[v1.ResourceCPU] = resource.MustParse(resources.cpuAllocated) + } + if resources.memoryAllocated != "" { + alloc[v1.ResourceMemory] = resource.MustParse(resources.memoryAllocated) + } + if resources.ephemeralStorageAllocated != "" { + alloc[v1.ResourceEphemeralStorage] = resource.MustParse(resources.ephemeralStorageAllocated) + } return &v1.Pod{ Spec: v1.PodSpec{ Containers: []v1.Container{ { - Name: cname, - Resources: r, + Name: cname, + Resources: r, + ResourcesAllocated: alloc, }, }, InitContainers: []v1.Container{ diff --git a/pkg/apis/apps/v1/zz_generated.defaults.go b/pkg/apis/apps/v1/zz_generated.defaults.go index 34c1e188a970a..87192630570e0 100644 --- a/pkg/apis/apps/v1/zz_generated.defaults.go +++ b/pkg/apis/apps/v1/zz_generated.defaults.go @@ -112,6 +112,7 @@ func SetObjectDefaults_DaemonSet(in *v1.DaemonSet) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -160,6 +161,7 @@ func SetObjectDefaults_DaemonSet(in *v1.DaemonSet) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -207,6 +209,7 @@ func SetObjectDefaults_DaemonSet(in *v1.DaemonSet) { } corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { corev1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -319,6 +322,7 @@ func SetObjectDefaults_Deployment(in *v1.Deployment) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -367,6 +371,7 @@ func SetObjectDefaults_Deployment(in *v1.Deployment) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -414,6 +419,7 @@ func SetObjectDefaults_Deployment(in *v1.Deployment) { } corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { corev1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -526,6 +532,7 @@ func SetObjectDefaults_ReplicaSet(in *v1.ReplicaSet) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -574,6 +581,7 @@ func SetObjectDefaults_ReplicaSet(in *v1.ReplicaSet) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -621,6 +629,7 @@ func SetObjectDefaults_ReplicaSet(in *v1.ReplicaSet) { } corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { corev1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -733,6 +742,7 @@ func SetObjectDefaults_StatefulSet(in *v1.StatefulSet) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -781,6 +791,7 @@ func SetObjectDefaults_StatefulSet(in *v1.StatefulSet) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -828,6 +839,7 @@ func SetObjectDefaults_StatefulSet(in *v1.StatefulSet) { } corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { corev1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/apps/v1beta1/zz_generated.defaults.go b/pkg/apis/apps/v1beta1/zz_generated.defaults.go index c5adde3443ca2..328a0198b4503 100644 --- a/pkg/apis/apps/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/apps/v1beta1/zz_generated.defaults.go @@ -108,6 +108,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -156,6 +157,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -203,6 +205,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -315,6 +318,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta1.StatefulSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -363,6 +367,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta1.StatefulSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -410,6 +415,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta1.StatefulSet) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/apps/v1beta2/zz_generated.defaults.go b/pkg/apis/apps/v1beta2/zz_generated.defaults.go index 66c37c16322cc..514e3f6b2bf1a 100644 --- a/pkg/apis/apps/v1beta2/zz_generated.defaults.go +++ b/pkg/apis/apps/v1beta2/zz_generated.defaults.go @@ -112,6 +112,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta2.DaemonSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -160,6 +161,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta2.DaemonSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -207,6 +209,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta2.DaemonSet) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -319,6 +322,7 @@ func SetObjectDefaults_Deployment(in *v1beta2.Deployment) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -367,6 +371,7 @@ func SetObjectDefaults_Deployment(in *v1beta2.Deployment) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -414,6 +419,7 @@ func SetObjectDefaults_Deployment(in *v1beta2.Deployment) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -526,6 +532,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta2.ReplicaSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -574,6 +581,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta2.ReplicaSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -621,6 +629,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta2.ReplicaSet) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -733,6 +742,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta2.StatefulSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -781,6 +791,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta2.StatefulSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -828,6 +839,7 @@ func SetObjectDefaults_StatefulSet(in *v1beta2.StatefulSet) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/batch/v1/zz_generated.defaults.go b/pkg/apis/batch/v1/zz_generated.defaults.go index b15d39cdb028e..22d1f7869c7ac 100644 --- a/pkg/apis/batch/v1/zz_generated.defaults.go +++ b/pkg/apis/batch/v1/zz_generated.defaults.go @@ -106,6 +106,7 @@ func SetObjectDefaults_Job(in *v1.Job) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -154,6 +155,7 @@ func SetObjectDefaults_Job(in *v1.Job) { } corev1.SetDefaults_ResourceList(&a.Resources.Limits) corev1.SetDefaults_ResourceList(&a.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { corev1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -201,6 +203,7 @@ func SetObjectDefaults_Job(in *v1.Job) { } corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + corev1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { corev1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/batch/v1beta1/zz_generated.defaults.go b/pkg/apis/batch/v1beta1/zz_generated.defaults.go index 8a0c09b9a074d..0bf30da806f67 100644 --- a/pkg/apis/batch/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/batch/v1beta1/zz_generated.defaults.go @@ -107,6 +107,7 @@ func SetObjectDefaults_CronJob(in *v1beta1.CronJob) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -155,6 +156,7 @@ func SetObjectDefaults_CronJob(in *v1beta1.CronJob) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -202,6 +204,7 @@ func SetObjectDefaults_CronJob(in *v1beta1.CronJob) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -313,6 +316,7 @@ func SetObjectDefaults_JobTemplate(in *v1beta1.JobTemplate) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -361,6 +365,7 @@ func SetObjectDefaults_JobTemplate(in *v1beta1.JobTemplate) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -408,6 +413,7 @@ func SetObjectDefaults_JobTemplate(in *v1beta1.JobTemplate) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/batch/v2alpha1/zz_generated.defaults.go b/pkg/apis/batch/v2alpha1/zz_generated.defaults.go index e69b3db143603..b376a6e35cee1 100644 --- a/pkg/apis/batch/v2alpha1/zz_generated.defaults.go +++ b/pkg/apis/batch/v2alpha1/zz_generated.defaults.go @@ -107,6 +107,7 @@ func SetObjectDefaults_CronJob(in *v2alpha1.CronJob) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -155,6 +156,7 @@ func SetObjectDefaults_CronJob(in *v2alpha1.CronJob) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -202,6 +204,7 @@ func SetObjectDefaults_CronJob(in *v2alpha1.CronJob) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -313,6 +316,7 @@ func SetObjectDefaults_JobTemplate(in *v2alpha1.JobTemplate) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -361,6 +365,7 @@ func SetObjectDefaults_JobTemplate(in *v2alpha1.JobTemplate) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -408,6 +413,7 @@ func SetObjectDefaults_JobTemplate(in *v2alpha1.JobTemplate) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index ce97932cc79ea..d90a445368cc7 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -1966,6 +1966,33 @@ const ( PullIfNotPresent PullPolicy = "IfNotPresent" ) +// ContainerResizePolicy specifies user guidance on how container resource resize should be handled. +// Only one of the following container resize policies may be specified. +// If none of the following policies is specified, it defaults to NoRestart. +type ContainerResizePolicy string + +// These are the valid container resize policies: +// NoRestart policy tells Kubelet to call UpdateContainerResources CRI API to resize +// the resources without restarting the container, if possible. This is the default behavior. +// RestartContainer policy tells Kubelet to stop and start the container with when +// new resources are applied. This is needed for legacy applications e.g. java apps +// using -xmxN flag which are unable to use the resized memory without restarting. +const ( + // Resize the container in-place without restarting it. + NoRestart ContainerResizePolicy = "NoRestart" + // Resize the container in-place by restarting it after resize. + RestartContainer ContainerResizePolicy = "RestartContainer" +) + +// ResizePolicy represents the resource resize policy for a single container. +type ResizePolicy struct { + // Name of the resource type to which this resize policy applies. + // Supported values: cpu, memory. + ResourceName ResourceName + // Container resize policy applicable to the above resource. + Policy ContainerResizePolicy +} + // PreemptionPolicy describes a policy for if/when to preempt a pod. type PreemptionPolicy string @@ -2053,6 +2080,12 @@ type Container struct { // Compute resource requirements. // +optional Resources ResourceRequirements + // Node compute resources allocated to the container. + // +optional + ResourcesAllocated ResourceList + // Resources resize policy for the container. + // +optional + ResizePolicy []ResizePolicy // +optional VolumeMounts []VolumeMount // volumeDevices is the list of block devices to be used by the container. @@ -2203,6 +2236,9 @@ type ContainerStatus struct { // +optional ContainerID string Started *bool + // Compute resource requests and limits applied to the container. + // +optional + Resources ResourceRequirements } // PodPhase is a label for the condition of a pod at the current time. @@ -2993,6 +3029,12 @@ type EphemeralContainerCommon struct { // already allocated to the pod. // +optional Resources ResourceRequirements + // Node compute resources are not allocated for ephemeral containers, they use spare resources. + // +optional + ResourcesAllocated ResourceList + // Resources resize policy is not applicable to ephemeral containers. + // +optional + ResizePolicy []ResizePolicy // +optional VolumeMounts []VolumeMount // volumeDevices is the list of block devices to be used by the container. diff --git a/pkg/apis/core/v1/zz_generated.conversion.go b/pkg/apis/core/v1/zz_generated.conversion.go index e0935600e7eec..1c16a1accdee9 100644 --- a/pkg/apis/core/v1/zz_generated.conversion.go +++ b/pkg/apis/core/v1/zz_generated.conversion.go @@ -1511,6 +1511,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*v1.ResizePolicy)(nil), (*core.ResizePolicy)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1_ResizePolicy_To_core_ResizePolicy(a.(*v1.ResizePolicy), b.(*core.ResizePolicy), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*core.ResizePolicy)(nil), (*v1.ResizePolicy)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_core_ResizePolicy_To_v1_ResizePolicy(a.(*core.ResizePolicy), b.(*v1.ResizePolicy), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*v1.ResourceFieldSelector)(nil), (*core.ResourceFieldSelector)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1_ResourceFieldSelector_To_core_ResourceFieldSelector(a.(*v1.ResourceFieldSelector), b.(*core.ResourceFieldSelector), scope) }); err != nil { @@ -2840,6 +2850,8 @@ func autoConvert_v1_Container_To_core_Container(in *v1.Container, out *core.Cont if err := Convert_v1_ResourceRequirements_To_core_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { return err } + out.ResourcesAllocated = *(*core.ResourceList)(unsafe.Pointer(&in.ResourcesAllocated)) + out.ResizePolicy = *(*[]core.ResizePolicy)(unsafe.Pointer(&in.ResizePolicy)) out.VolumeMounts = *(*[]core.VolumeMount)(unsafe.Pointer(&in.VolumeMounts)) out.VolumeDevices = *(*[]core.VolumeDevice)(unsafe.Pointer(&in.VolumeDevices)) out.LivenessProbe = (*core.Probe)(unsafe.Pointer(in.LivenessProbe)) @@ -2873,6 +2885,8 @@ func autoConvert_core_Container_To_v1_Container(in *core.Container, out *v1.Cont if err := Convert_core_ResourceRequirements_To_v1_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { return err } + out.ResourcesAllocated = *(*v1.ResourceList)(unsafe.Pointer(&in.ResourcesAllocated)) + out.ResizePolicy = *(*[]v1.ResizePolicy)(unsafe.Pointer(&in.ResizePolicy)) out.VolumeMounts = *(*[]v1.VolumeMount)(unsafe.Pointer(&in.VolumeMounts)) out.VolumeDevices = *(*[]v1.VolumeDevice)(unsafe.Pointer(&in.VolumeDevices)) out.LivenessProbe = (*v1.Probe)(unsafe.Pointer(in.LivenessProbe)) @@ -3056,6 +3070,9 @@ func autoConvert_v1_ContainerStatus_To_core_ContainerStatus(in *v1.ContainerStat out.ImageID = in.ImageID out.ContainerID = in.ContainerID out.Started = (*bool)(unsafe.Pointer(in.Started)) + if err := Convert_v1_ResourceRequirements_To_core_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { + return err + } return nil } @@ -3078,6 +3095,9 @@ func autoConvert_core_ContainerStatus_To_v1_ContainerStatus(in *core.ContainerSt out.ImageID = in.ImageID out.ContainerID = in.ContainerID out.Started = (*bool)(unsafe.Pointer(in.Started)) + if err := Convert_core_ResourceRequirements_To_v1_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { + return err + } return nil } @@ -3428,6 +3448,8 @@ func autoConvert_v1_EphemeralContainerCommon_To_core_EphemeralContainerCommon(in if err := Convert_v1_ResourceRequirements_To_core_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { return err } + out.ResourcesAllocated = *(*core.ResourceList)(unsafe.Pointer(&in.ResourcesAllocated)) + out.ResizePolicy = *(*[]core.ResizePolicy)(unsafe.Pointer(&in.ResizePolicy)) out.VolumeMounts = *(*[]core.VolumeMount)(unsafe.Pointer(&in.VolumeMounts)) out.VolumeDevices = *(*[]core.VolumeDevice)(unsafe.Pointer(&in.VolumeDevices)) out.LivenessProbe = (*core.Probe)(unsafe.Pointer(in.LivenessProbe)) @@ -3461,6 +3483,8 @@ func autoConvert_core_EphemeralContainerCommon_To_v1_EphemeralContainerCommon(in if err := Convert_core_ResourceRequirements_To_v1_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { return err } + out.ResourcesAllocated = *(*v1.ResourceList)(unsafe.Pointer(&in.ResourcesAllocated)) + out.ResizePolicy = *(*[]v1.ResizePolicy)(unsafe.Pointer(&in.ResizePolicy)) out.VolumeMounts = *(*[]v1.VolumeMount)(unsafe.Pointer(&in.VolumeMounts)) out.VolumeDevices = *(*[]v1.VolumeDevice)(unsafe.Pointer(&in.VolumeDevices)) out.LivenessProbe = (*v1.Probe)(unsafe.Pointer(in.LivenessProbe)) @@ -6708,6 +6732,28 @@ func Convert_core_ReplicationControllerStatus_To_v1_ReplicationControllerStatus( return autoConvert_core_ReplicationControllerStatus_To_v1_ReplicationControllerStatus(in, out, s) } +func autoConvert_v1_ResizePolicy_To_core_ResizePolicy(in *v1.ResizePolicy, out *core.ResizePolicy, s conversion.Scope) error { + out.ResourceName = core.ResourceName(in.ResourceName) + out.Policy = core.ContainerResizePolicy(in.Policy) + return nil +} + +// Convert_v1_ResizePolicy_To_core_ResizePolicy is an autogenerated conversion function. +func Convert_v1_ResizePolicy_To_core_ResizePolicy(in *v1.ResizePolicy, out *core.ResizePolicy, s conversion.Scope) error { + return autoConvert_v1_ResizePolicy_To_core_ResizePolicy(in, out, s) +} + +func autoConvert_core_ResizePolicy_To_v1_ResizePolicy(in *core.ResizePolicy, out *v1.ResizePolicy, s conversion.Scope) error { + out.ResourceName = v1.ResourceName(in.ResourceName) + out.Policy = v1.ContainerResizePolicy(in.Policy) + return nil +} + +// Convert_core_ResizePolicy_To_v1_ResizePolicy is an autogenerated conversion function. +func Convert_core_ResizePolicy_To_v1_ResizePolicy(in *core.ResizePolicy, out *v1.ResizePolicy, s conversion.Scope) error { + return autoConvert_core_ResizePolicy_To_v1_ResizePolicy(in, out, s) +} + func autoConvert_v1_ResourceFieldSelector_To_core_ResourceFieldSelector(in *v1.ResourceFieldSelector, out *core.ResourceFieldSelector, s conversion.Scope) error { out.ContainerName = in.ContainerName out.Resource = in.Resource diff --git a/pkg/apis/core/v1/zz_generated.defaults.go b/pkg/apis/core/v1/zz_generated.defaults.go index 05867995ab1b5..1a72b4a99cfe3 100644 --- a/pkg/apis/core/v1/zz_generated.defaults.go +++ b/pkg/apis/core/v1/zz_generated.defaults.go @@ -48,6 +48,7 @@ func RegisterDefaults(scheme *runtime.Scheme) error { scheme.AddTypeDefaultingFunc(&v1.PersistentVolumeList{}, func(obj interface{}) { SetObjectDefaults_PersistentVolumeList(obj.(*v1.PersistentVolumeList)) }) scheme.AddTypeDefaultingFunc(&v1.Pod{}, func(obj interface{}) { SetObjectDefaults_Pod(obj.(*v1.Pod)) }) scheme.AddTypeDefaultingFunc(&v1.PodList{}, func(obj interface{}) { SetObjectDefaults_PodList(obj.(*v1.PodList)) }) + scheme.AddTypeDefaultingFunc(&v1.PodStatusResult{}, func(obj interface{}) { SetObjectDefaults_PodStatusResult(obj.(*v1.PodStatusResult)) }) scheme.AddTypeDefaultingFunc(&v1.PodTemplate{}, func(obj interface{}) { SetObjectDefaults_PodTemplate(obj.(*v1.PodTemplate)) }) scheme.AddTypeDefaultingFunc(&v1.PodTemplateList{}, func(obj interface{}) { SetObjectDefaults_PodTemplateList(obj.(*v1.PodTemplateList)) }) scheme.AddTypeDefaultingFunc(&v1.ReplicationController{}, func(obj interface{}) { SetObjectDefaults_ReplicationController(obj.(*v1.ReplicationController)) }) @@ -102,6 +103,7 @@ func SetObjectDefaults_EphemeralContainers(in *v1.EphemeralContainers) { } SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -290,6 +292,7 @@ func SetObjectDefaults_Pod(in *v1.Pod) { } SetDefaults_ResourceList(&a.Resources.Limits) SetDefaults_ResourceList(&a.Resources.Requests) + SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -338,6 +341,7 @@ func SetObjectDefaults_Pod(in *v1.Pod) { } SetDefaults_ResourceList(&a.Resources.Limits) SetDefaults_ResourceList(&a.Resources.Requests) + SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -385,6 +389,7 @@ func SetObjectDefaults_Pod(in *v1.Pod) { } SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -417,6 +422,21 @@ func SetObjectDefaults_Pod(in *v1.Pod) { } } SetDefaults_ResourceList(&in.Spec.Overhead) + for i := range in.Status.InitContainerStatuses { + a := &in.Status.InitContainerStatuses[i] + SetDefaults_ResourceList(&a.Resources.Limits) + SetDefaults_ResourceList(&a.Resources.Requests) + } + for i := range in.Status.ContainerStatuses { + a := &in.Status.ContainerStatuses[i] + SetDefaults_ResourceList(&a.Resources.Limits) + SetDefaults_ResourceList(&a.Resources.Requests) + } + for i := range in.Status.EphemeralContainerStatuses { + a := &in.Status.EphemeralContainerStatuses[i] + SetDefaults_ResourceList(&a.Resources.Limits) + SetDefaults_ResourceList(&a.Resources.Requests) + } } func SetObjectDefaults_PodList(in *v1.PodList) { @@ -426,6 +446,24 @@ func SetObjectDefaults_PodList(in *v1.PodList) { } } +func SetObjectDefaults_PodStatusResult(in *v1.PodStatusResult) { + for i := range in.Status.InitContainerStatuses { + a := &in.Status.InitContainerStatuses[i] + SetDefaults_ResourceList(&a.Resources.Limits) + SetDefaults_ResourceList(&a.Resources.Requests) + } + for i := range in.Status.ContainerStatuses { + a := &in.Status.ContainerStatuses[i] + SetDefaults_ResourceList(&a.Resources.Limits) + SetDefaults_ResourceList(&a.Resources.Requests) + } + for i := range in.Status.EphemeralContainerStatuses { + a := &in.Status.EphemeralContainerStatuses[i] + SetDefaults_ResourceList(&a.Resources.Limits) + SetDefaults_ResourceList(&a.Resources.Requests) + } +} + func SetObjectDefaults_PodTemplate(in *v1.PodTemplate) { SetDefaults_PodSpec(&in.Template.Spec) for i := range in.Template.Spec.Volumes { @@ -496,6 +534,7 @@ func SetObjectDefaults_PodTemplate(in *v1.PodTemplate) { } SetDefaults_ResourceList(&a.Resources.Limits) SetDefaults_ResourceList(&a.Resources.Requests) + SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -544,6 +583,7 @@ func SetObjectDefaults_PodTemplate(in *v1.PodTemplate) { } SetDefaults_ResourceList(&a.Resources.Limits) SetDefaults_ResourceList(&a.Resources.Requests) + SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -591,6 +631,7 @@ func SetObjectDefaults_PodTemplate(in *v1.PodTemplate) { } SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -704,6 +745,7 @@ func SetObjectDefaults_ReplicationController(in *v1.ReplicationController) { } SetDefaults_ResourceList(&a.Resources.Limits) SetDefaults_ResourceList(&a.Resources.Requests) + SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -752,6 +794,7 @@ func SetObjectDefaults_ReplicationController(in *v1.ReplicationController) { } SetDefaults_ResourceList(&a.Resources.Limits) SetDefaults_ResourceList(&a.Resources.Requests) + SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -799,6 +842,7 @@ func SetObjectDefaults_ReplicationController(in *v1.ReplicationController) { } SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/apis/core/validation/BUILD b/pkg/apis/core/validation/BUILD index 4c2378e0a16ed..64836697e402f 100644 --- a/pkg/apis/core/validation/BUILD +++ b/pkg/apis/core/validation/BUILD @@ -18,6 +18,7 @@ go_library( "//pkg/api/service:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/apis/core/helper:go_default_library", + "//pkg/apis/core/helper/qos:go_default_library", "//pkg/apis/core/pods:go_default_library", "//pkg/apis/core/v1:go_default_library", "//pkg/apis/core/v1/helper:go_default_library", diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index e447b8b0ad5b2..73d238738a318 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -47,6 +47,7 @@ import ( apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/apis/core/helper" + "k8s.io/kubernetes/pkg/apis/core/helper/qos" podshelper "k8s.io/kubernetes/pkg/apis/core/pods" corev1 "k8s.io/kubernetes/pkg/apis/core/v1" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" @@ -2604,6 +2605,37 @@ func validatePullPolicy(policy core.PullPolicy, fldPath *field.Path) field.Error return allErrors } +var supportedResizeResources = sets.NewString(string(core.ResourceCPU), string(core.ResourceMemory)) +var supportedResizePolicies = sets.NewString(string(core.NoRestart), string(core.RestartContainer)) + +func validateResizePolicy(policyList []core.ResizePolicy, fldPath *field.Path) field.ErrorList { + allErrors := field.ErrorList{} + + // validate that resource name is not repeated, supported resource names and policy values are specified + resources := make(map[core.ResourceName]bool) + for i, p := range policyList { + if _, found := resources[p.ResourceName]; found { + allErrors = append(allErrors, field.Duplicate(fldPath.Index(i), p.ResourceName)) + } + resources[p.ResourceName] = true + switch p.ResourceName { + case core.ResourceCPU, core.ResourceMemory: + case "": + allErrors = append(allErrors, field.Required(fldPath, "")) + default: + allErrors = append(allErrors, field.NotSupported(fldPath, p.ResourceName, supportedResizeResources.List())) + } + switch p.Policy { + case core.NoRestart, core.RestartContainer: + case "": + allErrors = append(allErrors, field.Required(fldPath, "")) + default: + allErrors = append(allErrors, field.NotSupported(fldPath, p.Policy, supportedResizePolicies.List())) + } + } + return allErrors +} + func validateEphemeralContainers(ephemeralContainers []core.EphemeralContainer, containers, initContainers []core.Container, volumes map[string]core.VolumeSource, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} @@ -2762,6 +2794,7 @@ func validateContainers(containers []core.Container, isInitContainers bool, volu allErrs = append(allErrs, ValidateVolumeDevices(ctr.VolumeDevices, volMounts, volumes, idxPath.Child("volumeDevices"))...) allErrs = append(allErrs, validatePullPolicy(ctr.ImagePullPolicy, idxPath.Child("imagePullPolicy"))...) allErrs = append(allErrs, ValidateResourceRequirements(&ctr.Resources, idxPath.Child("resources"))...) + allErrs = append(allErrs, validateResizePolicy(ctr.ResizePolicy, idxPath.Child("resizePolicy"))...) allErrs = append(allErrs, ValidateSecurityContext(ctr.SecurityContext, idxPath.Child("securityContext"))...) } @@ -3727,6 +3760,12 @@ func ValidatePodCreate(pod *core.Pod, opts PodValidationOptions) field.ErrorList // ValidatePodUpdate tests to see if the update is legal for an end user to make. newPod is updated with fields // that cannot be changed. func ValidatePodUpdate(newPod, oldPod *core.Pod, opts PodValidationOptions) field.ErrorList { + updatableSpecFields := []string{ + "`spec.containers[*].image`", + "`spec.initContainers[*].image`", + "`spec.activeDeadlineSeconds`", + "`spec.tolerations` (only additions to existing tolerations)", + } fldPath := field.NewPath("metadata") allErrs := ValidateObjectMetaUpdate(&newPod.ObjectMeta, &oldPod.ObjectMeta, fldPath) allErrs = append(allErrs, validatePodMetadataAndSpec(newPod, opts)...) @@ -3773,12 +3812,51 @@ func ValidatePodUpdate(newPod, oldPod *core.Pod, opts PodValidationOptions) fiel allErrs = append(allErrs, field.Invalid(specPath.Child("activeDeadlineSeconds"), newPod.Spec.ActiveDeadlineSeconds, "must not update from a positive integer to nil value")) } + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + // reject attempts to change pod qos + oldQoS := qos.GetPodQOS(oldPod) + newQoS := qos.GetPodQOS(newPod) + if newQoS != oldQoS { + allErrs = append(allErrs, field.Invalid(fldPath, newQoS, "Pod QoS is immutable")) + } + } + // handle updateable fields by munging those fields prior to deep equal comparison. mungedPod := *newPod // munge spec.containers[*].image var newContainers []core.Container for ix, container := range mungedPod.Spec.Containers { container.Image = oldPod.Spec.Containers[ix].Image + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + updatableSpecFields = append(updatableSpecFields, "`spec.containers[*].resourcesAllocated` (for CPU/memory only)") + // Resources and ResourcesAllocated fields are mutable (for CPU & memory only) + // - user can modify Resources to express new desired Resources + // - node can modify ResourcesAllocated to update Pod's allocated resources + mungeCpuMemResources := func(resourceList, oldResourceList core.ResourceList) core.ResourceList { + var mungedResourceList core.ResourceList + if oldResourceList != nil { + if resourceList != nil { + mungedResourceList = resourceList.DeepCopy() + } else { + mungedResourceList = make(core.ResourceList) + } + delete(mungedResourceList, core.ResourceCPU) + delete(mungedResourceList, core.ResourceMemory) + if cpu, found := oldResourceList[core.ResourceCPU]; found { + mungedResourceList[core.ResourceCPU] = cpu + } + if mem, found := oldResourceList[core.ResourceMemory]; found { + mungedResourceList[core.ResourceMemory] = mem + } + } + return mungedResourceList + } + lim := mungeCpuMemResources(container.Resources.Limits, oldPod.Spec.Containers[ix].Resources.Limits) + req := mungeCpuMemResources(container.Resources.Requests, oldPod.Spec.Containers[ix].Resources.Requests) + alloc := mungeCpuMemResources(container.ResourcesAllocated, oldPod.Spec.Containers[ix].ResourcesAllocated) + container.Resources = core.ResourceRequirements{Limits: lim, Requests: req} + container.ResourcesAllocated = alloc + } newContainers = append(newContainers, container) } mungedPod.Spec.Containers = newContainers @@ -3804,7 +3882,7 @@ func ValidatePodUpdate(newPod, oldPod *core.Pod, opts PodValidationOptions) fiel // This diff isn't perfect, but it's a helluva lot better an "I'm not going to tell you what the difference is". //TODO: Pinpoint the specific field that causes the invalid error after we have strategic merge diff specDiff := diff.ObjectDiff(mungedPod.Spec, oldPod.Spec) - allErrs = append(allErrs, field.Forbidden(specPath, fmt.Sprintf("pod updates may not change fields other than `spec.containers[*].image`, `spec.initContainers[*].image`, `spec.activeDeadlineSeconds` or `spec.tolerations` (only additions to existing tolerations)\n%v", specDiff))) + allErrs = append(allErrs, field.Forbidden(specPath, fmt.Sprintf("pod updates may not change fields other than %s\n%v", strings.Join(updatableSpecFields, ","), specDiff))) } return allErrs diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index 26e82c13f04e4..3dfb163fe2609 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -5510,10 +5510,102 @@ func TestValidatePullPolicy(t *testing.T) { } } -func getResourceLimits(cpu, memory string) core.ResourceList { +func TestValidateResizePolicy(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + type T struct { + PolicyList []core.ResizePolicy + ExpectError bool + } + testCases := map[string]T{ + "ValidCPUandMemoryPolicies": { + []core.ResizePolicy{ + {ResourceName: "cpu", Policy: "NoRestart"}, + {ResourceName: "memory", Policy: "RestartContainer"}, + }, + false, + }, + "ValidCPUPolicy": { + []core.ResizePolicy{ + {ResourceName: "cpu", Policy: "RestartContainer"}, + }, + false, + }, + "ValidMemoryPolicy": { + []core.ResizePolicy{ + {ResourceName: "memory", Policy: "NoRestart"}, + }, + false, + }, + "NoPolicy": { + []core.ResizePolicy{}, + false, + }, + "ValidCPUandInvalidMemoryPolicy": { + []core.ResizePolicy{ + {ResourceName: "cpu", Policy: "NoRestart"}, + {ResourceName: "memory", Policy: "RestartContainerrr"}, + }, + true, + }, + "ValidMemoryandInvalidCPUPolicy": { + []core.ResizePolicy{ + {ResourceName: "cpu", Policy: "NoRestarttt"}, + {ResourceName: "memory", Policy: "RestartContainer"}, + }, + true, + }, + "InvalidResourceNameValidPolicy": { + []core.ResizePolicy{ + {ResourceName: "cpuuu", Policy: "NoRestart"}, + }, + true, + }, + "ValidResourceNameMissingPolicy": { + []core.ResizePolicy{ + {ResourceName: "memory", Policy: ""}, + }, + true, + }, + "RepeatedPolicies": { + []core.ResizePolicy{ + {ResourceName: "cpu", Policy: "NoRestart"}, + {ResourceName: "memory", Policy: "RestartContainer"}, + {ResourceName: "cpu", Policy: "RestartContainer"}, + }, + true, + }, + } + for k, v := range testCases { + errs := validateResizePolicy(v.PolicyList, field.NewPath("field")) + if !v.ExpectError && len(errs) > 0 { + t.Errorf("Testcase %s - expected success, got error: %+v", k, errs) + } + if v.ExpectError && len(errs) == 0 { + t.Errorf("Testcase %s - expected error, got success", k) + } + } +} + +func getResourceLimits(resTypes ...string) core.ResourceList { res := core.ResourceList{} - res[core.ResourceCPU] = resource.MustParse(cpu) - res[core.ResourceMemory] = resource.MustParse(memory) + switch len(resTypes) { + case 3: + if resTypes[2] != "" { + res[core.ResourceEphemeralStorage] = resource.MustParse(resTypes[2]) + } + fallthrough + case 2: + if resTypes[1] != "" { + res[core.ResourceMemory] = resource.MustParse(resTypes[1]) + } + fallthrough + case 1: + if resTypes[0] != "" { + res[core.ResourceCPU] = resource.MustParse(resTypes[0]) + } + fallthrough + default: + } return res } @@ -8287,6 +8379,7 @@ func TestValidatePod(t *testing.T) { } func TestValidatePodUpdate(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() var ( activeDeadlineSecondsZero = int64(0) activeDeadlineSecondsNegative = int64(-30) @@ -8741,33 +8834,682 @@ func TestValidatePodUpdate(t *testing.T) { }, { core.Pod{ - ObjectMeta: metav1.ObjectMeta{Name: "foo"}, + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, Spec: core.PodSpec{ Containers: []core.Container{ { - Image: "foo:V1", + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", Resources: core.ResourceRequirements{ - Limits: getResourceLimits("100m", "0"), + Limits: getResourceLimits("200m", "0", "1Gi"), }, }, }, }, }, core.Pod{ - ObjectMeta: metav1.ObjectMeta{Name: "foo"}, + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, Spec: core.PodSpec{ Containers: []core.Container{ { - Image: "foo:V2", + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", Resources: core.ResourceRequirements{ - Limits: getResourceLimits("1000m", "0"), + Limits: getResourceLimits("100m", "0", "1Gi"), }, }, }, }, }, - "spec: Forbidden: pod updates may not change fields", - "cpu change", + "", + "cpu limit change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "200Mi"), + }, + }, + }, + }, + }, + "", + "memory limit change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "100Mi", "1Gi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "100Mi", "2Gi"), + }, + }, + }, + }, + }, + "Forbidden: pod updates may not change fields other than", + "storage limit change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("100m", "0"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("200m", "0"), + }, + }, + }, + }, + }, + "", + "cpu request change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("0", "200Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("0", "100Mi"), + }, + }, + }, + }, + }, + "", + "memory request change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("100m", "0", "2Gi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("100m", "0", "1Gi"), + }, + }, + }, + }, + }, + "Forbidden: pod updates may not change fields other than", + "storage request change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + ResourcesAllocated: getResourceLimits("100m", "0"), + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + ResourcesAllocated: getResourceLimits("200m", "0"), + }, + }, + }, + }, + "", + "cpu resource allocation change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + ResourcesAllocated: getResourceLimits("0", "200Mi"), + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + ResourcesAllocated: getResourceLimits("0", "100Mi"), + }, + }, + }, + }, + "", + "memory resource allocation change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + ResourcesAllocated: getResourceLimits("100m", "0", "1Gi"), + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + ResourcesAllocated: getResourceLimits("200m", "0", "2Gi"), + }, + }, + }, + }, + "Forbidden: pod updates may not change fields other than", + "storage resource allocation change", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "400Mi", "1Gi"), + Requests: getResourceLimits("200m", "400Mi", "1Gi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "100Mi", "1Gi"), + Requests: getResourceLimits("100m", "100Mi", "1Gi"), + }, + }, + }, + }, + }, + "", + "Pod QoS unchanged, guaranteed -> guaranteed", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "200Mi", "2Gi"), + Requests: getResourceLimits("100m", "100Mi", "1Gi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V1", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("400m", "400Mi", "2Gi"), + Requests: getResourceLimits("200m", "200Mi", "1Gi"), + }, + }, + }, + }, + }, + "", + "Pod QoS unchanged, burstable -> burstable", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "200Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + "", + "Pod QoS unchanged, burstable -> burstable, add limits", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "200Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + "", + "Pod QoS unchanged, burstable -> burstable, remove limits", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("400m", "", "1Gi"), + Requests: getResourceLimits("300m", "", "1Gi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "500Mi", "1Gi"), + }, + }, + }, + }, + }, + "", + "Pod QoS unchanged, burstable -> burstable, add requests", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("400m", "500Mi", "2Gi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "300Mi", "2Gi"), + Requests: getResourceLimits("100m", "200Mi"), + }, + }, + }, + }, + }, + "", + "Pod QoS unchanged, burstable -> burstable, remove requests", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "200Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "100Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + "Pod QoS is immutable", + "Pod QoS change, guaranteed -> burstable", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("100m", "100Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + "Pod QoS is immutable", + "Pod QoS change, burstable -> guaranteed", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "200Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + }, + }, + }, + }, + "Pod QoS is immutable", + "Pod QoS change, besteffort -> burstable", + }, + { + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + }, + }, + }, + }, + core.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod"}, + Spec: core.PodSpec{ + Containers: []core.Container{ + { + Name: "container", + TerminationMessagePolicy: "File", + ImagePullPolicy: "Always", + Image: "foo:V2", + Resources: core.ResourceRequirements{ + Limits: getResourceLimits("200m", "200Mi"), + Requests: getResourceLimits("100m", "100Mi"), + }, + }, + }, + }, + }, + "Pod QoS is immutable", + "Pod QoS change, burstable -> besteffort", }, { core.Pod{ diff --git a/pkg/apis/core/zz_generated.deepcopy.go b/pkg/apis/core/zz_generated.deepcopy.go index cfb41f3c9f4d5..6bbf49d14eb01 100644 --- a/pkg/apis/core/zz_generated.deepcopy.go +++ b/pkg/apis/core/zz_generated.deepcopy.go @@ -756,6 +756,18 @@ func (in *Container) DeepCopyInto(out *Container) { } } in.Resources.DeepCopyInto(&out.Resources) + if in.ResourcesAllocated != nil { + in, out := &in.ResourcesAllocated, &out.ResourcesAllocated + *out = make(ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.ResizePolicy != nil { + in, out := &in.ResizePolicy, &out.ResizePolicy + *out = make([]ResizePolicy, len(*in)) + copy(*out, *in) + } if in.VolumeMounts != nil { in, out := &in.VolumeMounts, &out.VolumeMounts *out = make([]VolumeMount, len(*in)) @@ -935,6 +947,7 @@ func (in *ContainerStatus) DeepCopyInto(out *ContainerStatus) { *out = new(bool) **out = **in } + in.Resources.DeepCopyInto(&out.Resources) return } @@ -1350,6 +1363,18 @@ func (in *EphemeralContainerCommon) DeepCopyInto(out *EphemeralContainerCommon) } } in.Resources.DeepCopyInto(&out.Resources) + if in.ResourcesAllocated != nil { + in, out := &in.ResourcesAllocated, &out.ResourcesAllocated + *out = make(ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.ResizePolicy != nil { + in, out := &in.ResizePolicy, &out.ResizePolicy + *out = make([]ResizePolicy, len(*in)) + copy(*out, *in) + } if in.VolumeMounts != nil { in, out := &in.VolumeMounts, &out.VolumeMounts *out = make([]VolumeMount, len(*in)) @@ -4382,6 +4407,22 @@ func (in *ReplicationControllerStatus) DeepCopy() *ReplicationControllerStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResizePolicy) DeepCopyInto(out *ResizePolicy) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResizePolicy. +func (in *ResizePolicy) DeepCopy() *ResizePolicy { + if in == nil { + return nil + } + out := new(ResizePolicy) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ResourceFieldSelector) DeepCopyInto(out *ResourceFieldSelector) { *out = *in diff --git a/pkg/apis/extensions/v1beta1/zz_generated.defaults.go b/pkg/apis/extensions/v1beta1/zz_generated.defaults.go index e03958755b095..8a33a83943531 100644 --- a/pkg/apis/extensions/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/extensions/v1beta1/zz_generated.defaults.go @@ -116,6 +116,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta1.DaemonSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -164,6 +165,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta1.DaemonSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -211,6 +213,7 @@ func SetObjectDefaults_DaemonSet(in *v1beta1.DaemonSet) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -323,6 +326,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -371,6 +375,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -418,6 +423,7 @@ func SetObjectDefaults_Deployment(in *v1beta1.Deployment) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { @@ -571,6 +577,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta1.ReplicaSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -619,6 +626,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta1.ReplicaSet) { } v1.SetDefaults_ResourceList(&a.Resources.Limits) v1.SetDefaults_ResourceList(&a.Resources.Requests) + v1.SetDefaults_ResourceList(&a.ResourcesAllocated) if a.LivenessProbe != nil { v1.SetDefaults_Probe(a.LivenessProbe) if a.LivenessProbe.Handler.HTTPGet != nil { @@ -666,6 +674,7 @@ func SetObjectDefaults_ReplicaSet(in *v1beta1.ReplicaSet) { } v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Limits) v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.Resources.Requests) + v1.SetDefaults_ResourceList(&a.EphemeralContainerCommon.ResourcesAllocated) if a.EphemeralContainerCommon.LivenessProbe != nil { v1.SetDefaults_Probe(a.EphemeralContainerCommon.LivenessProbe) if a.EphemeralContainerCommon.LivenessProbe.Handler.HTTPGet != nil { diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index b43393288f586..cceeae22b42a5 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -601,6 +601,12 @@ const ( // Allow setting the Fully Qualified Domain Name (FQDN) in the hostname of a Pod. If a Pod does not // have FQDN, this feature has no effect. SetHostnameAsFQDN featuregate.Feature = "SetHostnameAsFQDN" + + // owner: @vinaykul + // alpha: v1.19 + // + // Enables In-Place Pod Vertical Scaling + InPlacePodVerticalScaling featuregate.Feature = "InPlacePodVerticalScaling" ) func init() { @@ -693,6 +699,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS AnyVolumeDataSource: {Default: false, PreRelease: featuregate.Alpha}, DefaultPodTopologySpread: {Default: false, PreRelease: featuregate.Alpha}, SetHostnameAsFQDN: {Default: false, PreRelease: featuregate.Alpha}, + InPlacePodVerticalScaling: {Default: false, PreRelease: featuregate.Alpha}, // inherited features from generic apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: diff --git a/pkg/kubeapiserver/options/BUILD b/pkg/kubeapiserver/options/BUILD index bd631e3270749..afd70483c9f74 100644 --- a/pkg/kubeapiserver/options/BUILD +++ b/pkg/kubeapiserver/options/BUILD @@ -40,6 +40,7 @@ go_library( "//plugin/pkg/admission/nodetaint:go_default_library", "//plugin/pkg/admission/podnodeselector:go_default_library", "//plugin/pkg/admission/podpreset:go_default_library", + "//plugin/pkg/admission/podresourceallocation:go_default_library", "//plugin/pkg/admission/podtolerationrestriction:go_default_library", "//plugin/pkg/admission/priority:go_default_library", "//plugin/pkg/admission/resourcequota:go_default_library", diff --git a/pkg/kubeapiserver/options/plugins.go b/pkg/kubeapiserver/options/plugins.go index f3c60636d62b9..640d32e58a9c6 100644 --- a/pkg/kubeapiserver/options/plugins.go +++ b/pkg/kubeapiserver/options/plugins.go @@ -42,6 +42,7 @@ import ( "k8s.io/kubernetes/plugin/pkg/admission/nodetaint" "k8s.io/kubernetes/plugin/pkg/admission/podnodeselector" "k8s.io/kubernetes/plugin/pkg/admission/podpreset" + "k8s.io/kubernetes/plugin/pkg/admission/podresourceallocation" "k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction" podpriority "k8s.io/kubernetes/plugin/pkg/admission/priority" "k8s.io/kubernetes/plugin/pkg/admission/resourcequota" @@ -99,10 +100,11 @@ var AllOrderedPlugins = []string{ // new admission plugins should generally be inserted above here // webhook, resourcequota, and deny plugins must go at the end - mutatingwebhook.PluginName, // MutatingAdmissionWebhook - validatingwebhook.PluginName, // ValidatingAdmissionWebhook - resourcequota.PluginName, // ResourceQuota - deny.PluginName, // AlwaysDeny + mutatingwebhook.PluginName, // MutatingAdmissionWebhook + validatingwebhook.PluginName, // ValidatingAdmissionWebhook + podresourceallocation.PluginName, // PodResourceAllocation + resourcequota.PluginName, // ResourceQuota + deny.PluginName, // AlwaysDeny } // RegisterAllAdmissionPlugins registers all admission plugins and @@ -129,6 +131,7 @@ func RegisterAllAdmissionPlugins(plugins *admission.Plugins) { podpreset.Register(plugins) podtolerationrestriction.Register(plugins) runtimeclass.Register(plugins) + podresourceallocation.Register(plugins) resourcequota.Register(plugins) podsecuritypolicy.Register(plugins) podpriority.Register(plugins) @@ -153,6 +156,7 @@ func DefaultOffAdmissionPlugins() sets.String { defaulttolerationseconds.PluginName, //DefaultTolerationSeconds mutatingwebhook.PluginName, //MutatingAdmissionWebhook validatingwebhook.PluginName, //ValidatingAdmissionWebhook + podresourceallocation.PluginName, //PodResourceAllocation resourcequota.PluginName, //ResourceQuota storageobjectinuseprotection.PluginName, //StorageObjectInUseProtection podpriority.PluginName, //PodPriority diff --git a/pkg/kubeapiserver/options/plugins_test.go b/pkg/kubeapiserver/options/plugins_test.go index 5eb5c6c4a06a9..c4dad72fdebb8 100644 --- a/pkg/kubeapiserver/options/plugins_test.go +++ b/pkg/kubeapiserver/options/plugins_test.go @@ -24,7 +24,7 @@ import ( func TestAdmissionPluginOrder(t *testing.T) { // Ensure the last four admission plugins listed are webhooks, quota, and deny allplugins := strings.Join(AllOrderedPlugins, ",") - expectSuffix := ",MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,AlwaysDeny" + expectSuffix := ",MutatingAdmissionWebhook,ValidatingAdmissionWebhook,PodResourceAllocation,ResourceQuota,AlwaysDeny" if !strings.HasSuffix(allplugins, expectSuffix) { t.Fatalf("AllOrderedPlugins must end with ...%s", expectSuffix) } diff --git a/pkg/kubelet/BUILD b/pkg/kubelet/BUILD index a8d46311ea93a..32c2b503ee6ed 100644 --- a/pkg/kubelet/BUILD +++ b/pkg/kubelet/BUILD @@ -123,9 +123,11 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", diff --git a/pkg/kubelet/cm/BUILD b/pkg/kubelet/cm/BUILD index b1fd5530a27a8..75f2eb33a8296 100644 --- a/pkg/kubelet/cm/BUILD +++ b/pkg/kubelet/cm/BUILD @@ -71,6 +71,7 @@ go_library( "//vendor/github.com/opencontainers/runc/libcontainer/cgroups:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs2:go_default_library", + "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fscommon:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library", "//vendor/k8s.io/utils/io:go_default_library", @@ -123,6 +124,7 @@ go_library( "//vendor/github.com/opencontainers/runc/libcontainer/cgroups:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs2:go_default_library", + "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fscommon:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/systemd:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library", "//vendor/k8s.io/utils/io:go_default_library", diff --git a/pkg/kubelet/cm/cgroup_manager_linux.go b/pkg/kubelet/cm/cgroup_manager_linux.go index c7c7026da409e..179e651fec19c 100644 --- a/pkg/kubelet/cm/cgroup_manager_linux.go +++ b/pkg/kubelet/cm/cgroup_manager_linux.go @@ -22,6 +22,7 @@ import ( "os" "path" "path/filepath" + "strconv" "strings" "sync" "time" @@ -29,6 +30,7 @@ import ( libcontainercgroups "github.com/opencontainers/runc/libcontainer/cgroups" cgroupfs "github.com/opencontainers/runc/libcontainer/cgroups/fs" cgroupfs2 "github.com/opencontainers/runc/libcontainer/cgroups/fs2" + cgfscommon "github.com/opencontainers/runc/libcontainer/cgroups/fscommon" cgroupsystemd "github.com/opencontainers/runc/libcontainer/cgroups/systemd" libcontainerconfigs "github.com/opencontainers/runc/libcontainer/configs" "k8s.io/klog/v2" @@ -781,3 +783,82 @@ func (m *cgroupManagerImpl) GetResourceStats(name CgroupName) (*ResourceStats, e } return toResourceStats(stats), nil } + +// Get the memory limit in bytes applied to the cgroup +func (m *cgroupManagerImpl) GetCgroupMemoryConfig(name CgroupName) (uint64, error) { + cgroupPaths := m.buildCgroupPaths(name) + stats, err := getStatsSupportedSubsystems(cgroupPaths) + if err != nil { + return 0, fmt.Errorf("failed to get stats supported cgroup subsystems for cgroup %v: %v", name, err) + } + return stats.MemoryStats.Usage.Limit, nil +} + +// Get the cpu quota, cpu period, and cpu shares applied to the cgroup +func (m *cgroupManagerImpl) GetCgroupCpuConfig(name CgroupName) (int64, uint64, uint64, error) { + cgroupPaths := m.buildCgroupPaths(name) + cgroupCpuPath, found := cgroupPaths["cpu"] + if !found { + return 0, 0, 0, fmt.Errorf("failed to build CPU cgroup fs path for cgroup %v", name) + } + cpuQuotaStr, errQ := cgfscommon.GetCgroupParamString(cgroupCpuPath, "cpu.cfs_quota_us") + if errQ != nil { + return 0, 0, 0, fmt.Errorf("failed to read CPU quota for cgroup %v: %v", name, errQ) + } + cpuQuota, errInt := strconv.ParseInt(cpuQuotaStr, 10, 64) + if errInt != nil { + return 0, 0, 0, fmt.Errorf("failed to convert CPU quota as integer for cgroup %v: %v", name, errInt) + } + cpuPeriod, errP := cgfscommon.GetCgroupParamUint(cgroupCpuPath, "cpu.cfs_period_us") + if errP != nil { + return 0, 0, 0, fmt.Errorf("failed to read CPU period for cgroup %v: %v", name, errP) + } + cpuShares, errS := cgfscommon.GetCgroupParamUint(cgroupCpuPath, "cpu.shares") + if errP != nil { + return 0, 0, 0, fmt.Errorf("failed to read CPU shares for cgroup %v: %v", name, errS) + } + return cpuQuota, cpuPeriod, cpuShares, nil +} + +// Set the memory limit in bytes applied to the cgroup +func (m *cgroupManagerImpl) SetCgroupMemoryConfig(name CgroupName, memoryLimit int64) error { + cgroupPaths := m.buildCgroupPaths(name) + cgroupMemoryPath, found := cgroupPaths["memory"] + if !found { + return fmt.Errorf("failed to build memory cgroup fs path for cgroup %v", name) + } + memLimit := strconv.FormatInt(memoryLimit, 10) + if err := ioutil.WriteFile(filepath.Join(cgroupMemoryPath, "memory.limit_in_bytes"), []byte(memLimit), 0700); err != nil { + return fmt.Errorf("failed to write %v to %v: %v", memLimit, cgroupMemoryPath, err) + } + return nil +} + +// Set the cpu quota, cpu period, and cpu shares applied to the cgroup +func (m *cgroupManagerImpl) SetCgroupCpuConfig(name CgroupName, cpuQuota *int64, cpuPeriod, cpuShares *uint64) error { + var cpuQuotaStr, cpuPeriodStr, cpuSharesStr string + cgroupPaths := m.buildCgroupPaths(name) + cgroupCpuPath, found := cgroupPaths["cpu"] + if !found { + return fmt.Errorf("failed to build cpu cgroup fs path for cgroup %v", name) + } + if cpuQuota != nil { + cpuQuotaStr = strconv.FormatInt(*cpuQuota, 10) + if err := ioutil.WriteFile(filepath.Join(cgroupCpuPath, "cpu.cfs_quota_us"), []byte(cpuQuotaStr), 0700); err != nil { + return fmt.Errorf("failed to write %v to %v: %v", cpuQuotaStr, cgroupCpuPath, err) + } + } + if cpuPeriod != nil { + cpuPeriodStr = strconv.FormatUint(*cpuPeriod, 10) + if err := ioutil.WriteFile(filepath.Join(cgroupCpuPath, "cpu.cfs_period_us"), []byte(cpuPeriodStr), 0700); err != nil { + return fmt.Errorf("failed to write %v to %v: %v", cpuPeriodStr, cgroupCpuPath, err) + } + } + if cpuShares != nil { + cpuSharesStr = strconv.FormatUint(*cpuShares, 10) + if err := ioutil.WriteFile(filepath.Join(cgroupCpuPath, "cpu.shares"), []byte(cpuSharesStr), 0700); err != nil { + return fmt.Errorf("failed to write %v to %v: %v", cpuSharesStr, cgroupCpuPath, err) + } + } + return nil +} diff --git a/pkg/kubelet/cm/cgroup_manager_unsupported.go b/pkg/kubelet/cm/cgroup_manager_unsupported.go index e8aaf2d2ba468..8eb2d8df02ff6 100644 --- a/pkg/kubelet/cm/cgroup_manager_unsupported.go +++ b/pkg/kubelet/cm/cgroup_manager_unsupported.go @@ -70,6 +70,22 @@ func (m *unsupportedCgroupManager) ReduceCPULimits(cgroupName CgroupName) error return nil } +func (m *unsupportedCgroupManager) GetCgroupMemoryConfig(name CgroupName) (uint64, error) { + return 0, fmt.Errorf("Cgroup Manager is not supported in this build") +} + +func (m *unsupportedCgroupManager) GetCgroupCpuConfig(name CgroupName) (int64, uint64, uint64, error) { + return 0, 0, 0, fmt.Errorf("Cgroup Manager is not supported in this build") +} + +func (m *unsupportedCgroupManager) SetCgroupMemoryConfig(name CgroupName, memoryLimit int64) error { + return fmt.Errorf("Cgroup Manager is not supported in this build") +} + +func (m *unsupportedCgroupManager) SetCgroupCpuConfig(name CgroupName, cpuQuota *int64, cpuPeriod, cpuShares *uint64) error { + return fmt.Errorf("Cgroup Manager is not supported in this build") +} + var RootCgroupName = CgroupName([]string{}) func NewCgroupName(base CgroupName, components ...string) CgroupName { diff --git a/pkg/kubelet/cm/cpumanager/BUILD b/pkg/kubelet/cm/cpumanager/BUILD index 318e901da01b9..216f6189cf735 100644 --- a/pkg/kubelet/cm/cpumanager/BUILD +++ b/pkg/kubelet/cm/cpumanager/BUILD @@ -14,6 +14,7 @@ go_library( visibility = ["//visibility:public"], deps = [ "//pkg/apis/core/v1/helper/qos:go_default_library", + "//pkg/features:go_default_library", "//pkg/kubelet/cm/containermap:go_default_library", "//pkg/kubelet/cm/cpumanager/state:go_default_library", "//pkg/kubelet/cm/cpumanager/topology:go_default_library", @@ -25,6 +26,7 @@ go_library( "//pkg/kubelet/status:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2:go_default_library", "//vendor/github.com/google/cadvisor/info/v1:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", diff --git a/pkg/kubelet/cm/cpumanager/cpu_manager.go b/pkg/kubelet/cm/cpumanager/cpu_manager.go index 6acd8ebc660c6..392140817c651 100644 --- a/pkg/kubelet/cm/cpumanager/cpu_manager.go +++ b/pkg/kubelet/cm/cpumanager/cpu_manager.go @@ -42,7 +42,7 @@ import ( type ActivePodsFunc func() []*v1.Pod type runtimeService interface { - UpdateContainerResources(id string, resources *runtimeapi.LinuxContainerResources) error + UpdateContainerResources(id string, resources *runtimeapi.ContainerResources) error } type policyName string @@ -457,7 +457,11 @@ func (m *manager) updateContainerCPUSet(containerID string, cpus cpuset.CPUSet) // this patch-like partial resources. return m.containerRuntime.UpdateContainerResources( containerID, - &runtimeapi.LinuxContainerResources{ - CpusetCpus: cpus.String(), + &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: &runtimeapi.LinuxContainerResources{ + CpusetCpus: cpus.String(), + }, + }, }) } diff --git a/pkg/kubelet/cm/cpumanager/cpu_manager_test.go b/pkg/kubelet/cm/cpumanager/cpu_manager_test.go index b209bddaabf77..6235755245f36 100644 --- a/pkg/kubelet/cm/cpumanager/cpu_manager_test.go +++ b/pkg/kubelet/cm/cpumanager/cpu_manager_test.go @@ -120,7 +120,7 @@ type mockRuntimeService struct { err error } -func (rt mockRuntimeService) UpdateContainerResources(id string, resources *runtimeapi.LinuxContainerResources) error { +func (rt mockRuntimeService) UpdateContainerResources(id string, resources *runtimeapi.ContainerResources) error { return rt.err } diff --git a/pkg/kubelet/cm/cpumanager/policy_static.go b/pkg/kubelet/cm/cpumanager/policy_static.go index adbac8d6a1af1..1f618ed4c4050 100644 --- a/pkg/kubelet/cm/cpumanager/policy_static.go +++ b/pkg/kubelet/cm/cpumanager/policy_static.go @@ -20,8 +20,10 @@ import ( "fmt" v1 "k8s.io/api/core/v1" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/klog/v2" v1qos "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" + "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/kubelet/cm/cpumanager/state" "k8s.io/kubernetes/pkg/kubelet/cm/cpumanager/topology" "k8s.io/kubernetes/pkg/kubelet/cm/cpuset" @@ -299,6 +301,9 @@ func (p *staticPolicy) guaranteedCPUs(pod *v1.Pod, container *v1.Container) int return 0 } cpuQuantity := container.Resources.Requests[v1.ResourceCPU] + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + cpuQuantity = container.ResourcesAllocated[v1.ResourceCPU] + } if cpuQuantity.Value()*1000 != cpuQuantity.MilliValue() { return 0 } @@ -311,8 +316,14 @@ func (p *staticPolicy) guaranteedCPUs(pod *v1.Pod, container *v1.Container) int func (p *staticPolicy) GetTopologyHints(s state.State, pod *v1.Pod, container *v1.Container) map[string][]topologymanager.TopologyHint { // If there are no CPU resources requested for this container, we do not // generate any topology hints. - if _, ok := container.Resources.Requests[v1.ResourceCPU]; !ok { - return nil + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + if _, ok := container.ResourcesAllocated[v1.ResourceCPU]; !ok { + return nil + } + } else { + if _, ok := container.Resources.Requests[v1.ResourceCPU]; !ok { + return nil + } } // Get a count of how many guaranteed CPUs have been requested. diff --git a/pkg/kubelet/cm/helpers_linux.go b/pkg/kubelet/cm/helpers_linux.go index ce2d9a9670f6b..c5771a7c27c7c 100644 --- a/pkg/kubelet/cm/helpers_linux.go +++ b/pkg/kubelet/cm/helpers_linux.go @@ -112,6 +112,9 @@ func HugePageLimits(resourceList v1.ResourceList) map[int64]int64 { func ResourceConfigForPod(pod *v1.Pod, enforceCPULimits bool, cpuPeriod uint64) *ResourceConfig { // sum requests and limits. reqs, limits := resource.PodRequestsAndLimits(pod) + if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.InPlacePodVerticalScaling) { + reqs = resource.PodResourceAllocations(pod) + } cpuRequests := int64(0) cpuLimits := int64(0) @@ -143,6 +146,9 @@ func ResourceConfigForPod(pod *v1.Pod, enforceCPULimits bool, cpuPeriod uint64) memoryLimitsDeclared = false } containerHugePageLimits := HugePageLimits(container.Resources.Requests) + if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.InPlacePodVerticalScaling) { + containerHugePageLimits = HugePageLimits(container.ResourcesAllocated) + } for k, v := range containerHugePageLimits { if value, exists := hugePageLimits[k]; exists { hugePageLimits[k] = value + v diff --git a/pkg/kubelet/cm/helpers_unsupported.go b/pkg/kubelet/cm/helpers_unsupported.go index fe9d532beb9b1..b1fe6e96f4e79 100644 --- a/pkg/kubelet/cm/helpers_unsupported.go +++ b/pkg/kubelet/cm/helpers_unsupported.go @@ -29,6 +29,7 @@ const ( MilliCPUToCPU = 0 MinQuotaPeriod = 0 + QuotaPeriod = 0 ) // MilliCPUToQuota converts milliCPU and period to CFS quota values. diff --git a/pkg/kubelet/cm/pod_container_manager_linux.go b/pkg/kubelet/cm/pod_container_manager_linux.go index ef3499f44fcae..e45baecf6add5 100644 --- a/pkg/kubelet/cm/pod_container_manager_linux.go +++ b/pkg/kubelet/cm/pod_container_manager_linux.go @@ -126,6 +126,26 @@ func (m *podContainerManagerImpl) GetPodContainerName(pod *v1.Pod) (CgroupName, return cgroupName, cgroupfsName } +func (m *podContainerManagerImpl) GetPodCgroupMemoryConfig(pod *v1.Pod) (uint64, error) { + podCgroupName, _ := m.GetPodContainerName(pod) + return m.cgroupManager.GetCgroupMemoryConfig(podCgroupName) +} + +func (m *podContainerManagerImpl) GetPodCgroupCpuConfig(pod *v1.Pod) (int64, uint64, uint64, error) { + podCgroupName, _ := m.GetPodContainerName(pod) + return m.cgroupManager.GetCgroupCpuConfig(podCgroupName) +} + +func (m *podContainerManagerImpl) SetPodCgroupMemoryConfig(pod *v1.Pod, memoryLimit int64) error { + podCgroupName, _ := m.GetPodContainerName(pod) + return m.cgroupManager.SetCgroupMemoryConfig(podCgroupName, memoryLimit) +} + +func (m *podContainerManagerImpl) SetPodCgroupCpuConfig(pod *v1.Pod, cpuQuota *int64, cpuPeriod, cpuShares *uint64) error { + podCgroupName, _ := m.GetPodContainerName(pod) + return m.cgroupManager.SetCgroupCpuConfig(podCgroupName, cpuQuota, cpuPeriod, cpuShares) +} + // Kill one process ID func (m *podContainerManagerImpl) killOnePid(pid int) error { // os.FindProcess never returns an error on POSIX @@ -331,3 +351,19 @@ func (m *podContainerManagerNoop) GetAllPodsFromCgroups() (map[types.UID]CgroupN func (m *podContainerManagerNoop) IsPodCgroup(cgroupfs string) (bool, types.UID) { return false, types.UID("") } + +func (m *podContainerManagerNoop) GetPodCgroupMemoryConfig(_ *v1.Pod) (uint64, error) { + return 0, nil +} + +func (m *podContainerManagerNoop) GetPodCgroupCpuConfig(_ *v1.Pod) (int64, uint64, uint64, error) { + return 0, 0, 0, nil +} + +func (m *podContainerManagerNoop) SetPodCgroupMemoryConfig(_ *v1.Pod, _ int64) error { + return nil +} + +func (m *podContainerManagerNoop) SetPodCgroupCpuConfig(_ *v1.Pod, _ *int64, _, _ *uint64) error { + return nil +} diff --git a/pkg/kubelet/cm/pod_container_manager_stub.go b/pkg/kubelet/cm/pod_container_manager_stub.go index 26c56ec791078..c2b71324c76c8 100644 --- a/pkg/kubelet/cm/pod_container_manager_stub.go +++ b/pkg/kubelet/cm/pod_container_manager_stub.go @@ -53,3 +53,19 @@ func (m *podContainerManagerStub) GetAllPodsFromCgroups() (map[types.UID]CgroupN func (m *podContainerManagerStub) IsPodCgroup(cgroupfs string) (bool, types.UID) { return false, types.UID("") } + +func (m *podContainerManagerStub) GetPodCgroupMemoryConfig(_ *v1.Pod) (uint64, error) { + return 0, nil +} + +func (m *podContainerManagerStub) GetPodCgroupCpuConfig(_ *v1.Pod) (int64, uint64, uint64, error) { + return 0, 0, 0, nil +} + +func (m *podContainerManagerStub) SetPodCgroupMemoryConfig(_ *v1.Pod, _ int64) error { + return nil +} + +func (m *podContainerManagerStub) SetPodCgroupCpuConfig(_ *v1.Pod, _ *int64, _, _ *uint64) error { + return nil +} diff --git a/pkg/kubelet/cm/qos_container_manager_linux.go b/pkg/kubelet/cm/qos_container_manager_linux.go index eb8fc7d3da3f1..19c54939a50a9 100644 --- a/pkg/kubelet/cm/qos_container_manager_linux.go +++ b/pkg/kubelet/cm/qos_container_manager_linux.go @@ -176,6 +176,9 @@ func (m *qosContainerManagerImpl) setCPUCgroupConfig(configs map[v1.PodQOSClass] continue } req, _ := resource.PodRequestsAndLimits(pod) + if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.InPlacePodVerticalScaling) { + req = resource.PodResourceAllocations(pod) + } if request, found := req[v1.ResourceCPU]; found { burstablePodCPURequest += request.MilliValue() } @@ -210,6 +213,9 @@ func (m *qosContainerManagerImpl) setMemoryReserve(configs map[v1.PodQOSClass]*C continue } req, _ := resource.PodRequestsAndLimits(pod) + if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.InPlacePodVerticalScaling) { + req = resource.PodResourceAllocations(pod) + } if request, found := req[v1.ResourceMemory]; found { podMemoryRequest += request.Value() } diff --git a/pkg/kubelet/cm/types.go b/pkg/kubelet/cm/types.go index e601179744358..d80bca6fa5c17 100644 --- a/pkg/kubelet/cm/types.go +++ b/pkg/kubelet/cm/types.go @@ -92,6 +92,14 @@ type CgroupManager interface { ReduceCPULimits(cgroupName CgroupName) error // GetResourceStats returns statistics of the specified cgroup as read from the cgroup fs. GetResourceStats(name CgroupName) (*ResourceStats, error) + // GetCgroupMemoryConfig returns the memory limit of the specified cgroup as read from cgroup fs. + GetCgroupMemoryConfig(name CgroupName) (uint64, error) + // GetCgroupCpuConfig returns the cpu quota, cpu period, and cpu shares of the specified cgroup as read from cgroup fs. + GetCgroupCpuConfig(name CgroupName) (int64, uint64, uint64, error) + // SetCgroupMemoryConfig sets the memory limit of the specified cgroup. + SetCgroupMemoryConfig(name CgroupName, memoryLimit int64) error + // SetCgroupCpuConfig sets the cpu quota, cpu period, and cpu shares of the specified cgroup. + SetCgroupCpuConfig(name CgroupName, cpuQuota *int64, cpuPeriod, cpuShares *uint64) error } // QOSContainersInfo stores the names of containers per qos @@ -127,4 +135,16 @@ type PodContainerManager interface { // IsPodCgroup returns true if the literal cgroupfs name corresponds to a pod IsPodCgroup(cgroupfs string) (bool, types.UID) + + // Get value of memory.limit_in_bytes for the pod Cgroup + GetPodCgroupMemoryConfig(pod *v1.Pod) (uint64, error) + + // Get values of cpu.cfs_quota_us, cpu.cfs_period_us, and cpu.shares for the pod Cgroup + GetPodCgroupCpuConfig(pod *v1.Pod) (int64, uint64, uint64, error) + + // Set value of memory.limit_in_bytes for the pod Cgroup + SetPodCgroupMemoryConfig(pod *v1.Pod, memoryLimit int64) error + + // Set values of cpu.cfs_quota_us, cpu.cfs_period_us, and cpu.shares for the pod Cgroup + SetPodCgroupCpuConfig(pod *v1.Pod, cpuQuota *int64, cpuPeriod, cpuShares *uint64) error } diff --git a/pkg/kubelet/container/BUILD b/pkg/kubelet/container/BUILD index 970139acaeb7e..d940da5ed1ad6 100644 --- a/pkg/kubelet/container/BUILD +++ b/pkg/kubelet/container/BUILD @@ -57,6 +57,7 @@ go_test( "//pkg/features:go_default_library", "//pkg/kubelet/container/testing:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", diff --git a/pkg/kubelet/container/helpers.go b/pkg/kubelet/container/helpers.go index 87bb684fc6231..9ce700ba7f593 100644 --- a/pkg/kubelet/container/helpers.go +++ b/pkg/kubelet/container/helpers.go @@ -28,9 +28,11 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/tools/record" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1alpha2" podutil "k8s.io/kubernetes/pkg/api/v1/pod" + "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/kubelet/util/format" hashutil "k8s.io/kubernetes/pkg/util/hash" "k8s.io/kubernetes/third_party/forked/golang/expansion" @@ -102,6 +104,19 @@ func HashContainer(container *v1.Container) uint64 { hash := fnv.New32a() // Omit nil or empty field when calculating hash value // Please see https://github.com/kubernetes/kubernetes/issues/53644 + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + // In-Place Pod Vertical Scaling allows mutable ResourcesAllocated and + // Resources fields. Changes to these fields may not require container + // restarts, and are handled differently. So they is excluded from hash. + cResources := container.Resources + cResourcesAllocated := container.ResourcesAllocated + container.Resources = v1.ResourceRequirements{} + container.ResourcesAllocated = nil + defer func() { + container.Resources = cResources + container.ResourcesAllocated = cResourcesAllocated + }() + } containerJSON, _ := json.Marshal(container) hashutil.DeepHashObject(hash, containerJSON) return uint64(hash.Sum32()) diff --git a/pkg/kubelet/container/helpers_test.go b/pkg/kubelet/container/helpers_test.go index 2a85d8a7760a5..9e3154c7e6ac6 100644 --- a/pkg/kubelet/container/helpers_test.go +++ b/pkg/kubelet/container/helpers_test.go @@ -25,6 +25,7 @@ import ( "github.com/stretchr/testify/assert" v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" utilfeature "k8s.io/apiserver/pkg/util/feature" featuregatetesting "k8s.io/component-base/featuregate/testing" @@ -638,3 +639,139 @@ func TestHashContainer(t *testing.T) { assert.Equal(t, tc.expectedHash, hashVal, "the hash value here should not be changed.") } } + +func TestHashContainerWithResources(t *testing.T) { + cpu100m := resource.MustParse("100m") + cpu200m := resource.MustParse("200m") + mem100M := resource.MustParse("100Mi") + mem200M := resource.MustParse("200Mi") + cpuPolicyNoRestart := v1.ResizePolicy{ResourceName: v1.ResourceCPU, Policy: v1.NoRestart} + memPolicyNoRestart := v1.ResizePolicy{ResourceName: v1.ResourceMemory, Policy: v1.NoRestart} + cpuPolicyRestart := v1.ResizePolicy{ResourceName: v1.ResourceCPU, Policy: v1.RestartContainer} + memPolicyRestart := v1.ResizePolicy{ResourceName: v1.ResourceMemory, Policy: v1.RestartContainer} + + type testCase struct { + container *v1.Container + scalingFg bool + expectedHash uint64 + } + tests := []testCase{ + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart}, + }, + false, + 0xcc86c8c, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart}, + }, + false, + 0x812c49fc, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart}, + }, + false, + 0x155dd25c, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart}, + }, + false, + 0x6a1b424c, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart}, + }, + true, + 0x5a457c02, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart}, + }, + true, + 0xe9209ca2, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart}, + }, + true, + 0x5a457c02, + }, + { + &v1.Container{ + Name: "foo", + Image: "bar", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + Requests: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + }, + ResizePolicy: []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart}, + }, + true, + 0xe9209ca2, + }, + } + + testFunc := func(idx int, tc testCase) { + if tc.scalingFg { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + } + containerCopy := tc.container.DeepCopy() + hash := HashContainer(tc.container) + assert.Equal(t, tc.expectedHash, hash, "[%d]", idx) + assert.Equal(t, containerCopy, tc.container, "[%d]", idx) + } + for i, tc := range tests { + testFunc(i, tc) + } +} diff --git a/pkg/kubelet/container/runtime.go b/pkg/kubelet/container/runtime.go index 30f815b07180c..c570dab6296bd 100644 --- a/pkg/kubelet/container/runtime.go +++ b/pkg/kubelet/container/runtime.go @@ -333,6 +333,8 @@ type Status struct { // Message written by the container before exiting (stored in // TerminationMessagePath). Message string + // CPU and memory resources for this container + Resources v1.ResourceRequirements } // FindContainerStatusByName returns container status in the pod status with the given name. diff --git a/pkg/kubelet/cri/remote/fake/fake_runtime.go b/pkg/kubelet/cri/remote/fake/fake_runtime.go index e49f311aa1852..f2bbb536ec9ac 100644 --- a/pkg/kubelet/cri/remote/fake/fake_runtime.go +++ b/pkg/kubelet/cri/remote/fake/fake_runtime.go @@ -284,7 +284,7 @@ func (f *RemoteRuntime) Status(ctx context.Context, req *kubeapi.StatusRequest) // UpdateContainerResources updates ContainerConfig of the container. func (f *RemoteRuntime) UpdateContainerResources(ctx context.Context, req *kubeapi.UpdateContainerResourcesRequest) (*kubeapi.UpdateContainerResourcesResponse, error) { - err := f.RuntimeService.UpdateContainerResources(req.ContainerId, req.Linux) + err := f.RuntimeService.UpdateContainerResources(req.ContainerId, req.Resources) if err != nil { return nil, err } diff --git a/pkg/kubelet/cri/remote/remote_runtime.go b/pkg/kubelet/cri/remote/remote_runtime.go index 24b6012b911fd..bb0f5879e830d 100644 --- a/pkg/kubelet/cri/remote/remote_runtime.go +++ b/pkg/kubelet/cri/remote/remote_runtime.go @@ -344,14 +344,15 @@ func (r *RemoteRuntimeService) ContainerStatus(containerID string) (*runtimeapi. } // UpdateContainerResources updates a containers resource config -func (r *RemoteRuntimeService) UpdateContainerResources(containerID string, resources *runtimeapi.LinuxContainerResources) error { +func (r *RemoteRuntimeService) UpdateContainerResources(containerID string, resources *runtimeapi.ContainerResources) error { klog.V(10).Infof("[RemoteRuntimeService] UpdateContainerResources (containerID=%v, timeout=%v)", containerID, r.timeout) ctx, cancel := getContextWithTimeout(r.timeout) defer cancel() _, err := r.runtimeClient.UpdateContainerResources(ctx, &runtimeapi.UpdateContainerResourcesRequest{ ContainerId: containerID, - Linux: resources, + Linux: resources.GetLinux(), + Resources: resources, }) if err != nil { klog.Errorf("UpdateContainerResources %q from runtime service failed: %v", containerID, err) diff --git a/pkg/kubelet/dockershim/docker_container.go b/pkg/kubelet/dockershim/docker_container.go index 01b865f9d2a39..f3b726831faf3 100644 --- a/pkg/kubelet/dockershim/docker_container.go +++ b/pkg/kubelet/dockershim/docker_container.go @@ -436,6 +436,19 @@ func (ds *dockerService) ContainerStatus(_ context.Context, req *runtimeapi.Cont Labels: labels, Annotations: annotations, LogPath: r.Config.Labels[containerLogPathLabelKey], + Resources: &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: &runtimeapi.LinuxContainerResources{ + CpuPeriod: r.ContainerJSONBase.HostConfig.Resources.CPUPeriod, + CpuQuota: r.ContainerJSONBase.HostConfig.Resources.CPUQuota, + CpuShares: r.ContainerJSONBase.HostConfig.Resources.CPUShares, + MemoryLimitInBytes: r.ContainerJSONBase.HostConfig.Resources.Memory, + OomScoreAdj: int64(r.ContainerJSONBase.HostConfig.OomScoreAdj), + CpusetCpus: r.ContainerJSONBase.HostConfig.Resources.CpusetCpus, + CpusetMems: r.ContainerJSONBase.HostConfig.Resources.CpusetMems, + }, + }, + }, } return &runtimeapi.ContainerStatusResponse{Status: status}, nil } diff --git a/pkg/kubelet/dockershim/docker_container_test.go b/pkg/kubelet/dockershim/docker_container_test.go index 7834da3315c30..47a6ed1798c4b 100644 --- a/pkg/kubelet/dockershim/docker_container_test.go +++ b/pkg/kubelet/dockershim/docker_container_test.go @@ -138,6 +138,11 @@ func TestContainerStatus(t *testing.T) { Mounts: []*runtimeapi.Mount{}, Labels: config.Labels, Annotations: config.Annotations, + Resources: &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: &runtimeapi.LinuxContainerResources{}, + }, + }, } fDocker.InjectImages([]dockertypes.ImageSummary{{ID: imageName}}) diff --git a/pkg/kubelet/eviction/helpers.go b/pkg/kubelet/eviction/helpers.go index 1bf73c6ba06b9..9a3bfb39f0094 100644 --- a/pkg/kubelet/eviction/helpers.go +++ b/pkg/kubelet/eviction/helpers.go @@ -25,9 +25,11 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/api/v1/pod" v1resource "k8s.io/kubernetes/pkg/api/v1/resource" + "k8s.io/kubernetes/pkg/features" statsapi "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1" evictionapi "k8s.io/kubernetes/pkg/kubelet/eviction/api" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" @@ -544,10 +546,16 @@ func exceedMemoryRequests(stats statsFunc) cmpFunc { p1Memory := memoryUsage(p1Stats.Memory) p2Memory := memoryUsage(p2Stats.Memory) - p1ExceedsRequests := p1Memory.Cmp(v1resource.GetResourceRequestQuantity(p1, v1.ResourceMemory)) == 1 - p2ExceedsRequests := p2Memory.Cmp(v1resource.GetResourceRequestQuantity(p2, v1.ResourceMemory)) == 1 + var p1Exceeds, p2Exceeds bool + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + p1Exceeds = p1Memory.Cmp(v1resource.GetResourceAllocationQuantity(p1, v1.ResourceMemory)) == 1 + p2Exceeds = p2Memory.Cmp(v1resource.GetResourceAllocationQuantity(p2, v1.ResourceMemory)) == 1 + } else { + p1Exceeds = p1Memory.Cmp(v1resource.GetResourceRequestQuantity(p1, v1.ResourceMemory)) == 1 + p2Exceeds = p2Memory.Cmp(v1resource.GetResourceRequestQuantity(p2, v1.ResourceMemory)) == 1 + } // prioritize evicting the pod which exceeds its requests - return cmpBool(p1ExceedsRequests, p2ExceedsRequests) + return cmpBool(p1Exceeds, p2Exceeds) } } @@ -562,12 +570,21 @@ func memory(stats statsFunc) cmpFunc { } // adjust p1, p2 usage relative to the request (if any) + var p1Request, p2Request resource.Quantity p1Memory := memoryUsage(p1Stats.Memory) - p1Request := v1resource.GetResourceRequestQuantity(p1, v1.ResourceMemory) + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + p1Request = v1resource.GetResourceAllocationQuantity(p1, v1.ResourceMemory) + } else { + p1Request = v1resource.GetResourceRequestQuantity(p1, v1.ResourceMemory) + } p1Memory.Sub(p1Request) p2Memory := memoryUsage(p2Stats.Memory) - p2Request := v1resource.GetResourceRequestQuantity(p2, v1.ResourceMemory) + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + p2Request = v1resource.GetResourceAllocationQuantity(p2, v1.ResourceMemory) + } else { + p2Request = v1resource.GetResourceRequestQuantity(p2, v1.ResourceMemory) + } p2Memory.Sub(p2Request) // prioritize evicting the pod which has the larger consumption of memory @@ -1043,7 +1060,12 @@ func evictionMessage(resourceToReclaim v1.ResourceName, pod *v1.Pod, stats stats for _, containerStats := range podStats.Containers { for _, container := range pod.Spec.Containers { if container.Name == containerStats.Name { - requests := container.Resources.Requests[resourceToReclaim] + var requests resource.Quantity + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + requests = container.ResourcesAllocated[resourceToReclaim] + } else { + requests = container.Resources.Requests[resourceToReclaim] + } var usage *resource.Quantity switch resourceToReclaim { case v1.ResourceEphemeralStorage: diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 45bb2915bcb60..d4063fbaf6530 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -17,7 +17,9 @@ limitations under the License. package kubelet import ( + "context" "crypto/tls" + "encoding/json" "fmt" "math" "net" @@ -45,8 +47,10 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/clock" + "k8s.io/apimachinery/pkg/util/diff" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/apimachinery/pkg/util/wait" utilfeature "k8s.io/apiserver/pkg/util/feature" clientset "k8s.io/client-go/kubernetes" @@ -629,7 +633,7 @@ func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration, kubeCfg.CPUCFSQuotaPeriod, kubeDeps.RemoteRuntimeService, kubeDeps.RemoteImageService, - kubeDeps.ContainerManager.InternalContainerLifecycle(), + kubeDeps.ContainerManager, kubeDeps.dockerLegacyService, klet.runtimeClassManager, ) @@ -1159,6 +1163,9 @@ type Kubelet struct { // Handles RuntimeClass objects for the Kubelet. runtimeClassManager *runtimeclass.Manager + + // Mutex to serialize new pod admission and existing pod resizing + podResizeMutex sync.Mutex } // setupDataDirs creates: @@ -1618,6 +1625,12 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error { // Fetch the pull secrets for the pod pullSecrets := kl.getPullSecretsForPod(pod) + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + if !kl.podIsTerminated(pod) && !kubepod.IsStaticPod(pod) { + kl.handlePodResourcesResize(pod) + } + } + // Call the container runtime's SyncPod callback result := kl.containerRuntime.SyncPod(pod, podStatus, pullSecrets, kl.backOff) kl.reasonCache.Update(pod.UID, result) @@ -1637,6 +1650,70 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error { return nil } +func (kl *Kubelet) canResizePod(pod *v1.Pod) (bool, []byte) { + var otherActivePods []*v1.Pod + activePods := kl.GetActivePods() + for _, p := range activePods { + if p.UID != pod.UID { + otherActivePods = append(otherActivePods, p) + } + } + if ok, failReason, failMessage := kl.canAdmitPod(otherActivePods, pod); !ok { + // Log reason and return. Let the next sync iteration retry the resize + klog.V(2).Infof("Pod '%s' resize cannot be accommodated. Reason: '%s' Message: '%s'", pod.Name, failReason, failMessage) + return false, nil + } + + podCopy := pod.DeepCopy() + for _, container := range podCopy.Spec.Containers { + for rName, rQuantity := range container.Resources.Requests { + container.ResourcesAllocated[rName] = rQuantity + } + } + oldPodJSON, err := json.Marshal(v1.Pod{Spec: pod.Spec}) + if err != nil { + klog.Errorf("Failed to marshal pod spec for %s: %+v\n", pod.Name, err) + return false, nil + } + updatedPodJSON, err := json.Marshal(v1.Pod{Spec: podCopy.Spec}) + if err != nil { + klog.Errorf("Failed to marshal updated pod spec for %s: %+v\n", podCopy.Name, err) + return false, nil + } + patchBytes, err := strategicpatch.CreateTwoWayMergePatch(oldPodJSON, updatedPodJSON, v1.Pod{}) + if err != nil { + klog.Errorf("Failed to create pod resize patch for %s: %+v\n", pod.Name, err) + return false, nil + } + kl.podManager.UpdatePod(podCopy) + *pod = *podCopy + + return true, patchBytes +} + +func (kl *Kubelet) handlePodResourcesResize(pod *v1.Pod) { + podResized := false + for _, container := range pod.Spec.Containers { + if len(diff.ObjectDiff(container.ResourcesAllocated, container.Resources.Requests)) > 0 { + podResized = true + break + } + } + if !podResized { + return + } + + kl.podResizeMutex.Lock() + defer kl.podResizeMutex.Unlock() + if fit, patchBytes := kl.canResizePod(pod); fit { + _, patchError := kl.kubeClient.CoreV1().Pods(pod.Namespace).Patch(context.TODO(), pod.Name, types.StrategicMergePatchType, patchBytes, metav1.PatchOptions{}) + if patchError != nil { + klog.Errorf("Failed to patch ResourcesAllocated values for pod %s: %+v\n", pod.Name, patchError) + } + } + return +} + // Get pods which should be resynchronized. Currently, the following pod should be resynchronized: // * pod whose work is ready. // * internal modules that request sync of a pod. @@ -1981,6 +2058,8 @@ func (kl *Kubelet) handleMirrorPod(mirrorPod *v1.Pod, start time.Time) { func (kl *Kubelet) HandlePodAdditions(pods []*v1.Pod) { start := kl.clock.Now() sort.Sort(sliceutils.PodsByCreationTime(pods)) + kl.podResizeMutex.Lock() + defer kl.podResizeMutex.Unlock() for _, pod := range pods { existingPods := kl.podManager.GetPods() // Always add the pod to the pod manager. Kubelet relies on the pod @@ -2002,10 +2081,26 @@ func (kl *Kubelet) HandlePodAdditions(pods []*v1.Pod) { // pods that are alive. activePods := kl.filterOutTerminatedPods(existingPods) - // Check if we can admit the pod; if not, reject it. - if ok, reason, message := kl.canAdmitPod(activePods, pod); !ok { - kl.rejectPod(pod, reason, message) - continue + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + // To handle kubelet restarts, test pod admissibility with ResourcesAllocated values (cpu & memory) + podCopy := pod.DeepCopy() + for _, c := range podCopy.Spec.Containers { + if c.Resources.Requests != nil { + c.Resources.Requests[v1.ResourceCPU] = c.ResourcesAllocated[v1.ResourceCPU] + c.Resources.Requests[v1.ResourceMemory] = c.ResourcesAllocated[v1.ResourceMemory] + } + } + // Check if we can admit the pod; if not, reject it. + if ok, reason, message := kl.canAdmitPod(activePods, podCopy); !ok { + kl.rejectPod(pod, reason, message) + continue + } + } else { + // Check if we can admit the pod; if not, reject it. + if ok, reason, message := kl.canAdmitPod(activePods, pod); !ok { + kl.rejectPod(pod, reason, message) + continue + } } } mirrorPod, _ := kl.podManager.GetMirrorPodByPod(pod) diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index 19f1509f242e1..cb1218045a5c3 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -1536,6 +1536,10 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon defaultWaitingState = v1.ContainerState{Waiting: &v1.ContainerStateWaiting{Reason: "PodInitializing"}} } + var containerResources map[string]struct{ Allocations, Limits v1.ResourceList } + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + containerResources = make(map[string]struct{ Allocations, Limits v1.ResourceList }, len(containers)) + } for _, container := range containers { status := &v1.ContainerStatus{ Name: container.Name, @@ -1555,6 +1559,9 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon } } statuses[container.Name] = status + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + containerResources[container.Name] = struct{ Allocations, Limits v1.ResourceList }{container.ResourcesAllocated, container.Resources.Limits} + } } // Make the latest container status comes first. @@ -1571,6 +1578,57 @@ func (kl *Kubelet) convertToAPIContainerStatuses(pod *v1.Pod, podStatus *kubecon continue } status := convertContainerStatus(cStatus) + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + if status.State.Running != nil { + var requests, limits v1.ResourceList + // oldStatus should always exist if container state is running? TODO: Verify this. + oldStatus, oldStatusFound := oldStatuses[cName] + // Set initial limits from container's spec upon transition to Running state + // For cpu & memory, limits queried from runtime via CRI always supercedes spec.limit + // For ephemeral-storage, a running container's status.limit equals spec.limit + determineResource := func(rName v1.ResourceName, ctrStsRes, ctrRes, oldStsRes, resource v1.ResourceList) { + if res, found := ctrStsRes[rName]; found { + resource[rName] = res.DeepCopy() + return + } + if oldStatusFound { + if oldStatus.State.Running == nil || status.ContainerID != oldStatus.ContainerID { + if res, exists := ctrRes[rName]; exists { + resource[rName] = res.DeepCopy() + } + } else { + if oldStsRes != nil { + if res, exists := oldStsRes[rName]; exists { + resource[rName] = res.DeepCopy() + } + } + } + } + } + if containerResources[cName].Limits != nil { + limits = make(v1.ResourceList) + determineResource(v1.ResourceCPU, cStatus.Resources.Limits, containerResources[cName].Limits, oldStatus.Resources.Limits, limits) + determineResource(v1.ResourceMemory, cStatus.Resources.Limits, containerResources[cName].Limits, oldStatus.Resources.Limits, limits) + if ephemeralStorage, found := containerResources[cName].Limits[v1.ResourceEphemeralStorage]; found { + limits[v1.ResourceEphemeralStorage] = ephemeralStorage.DeepCopy() + } + } + if containerResources[cName].Allocations != nil { + requests = make(v1.ResourceList) + determineResource(v1.ResourceCPU, cStatus.Resources.Requests, containerResources[cName].Allocations, oldStatus.Resources.Requests, requests) + if memory, found := containerResources[cName].Allocations[v1.ResourceMemory]; found { + requests[v1.ResourceMemory] = memory.DeepCopy() + } + if ephemeralStorage, found := containerResources[cName].Allocations[v1.ResourceEphemeralStorage]; found { + requests[v1.ResourceEphemeralStorage] = ephemeralStorage.DeepCopy() + } + } + status.Resources = v1.ResourceRequirements{ + Limits: limits, + Requests: requests, + } + } + } if containerSeen[cName] == 0 { statuses[cName] = status } else { diff --git a/pkg/kubelet/kubelet_pods_test.go b/pkg/kubelet/kubelet_pods_test.go index 467c21f444027..2c5e7d4a7464b 100644 --- a/pkg/kubelet/kubelet_pods_test.go +++ b/pkg/kubelet/kubelet_pods_test.go @@ -24,11 +24,13 @@ import ( "path/filepath" "sort" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" v1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" @@ -2421,3 +2423,115 @@ func TestTruncatePodHostname(t *testing.T) { assert.Equal(t, test.output, output) } } + +func TestConvertToAPIContainerStatuses(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + nowTime := time.Now() + testContainerName := "ctr0" + testContainerID := kubecontainer.ContainerID{Type: "test", ID: testContainerName} + testContainer := v1.Container{ + Name: testContainerName, + Image: "img", + } + testPod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + UID: "123456", + Name: "foo", + Namespace: "bar", + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{testContainer}, + }, + } + testKubeContainerStatus := kubecontainer.Status{ + Name: testContainerName, + ID: testContainerID, + Image: "img", + ImageID: "img1234", + State: kubecontainer.ContainerStateRunning, + StartedAt: nowTime, + } + testPodStatus := &kubecontainer.PodStatus{ + ID: testPod.UID, + Name: testPod.Name, + Namespace: testPod.Namespace, + ContainerStatuses: []*kubecontainer.Status{&testKubeContainerStatus}, + } + CPU1AndMem1G := v1.ResourceList{v1.ResourceCPU: resource.MustParse("1"), v1.ResourceMemory: resource.MustParse("1Gi")} + CPU2AndMem2G := v1.ResourceList{v1.ResourceCPU: resource.MustParse("2"), v1.ResourceMemory: resource.MustParse("2Gi")} + + testKubelet := newTestKubelet(t, false) + defer testKubelet.Cleanup() + kubelet := testKubelet.kubelet + for tdesc, tc := range map[string]struct { + Pod *v1.Pod + Resources []v1.ResourceRequirements + PodStatus *kubecontainer.PodStatus + ResourceLimits []v1.ResourceList + OldStatus []v1.ContainerStatus + Expected []v1.ContainerStatus + }{ + "GuaranteedQoSPod with CPU and memory CRI status": { + Pod: testPod, + Resources: []v1.ResourceRequirements{{Limits: CPU1AndMem1G, Requests: CPU1AndMem1G}}, + PodStatus: testPodStatus, + ResourceLimits: []v1.ResourceList{CPU1AndMem1G}, + OldStatus: []v1.ContainerStatus{ + { + Name: testContainerName, + Image: "img", + ImageID: "img1234", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{}}, + Resources: v1.ResourceRequirements{Limits: CPU1AndMem1G, Requests: CPU1AndMem1G}, + }, + }, + Expected: []v1.ContainerStatus{ + { + Name: testContainerName, + ContainerID: testContainerID.String(), + Image: "img", + ImageID: "img1234", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{StartedAt: metav1.NewTime(nowTime)}}, + Resources: v1.ResourceRequirements{Limits: CPU1AndMem1G, Requests: CPU1AndMem1G}, + }, + }, + }, + "BurstableQoSPod, nil CRI status (not supported by runtime)": { + Pod: testPod, + Resources: []v1.ResourceRequirements{{Limits: CPU1AndMem1G, Requests: CPU1AndMem1G}}, + PodStatus: testPodStatus, + OldStatus: []v1.ContainerStatus{ + { + Name: testContainerName, + Image: "img", + ImageID: "img1234", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{}}, + Resources: v1.ResourceRequirements{Limits: CPU2AndMem2G, Requests: CPU1AndMem1G}, + }, + }, + Expected: []v1.ContainerStatus{ + { + Name: testContainerName, + ContainerID: testContainerID.String(), + Image: "img", + ImageID: "img1234", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{StartedAt: metav1.NewTime(nowTime)}}, + Resources: v1.ResourceRequirements{Limits: CPU1AndMem1G, Requests: CPU1AndMem1G}, + }, + }, + }, + //TODO: more tests + } { + for i := range tc.Pod.Spec.Containers { + tc.Pod.Spec.Containers[i].Resources = tc.Resources[i] + tc.Pod.Spec.Containers[i].ResourcesAllocated = tc.Resources[i].Requests + if tc.Resources[i].Limits != nil { + tc.PodStatus.ContainerStatuses[i].Resources.Limits = tc.Resources[i].Limits + } + } + + t.Logf("TestCase: %q", tdesc) + cStatuses := kubelet.convertToAPIContainerStatuses(tc.Pod, tc.PodStatus, tc.OldStatus, tc.Pod.Spec.Containers, false, false) + assert.Equal(t, tc.Expected, cStatuses) + } +} diff --git a/pkg/kubelet/kubelet_test.go b/pkg/kubelet/kubelet_test.go index 405b7ed0946dd..9d18779cb1727 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -39,6 +39,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/kubernetes/fake" + coretesting "k8s.io/client-go/testing" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/flowcontrol" cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing" @@ -1847,6 +1848,134 @@ func TestHandlePodAdditionsInvokesPodAdmitHandlers(t *testing.T) { checkPodStatus(t, kl, podToAdmit, v1.PodPending) } +func TestHandlePodResourcesResize(t *testing.T) { + testKubelet := newTestKubelet(t, false) + defer testKubelet.Cleanup() + kubelet := testKubelet.kubelet + + cpu500m := resource.MustParse("500m") + cpu1000m := resource.MustParse("1") + cpu1500m := resource.MustParse("1500m") + cpu2500m := resource.MustParse("2500m") + mem500M := resource.MustParse("500Mi") + mem1000M := resource.MustParse("1Gi") + mem1500M := resource.MustParse("1500Mi") + mem2500M := resource.MustParse("2500Mi") + + nodes := []*v1.Node{ + {ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname}, + Status: v1.NodeStatus{Capacity: v1.ResourceList{}, Allocatable: v1.ResourceList{ + v1.ResourceCPU: resource.MustParse("4"), + v1.ResourceMemory: resource.MustParse("4Gi"), + v1.ResourcePods: *resource.NewQuantity(40, resource.DecimalSI), + }}}, + } + kubelet.nodeLister = testNodeLister{nodes: nodes} + + testPod1 := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + UID: "1111", + Name: "pod1", + Namespace: "ns1", + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: "c1", + Image: "i1", + Resources: v1.ResourceRequirements{ + Requests: v1.ResourceList{v1.ResourceCPU: cpu1000m, v1.ResourceMemory: mem1000M}, + }, + ResourcesAllocated: v1.ResourceList{v1.ResourceCPU: cpu1000m, v1.ResourceMemory: mem1000M}, + }, + }, + }, + } + testPod2 := testPod1.DeepCopy() + testPod2.UID = "2222" + testPod2.Name = "pod2" + testPod2.Namespace = "ns2" + testPod3 := testPod1.DeepCopy() + testPod3.UID = "3333" + testPod3.Name = "pod3" + testPod3.Namespace = "ns2" + + testKubelet.fakeKubeClient = fake.NewSimpleClientset(testPod1, testPod2, testPod3) + kubelet.kubeClient = testKubelet.fakeKubeClient + kubelet.podManager.AddPod(testPod1) + kubelet.podManager.AddPod(testPod2) + kubelet.podManager.AddPod(testPod3) + defer testKubelet.fakeKubeClient.ClearActions() + defer kubelet.podManager.DeletePod(testPod3) + defer kubelet.podManager.DeletePod(testPod2) + defer kubelet.podManager.DeletePod(testPod1) + + tests := []struct { + pod *v1.Pod + newRequests v1.ResourceList + expectPatch bool + expectedAllocations v1.ResourceList + }{ + { + pod: testPod2, + newRequests: v1.ResourceList{v1.ResourceCPU: cpu500m, v1.ResourceMemory: mem500M}, + expectPatch: true, + expectedAllocations: v1.ResourceList{v1.ResourceCPU: cpu500m, v1.ResourceMemory: mem500M}, + }, + { + pod: testPod2, + newRequests: v1.ResourceList{v1.ResourceCPU: cpu1500m, v1.ResourceMemory: mem500M}, + expectPatch: true, + expectedAllocations: v1.ResourceList{v1.ResourceCPU: cpu1500m, v1.ResourceMemory: mem500M}, + }, + { + pod: testPod2, + newRequests: v1.ResourceList{v1.ResourceCPU: cpu500m, v1.ResourceMemory: mem1500M}, + expectPatch: true, + expectedAllocations: v1.ResourceList{v1.ResourceCPU: cpu500m, v1.ResourceMemory: mem1500M}, + }, + { + pod: testPod2, + newRequests: v1.ResourceList{v1.ResourceCPU: cpu2500m, v1.ResourceMemory: mem2500M}, + expectPatch: false, + expectedAllocations: v1.ResourceList{v1.ResourceCPU: cpu1000m, v1.ResourceMemory: mem1000M}, + }, + { + pod: testPod2, + newRequests: v1.ResourceList{v1.ResourceCPU: cpu500m, v1.ResourceMemory: mem2500M}, + expectPatch: false, + expectedAllocations: v1.ResourceList{v1.ResourceCPU: cpu1000m, v1.ResourceMemory: mem1000M}, + }, + //TODO: more tests + } + + for i, tt := range tests { + tt.pod.Spec.Containers[0].Resources.Requests = tt.newRequests + tt.pod.Spec.Containers[0].ResourcesAllocated = v1.ResourceList{v1.ResourceCPU: cpu1000m, v1.ResourceMemory: mem1000M} + kubelet.handlePodResourcesResize(tt.pod) + actions := testKubelet.fakeKubeClient.Actions() + if tt.expectPatch { + if len(actions) != 1 { + t.Fatalf("[test %d]: unexpected action count %d, expected 1", i, len(actions)) + } + a := actions[0] + if a.GetVerb() != "patch" || a.GetResource().Resource != "pods" || a.GetNamespace() != tt.pod.Namespace { + t.Fatalf("[test %d]:unexpected action, got: %+v", i, a) + } + pa := a.(coretesting.PatchAction) + if pa.GetName() != tt.pod.Name { + t.Fatalf("[test %d]: unexpected action, got: pod %s, patch '%s', expecting pod %s.", i, pa.GetName(), string(pa.GetPatch()), tt.pod.Name) + } + assert.Equal(t, tt.expectedAllocations, tt.pod.Spec.Containers[0].ResourcesAllocated, "test %d", i) + } else { + if len(actions) > 0 { + t.Fatalf("[test %d]: unexpected action count %d, expected 0", i, len(actions)) + } + } + testKubelet.fakeKubeClient.ClearActions() + } +} + // testPodSyncLoopHandler is a lifecycle.PodSyncLoopHandler that is used for testing. type testPodSyncLoopHandler struct { // list of pods to sync diff --git a/pkg/kubelet/kuberuntime/BUILD b/pkg/kubelet/kuberuntime/BUILD index f22fa2f23b9bd..a50f41bf0534b 100644 --- a/pkg/kubelet/kuberuntime/BUILD +++ b/pkg/kubelet/kuberuntime/BUILD @@ -32,6 +32,7 @@ go_library( importpath = "k8s.io/kubernetes/pkg/kubelet/kuberuntime", deps = [ "//pkg/api/legacyscheme:go_default_library", + "//pkg/api/v1/pod:go_default_library", "//pkg/credentialprovider:go_default_library", "//pkg/credentialprovider/secrets:go_default_library", "//pkg/features:go_default_library", @@ -55,8 +56,10 @@ go_library( "//pkg/util/tail:go_default_library", "//pkg/volume/util:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", @@ -120,6 +123,7 @@ go_test( "//pkg/kubelet/runtimeclass:go_default_library", "//pkg/kubelet/runtimeclass/testing:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library", @@ -138,11 +142,11 @@ go_test( "//vendor/k8s.io/utils/pointer:go_default_library", ] + select({ "@io_bazel_rules_go//go/platform:android": [ - "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library", ], "@io_bazel_rules_go//go/platform:linux": [ - "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library", "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library", ], "//conditions:default": [], diff --git a/pkg/kubelet/kuberuntime/helpers_linux.go b/pkg/kubelet/kuberuntime/helpers_linux.go index 204bc4e9ffba0..00b133a7dd005 100644 --- a/pkg/kubelet/kuberuntime/helpers_linux.go +++ b/pkg/kubelet/kuberuntime/helpers_linux.go @@ -18,6 +18,10 @@ limitations under the License. package kuberuntime +import ( + "math" +) + const ( // Taken from lmctfy https://github.com/google/lmctfy/blob/master/lmctfy/controllers/cpu_controller.cc minShares = 2 @@ -65,3 +69,20 @@ func milliCPUToQuota(milliCPU int64, period int64) (quota int64) { return } + +// sharesToMilliCPU converts CpuShares (cpu.shares) to milli-CPU value +func sharesToMilliCPU(shares int64) int64 { + milliCPU := int64(0) + if shares >= minShares { + milliCPU = int64(math.Ceil(float64(shares*milliCPUToCPU) / float64(sharesPerCPU))) + } + return milliCPU +} + +// quotaToMilliCPU converts cpu.cfs_quota_us and cpu.cfs_period_us to milli-CPU value +func quotaToMilliCPU(quota int64, period int64) int64 { + if quota == -1 { + return int64(0) + } + return (quota * milliCPUToCPU) / period +} diff --git a/pkg/kubelet/kuberuntime/helpers_linux_test.go b/pkg/kubelet/kuberuntime/helpers_linux_test.go index b7c430d013213..0fb3d15b079a3 100644 --- a/pkg/kubelet/kuberuntime/helpers_linux_test.go +++ b/pkg/kubelet/kuberuntime/helpers_linux_test.go @@ -201,3 +201,81 @@ func TestMilliCPUToQuotaWithCustomCPUCFSQuotaPeriod(t *testing.T) { }) } } + +func TestSharesToMilliCPU(t *testing.T) { + knownMilliCPUToShares := map[int64]int64{ + 0: 2, + 1: 2, + 2: 2, + 3: 3, + 4: 4, + 32: 32, + 64: 65, + 100: 102, + 250: 256, + 500: 512, + 1000: 1024, + 1500: 1536, + 2000: 2048, + } + + t.Run("sharesToMilliCPUTest", func(t *testing.T) { + var testMilliCPU int64 + for testMilliCPU = 0; testMilliCPU <= 2000; testMilliCPU++ { + shares := milliCPUToShares(testMilliCPU) + if expectedShares, found := knownMilliCPUToShares[testMilliCPU]; found { + if shares != expectedShares { + t.Errorf("Test milliCPIToShares: Input milliCPU %v, expected shares %v, but got %v", testMilliCPU, expectedShares, shares) + } + } + expectedMilliCPU := testMilliCPU + if testMilliCPU < 2 { + expectedMilliCPU = 2 + } + milliCPU := sharesToMilliCPU(shares) + if milliCPU != expectedMilliCPU { + t.Errorf("Test sharesToMilliCPU: Input shares %v, expected milliCPU %v, but got %v", shares, expectedMilliCPU, milliCPU) + } + } + }) +} + +func TestQuotaToMilliCPU(t *testing.T) { + for _, tc := range []struct { + name string + quota int64 + period int64 + expected int64 + }{ + { + name: "50m", + quota: int64(5000), + period: int64(100000), + expected: int64(50), + }, + { + name: "750m", + quota: int64(75000), + period: int64(100000), + expected: int64(750), + }, + { + name: "1000m", + quota: int64(100000), + period: int64(100000), + expected: int64(1000), + }, + { + name: "1500m", + quota: int64(150000), + period: int64(100000), + expected: int64(1500), + }} { + t.Run(tc.name, func(t *testing.T) { + milliCPU := quotaToMilliCPU(tc.quota, tc.period) + if milliCPU != tc.expected { + t.Errorf("Test %s: Input quota %v and period %v, expected milliCPU %v, but got %v", tc.name, tc.quota, tc.period, tc.expected, milliCPU) + } + }) + } +} diff --git a/pkg/kubelet/kuberuntime/helpers_unsupported.go b/pkg/kubelet/kuberuntime/helpers_unsupported.go index cc1e88a5beff5..8661712a97e50 100644 --- a/pkg/kubelet/kuberuntime/helpers_unsupported.go +++ b/pkg/kubelet/kuberuntime/helpers_unsupported.go @@ -22,3 +22,13 @@ package kuberuntime func milliCPUToShares(milliCPU int64) int64 { return 0 } + +// sharesToMilliCPU converts CpuShares (cpu.shares) to milli-CPU value +func sharesToMilliCPU(shares int64) int64 { + return 0 +} + +// quotaToMilliCPU converts cpu.cfs_quota_us and cpu.cfs_period_us to milli-CPU value +func quotaToMilliCPU(quota int64, period int64) int64 { + return 0 +} diff --git a/pkg/kubelet/kuberuntime/instrumented_services.go b/pkg/kubelet/kuberuntime/instrumented_services.go index d31807be5ac52..c1c6a4204d724 100644 --- a/pkg/kubelet/kuberuntime/instrumented_services.go +++ b/pkg/kubelet/kuberuntime/instrumented_services.go @@ -131,7 +131,7 @@ func (in instrumentedRuntimeService) ContainerStatus(containerID string) (*runti return out, err } -func (in instrumentedRuntimeService) UpdateContainerResources(containerID string, resources *runtimeapi.LinuxContainerResources) error { +func (in instrumentedRuntimeService) UpdateContainerResources(containerID string, resources *runtimeapi.ContainerResources) error { const operation = "update_container" defer recordOperation(operation, time.Now()) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container.go b/pkg/kubelet/kuberuntime/kuberuntime_container.go index ec8d9fac03ff6..5b779c7cda61e 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container.go @@ -37,6 +37,7 @@ import ( "k8s.io/klog/v2" v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubetypes "k8s.io/apimachinery/pkg/types" utilruntime "k8s.io/apimachinery/pkg/util/runtime" @@ -292,6 +293,18 @@ func (m *kubeGenericRuntimeManager) generateContainerConfig(container *v1.Contai return config, cleanupAction, nil } +func (m *kubeGenericRuntimeManager) updateContainerResources(pod *v1.Pod, container *v1.Container, containerID kubecontainer.ContainerID) error { + containerResources := m.generateContainerResources(pod, container) + if containerResources == nil { + return fmt.Errorf("Container %q UpdateContainerResources failed: cannot generate resources config", containerID.String()) + } + err := m.runtimeService.UpdateContainerResources(containerID.ID, containerResources) + if err != nil { + klog.Errorf("Container %q UpdateContainerResources failed with error: %v", containerID.String(), err) + } + return err +} + // makeDevices generates container devices for kubelet runtime v1. func makeDevices(opts *kubecontainer.RunContainerOptions) []*runtimeapi.Device { devices := make([]*runtimeapi.Device, len(opts.Devices)) @@ -484,6 +497,41 @@ func (m *kubeGenericRuntimeManager) getPodContainerStatuses(uid kubetypes.UID, n func toKubeContainerStatus(status *runtimeapi.ContainerStatus, runtimeName string) *kubecontainer.Status { annotatedInfo := getContainerInfoFromAnnotations(status.Annotations) labeledInfo := getContainerInfoFromLabels(status.Labels) + var resourceLimits, resourceRequests v1.ResourceList + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + // If runtime reports cpu & memory resources info, add it to container status + statusResources := status.Resources.GetLinux() + if statusResources != nil { + var cpuLimit, memLimit, cpuRequest *resource.Quantity + if statusResources.CpuPeriod > 0 { + milliCPU := quotaToMilliCPU(statusResources.CpuQuota, statusResources.CpuPeriod) + if milliCPU > 0 { + cpuLimit = resource.NewMilliQuantity(milliCPU, resource.DecimalSI) + } + } + if statusResources.CpuShares > 0 { + milliCPU := sharesToMilliCPU(statusResources.CpuShares) + if milliCPU > 0 { + cpuRequest = resource.NewMilliQuantity(milliCPU, resource.DecimalSI) + } + } + if statusResources.MemoryLimitInBytes > 0 { + memLimit = resource.NewQuantity(statusResources.MemoryLimitInBytes, resource.BinarySI) + } + if cpuLimit != nil || memLimit != nil { + resourceLimits = make(v1.ResourceList) + if cpuLimit != nil { + resourceLimits[v1.ResourceCPU] = *cpuLimit + } + if memLimit != nil { + resourceLimits[v1.ResourceMemory] = *memLimit + } + } + if cpuRequest != nil { + resourceRequests = v1.ResourceList{v1.ResourceCPU: *cpuRequest} + } + } + } cStatus := &kubecontainer.Status{ ID: kubecontainer.ContainerID{ Type: runtimeName, @@ -496,6 +544,7 @@ func toKubeContainerStatus(status *runtimeapi.ContainerStatus, runtimeName strin RestartCount: annotatedInfo.RestartCount, State: toKubeContainerState(status.State), CreatedAt: time.Unix(0, status.CreatedAt), + Resources: v1.ResourceRequirements{Limits: resourceLimits, Requests: resourceRequests}, } if status.State != runtimeapi.ContainerState_CONTAINER_CREATED { diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container_linux.go b/pkg/kubelet/kuberuntime/kuberuntime_container_linux.go index 0f4fab34c0490..99a4191316564 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container_linux.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container_linux.go @@ -38,21 +38,25 @@ func (m *kubeGenericRuntimeManager) applyPlatformSpecificContainerConfig(config return nil } -// generateLinuxContainerConfig generates linux container config for kubelet runtime v1. -func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.Container, pod *v1.Pod, uid *int64, username string, nsTarget *kubecontainer.ContainerID) *runtimeapi.LinuxContainerConfig { - lc := &runtimeapi.LinuxContainerConfig{ - Resources: &runtimeapi.LinuxContainerResources{}, - SecurityContext: m.determineEffectiveSecurityContext(pod, container, uid, username), +// generateContainerResources generates platform specific (linux) container resources config for runtime +func (m *kubeGenericRuntimeManager) generateContainerResources(pod *v1.Pod, container *v1.Container) *runtimeapi.ContainerResources { + return &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: m.generateLinuxContainerResources(pod, container), + }, } +} - if nsTarget != nil && lc.SecurityContext.NamespaceOptions.Pid == runtimeapi.NamespaceMode_CONTAINER { - lc.SecurityContext.NamespaceOptions.Pid = runtimeapi.NamespaceMode_TARGET - lc.SecurityContext.NamespaceOptions.TargetId = nsTarget.ID - } +// generateLinuxContainerResources generates linux container resources config for runtime +func (m *kubeGenericRuntimeManager) generateLinuxContainerResources(pod *v1.Pod, container *v1.Container) *runtimeapi.LinuxContainerResources { + linuxContainerResources := &runtimeapi.LinuxContainerResources{} // set linux container resources var cpuShares int64 cpuRequest := container.Resources.Requests.Cpu() + if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.InPlacePodVerticalScaling) { + cpuRequest = container.ResourcesAllocated.Cpu() + } cpuLimit := container.Resources.Limits.Cpu() memoryLimit := container.Resources.Limits.Memory().Value() oomScoreAdj := int64(qos.GetContainerOOMScoreAdjust(pod, container, @@ -67,13 +71,13 @@ func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.C // of CPU shares. cpuShares = milliCPUToShares(cpuRequest.MilliValue()) } - lc.Resources.CpuShares = cpuShares + linuxContainerResources.CpuShares = cpuShares if memoryLimit != 0 { - lc.Resources.MemoryLimitInBytes = memoryLimit + linuxContainerResources.MemoryLimitInBytes = memoryLimit } // Set OOM score of the container based on qos policy. Processes in lower-priority pods should // be killed first if the system runs out of memory. - lc.Resources.OomScoreAdj = oomScoreAdj + linuxContainerResources.OomScoreAdj = oomScoreAdj if m.cpuCFSQuota { // if cpuLimit.Amount is nil, then the appropriate default value is returned @@ -83,8 +87,22 @@ func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.C cpuPeriod = int64(m.cpuCFSQuotaPeriod.Duration / time.Microsecond) } cpuQuota := milliCPUToQuota(cpuLimit.MilliValue(), cpuPeriod) - lc.Resources.CpuQuota = cpuQuota - lc.Resources.CpuPeriod = cpuPeriod + linuxContainerResources.CpuQuota = cpuQuota + linuxContainerResources.CpuPeriod = cpuPeriod + } + return linuxContainerResources +} + +// generateLinuxContainerConfig generates linux container config for kubelet runtime v1. +func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.Container, pod *v1.Pod, uid *int64, username string, nsTarget *kubecontainer.ContainerID) *runtimeapi.LinuxContainerConfig { + lc := &runtimeapi.LinuxContainerConfig{ + Resources: m.generateLinuxContainerResources(pod, container), + SecurityContext: m.determineEffectiveSecurityContext(pod, container, uid, username), + } + + if nsTarget != nil && lc.SecurityContext.NamespaceOptions.Pid == runtimeapi.NamespaceMode_CONTAINER { + lc.SecurityContext.NamespaceOptions.Pid = runtimeapi.NamespaceMode_TARGET + lc.SecurityContext.NamespaceOptions.TargetId = nsTarget.ID } lc.Resources.HugepageLimits = GetHugepageLimitsFromResources(container.Resources) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container_linux_test.go b/pkg/kubelet/kuberuntime/kuberuntime_container_linux_test.go index 98203fef23ece..e53840c5cd1b3 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container_linux_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container_linux_test.go @@ -28,6 +28,7 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/diff" utilfeature "k8s.io/apiserver/pkg/util/feature" featuregatetesting "k8s.io/component-base/featuregate/testing" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1alpha2" @@ -367,3 +368,60 @@ func TestGenerateLinuxContainerConfigNamespaces(t *testing.T) { }) } } + +func TestGenerateLinuxContainerResources(t *testing.T) { + _, _, m, err := createTestRuntimeManager() + assert.NoError(t, err) + m.machineInfo.MemoryCapacity = 17179860387 // 16GB + + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + UID: "12345678", + Name: "foo", + Namespace: "bar", + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: "c1", + Image: "busybox", + }, + }, + }, + } + + for _, tc := range []struct { + name string + limits v1.ResourceList + requests v1.ResourceList + expected *runtimeapi.LinuxContainerResources + }{ + { + "requests & limits, cpu & memory, guaranteed qos", + v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")}, + v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")}, + &runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 524288000, OomScoreAdj: -998}, + }, + { + "requests & limits, cpu & memory, burstable qos", + v1.ResourceList{v1.ResourceCPU: resource.MustParse("500m"), v1.ResourceMemory: resource.MustParse("750Mi")}, + v1.ResourceList{v1.ResourceCPU: resource.MustParse("250m"), v1.ResourceMemory: resource.MustParse("500Mi")}, + &runtimeapi.LinuxContainerResources{CpuShares: 256, MemoryLimitInBytes: 786432000, OomScoreAdj: 970}, + }, + { + "best-effort qos", + nil, + nil, + &runtimeapi.LinuxContainerResources{CpuShares: 2, OomScoreAdj: 1000}, + }, + //TODO: more tests (enable CFS quota) + } { + t.Run(tc.name, func(t *testing.T) { + pod.Spec.Containers[0].Resources = v1.ResourceRequirements{Limits: tc.limits, Requests: tc.requests} + resources := m.generateLinuxContainerResources(pod, &pod.Spec.Containers[0]) + if diff.ObjectDiff(resources, tc.expected) != "" { + t.Errorf("Test %s: expected resources %+v, but got %+v", tc.name, tc.expected, resources) + } + }) + } +} diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container_test.go b/pkg/kubelet/kuberuntime/kuberuntime_container_test.go index 7a4b6a6440317..79eb8e0309280 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container_test.go @@ -26,6 +26,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/api/core/v1" @@ -117,6 +118,7 @@ func TestKillContainer(t *testing.T) { // the internal type (i.e., toKubeContainerStatus()) for containers in // different states. func TestToKubeContainerStatus(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() cid := &kubecontainer.ContainerID{Type: "testRuntime", ID: "dummyid"} meta := &runtimeapi.ContainerMetadata{Name: "cname", Attempt: 3} imageSpec := &runtimeapi.ImageSpec{Image: "fimage"} @@ -204,6 +206,91 @@ func TestToKubeContainerStatus(t *testing.T) { StartedAt: time.Unix(0, startedAt), }, }, + "container reporting cpu and memory": { + input: &runtimeapi.ContainerStatus{ + Id: cid.ID, + Metadata: meta, + Image: imageSpec, + State: runtimeapi.ContainerState_CONTAINER_RUNNING, + CreatedAt: createdAt, + StartedAt: startedAt, + Resources: &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: &runtimeapi.LinuxContainerResources{ + CpuQuota: 25000, + CpuPeriod: 100000, + MemoryLimitInBytes: 524288000, + OomScoreAdj: -998, + }, + }, + }, + }, + expected: &kubecontainer.Status{ + ID: *cid, + Image: imageSpec.Image, + State: kubecontainer.ContainerStateRunning, + CreatedAt: time.Unix(0, createdAt), + StartedAt: time.Unix(0, startedAt), + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{ + v1.ResourceCPU: *resource.NewMilliQuantity(250, resource.DecimalSI), + v1.ResourceMemory: *resource.NewQuantity(524288000, resource.BinarySI), + }, + }, + }, + }, + "container reporting cpu only": { + input: &runtimeapi.ContainerStatus{ + Id: cid.ID, + Metadata: meta, + Image: imageSpec, + State: runtimeapi.ContainerState_CONTAINER_RUNNING, + CreatedAt: createdAt, + StartedAt: startedAt, + Resources: &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: &runtimeapi.LinuxContainerResources{ + CpuQuota: 50000, + CpuPeriod: 100000, + }, + }, + }, + }, + expected: &kubecontainer.Status{ + ID: *cid, + Image: imageSpec.Image, + State: kubecontainer.ContainerStateRunning, + CreatedAt: time.Unix(0, createdAt), + StartedAt: time.Unix(0, startedAt), + Resources: v1.ResourceRequirements{Limits: v1.ResourceList{v1.ResourceCPU: *resource.NewMilliQuantity(500, resource.DecimalSI)}}, + }, + }, + "container reporting memory only": { + input: &runtimeapi.ContainerStatus{ + Id: cid.ID, + Metadata: meta, + Image: imageSpec, + State: runtimeapi.ContainerState_CONTAINER_RUNNING, + CreatedAt: createdAt, + StartedAt: startedAt, + Resources: &runtimeapi.ContainerResources{ + R: &runtimeapi.ContainerResources_Linux{ + Linux: &runtimeapi.LinuxContainerResources{ + MemoryLimitInBytes: 524288000, + OomScoreAdj: -998, + }, + }, + }, + }, + expected: &kubecontainer.Status{ + ID: *cid, + Image: imageSpec.Image, + State: kubecontainer.ContainerStateRunning, + CreatedAt: time.Unix(0, createdAt), + StartedAt: time.Unix(0, startedAt), + Resources: v1.ResourceRequirements{Limits: v1.ResourceList{v1.ResourceMemory: *resource.NewQuantity(524288000, resource.BinarySI)}}, + }, + }, } { actual := toKubeContainerStatus(test.input, cid.Type) assert.Equal(t, test.expected, actual, desc) @@ -408,3 +495,39 @@ func TestStartSpec(t *testing.T) { }) } } + +// TestUpdateContainerResources tests updating a container in a Pod. +func TestUpdateContainerResources(t *testing.T) { + fakeRuntime, _, m, errCreate := createTestRuntimeManager() + require.NoError(t, errCreate) + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + UID: "12345678", + Name: "bar", + Namespace: "new", + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: "foo", + Image: "busybox", + ImagePullPolicy: v1.PullIfNotPresent, + }, + }, + }, + } + + // Create fake sandbox and container + _, fakeContainers := makeAndSetFakePod(t, m, fakeRuntime, pod) + assert.Equal(t, len(fakeContainers), 1) + + cStatus, err := m.getPodContainerStatuses(pod.UID, pod.Name, pod.Namespace) + assert.NoError(t, err) + containerID := cStatus[0].ID + + err = m.updateContainerResources(pod, &pod.Spec.Containers[0], containerID) + assert.NoError(t, err) + + // Verify container is updated + assert.Contains(t, fakeRuntime.Called, "UpdateContainerResources") +} diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container_unsupported.go b/pkg/kubelet/kuberuntime/kuberuntime_container_unsupported.go index 72e234c914358..a05826444362c 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container_unsupported.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container_unsupported.go @@ -28,3 +28,8 @@ import ( func (m *kubeGenericRuntimeManager) applyPlatformSpecificContainerConfig(config *runtimeapi.ContainerConfig, container *v1.Container, pod *v1.Pod, uid *int64, username string, nsTarget *kubecontainer.ContainerID) error { return nil } + +// generateContainerResources generates platform specific container resources config for runtime +func (m *kubeGenericRuntimeManager) generateContainerResources(pod *v1.Pod, container *v1.Container) *runtimeapi.ContainerResources { + return nil +} diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container_windows.go b/pkg/kubelet/kuberuntime/kuberuntime_container_windows.go index eeb08d79bf1c7..1fc1ac73218a2 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container_windows.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container_windows.go @@ -44,6 +44,12 @@ func (m *kubeGenericRuntimeManager) applyPlatformSpecificContainerConfig(config return nil } +// generateContainerResources generates platform specific (windows) container resources config for runtime +func (m *kubeGenericRuntimeManager) generateContainerResources(pod *v1.Pod, container *v1.Container) *runtimeapi.ContainerResources { + //TODO: Add windows support + return nil +} + // generateWindowsContainerConfig generates windows container config for kubelet runtime v1. // Refer https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/cri-windows.md. func (m *kubeGenericRuntimeManager) generateWindowsContainerConfig(container *v1.Container, pod *v1.Pod, uid *int64, username string) (*runtimeapi.WindowsContainerConfig, error) { diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager.go b/pkg/kubelet/kuberuntime/kuberuntime_manager.go index eebba49bbbe2c..2d89ef859ca87 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager.go @@ -29,6 +29,7 @@ import ( v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubetypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" utilruntime "k8s.io/apimachinery/pkg/util/runtime" utilversion "k8s.io/apimachinery/pkg/util/version" utilfeature "k8s.io/apiserver/pkg/util/feature" @@ -39,6 +40,7 @@ import ( internalapi "k8s.io/cri-api/pkg/apis" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1alpha2" "k8s.io/kubernetes/pkg/api/legacyscheme" + podutil "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/pkg/credentialprovider" "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/kubelet/cm" @@ -121,6 +123,9 @@ type kubeGenericRuntimeManager struct { // The directory path for seccomp profiles. seccompProfileRoot string + // Container management interface for pod container. + containerManager cm.ContainerManager + // Internal lifecycle event handlers for container resource management. internalLifecycle cm.InternalContainerLifecycle @@ -166,7 +171,7 @@ func NewKubeGenericRuntimeManager( cpuCFSQuotaPeriod metav1.Duration, runtimeService internalapi.RuntimeService, imageService internalapi.ImageManagerService, - internalLifecycle cm.InternalContainerLifecycle, + containerManager cm.ContainerManager, legacyLogProvider LegacyLogProvider, runtimeClassManager *runtimeclass.Manager, ) (KubeGenericRuntime, error) { @@ -183,7 +188,8 @@ func NewKubeGenericRuntimeManager( runtimeService: newInstrumentedRuntimeService(runtimeService), imageService: newInstrumentedImageManagerService(imageService), keyring: credentialprovider.NewDockerKeyring(), - internalLifecycle: internalLifecycle, + containerManager: containerManager, + internalLifecycle: containerManager.InternalContainerLifecycle(), legacyLogProvider: legacyLogProvider, runtimeClassManager: runtimeClassManager, logReduction: logreduction.NewLogReduction(identicalErrorDelay), @@ -385,6 +391,16 @@ type containerToKillInfo struct { message string } +// containerToUpdateInfo contains necessary information to update a container's resources. +type containerToUpdateInfo struct { + // Value of the index of the specific container in pod.Spec.Containers. + apiContainer *v1.Container + // Status of the container in pod.Spec.ContainerStatuses. + apiContainerStatus *v1.ContainerStatus + // Status of the runtime container + kubeContainerStatus *kubecontainer.Status +} + // podActions keeps information what to do for a pod. type podActions struct { // Stop all running (regular, init and ephemeral) containers and the sandbox for the pod. @@ -410,6 +426,11 @@ type podActions struct { // EphemeralContainersToStart is a list of indexes for the ephemeral containers to start, // where the index is the index of the specific container in pod.Spec.EphemeralContainers. EphemeralContainersToStart []int + // ContainersToUpdate keeps a list of containers needing resource update. + // Container resource update is applicable only for CPU and memory. + ContainersToUpdate map[v1.ResourceName][]containerToUpdateInfo + // UpdatePodResources is true if container(s) need resource update with restart + UpdatePodResources bool } // podSandboxChanged checks whether the spec of the pod is changed and returns @@ -483,6 +504,9 @@ func (m *kubeGenericRuntimeManager) computePodActions(pod *v1.Pod, podStatus *ku ContainersToStart: []int{}, ContainersToKill: make(map[kubecontainer.ContainerID]containerToKillInfo), } + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + changes.ContainersToUpdate = make(map[v1.ResourceName][]containerToUpdateInfo) + } // If we need to (re-)create the pod sandbox, everything will need to be // killed and recreated, and init containers should be purged. @@ -604,6 +628,76 @@ func (m *kubeGenericRuntimeManager) computePodActions(pod *v1.Pod, podStatus *ku // If the container failed the startup probe, we should kill it. message = fmt.Sprintf("Container %s failed startup probe", container.Name) } else { + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + keepCount++ + if container.Resources.Limits == nil || len(pod.Status.ContainerStatuses) == 0 { + continue + } + // Determine if the *running* container needs resource update by comparing Spec.Resources (desired) + // with Status.Resources (last known actual). This check is done when kubelet has accepted the + // resize a.k.a Resources.Requests == ResourcesAllocated. + // Skip if runtime container ID does not match pod.Status containerID as container may be restarting + apiContainerStatus, exists := podutil.GetContainerStatus(pod.Status.ContainerStatuses, container.Name) + if !exists || apiContainerStatus.State.Running == nil || + containerStatus.State != kubecontainer.ContainerStateRunning || + containerStatus.ID.String() != apiContainerStatus.ContainerID || + len(diff.ObjectDiff(container.Resources.Requests, container.ResourcesAllocated)) != 0 || + len(diff.ObjectDiff(apiContainerStatus.Resources, container.Resources)) == 0 { + continue + } + resizePolicy := make(map[v1.ResourceName]v1.ContainerResizePolicy) + for _, pol := range container.ResizePolicy { + resizePolicy[pol.ResourceName] = pol.Policy + } + determineContainerResize := func(rName v1.ResourceName, specValue, statusValue int64) (bool, bool) { + if specValue == statusValue { + return false, false + } + if resizePolicy[rName] == v1.RestartContainer { + return true, true + } + return true, false + } + markContainerForUpdate := func(rName v1.ResourceName, specValue, statusValue int64) { + cUpdateInfo := containerToUpdateInfo{ + apiContainer: &pod.Spec.Containers[idx], + apiContainerStatus: &apiContainerStatus, + kubeContainerStatus: containerStatus, + } + // Container updates are ordered so that resource decreases are applied before increases + switch { + case specValue > statusValue: // append + changes.ContainersToUpdate[rName] = append(changes.ContainersToUpdate[rName], cUpdateInfo) + case specValue < statusValue: // prepend + changes.ContainersToUpdate[rName] = append(changes.ContainersToUpdate[rName], containerToUpdateInfo{}) + copy(changes.ContainersToUpdate[rName][1:], changes.ContainersToUpdate[rName]) + changes.ContainersToUpdate[rName][0] = cUpdateInfo + } + } + specLim := container.Resources.Limits + statusLim := apiContainerStatus.Resources.Limits + resizeMem, restartMem := determineContainerResize(v1.ResourceMemory, specLim.Memory().Value(), statusLim.Memory().Value()) + resizeCPU, restartCPU := determineContainerResize(v1.ResourceCPU, specLim.Cpu().MilliValue(), statusLim.Cpu().MilliValue()) + if restartMem || restartCPU { + // resize policy requires this container to restart + changes.ContainersToKill[containerStatus.ID] = containerToKillInfo{ + name: containerStatus.Name, + container: &pod.Spec.Containers[idx], + message: fmt.Sprintf("Container %s resize requires restart", container.Name), + } + changes.ContainersToStart = append(changes.ContainersToStart, idx) + changes.UpdatePodResources = true + keepCount-- + } else { + if resizeMem { + markContainerForUpdate(v1.ResourceMemory, specLim.Memory().Value(), statusLim.Memory().Value()) + } + if resizeCPU { + markContainerForUpdate(v1.ResourceCPU, specLim.Cpu().MilliValue(), statusLim.Cpu().MilliValue()) + } + } + continue + } // Keep the container. keepCount++ continue @@ -824,7 +918,73 @@ func (m *kubeGenericRuntimeManager) SyncPod(pod *v1.Pod, podStatus *kubecontaine klog.V(4).Infof("Completed init container %q for pod %q", container.Name, format.Pod(pod)) } - // Step 7: start containers in podContainerChanges.ContainersToStart. + // Step 7: For containers in podContainerChanges.ContainersToUpdate[CPU,Memory] list, invoke UpdateContainerResources + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) && + (len(podContainerChanges.ContainersToUpdate) > 0 || podContainerChanges.UpdatePodResources) { + pcm := m.containerManager.NewPodContainerManager() + podResources := cm.ResourceConfigForPod(pod, m.cpuCFSQuota, uint64((m.cpuCFSQuotaPeriod.Duration)/time.Microsecond)) + if podResources == nil { + klog.Errorf("Unable to get resource configuration for pod %s", pod.Name) + return + } + setPodCgroupConfig := func(rName v1.ResourceName) error { + var err error + switch rName { + case v1.ResourceCPU: + err = pcm.SetPodCgroupCpuConfig(pod, podResources.CpuQuota, podResources.CpuPeriod, podResources.CpuShares) + case v1.ResourceMemory: + err = pcm.SetPodCgroupMemoryConfig(pod, *podResources.Memory) + } + if err != nil { + klog.Errorf("Failed to set %s cgroup config for pod %s failed: %v", rName, pod.Name, err) + } + return err + } + // Memory and CPU are updated separately because memory resizes may be ordered differently than CPU resizes. + // If resize results in net pod resource increase, set pod cgroup config before resizing containers. + // If resize results in net pod resource decrease, set pod cgroup config after resizing containers. + // If an error occurs at any point, abort. Let future syncpod iterations retry the unfinished stuff. + resizeContainers := func(rName v1.ResourceName, currPodCgLimit, newPodCgLimit int64) error { + var err error + if newPodCgLimit > currPodCgLimit { + if err = setPodCgroupConfig(rName); err != nil { + return err + } + } + if len(podContainerChanges.ContainersToUpdate[rName]) > 0 { + if err = m.updatePodContainerResources(pod, podStatus, rName, podContainerChanges.ContainersToUpdate[rName]); err != nil { + klog.Errorf("updatePodContainerResources for pod %q resource %s failed: %v", format.Pod(pod), rName, err) + return err + } + } + if newPodCgLimit < currPodCgLimit { + err = setPodCgroupConfig(rName) + } + return err + } + if len(podContainerChanges.ContainersToUpdate[v1.ResourceMemory]) > 0 || podContainerChanges.UpdatePodResources { + currentPodMemoryLimit, err := pcm.GetPodCgroupMemoryConfig(pod) + if err != nil { + klog.Errorf("GetPodCgroupMemoryConfig for pod %s failed: %v", pod.Name, err) + return + } + if errResize := resizeContainers(v1.ResourceMemory, int64(currentPodMemoryLimit), *podResources.Memory); errResize != nil { + return + } + } + if len(podContainerChanges.ContainersToUpdate[v1.ResourceCPU]) > 0 || podContainerChanges.UpdatePodResources { + currentPodCPUQuota, _, _, err := pcm.GetPodCgroupCpuConfig(pod) + if err != nil { + klog.Errorf("GetPodCgroupCpuConfig for pod %s failed: %v", pod.Name, err) + return + } + if errResize := resizeContainers(v1.ResourceCPU, currentPodCPUQuota, *podResources.CpuQuota); errResize != nil { + return + } + } + } + + // Step 8: start containers in podContainerChanges.ContainersToStart. for _, idx := range podContainerChanges.ContainersToStart { start("container", containerStartSpec(&pod.Spec.Containers[idx])) } @@ -832,6 +992,84 @@ func (m *kubeGenericRuntimeManager) SyncPod(pod *v1.Pod, podStatus *kubecontaine return } +func (m *kubeGenericRuntimeManager) updatePodContainerResources(pod *v1.Pod, podStatus *kubecontainer.PodStatus, resourceName v1.ResourceName, containersToUpdate []containerToUpdateInfo) error { + type updatedResourcesInfo struct { + cStatus *kubecontainer.Status + rLimits v1.ResourceList + rAllocs v1.ResourceList + } + updatedResourcesMap := make(map[kubecontainer.ContainerID]updatedResourcesInfo) + + for _, cInfo := range containersToUpdate { + container := cInfo.apiContainer + specLimits := container.Resources.Limits + specAllocs := container.ResourcesAllocated + defer func() { + container.Resources.Limits = specLimits + container.ResourcesAllocated = specAllocs + }() + switch resourceName { + case v1.ResourceCPU: + container.Resources.Limits = v1.ResourceList{ + v1.ResourceCPU: *specLimits.Cpu(), + v1.ResourceMemory: *cInfo.apiContainerStatus.Resources.Limits.Memory(), + } + container.ResourcesAllocated = v1.ResourceList{ + v1.ResourceCPU: *specAllocs.Cpu(), + v1.ResourceMemory: *cInfo.apiContainerStatus.Resources.Requests.Memory(), + } + case v1.ResourceMemory: + container.Resources.Limits = v1.ResourceList{ + v1.ResourceCPU: *cInfo.apiContainerStatus.Resources.Limits.Cpu(), + v1.ResourceMemory: *specLimits.Memory(), + } + container.ResourcesAllocated = v1.ResourceList{ + v1.ResourceCPU: *cInfo.apiContainerStatus.Resources.Requests.Cpu(), + v1.ResourceMemory: *specAllocs.Memory(), + } + } + if err := m.updateContainerResources(pod, container, cInfo.kubeContainerStatus.ID); err != nil { + klog.Errorf("updateContainerResources %q(id=%q) for pod %q failed: %v", container.Name, cInfo.kubeContainerStatus.ID, format.Pod(pod), err) + return err + } + cInfo.apiContainerStatus.Resources.Limits = container.Resources.Limits + // NOTE: Ideally, cpu and memory resources information come from ContainerStatus CRI API query. + // However, the runtime may not have implemented query support for currently configured resources. + // If this info isn't available via CRI, update pod cache status on successful updateContainerResources. + if container.Resources.Limits != nil { + updatedResourcesMap[cInfo.kubeContainerStatus.ID] = updatedResourcesInfo{ + cStatus: cInfo.kubeContainerStatus, + rLimits: container.Resources.Limits, + rAllocs: container.ResourcesAllocated, + } + } + } + + if len(updatedResourcesMap) > 0 { + // Update pod cache runtime container status (cInfo.kubeContainerStatus) with resources from ContainerStatus API. + newPodStatus, err := m.GetPodStatus(podStatus.ID, pod.Name, pod.Namespace) + if err != nil { + klog.Errorf("GetPodStatus failed for pod %q failed: %v", format.Pod(pod), err) + return err + } + for _, kubeContainerStatus := range newPodStatus.ContainerStatuses { + if updatedInfo, updated := updatedResourcesMap[kubeContainerStatus.ID]; updated { + if kubeContainerStatus.Resources.Limits != nil { + updatedInfo.cStatus.Resources.Limits = kubeContainerStatus.Resources.Limits + } else { + updatedInfo.cStatus.Resources.Limits = updatedInfo.rLimits.DeepCopy() + } + if kubeContainerStatus.Resources.Requests != nil { + updatedInfo.cStatus.Resources.Requests = kubeContainerStatus.Resources.Requests + } else { + updatedInfo.cStatus.Resources.Requests = updatedInfo.rAllocs.DeepCopy() + } + } + } + } + return nil +} + // If a container is still in backoff, the function will return a brief backoff error and // a detailed error message. func (m *kubeGenericRuntimeManager) doBackOff(pod *v1.Pod, container *v1.Container, podStatus *kubecontainer.PodStatus, backOff *flowcontrol.Backoff) (bool, string, error) { diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go b/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go index e8e9512a73bff..765a714c974ab 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go @@ -28,6 +28,7 @@ import ( "github.com/stretchr/testify/require" v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" @@ -682,6 +683,28 @@ func makeBasePodAndStatus() (*v1.Pod, *kubecontainer.PodStatus) { }, }, }, + Status: v1.PodStatus{ + ContainerStatuses: []v1.ContainerStatus{ + { + ContainerID: "://id2", + Name: "foo2", + Image: "busybox", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{}}, + }, + { + ContainerID: "://id1", + Name: "foo1", + Image: "busybox", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{}}, + }, + { + ContainerID: "://id3", + Name: "foo3", + Image: "busybox", + State: v1.ContainerState{Running: &v1.ContainerStateRunning{}}, + }, + }, + }, } status := &kubecontainer.PodStatus{ ID: pod.UID, @@ -1343,3 +1366,388 @@ func makeBasePodAndStatusWithInitAndEphemeralContainers() (*v1.Pod, *kubecontain }) return pod, status } + +func TestComputePodActionsForPodResize(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + _, _, m, err := createTestRuntimeManager() + require.NoError(t, err) + + basePod, baseStatus := makeBasePodAndStatus() + cpu100m := resource.MustParse("100m") + cpu200m := resource.MustParse("200m") + mem100M := resource.MustParse("100Mi") + mem200M := resource.MustParse("200Mi") + cpuPolicyNoRestart := v1.ResizePolicy{ResourceName: v1.ResourceCPU, Policy: v1.NoRestart} + memPolicyNoRestart := v1.ResizePolicy{ResourceName: v1.ResourceMemory, Policy: v1.NoRestart} + cpuPolicyRestart := v1.ResizePolicy{ResourceName: v1.ResourceCPU, Policy: v1.RestartContainer} + memPolicyRestart := v1.ResizePolicy{ResourceName: v1.ResourceMemory, Policy: v1.RestartContainer} + + for desc, test := range map[string]struct { + mutatePodAndStatusFn func(*v1.Pod, *kubecontainer.PodStatus) + actions podActions + mutatePodActionsFn func(*v1.Pod, *podActions) + }{ + "Update container CPU and memory resources when state.Resources and status.Resources differ": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[1].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pod.Status.ContainerStatuses[0].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{}), + ContainersToStart: []int{}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{ + v1.ResourceCPU: { + { + apiContainer: &basePod.Spec.Containers[1], + apiContainerStatus: &basePod.Status.ContainerStatuses[0], + kubeContainerStatus: baseStatus.ContainerStatuses[1], + }, + }, + v1.ResourceMemory: { + { + apiContainer: &basePod.Spec.Containers[1], + apiContainerStatus: &basePod.Status.ContainerStatuses[0], + kubeContainerStatus: baseStatus.ContainerStatuses[1], + }, + }, + }, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + pac := pa.ContainersToUpdate[v1.ResourceCPU][0] + pam := pa.ContainersToUpdate[v1.ResourceMemory][0] + pac.apiContainer.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pac.apiContainer.ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart} + pam.apiContainer.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pam.apiContainer.ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart} + pac.apiContainerStatus.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + pam.apiContainerStatus.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + hash := kubecontainer.HashContainer(&pod.Spec.Containers[1]) + pac.kubeContainerStatus.Hash = hash + pam.kubeContainerStatus.Hash = hash + }, + }, + "Update container CPU resources when state.Resources and status.Resources differ in CPU": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[1].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pod.Status.ContainerStatuses[0].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem200M}, + } + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{}), + ContainersToStart: []int{}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{ + v1.ResourceCPU: { + { + apiContainer: &basePod.Spec.Containers[1], + apiContainerStatus: &basePod.Status.ContainerStatuses[0], + kubeContainerStatus: baseStatus.ContainerStatuses[1], + }, + }, + }, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + pac := pa.ContainersToUpdate[v1.ResourceCPU][0] + pac.apiContainer.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pac.apiContainer.ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart} + pac.apiContainerStatus.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem200M}, + } + hash := kubecontainer.HashContainer(&pod.Spec.Containers[1]) + pac.kubeContainerStatus.Hash = hash + }, + }, + "Update container memory resources when state.Resources and status.Resources differ in memory": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pod.Status.ContainerStatuses[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem100M}, + } + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{}), + ContainersToStart: []int{}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{ + v1.ResourceMemory: { + { + apiContainer: &basePod.Spec.Containers[2], + apiContainerStatus: &basePod.Status.ContainerStatuses[2], + kubeContainerStatus: baseStatus.ContainerStatuses[2], + }, + }, + }, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + pam := pa.ContainersToUpdate[v1.ResourceMemory][0] + pam.apiContainer.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pam.apiContainer.ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart} + pam.apiContainerStatus.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem100M}, + } + hash := kubecontainer.HashContainer(&pod.Spec.Containers[2]) + pam.kubeContainerStatus.Hash = hash + }, + }, + "Nothing when state.Resources and status.Resources are equal": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[1].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m}, + } + pod.Status.ContainerStatuses[0].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m}, + } + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{}), + ContainersToStart: []int{}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{}, + }, + }, + "Update container CPU and memory resources with RestartContainer policy for CPU": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pod.Spec.Containers[2].ResizePolicy = []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart} + pod.Status.ContainerStatuses[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + podStatus.ContainerStatuses[2].Hash = kubecontainer.HashContainer(&pod.Spec.Containers[2]) + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{2}), + ContainersToStart: []int{2}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{}, + UpdatePodResources: true, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + c := pa.ContainersToKill[baseStatus.ContainerStatuses[2].ID].container + c.Resources = v1.ResourceRequirements{Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}} + c.ResizePolicy = []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart} + }, + }, + "Update container CPU and memory resources with RestartContainer policy for memory": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}, + } + pod.Spec.Containers[2].ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart} + pod.Status.ContainerStatuses[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + podStatus.ContainerStatuses[2].Hash = kubecontainer.HashContainer(&pod.Spec.Containers[2]) + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{2}), + ContainersToStart: []int{2}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{}, + UpdatePodResources: true, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + c := pa.ContainersToKill[baseStatus.ContainerStatuses[2].ID].container + c.Resources = v1.ResourceRequirements{Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M}} + c.ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart} + }, + }, + "Update container memory resources with RestartContainer policy for CPU": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem200M}, + } + pod.Spec.Containers[2].ResizePolicy = []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart} + pod.Status.ContainerStatuses[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + podStatus.ContainerStatuses[2].Hash = kubecontainer.HashContainer(&pod.Spec.Containers[2]) + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{}), + ContainersToStart: []int{}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{ + v1.ResourceMemory: { + { + apiContainer: &basePod.Spec.Containers[2], + apiContainerStatus: &basePod.Status.ContainerStatuses[2], + kubeContainerStatus: baseStatus.ContainerStatuses[2], + }, + }, + }, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + ci := pa.ContainersToUpdate[v1.ResourceMemory][0] + ci.apiContainer.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem200M}, + } + ci.apiContainer.ResizePolicy = []v1.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart} + ci.apiContainerStatus.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + ci.kubeContainerStatus.Hash = kubecontainer.HashContainer(&pod.Spec.Containers[2]) + }, + }, + "Update container CPU resources with RestartContainer policy for memory": { + mutatePodAndStatusFn: func(pod *v1.Pod, podStatus *kubecontainer.PodStatus) { + pod.Spec.Containers[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem100M}, + } + pod.Spec.Containers[2].ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart} + pod.Status.ContainerStatuses[2].Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + podStatus.ContainerStatuses[2].Hash = kubecontainer.HashContainer(&pod.Spec.Containers[2]) + }, + actions: podActions{ + SandboxID: baseStatus.SandboxStatuses[0].Id, + ContainersToKill: getKillMap(basePod, baseStatus, []int{}), + ContainersToStart: []int{}, + ContainersToUpdate: map[v1.ResourceName][]containerToUpdateInfo{ + v1.ResourceCPU: { + { + apiContainer: &basePod.Spec.Containers[2], + apiContainerStatus: &basePod.Status.ContainerStatuses[2], + kubeContainerStatus: baseStatus.ContainerStatuses[2], + }, + }, + }, + }, + mutatePodActionsFn: func(pod *v1.Pod, pa *podActions) { + ci := pa.ContainersToUpdate[v1.ResourceCPU][0] + ci.apiContainer.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem100M}, + } + ci.apiContainer.ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart} + ci.apiContainerStatus.Resources = v1.ResourceRequirements{ + Limits: v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M}, + } + ci.kubeContainerStatus.Hash = kubecontainer.HashContainer(&pod.Spec.Containers[2]) + }, + }, + //TODO: more tests + } { + pod, status := makeBasePodAndStatus() + for idx := range pod.Spec.Containers { + // default resize policy when pod resize feature is enabled + pod.Spec.Containers[idx].ResizePolicy = []v1.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart} + status.ContainerStatuses[idx].Hash = kubecontainer.HashContainer(&pod.Spec.Containers[idx]) + } + if test.mutatePodAndStatusFn != nil { + test.mutatePodAndStatusFn(pod, status) + } + if test.mutatePodActionsFn != nil { + test.mutatePodActionsFn(pod, &test.actions) + } + actions := m.computePodActions(pod, status) + verifyActions(t, &test.actions, &actions, desc) + } +} + +func TestUpdateContainerLimits(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + fakeRuntime, _, m, err := createTestRuntimeManager() + m.machineInfo.MemoryCapacity = 17179860387 // 16GB + assert.NoError(t, err) + + cpu100m := resource.MustParse("100m") + cpu150m := resource.MustParse("150m") + cpu200m := resource.MustParse("200m") + cpu250m := resource.MustParse("250m") + cpu300m := resource.MustParse("300m") + cpu350m := resource.MustParse("350m") + mem100M := resource.MustParse("100Mi") + mem150M := resource.MustParse("150Mi") + mem200M := resource.MustParse("200Mi") + mem250M := resource.MustParse("250Mi") + mem300M := resource.MustParse("300Mi") + mem350M := resource.MustParse("350Mi") + res100m100Mi := v1.ResourceList{v1.ResourceCPU: cpu100m, v1.ResourceMemory: mem100M} + res150m150Mi := v1.ResourceList{v1.ResourceCPU: cpu150m, v1.ResourceMemory: mem150M} + res200m200Mi := v1.ResourceList{v1.ResourceCPU: cpu200m, v1.ResourceMemory: mem200M} + res250m250Mi := v1.ResourceList{v1.ResourceCPU: cpu250m, v1.ResourceMemory: mem250M} + res300m300Mi := v1.ResourceList{v1.ResourceCPU: cpu300m, v1.ResourceMemory: mem300M} + res350m350Mi := v1.ResourceList{v1.ResourceCPU: cpu350m, v1.ResourceMemory: mem350M} + + pod, kubeStatus := makeBasePodAndStatus() + makeAndSetFakePod(t, m, fakeRuntime, pod) + + for dsc, tc := range map[string]struct { + resourceName v1.ResourceName + apiSpecResources []v1.ResourceRequirements + apiStatusResources []v1.ResourceRequirements + kubeStatusResources []v1.ResourceList + requiresRestart []bool + invokeUpdateResources bool + expectedKubeResources []v1.ResourceList + }{ + "Guaranteed QoS Pod - CPU & memory resize": { + resourceName: v1.ResourceCPU, + apiSpecResources: []v1.ResourceRequirements{ + {Limits: res150m150Mi, Requests: res150m150Mi}, + {Limits: res250m250Mi, Requests: res250m250Mi}, + {Limits: res350m350Mi, Requests: res350m350Mi}, + }, + apiStatusResources: []v1.ResourceRequirements{ + {Limits: res200m200Mi, Requests: res200m200Mi}, + {Limits: res100m100Mi, Requests: res100m100Mi}, + {Limits: res300m300Mi, Requests: res300m300Mi}, + }, + kubeStatusResources: []v1.ResourceList{res100m100Mi, res200m200Mi, res300m300Mi}, + requiresRestart: []bool{false, false, false}, + invokeUpdateResources: true, + expectedKubeResources: []v1.ResourceList{res100m100Mi, res200m200Mi, res300m300Mi}, + }, + //TODO: more tests + } { + var containersToUpdate []containerToUpdateInfo + for idx := range pod.Spec.Containers { + // default resize policy when pod resize feature is enabled + pod.Spec.Containers[idx].Resources = tc.apiSpecResources[idx] + pod.Status.ContainerStatuses[idx].Resources = tc.apiStatusResources[idx] + kubeStatus.ContainerStatuses[idx].Resources.Limits = tc.kubeStatusResources[idx] + kubeStatus.ContainerStatuses[idx].Hash = kubecontainer.HashContainer(&pod.Spec.Containers[idx]) + cInfo := containerToUpdateInfo{ + apiContainer: &pod.Spec.Containers[idx], + apiContainerStatus: &pod.Status.ContainerStatuses[idx], + kubeContainerStatus: kubeStatus.ContainerStatuses[idx], + } + containersToUpdate = append(containersToUpdate, cInfo) + + } + fakeRuntime.Called = []string{} + err := m.updatePodContainerResources(pod, kubeStatus, tc.resourceName, containersToUpdate) + assert.NoError(t, err, dsc) + + if tc.invokeUpdateResources { + assert.Contains(t, fakeRuntime.Called, "UpdateContainerResources", dsc) + } + for idx := range pod.Spec.Containers { + assert.Equal(t, tc.expectedKubeResources[idx], kubeStatus.ContainerStatuses[idx].Resources.Limits, dsc) + } + } +} diff --git a/pkg/kubelet/preemption/BUILD b/pkg/kubelet/preemption/BUILD index 96671988d0511..7d517f5471550 100644 --- a/pkg/kubelet/preemption/BUILD +++ b/pkg/kubelet/preemption/BUILD @@ -13,6 +13,7 @@ go_library( deps = [ "//pkg/api/v1/resource:go_default_library", "//pkg/apis/core/v1/helper/qos:go_default_library", + "//pkg/features:go_default_library", "//pkg/kubelet/events:go_default_library", "//pkg/kubelet/eviction:go_default_library", "//pkg/kubelet/lifecycle:go_default_library", @@ -20,6 +21,7 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//vendor/k8s.io/klog/v2:go_default_library", ], diff --git a/pkg/kubelet/preemption/preemption.go b/pkg/kubelet/preemption/preemption.go index 04db4ae0dc183..149b71a9561a5 100644 --- a/pkg/kubelet/preemption/preemption.go +++ b/pkg/kubelet/preemption/preemption.go @@ -21,10 +21,12 @@ import ( "math" "k8s.io/api/core/v1" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/tools/record" "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/api/v1/resource" v1qos "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" + "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/kubelet/events" "k8s.io/kubernetes/pkg/kubelet/eviction" "k8s.io/kubernetes/pkg/kubelet/lifecycle" @@ -195,7 +197,12 @@ type admissionRequirementList []*admissionRequirement func (a admissionRequirementList) distance(pod *v1.Pod) float64 { dist := float64(0) for _, req := range a { - remainingRequest := float64(req.quantity - resource.GetResourceRequest(pod, req.resourceName)) + var remainingRequest float64 + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + remainingRequest = float64(req.quantity - resource.GetResourceAllocation(pod, req.resourceName)) + } else { + remainingRequest = float64(req.quantity - resource.GetResourceRequest(pod, req.resourceName)) + } if remainingRequest > 0 { dist += math.Pow(remainingRequest/float64(req.quantity), 2) } @@ -210,7 +217,11 @@ func (a admissionRequirementList) subtract(pods ...*v1.Pod) admissionRequirement for _, req := range a { newQuantity := req.quantity for _, pod := range pods { - newQuantity -= resource.GetResourceRequest(pod, req.resourceName) + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + newQuantity -= resource.GetResourceAllocation(pod, req.resourceName) + } else { + newQuantity -= resource.GetResourceRequest(pod, req.resourceName) + } if newQuantity <= 0 { break } @@ -260,8 +271,14 @@ func smallerResourceRequest(pod1 *v1.Pod, pod2 *v1.Pod) bool { v1.ResourceCPU, } for _, res := range priorityList { - req1 := resource.GetResourceRequest(pod1, res) - req2 := resource.GetResourceRequest(pod2, res) + var req1, req2 int64 + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + req1 = resource.GetResourceAllocation(pod1, res) + req2 = resource.GetResourceAllocation(pod2, res) + } else { + req1 = resource.GetResourceRequest(pod1, res) + req2 = resource.GetResourceRequest(pod2, res) + } if req1 < req2 { return true } else if req1 > req2 { diff --git a/pkg/kubelet/qos/BUILD b/pkg/kubelet/qos/BUILD index e068804aabe94..b3618b4321f25 100644 --- a/pkg/kubelet/qos/BUILD +++ b/pkg/kubelet/qos/BUILD @@ -26,8 +26,10 @@ go_library( importpath = "k8s.io/kubernetes/pkg/kubelet/qos", deps = [ "//pkg/apis/core/v1/helper/qos:go_default_library", + "//pkg/features:go_default_library", "//pkg/kubelet/types:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", ], ) diff --git a/pkg/kubelet/qos/policy.go b/pkg/kubelet/qos/policy.go index f005fc59d50e7..df193d6ddc980 100644 --- a/pkg/kubelet/qos/policy.go +++ b/pkg/kubelet/qos/policy.go @@ -18,7 +18,9 @@ package qos import ( v1 "k8s.io/api/core/v1" + utilfeature "k8s.io/apiserver/pkg/util/feature" v1qos "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" + "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/kubelet/types" ) @@ -60,6 +62,9 @@ func GetContainerOOMScoreAdjust(pod *v1.Pod, container *v1.Container, memoryCapa // targets for OOM kills. // Note that this is a heuristic, it won't work if a container has many small processes. memoryRequest := container.Resources.Requests.Memory().Value() + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + memoryRequest = container.ResourcesAllocated.Memory().Value() + } oomScoreAdjust := 1000 - (1000*memoryRequest)/memoryCapacity // A guaranteed pod using 100% of memory can have an OOM score of 10. Ensure // that burstable pods have a higher OOM score adjustment. diff --git a/pkg/quota/v1/evaluator/core/pods.go b/pkg/quota/v1/evaluator/core/pods.go index 955a59596f0f2..41367eb30ebda 100644 --- a/pkg/quota/v1/evaluator/core/pods.go +++ b/pkg/quota/v1/evaluator/core/pods.go @@ -30,10 +30,12 @@ import ( "k8s.io/apimachinery/pkg/util/clock" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" + utilfeature "k8s.io/apiserver/pkg/util/feature" api "k8s.io/kubernetes/pkg/apis/core" k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1" "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" + "k8s.io/kubernetes/pkg/features" quota "k8s.io/kubernetes/pkg/quota/v1" "k8s.io/kubernetes/pkg/quota/v1/generic" ) @@ -145,7 +147,7 @@ func (p *podEvaluator) GroupResource() schema.GroupResource { // Handles returns true if the evaluator should handle the specified attributes. func (p *podEvaluator) Handles(a admission.Attributes) bool { op := a.GetOperation() - if op == admission.Create { + if op == admission.Create || (utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) && op == admission.Update) { return true } return false diff --git a/pkg/scheduler/framework/v1alpha1/types.go b/pkg/scheduler/framework/v1alpha1/types.go index 1e464bf9c9761..7437352cba54a 100644 --- a/pkg/scheduler/framework/v1alpha1/types.go +++ b/pkg/scheduler/framework/v1alpha1/types.go @@ -549,8 +549,14 @@ func (n *NodeInfo) resetSlicesIfEmpty() { func calculateResource(pod *v1.Pod) (res Resource, non0CPU int64, non0Mem int64) { resPtr := &res for _, c := range pod.Spec.Containers { - resPtr.Add(c.Resources.Requests) - non0CPUReq, non0MemReq := schedutil.GetNonzeroRequests(&c.Resources.Requests) + var non0CPUReq, non0MemReq int64 + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + resPtr.Add(c.ResourcesAllocated) + non0CPUReq, non0MemReq = schedutil.GetNonzeroRequests(&c.ResourcesAllocated) + } else { + resPtr.Add(c.Resources.Requests) + non0CPUReq, non0MemReq = schedutil.GetNonzeroRequests(&c.Resources.Requests) + } non0CPU += non0CPUReq non0Mem += non0MemReq // No non-zero resources for GPUs or opaque resources. diff --git a/pkg/util/pod/pod_test.go b/pkg/util/pod/pod_test.go index c3f928c77e49c..f8743ffb2a8a2 100644 --- a/pkg/util/pod/pod_test.go +++ b/pkg/util/pod/pod_test.go @@ -83,7 +83,7 @@ func TestPatchPodStatus(t *testing.T) { return input }, false, - []byte(fmt.Sprintf(`{"metadata":{"uid":"myuid"},"status":{"initContainerStatuses":[{"image":"","imageID":"","lastState":{},"name":"init-container","ready":true,"restartCount":0,"state":{}}]}}`)), + []byte(fmt.Sprintf(`{"metadata":{"uid":"myuid"},"status":{"initContainerStatuses":[{"image":"","imageID":"","lastState":{},"name":"init-container","ready":true,"resources":{},"restartCount":0,"state":{}}]}}`)), }, } for _, tc := range testCases { diff --git a/plugin/BUILD b/plugin/BUILD index e604729052fab..70d93ea576f61 100644 --- a/plugin/BUILD +++ b/plugin/BUILD @@ -30,6 +30,7 @@ filegroup( "//plugin/pkg/admission/nodetaint:all-srcs", "//plugin/pkg/admission/podnodeselector:all-srcs", "//plugin/pkg/admission/podpreset:all-srcs", + "//plugin/pkg/admission/podresourceallocation:all-srcs", "//plugin/pkg/admission/podtolerationrestriction:all-srcs", "//plugin/pkg/admission/priority:all-srcs", "//plugin/pkg/admission/resourcequota:all-srcs", diff --git a/plugin/pkg/admission/limitranger/BUILD b/plugin/pkg/admission/limitranger/BUILD index cd3344d1ab0e2..b99dee8e0af8a 100644 --- a/plugin/pkg/admission/limitranger/BUILD +++ b/plugin/pkg/admission/limitranger/BUILD @@ -15,6 +15,7 @@ go_library( importpath = "k8s.io/kubernetes/plugin/pkg/admission/limitranger", deps = [ "//pkg/apis/core:go_default_library", + "//pkg/features:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", @@ -24,6 +25,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//staging/src/k8s.io/apiserver/pkg/admission:go_default_library", "//staging/src/k8s.io/apiserver/pkg/admission/initializer:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", diff --git a/plugin/pkg/admission/limitranger/admission.go b/plugin/pkg/admission/limitranger/admission.go index aeec0ed50e954..0bb536147ca59 100644 --- a/plugin/pkg/admission/limitranger/admission.go +++ b/plugin/pkg/admission/limitranger/admission.go @@ -35,10 +35,12 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apiserver/pkg/admission" genericadmissioninitailizer "k8s.io/apiserver/pkg/admission/initializer" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" corev1listers "k8s.io/client-go/listers/core/v1" api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/features" ) const ( @@ -459,11 +461,13 @@ func (d *DefaultLimitRangerActions) SupportsAttributes(a admission.Attributes) b return false } - // Since containers and initContainers cannot currently be added, removed, or updated, it is unnecessary - // to mutate and validate limitrange on pod updates. Trying to mutate containers or initContainers on a pod - // update request will always fail pod validation because those fields are immutable once the object is created. - if a.GetKind().GroupKind() == api.Kind("Pod") && a.GetOperation() == admission.Update { - return false + if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + // Since containers and initContainers cannot currently be added, removed, or updated, it is unnecessary + // to mutate and validate limitrange on pod updates. Trying to mutate containers or initContainers on a pod + // update request will always fail pod validation because those fields are immutable once the object is created. + if a.GetKind().GroupKind() == api.Kind("Pod") && a.GetOperation() == admission.Update { + return false + } } return a.GetKind().GroupKind() == api.Kind("Pod") || a.GetKind().GroupKind() == api.Kind("PersistentVolumeClaim") diff --git a/plugin/pkg/admission/noderestriction/BUILD b/plugin/pkg/admission/noderestriction/BUILD index 736a3d046b6db..12ab4b8dd4185 100644 --- a/plugin/pkg/admission/noderestriction/BUILD +++ b/plugin/pkg/admission/noderestriction/BUILD @@ -29,6 +29,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apiserver/pkg/admission:go_default_library", "//staging/src/k8s.io/apiserver/pkg/admission/initializer:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/component-base/featuregate:go_default_library", @@ -49,6 +50,7 @@ go_test( "//pkg/features:go_default_library", "//pkg/kubelet/apis:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", @@ -56,9 +58,11 @@ go_test( "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apiserver/pkg/admission:go_default_library", "//staging/src/k8s.io/apiserver/pkg/authentication/user:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/component-base/featuregate:go_default_library", + "//staging/src/k8s.io/component-base/featuregate/testing:go_default_library", "//vendor/k8s.io/utils/pointer:go_default_library", ], ) diff --git a/plugin/pkg/admission/noderestriction/admission.go b/plugin/pkg/admission/noderestriction/admission.go index 4ec35894e8ffd..529e3fd420dc6 100644 --- a/plugin/pkg/admission/noderestriction/admission.go +++ b/plugin/pkg/admission/noderestriction/admission.go @@ -20,6 +20,7 @@ import ( "context" "fmt" "io" + "reflect" "strings" v1 "k8s.io/api/core/v1" @@ -31,6 +32,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" apiserveradmission "k8s.io/apiserver/pkg/admission/initializer" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/informers" corev1lister "k8s.io/client-go/listers/core/v1" "k8s.io/component-base/featuregate" @@ -200,6 +202,12 @@ func (p *Plugin) admitPod(nodeName string, a admission.Attributes) error { } return nil + case admission.Update: + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + return p.admitPodUpdate(nodeName, a) + } + fallthrough + default: return admission.NewForbidden(a, fmt.Errorf("unexpected operation %q, node %q can only create and delete mirror pods", a.GetOperation(), nodeName)) } @@ -274,6 +282,46 @@ func (p *Plugin) admitPodCreate(nodeName string, a admission.Attributes) error { return nil } +func (p *Plugin) admitPodUpdate(nodeName string, a admission.Attributes) error { + // require a pod object + pod, ok := a.GetObject().(*api.Pod) + if !ok { + return admission.NewForbidden(a, fmt.Errorf("unexpected type %T", a.GetObject())) + } + + // only allow a node to update a pod bound to itself + if pod.Spec.NodeName != nodeName { + return admission.NewForbidden(a, fmt.Errorf("node %q can only update pods with spec.nodeName set to itself", nodeName)) + } + + // Allow updates only to ResourcesAllocated field + oldPod, ok := a.GetOldObject().(*api.Pod) + if !ok { + return admission.NewForbidden(a, fmt.Errorf("unexpected type %T", a.GetObject())) + } + + // Check to see if node is changing number of containers + if len(pod.Spec.Containers) != len(oldPod.Spec.Containers) { + return admission.NewForbidden(a, fmt.Errorf("node %q cannot change number of containers", nodeName)) + } + + oldPodCopy := oldPod.DeepCopy() + // Node can only update ResourcesAllocated field for CPU and memory + for i := range oldPodCopy.Spec.Containers { + if r, found := pod.Spec.Containers[i].ResourcesAllocated[api.ResourceCPU]; found { + oldPodCopy.Spec.Containers[i].ResourcesAllocated[api.ResourceCPU] = r.DeepCopy() + } + if r, found := pod.Spec.Containers[i].ResourcesAllocated[api.ResourceMemory]; found { + oldPodCopy.Spec.Containers[i].ResourcesAllocated[api.ResourceMemory] = r.DeepCopy() + } + } + if !reflect.DeepEqual(pod.Spec, oldPodCopy.Spec) { + // TODO: return mutable fields set instead of below + return admission.NewForbidden(a, fmt.Errorf("unexpected operation node %q is only allowed to update ResourcesAllocated field of the Pod's containers: %+v", nodeName, diff.ObjectReflectDiff(oldPod.Spec, pod.Spec))) + } + return nil +} + // admitPodStatus allows to update the status of a pod if it is // assigned to the current node. func (p *Plugin) admitPodStatus(nodeName string, a admission.Attributes) error { diff --git a/plugin/pkg/admission/noderestriction/admission_test.go b/plugin/pkg/admission/noderestriction/admission_test.go index 2d0565cffcad3..5979404688a77 100644 --- a/plugin/pkg/admission/noderestriction/admission_test.go +++ b/plugin/pkg/admission/noderestriction/admission_test.go @@ -26,6 +26,7 @@ import ( corev1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" @@ -33,9 +34,11 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/authentication/user" + utilfeature "k8s.io/apiserver/pkg/util/feature" corev1lister "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" "k8s.io/component-base/featuregate" + featuregatetesting "k8s.io/component-base/featuregate/testing" authenticationapi "k8s.io/kubernetes/pkg/apis/authentication" "k8s.io/kubernetes/pkg/apis/coordination" api "k8s.io/kubernetes/pkg/apis/core" @@ -1271,6 +1274,207 @@ func Test_nodePlugin_Admit(t *testing.T) { } } +func Test_nodePlugin_Admit_PodSpecUpdate(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + + nodeName := "somenode" + tests := []struct { + name string + newPod api.Pod + oldPod api.Pod + expectErr string + }{ + { + "Node updates ResourcesAllocated CPU - valid", + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("200m"), + api.ResourceMemory: resource.MustParse("500Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("500Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + "", + }, + { + "Node updates ResourcesAllocated memory - valid", + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("1000Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("500Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + "", + }, + { + "Node updates ResourcesAllocated storage - invalid", + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("500Mi"), + api.ResourceStorage: resource.MustParse("10Gi"), + }, + }, + }, + }, + }, + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("500Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + "unexpected operation node", + }, + { + "Node updates imagePullPolicy - invalid", + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ImagePullPolicy: api.PullAlways, + }, + }, + }, + }, + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ImagePullPolicy: api.PullIfNotPresent, + }, + }, + }, + }, + "unexpected operation node", + }, + { + "Node updates ResourcesAllocated memory for pod bound to another node - invalid", + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: "someothernode", + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("1000Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test"}, + Spec: api.PodSpec{ + NodeName: nodeName, + Containers: []api.Container{ + { + Image: "foo:V1", + ResourcesAllocated: api.ResourceList{ + api.ResourceCPU: resource.MustParse("100m"), + api.ResourceMemory: resource.MustParse("500Mi"), + api.ResourceStorage: resource.MustParse("5Gi"), + }, + }, + }, + }, + }, + "can only update pods with spec.nodeName set to itself", + }, + //TODO: more tests - Test_nodePlugin_Admit + } + + c := NewPlugin(nodeidentifier.NewDefaultNodeIdentifier()) + for _, tc := range tests { + attributes := admission.NewAttributesRecord(&tc.newPod, &tc.oldPod, api.Kind("Pod").WithVersion("version"), + tc.newPod.Namespace, tc.newPod.Name, api.Resource("pods").WithVersion("version"), "", + admission.Update, nil, false, nil) + err := c.admitPod(nodeName, attributes) + if (err == nil) != (len(tc.expectErr) == 0) { + t.Errorf("Testcase %s: nodePlugin.admitPodUpdate() error = %v, expected %v", tc.name, err, tc.expectErr) + return + } + if len(tc.expectErr) > 0 && !strings.Contains(err.Error(), tc.expectErr) { + t.Errorf("Testcase %s: nodePlugin.admitPodUpdate() error = %v, expected %v", tc.name, err, tc.expectErr) + } + } +} + func Test_nodePlugin_Admit_OwnerReference(t *testing.T) { expectedNodeIndex := cache.NewIndexer(cache.MetaNamespaceKeyFunc, nil) expectedNodeIndex.Add(&v1.Node{ObjectMeta: metav1.ObjectMeta{Name: "mynode", UID: "mynode-uid"}}) diff --git a/plugin/pkg/admission/podresourceallocation/BUILD b/plugin/pkg/admission/podresourceallocation/BUILD new file mode 100644 index 0000000000000..bf3f87de519f4 --- /dev/null +++ b/plugin/pkg/admission/podresourceallocation/BUILD @@ -0,0 +1,52 @@ +package(default_visibility = ["//visibility:public"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", + "go_test", +) + +go_library( + name = "go_default_library", + srcs = ["admission.go"], + importpath = "k8s.io/kubernetes/plugin/pkg/admission/podresourceallocation", + deps = [ + "//pkg/apis/core:go_default_library", + "//pkg/apis/core/helper/qos:go_default_library", + "//pkg/auth/nodeidentifier:go_default_library", + "//pkg/features:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/admission:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", + ], +) + +go_test( + name = "go_default_test", + srcs = ["admission_test.go"], + embed = [":go_default_library"], + deps = [ + "//pkg/apis/core:go_default_library", + "//pkg/features:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/admission:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/authentication/user:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", + "//staging/src/k8s.io/component-base/featuregate/testing:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], +) diff --git a/plugin/pkg/admission/podresourceallocation/admission.go b/plugin/pkg/admission/podresourceallocation/admission.go new file mode 100644 index 0000000000000..bd52d122c354c --- /dev/null +++ b/plugin/pkg/admission/podresourceallocation/admission.go @@ -0,0 +1,199 @@ +/* +Copyright 2020 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 podresourceallocation + +import ( + "context" + "fmt" + "io" + "reflect" + + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apiserver/pkg/admission" + utilfeature "k8s.io/apiserver/pkg/util/feature" + api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/apis/core/helper/qos" + "k8s.io/kubernetes/pkg/auth/nodeidentifier" + "k8s.io/kubernetes/pkg/features" +) + +// PluginName is a string with the name of the plugin +const PluginName = "PodResourceAllocation" + +// Register registers a plugin +func Register(plugins *admission.Plugins) { + plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { + return NewPodResourceAllocation(), nil + }) +} + +// Plugin contains the client used by the admission controller +type Plugin struct { + *admission.Handler + nodeidentifier nodeidentifier.NodeIdentifier +} + +var _ admission.ValidationInterface = &Plugin{} + +// NewPodResourceAllocation creates a new instance of the PodResourceAllocation admission controller +func NewPodResourceAllocation() *Plugin { + return &Plugin{ + Handler: admission.NewHandler(admission.Create, admission.Update), + nodeidentifier: nodeidentifier.NewDefaultNodeIdentifier(), + } +} + +// Admit may mutate the pod's ResourcesAllocated or ResizePolicy fields for compatibility with older client versions +func (p *Plugin) Admit(ctx context.Context, attributes admission.Attributes, o admission.ObjectInterfaces) (err error) { + if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + return nil + } + // Ignore all calls to subresources or resources other than pods. + if len(attributes.GetSubresource()) != 0 || attributes.GetResource().GroupResource() != api.Resource("pods") { + return nil + } + + pod, ok := attributes.GetObject().(*api.Pod) + if !ok { + return apierrors.NewBadRequest("Resource was marked with kind Pod but was unable to be converted") + } + + op := attributes.GetOperation() + // mutation to set defaults is done in admission plugin rather than in defaults + // because doing it here allows us to support create/update from older client versions + switch op { + case admission.Create: + podQoS := qos.GetPodQOS(pod) + for i := range pod.Spec.Containers { + // set container resize policy to nil for best-effort class + if podQoS == api.PodQOSBestEffort { + pod.Spec.Containers[i].ResizePolicy = nil + continue + } + // set resources allocated equal to requests, if not specified + if pod.Spec.Containers[i].Resources.Requests != nil { + if pod.Spec.Containers[i].ResourcesAllocated == nil { + pod.Spec.Containers[i].ResourcesAllocated = make(api.ResourceList) + for key, value := range pod.Spec.Containers[i].Resources.Requests { + pod.Spec.Containers[i].ResourcesAllocated[key] = value.DeepCopy() + } + } + } + // set resize policy to defaults, if not specified + resources := make(map[api.ResourceName]bool) + for _, p := range pod.Spec.Containers[i].ResizePolicy { + resources[p.ResourceName] = true + } + if _, found := resources[api.ResourceCPU]; !found { + pod.Spec.Containers[i].ResizePolicy = append(pod.Spec.Containers[i].ResizePolicy, + api.ResizePolicy{ + ResourceName: api.ResourceCPU, + Policy: api.NoRestart, + }) + } + if _, found := resources[api.ResourceMemory]; !found { + pod.Spec.Containers[i].ResizePolicy = append(pod.Spec.Containers[i].ResizePolicy, + api.ResizePolicy{ + ResourceName: api.ResourceMemory, + Policy: api.NoRestart, + }) + } + } + + case admission.Update: + oldPod, ok := attributes.GetOldObject().(*api.Pod) + if !ok { + return apierrors.NewBadRequest("Resource was marked with kind Pod but was unable to be converted") + } + if len(pod.Spec.Containers) != len(oldPod.Spec.Containers) { + return admission.NewForbidden(attributes, fmt.Errorf("Pod updates may not add or remove containers")) + } + // if ResourcesAllocated or ResizePolicy fields are being dropped due to older client versions + // because they do not know about these new fields, then just copy the fields over + for i, c := range pod.Spec.Containers { + // If ResizePolicy is not specified by user, it is set to defaults + if c.ResizePolicy == nil || len(c.ResizePolicy) == 0 { + pod.Spec.Containers[i].ResizePolicy = oldPod.Spec.Containers[i].ResizePolicy + } + // if Resources.Requests is not nil, ResourcesAllocated must be non-nil as well + if oldPod.Spec.Containers[i].Resources.Requests != nil && c.ResourcesAllocated == nil { + pod.Spec.Containers[i].ResourcesAllocated = oldPod.Spec.Containers[i].ResourcesAllocated + } + } + } + return nil +} + +// Validate will deny any request to a pod's ResourcesAllocated unless the user is system node account +// It also ensures new Pods have ResourcesAllocated equal to desired Resources, if it is set +func (p *Plugin) Validate(ctx context.Context, attributes admission.Attributes, o admission.ObjectInterfaces) (err error) { + if !utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + return nil + } + // Ignore all calls to subresources or resources other than pods. + if len(attributes.GetSubresource()) != 0 || attributes.GetResource().GroupResource() != api.Resource("pods") { + return nil + } + + pod, ok := attributes.GetObject().(*api.Pod) + if !ok { + return apierrors.NewBadRequest("Resource was marked with kind Pod but was unable to be converted") + } + op := attributes.GetOperation() + switch op { + case admission.Create: + // newly created pods must have ResourcesAllocated field either empty or equal to Requests + for _, c := range pod.Spec.Containers { + if c.Resources.Requests == nil { + continue + } + if c.ResourcesAllocated == nil || len(c.ResourcesAllocated) != len(c.Resources.Requests) || + !reflect.DeepEqual(c.ResourcesAllocated, c.Resources.Requests) { + return apierrors.NewBadRequest("Resource allocation must equal desired resources for new pod") + } + } + + case admission.Update: + oldPod, ok := attributes.GetOldObject().(*api.Pod) + if !ok { + return apierrors.NewBadRequest("Resource was marked with kind Pod but was unable to be converted") + } + if len(pod.Spec.Containers) != len(oldPod.Spec.Containers) { + return admission.NewForbidden(attributes, fmt.Errorf("Pod updates may not add or remove containers")) + } + // only node can update ResourcesAllocated field (for CPU and memory fields only - checked during validation) + // also verify that node is updating ResourcesAllocated only for pods that are bound to it + // noderestriction plugin (if enabled) ensures that node isn't modifying anything besides ResourcesAllocated + userInfo := attributes.GetUserInfo() + nodeName, isNode := p.nodeidentifier.NodeIdentity(userInfo) + for i, c := range pod.Spec.Containers { + if c.Resources.Requests == nil || len(c.Resources.Requests) == 0 { + continue + } + if c.ResourcesAllocated != nil && + !reflect.DeepEqual(c.ResourcesAllocated, oldPod.Spec.Containers[i].ResourcesAllocated) { + if !isNode { + return admission.NewForbidden(attributes, fmt.Errorf("Only node can modify pod resource allocations")) + } + if pod.Spec.NodeName != nodeName { + return admission.NewForbidden(attributes, fmt.Errorf("Node %s can't modify resource allocation for pod bound to node %s", nodeName, pod.Spec.NodeName)) + } + } + } + } + return nil +} diff --git a/plugin/pkg/admission/podresourceallocation/admission_test.go b/plugin/pkg/admission/podresourceallocation/admission_test.go new file mode 100644 index 0000000000000..d81672ec4cae9 --- /dev/null +++ b/plugin/pkg/admission/podresourceallocation/admission_test.go @@ -0,0 +1,357 @@ +/* +Copyright 2020 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 podresourceallocation + +import ( + "context" + "fmt" + "testing" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apiserver/pkg/admission" + "k8s.io/apiserver/pkg/authentication/user" + utilfeature "k8s.io/apiserver/pkg/util/feature" + featuregatetesting "k8s.io/component-base/featuregate/testing" + api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/features" +) + +func TestAdmitCreate(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + namespace := "test" + handler := NewPodResourceAllocation() + pod := api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod1", Namespace: namespace}, + Spec: api.PodSpec{ + Containers: []api.Container{ + { + Name: "c1", + Image: "image", + }, + }, + }, + } + res := api.ResourceList{ + api.ResourceCPU: resource.MustParse("1"), + api.ResourceMemory: resource.MustParse("1Gi"), + } + cpuPolicyNoRestart := api.ResizePolicy{ResourceName: api.ResourceCPU, Policy: api.NoRestart} + memPolicyNoRestart := api.ResizePolicy{ResourceName: api.ResourceMemory, Policy: api.NoRestart} + cpuPolicyRestart := api.ResizePolicy{ResourceName: api.ResourceCPU, Policy: api.RestartContainer} + memPolicyRestart := api.ResizePolicy{ResourceName: api.ResourceMemory, Policy: api.RestartContainer} + tests := []struct { + name string + resources api.ResourceRequirements + resourcesAllocated api.ResourceList + expectedResourcesAllocated api.ResourceList + resizePolicy []api.ResizePolicy + expectedResizePolicy []api.ResizePolicy + }{ + { + name: "create new pod - resource allocation not set, resize policy not set", + resources: api.ResourceRequirements{Requests: res, Limits: res}, + resourcesAllocated: nil, + expectedResourcesAllocated: res, + resizePolicy: []api.ResizePolicy{}, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart}, + }, + { + name: "create new pod - resource allocation equals desired, norestart resize policy set", + resources: api.ResourceRequirements{Requests: res, Limits: res}, + resourcesAllocated: res, + expectedResourcesAllocated: res, + resizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart}, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart}, + }, + { + name: "create new pod - resources & resource allocation not set, cpu restart resize policy set", + resources: api.ResourceRequirements{}, + resourcesAllocated: nil, + expectedResourcesAllocated: nil, + resizePolicy: []api.ResizePolicy{cpuPolicyRestart}, + expectedResizePolicy: []api.ResizePolicy{}, + }, + { + name: "create new pod - resource allocation equals requests, mem restart resize policy set", + resources: api.ResourceRequirements{Requests: res}, + resourcesAllocated: res, + expectedResourcesAllocated: res, + resizePolicy: []api.ResizePolicy{memPolicyRestart}, + expectedResizePolicy: []api.ResizePolicy{memPolicyRestart, cpuPolicyNoRestart}, + }, + { + name: "create new pod - resource allocation not set, cpu & mem restart resize policy set", + resources: api.ResourceRequirements{Requests: res}, + resourcesAllocated: nil, + expectedResourcesAllocated: res, + resizePolicy: []api.ResizePolicy{cpuPolicyRestart, memPolicyRestart}, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyRestart, memPolicyRestart}, + }, + //TODO: look into if more unit tests and negative tests could be added + } + + for _, tc := range tests { + pod.Spec.Containers[0].Resources = tc.resources + pod.Spec.Containers[0].ResourcesAllocated = tc.resourcesAllocated + pod.Spec.Containers[0].ResizePolicy = tc.resizePolicy + err := handler.Admit(context.TODO(), admission.NewAttributesRecord(&pod, nil, api.Kind("Pod").WithVersion("version"), + pod.Namespace, pod.Name, api.Resource("pods").WithVersion("version"), "", + admission.Create, nil, false, nil), nil) + if !apiequality.Semantic.DeepEqual(pod.Spec.Containers[0].ResourcesAllocated, tc.expectedResourcesAllocated) { + t.Fatal(fmt.Sprintf("Test: %s - resourcesAllocated mismatch\nExpected: %+v\nGot: %+v\nError: %+v", tc.name, + tc.expectedResourcesAllocated, pod.Spec.Containers[0].ResourcesAllocated, err)) + } + if !apiequality.Semantic.DeepEqual(pod.Spec.Containers[0].ResizePolicy, tc.expectedResizePolicy) { + t.Fatal(fmt.Sprintf("Test: %s - resizePolicy mismatch\nExpected: %+v\nGot: %+v\nError: %+v", tc.name, + tc.expectedResizePolicy, pod.Spec.Containers[0].ResizePolicy, err)) + } + } +} + +func TestAdmitUpdate(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + namespace := "test" + handler := NewPodResourceAllocation() + res := api.ResourceList{ + api.ResourceCPU: resource.MustParse("2"), + api.ResourceMemory: resource.MustParse("2Gi"), + } + res2 := api.ResourceList{ + api.ResourceCPU: resource.MustParse("1"), + api.ResourceMemory: resource.MustParse("1Gi"), + } + oldPod := &api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod1", Namespace: namespace}, + Spec: api.PodSpec{ + Containers: []api.Container{ + { + Name: "c1", + Image: "image", + Resources: api.ResourceRequirements{Requests: res, Limits: res}, + }, + }, + }, + } + cpuPolicyNoRestart := api.ResizePolicy{ResourceName: api.ResourceCPU, Policy: api.NoRestart} + memPolicyNoRestart := api.ResizePolicy{ResourceName: api.ResourceMemory, Policy: api.NoRestart} + cpuPolicyRestart := api.ResizePolicy{ResourceName: api.ResourceCPU, Policy: api.RestartContainer} + memPolicyRestart := api.ResizePolicy{ResourceName: api.ResourceMemory, Policy: api.RestartContainer} + tests := []struct { + name string + oldResourcesAllocated api.ResourceList + newResourcesAllocated api.ResourceList + expectedResourcesAllocated api.ResourceList + oldResizePolicy []api.ResizePolicy + newResizePolicy []api.ResizePolicy + expectedResizePolicy []api.ResizePolicy + }{ + { + name: "update pod - resource allocation dropped, resize policy dropped (nil)", + oldResourcesAllocated: res, + newResourcesAllocated: nil, + expectedResourcesAllocated: res, + oldResizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart}, + newResizePolicy: nil, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyNoRestart}, + }, + { + name: "update pod - resource allocation not set, resize policy dropped (empty)", + oldResourcesAllocated: nil, + newResourcesAllocated: nil, + expectedResourcesAllocated: nil, + oldResizePolicy: []api.ResizePolicy{cpuPolicyRestart, memPolicyRestart}, + newResizePolicy: []api.ResizePolicy{}, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyRestart, memPolicyRestart}, + }, + { + name: "update pod - resource allocation retained, resize policy dropped (nil)", + oldResourcesAllocated: res, + newResourcesAllocated: res, + expectedResourcesAllocated: res, + oldResizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart}, + newResizePolicy: nil, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyNoRestart, memPolicyRestart}, + }, + { + name: "update pod - resource allocation not equal to desired dropped, resize policy dropped (empty)", + oldResourcesAllocated: res2, + newResourcesAllocated: nil, + expectedResourcesAllocated: res2, + oldResizePolicy: []api.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart}, + newResizePolicy: []api.ResizePolicy{}, + expectedResizePolicy: []api.ResizePolicy{cpuPolicyRestart, memPolicyNoRestart}, + }, + //TODO: look into if more unit tests can be added + } + + for _, tc := range tests { + newPod := oldPod.DeepCopy() + oldPod.Spec.Containers[0].ResourcesAllocated = tc.oldResourcesAllocated + oldPod.Spec.Containers[0].ResizePolicy = tc.oldResizePolicy + newPod.Spec.Containers[0].ResourcesAllocated = tc.newResourcesAllocated + newPod.Spec.Containers[0].ResizePolicy = tc.newResizePolicy + err := handler.Admit(context.TODO(), admission.NewAttributesRecord(newPod, oldPod, api.Kind("Pod").WithVersion("version"), + newPod.Namespace, newPod.Name, api.Resource("pods").WithVersion("version"), "", + admission.Update, nil, false, nil), nil) + if !apiequality.Semantic.DeepEqual(newPod.Spec.Containers[0].ResourcesAllocated, tc.expectedResourcesAllocated) { + t.Fatal(fmt.Sprintf("Test: %s - resourcesAllocated mismatch\nExpected: %+v\nGot: %+v\nError: %+v", tc.name, + tc.expectedResourcesAllocated, newPod.Spec.Containers[0].ResourcesAllocated, err)) + } + if !apiequality.Semantic.DeepEqual(newPod.Spec.Containers[0].ResizePolicy, tc.expectedResizePolicy) { + t.Fatal(fmt.Sprintf("Test: %s - resizePolicy mismatch\nExpected: %+v\nGot: %+v\nError: %+v", tc.name, + tc.expectedResizePolicy, newPod.Spec.Containers[0].ResizePolicy, err)) + } + } +} + +func TestValidateCreate(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + namespace := "test" + handler := NewPodResourceAllocation() + pod := api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod1", Namespace: namespace}, + Spec: api.PodSpec{ + Containers: []api.Container{ + { + Name: "c1", + Image: "image", + }, + }, + }, + } + resources1 := api.ResourceList{ + api.ResourceCPU: resource.MustParse("1"), + api.ResourceMemory: resource.MustParse("1Gi"), + } + resources2 := api.ResourceList{ + api.ResourceCPU: resource.MustParse("2"), + api.ResourceMemory: resource.MustParse("2Gi"), + } + tests := []struct { + name string + resources api.ResourceRequirements + resourcesAllocated api.ResourceList + expectError bool + }{ + { + name: "create new pod - resource allocation not set", + resources: api.ResourceRequirements{Requests: resources1, Limits: resources1}, + resourcesAllocated: nil, + expectError: true, + }, + { + name: "create new pod - resource allocation equals desired resources", + resources: api.ResourceRequirements{Requests: resources1, Limits: resources1}, + resourcesAllocated: resources1, + expectError: false, + }, + { + name: "create new pod - resource allocation exceeds desired resources", + resources: api.ResourceRequirements{Requests: resources1, Limits: resources1}, + resourcesAllocated: resources2, + expectError: true, + }, + //TODO: more unit tests and negative tests + } + + for _, tc := range tests { + pod.Spec.Containers[0].Resources = tc.resources + pod.Spec.Containers[0].ResourcesAllocated = tc.resourcesAllocated + err := handler.Validate(context.TODO(), admission.NewAttributesRecord(&pod, nil, api.Kind("Pod").WithVersion("version"), + pod.Namespace, pod.Name, api.Resource("pods").WithVersion("version"), "", + admission.Create, nil, false, nil), nil) + if tc.expectError && err == nil { + t.Fatal(fmt.Sprintf("Test: %s - missing expected error", tc.name)) + } + if !tc.expectError && err != nil { + t.Fatal(fmt.Sprintf("Test: %s - received unexpected error %+v", tc.name, err)) + } + } +} + +func TestValidateUpdate(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.InPlacePodVerticalScaling, true)() + namespace := "test" + handler := NewPodResourceAllocation() + resources := api.ResourceList{ + api.ResourceCPU: resource.MustParse("1"), + api.ResourceMemory: resource.MustParse("1Gi"), + } + oldPod := &api.Pod{ + ObjectMeta: metav1.ObjectMeta{Name: "pod1", Namespace: namespace}, + Spec: api.PodSpec{ + NodeName: "foonode", + Containers: []api.Container{ + { + Name: "c1", + Image: "image", + Resources: api.ResourceRequirements{Requests: resources, Limits: resources}, + }, + }, + }, + } + newPod := oldPod.DeepCopy() + newPod.Spec.Containers[0].ResourcesAllocated = resources + tests := []struct { + name string + userInfo user.Info + expectError bool + }{ + { + name: "update existing pod - system:node user", + userInfo: &user.DefaultInfo{Name: "system:node:foonode", Groups: []string{user.AllAuthenticated, user.NodesGroup}}, + expectError: false, + }, + { + name: "update existing pod not owned by node - system:node user", + userInfo: &user.DefaultInfo{Name: "system:node:barnode", Groups: []string{user.AllAuthenticated, user.NodesGroup}}, + expectError: true, + }, + { + name: "update existing pod - system:admin user", + userInfo: &user.DefaultInfo{Name: "system:admin", Groups: []string{user.AllAuthenticated, user.SystemPrivilegedGroup}}, + expectError: true, + }, + //TODO: more unit tests and negative tests + } + + for _, tc := range tests { + err := handler.Validate(context.TODO(), admission.NewAttributesRecord(newPod, oldPod, api.Kind("Pod").WithVersion("version"), + newPod.Namespace, newPod.Name, api.Resource("pods").WithVersion("version"), "", + admission.Update, nil, false, tc.userInfo), nil) + if tc.expectError && err == nil { + t.Fatal(fmt.Sprintf("Test: %s - missing expected error", tc.name)) + } + if !tc.expectError && err != nil { + t.Fatal(fmt.Sprintf("Test: %s - received unexpected error %+v", tc.name, err)) + } + } +} + +func TestHandles(t *testing.T) { + handler := NewPodResourceAllocation() + //TODO: Connect, Delete operation negative tests + tests := []admission.Operation{admission.Create, admission.Update} + + for _, test := range tests { + if !handler.Handles(test) { + t.Errorf("Expected handling all operations, including: %v", test) + } + } +} diff --git a/plugin/pkg/admission/resourcequota/BUILD b/plugin/pkg/admission/resourcequota/BUILD index 8f4d5ee1fd5a9..0350ea98a89fd 100644 --- a/plugin/pkg/admission/resourcequota/BUILD +++ b/plugin/pkg/admission/resourcequota/BUILD @@ -17,6 +17,7 @@ go_library( ], importpath = "k8s.io/kubernetes/plugin/pkg/admission/resourcequota", deps = [ + "//pkg/features:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/quota/v1:go_default_library", "//pkg/quota/v1/generic:go_default_library", @@ -38,6 +39,7 @@ go_library( "//staging/src/k8s.io/apiserver/pkg/admission:go_default_library", "//staging/src/k8s.io/apiserver/pkg/admission/initializer:go_default_library", "//staging/src/k8s.io/apiserver/pkg/storage/etcd3:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/informers:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", diff --git a/plugin/pkg/admission/resourcequota/controller.go b/plugin/pkg/admission/resourcequota/controller.go index 510db4f6f447c..25ac414bb16b7 100644 --- a/plugin/pkg/admission/resourcequota/controller.go +++ b/plugin/pkg/admission/resourcequota/controller.go @@ -34,7 +34,9 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/admission" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/util/workqueue" + "k8s.io/kubernetes/pkg/features" quota "k8s.io/kubernetes/pkg/quota/v1" "k8s.io/kubernetes/pkg/quota/v1/generic" resourcequotaapi "k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota" @@ -506,7 +508,14 @@ func CheckRequest(quotas []corev1.ResourceQuota, a admission.Attributes, evaluat if innerErr != nil { return quotas, innerErr } - deltaUsage = quota.SubtractWithNonNegativeResult(deltaUsage, prevUsage) + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + // allow negative usage for pods as pod resources can increase or decrease + if a.GetResource().GroupResource() == corev1.Resource("pods") { + deltaUsage = quota.Subtract(deltaUsage, prevUsage) + } + } else { + deltaUsage = quota.SubtractWithNonNegativeResult(deltaUsage, prevUsage) + } } } diff --git a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go index 8dd4ef80a9b64..f8b8fb2b524ed 100644 --- a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go +++ b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go @@ -181,6 +181,11 @@ func NodeRules() []rbacv1.PolicyRule { if utilfeature.DefaultFeatureGate.Enabled(features.RuntimeClass) { nodePolicyRules = append(nodePolicyRules, rbacv1helpers.NewRule("get", "list", "watch").Groups("node.k8s.io").Resources("runtimeclasses").RuleOrDie()) } + + // InPlacePodVerticalScaling + if utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) { + nodePolicyRules = append(nodePolicyRules, rbacv1helpers.NewRule("patch").Groups(legacyGroup).Resources("pods").RuleOrDie()) + } return nodePolicyRules } diff --git a/staging/src/k8s.io/api/core/v1/generated.pb.go b/staging/src/k8s.io/api/core/v1/generated.pb.go index ea138ca67ce60..e2c620ff5ffbb 100644 --- a/staging/src/k8s.io/api/core/v1/generated.pb.go +++ b/staging/src/k8s.io/api/core/v1/generated.pb.go @@ -4389,10 +4389,38 @@ func (m *ReplicationControllerStatus) XXX_DiscardUnknown() { var xxx_messageInfo_ReplicationControllerStatus proto.InternalMessageInfo +func (m *ResizePolicy) Reset() { *m = ResizePolicy{} } +func (*ResizePolicy) ProtoMessage() {} +func (*ResizePolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_83c10c24ec417dc9, []int{155} +} +func (m *ResizePolicy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ResizePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *ResizePolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResizePolicy.Merge(m, src) +} +func (m *ResizePolicy) XXX_Size() int { + return m.Size() +} +func (m *ResizePolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ResizePolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ResizePolicy proto.InternalMessageInfo + func (m *ResourceFieldSelector) Reset() { *m = ResourceFieldSelector{} } func (*ResourceFieldSelector) ProtoMessage() {} func (*ResourceFieldSelector) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{155} + return fileDescriptor_83c10c24ec417dc9, []int{156} } func (m *ResourceFieldSelector) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4420,7 +4448,7 @@ var xxx_messageInfo_ResourceFieldSelector proto.InternalMessageInfo func (m *ResourceQuota) Reset() { *m = ResourceQuota{} } func (*ResourceQuota) ProtoMessage() {} func (*ResourceQuota) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{156} + return fileDescriptor_83c10c24ec417dc9, []int{157} } func (m *ResourceQuota) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4448,7 +4476,7 @@ var xxx_messageInfo_ResourceQuota proto.InternalMessageInfo func (m *ResourceQuotaList) Reset() { *m = ResourceQuotaList{} } func (*ResourceQuotaList) ProtoMessage() {} func (*ResourceQuotaList) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{157} + return fileDescriptor_83c10c24ec417dc9, []int{158} } func (m *ResourceQuotaList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4476,7 +4504,7 @@ var xxx_messageInfo_ResourceQuotaList proto.InternalMessageInfo func (m *ResourceQuotaSpec) Reset() { *m = ResourceQuotaSpec{} } func (*ResourceQuotaSpec) ProtoMessage() {} func (*ResourceQuotaSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{158} + return fileDescriptor_83c10c24ec417dc9, []int{159} } func (m *ResourceQuotaSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4504,7 +4532,7 @@ var xxx_messageInfo_ResourceQuotaSpec proto.InternalMessageInfo func (m *ResourceQuotaStatus) Reset() { *m = ResourceQuotaStatus{} } func (*ResourceQuotaStatus) ProtoMessage() {} func (*ResourceQuotaStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{159} + return fileDescriptor_83c10c24ec417dc9, []int{160} } func (m *ResourceQuotaStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4532,7 +4560,7 @@ var xxx_messageInfo_ResourceQuotaStatus proto.InternalMessageInfo func (m *ResourceRequirements) Reset() { *m = ResourceRequirements{} } func (*ResourceRequirements) ProtoMessage() {} func (*ResourceRequirements) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{160} + return fileDescriptor_83c10c24ec417dc9, []int{161} } func (m *ResourceRequirements) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4560,7 +4588,7 @@ var xxx_messageInfo_ResourceRequirements proto.InternalMessageInfo func (m *SELinuxOptions) Reset() { *m = SELinuxOptions{} } func (*SELinuxOptions) ProtoMessage() {} func (*SELinuxOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{161} + return fileDescriptor_83c10c24ec417dc9, []int{162} } func (m *SELinuxOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4588,7 +4616,7 @@ var xxx_messageInfo_SELinuxOptions proto.InternalMessageInfo func (m *ScaleIOPersistentVolumeSource) Reset() { *m = ScaleIOPersistentVolumeSource{} } func (*ScaleIOPersistentVolumeSource) ProtoMessage() {} func (*ScaleIOPersistentVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{162} + return fileDescriptor_83c10c24ec417dc9, []int{163} } func (m *ScaleIOPersistentVolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4616,7 +4644,7 @@ var xxx_messageInfo_ScaleIOPersistentVolumeSource proto.InternalMessageInfo func (m *ScaleIOVolumeSource) Reset() { *m = ScaleIOVolumeSource{} } func (*ScaleIOVolumeSource) ProtoMessage() {} func (*ScaleIOVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{163} + return fileDescriptor_83c10c24ec417dc9, []int{164} } func (m *ScaleIOVolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4644,7 +4672,7 @@ var xxx_messageInfo_ScaleIOVolumeSource proto.InternalMessageInfo func (m *ScopeSelector) Reset() { *m = ScopeSelector{} } func (*ScopeSelector) ProtoMessage() {} func (*ScopeSelector) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{164} + return fileDescriptor_83c10c24ec417dc9, []int{165} } func (m *ScopeSelector) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4672,7 +4700,7 @@ var xxx_messageInfo_ScopeSelector proto.InternalMessageInfo func (m *ScopedResourceSelectorRequirement) Reset() { *m = ScopedResourceSelectorRequirement{} } func (*ScopedResourceSelectorRequirement) ProtoMessage() {} func (*ScopedResourceSelectorRequirement) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{165} + return fileDescriptor_83c10c24ec417dc9, []int{166} } func (m *ScopedResourceSelectorRequirement) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4700,7 +4728,7 @@ var xxx_messageInfo_ScopedResourceSelectorRequirement proto.InternalMessageInfo func (m *Secret) Reset() { *m = Secret{} } func (*Secret) ProtoMessage() {} func (*Secret) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{166} + return fileDescriptor_83c10c24ec417dc9, []int{167} } func (m *Secret) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4728,7 +4756,7 @@ var xxx_messageInfo_Secret proto.InternalMessageInfo func (m *SecretEnvSource) Reset() { *m = SecretEnvSource{} } func (*SecretEnvSource) ProtoMessage() {} func (*SecretEnvSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{167} + return fileDescriptor_83c10c24ec417dc9, []int{168} } func (m *SecretEnvSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4756,7 +4784,7 @@ var xxx_messageInfo_SecretEnvSource proto.InternalMessageInfo func (m *SecretKeySelector) Reset() { *m = SecretKeySelector{} } func (*SecretKeySelector) ProtoMessage() {} func (*SecretKeySelector) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{168} + return fileDescriptor_83c10c24ec417dc9, []int{169} } func (m *SecretKeySelector) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4784,7 +4812,7 @@ var xxx_messageInfo_SecretKeySelector proto.InternalMessageInfo func (m *SecretList) Reset() { *m = SecretList{} } func (*SecretList) ProtoMessage() {} func (*SecretList) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{169} + return fileDescriptor_83c10c24ec417dc9, []int{170} } func (m *SecretList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4812,7 +4840,7 @@ var xxx_messageInfo_SecretList proto.InternalMessageInfo func (m *SecretProjection) Reset() { *m = SecretProjection{} } func (*SecretProjection) ProtoMessage() {} func (*SecretProjection) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{170} + return fileDescriptor_83c10c24ec417dc9, []int{171} } func (m *SecretProjection) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4840,7 +4868,7 @@ var xxx_messageInfo_SecretProjection proto.InternalMessageInfo func (m *SecretReference) Reset() { *m = SecretReference{} } func (*SecretReference) ProtoMessage() {} func (*SecretReference) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{171} + return fileDescriptor_83c10c24ec417dc9, []int{172} } func (m *SecretReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4868,7 +4896,7 @@ var xxx_messageInfo_SecretReference proto.InternalMessageInfo func (m *SecretVolumeSource) Reset() { *m = SecretVolumeSource{} } func (*SecretVolumeSource) ProtoMessage() {} func (*SecretVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{172} + return fileDescriptor_83c10c24ec417dc9, []int{173} } func (m *SecretVolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4896,7 +4924,7 @@ var xxx_messageInfo_SecretVolumeSource proto.InternalMessageInfo func (m *SecurityContext) Reset() { *m = SecurityContext{} } func (*SecurityContext) ProtoMessage() {} func (*SecurityContext) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{173} + return fileDescriptor_83c10c24ec417dc9, []int{174} } func (m *SecurityContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4924,7 +4952,7 @@ var xxx_messageInfo_SecurityContext proto.InternalMessageInfo func (m *SerializedReference) Reset() { *m = SerializedReference{} } func (*SerializedReference) ProtoMessage() {} func (*SerializedReference) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{174} + return fileDescriptor_83c10c24ec417dc9, []int{175} } func (m *SerializedReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4952,7 +4980,7 @@ var xxx_messageInfo_SerializedReference proto.InternalMessageInfo func (m *Service) Reset() { *m = Service{} } func (*Service) ProtoMessage() {} func (*Service) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{175} + return fileDescriptor_83c10c24ec417dc9, []int{176} } func (m *Service) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4980,7 +5008,7 @@ var xxx_messageInfo_Service proto.InternalMessageInfo func (m *ServiceAccount) Reset() { *m = ServiceAccount{} } func (*ServiceAccount) ProtoMessage() {} func (*ServiceAccount) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{176} + return fileDescriptor_83c10c24ec417dc9, []int{177} } func (m *ServiceAccount) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5008,7 +5036,7 @@ var xxx_messageInfo_ServiceAccount proto.InternalMessageInfo func (m *ServiceAccountList) Reset() { *m = ServiceAccountList{} } func (*ServiceAccountList) ProtoMessage() {} func (*ServiceAccountList) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{177} + return fileDescriptor_83c10c24ec417dc9, []int{178} } func (m *ServiceAccountList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5036,7 +5064,7 @@ var xxx_messageInfo_ServiceAccountList proto.InternalMessageInfo func (m *ServiceAccountTokenProjection) Reset() { *m = ServiceAccountTokenProjection{} } func (*ServiceAccountTokenProjection) ProtoMessage() {} func (*ServiceAccountTokenProjection) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{178} + return fileDescriptor_83c10c24ec417dc9, []int{179} } func (m *ServiceAccountTokenProjection) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5064,7 +5092,7 @@ var xxx_messageInfo_ServiceAccountTokenProjection proto.InternalMessageInfo func (m *ServiceList) Reset() { *m = ServiceList{} } func (*ServiceList) ProtoMessage() {} func (*ServiceList) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{179} + return fileDescriptor_83c10c24ec417dc9, []int{180} } func (m *ServiceList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5092,7 +5120,7 @@ var xxx_messageInfo_ServiceList proto.InternalMessageInfo func (m *ServicePort) Reset() { *m = ServicePort{} } func (*ServicePort) ProtoMessage() {} func (*ServicePort) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{180} + return fileDescriptor_83c10c24ec417dc9, []int{181} } func (m *ServicePort) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5120,7 +5148,7 @@ var xxx_messageInfo_ServicePort proto.InternalMessageInfo func (m *ServiceProxyOptions) Reset() { *m = ServiceProxyOptions{} } func (*ServiceProxyOptions) ProtoMessage() {} func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{181} + return fileDescriptor_83c10c24ec417dc9, []int{182} } func (m *ServiceProxyOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5148,7 +5176,7 @@ var xxx_messageInfo_ServiceProxyOptions proto.InternalMessageInfo func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } func (*ServiceSpec) ProtoMessage() {} func (*ServiceSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{182} + return fileDescriptor_83c10c24ec417dc9, []int{183} } func (m *ServiceSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5176,7 +5204,7 @@ var xxx_messageInfo_ServiceSpec proto.InternalMessageInfo func (m *ServiceStatus) Reset() { *m = ServiceStatus{} } func (*ServiceStatus) ProtoMessage() {} func (*ServiceStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{183} + return fileDescriptor_83c10c24ec417dc9, []int{184} } func (m *ServiceStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5204,7 +5232,7 @@ var xxx_messageInfo_ServiceStatus proto.InternalMessageInfo func (m *SessionAffinityConfig) Reset() { *m = SessionAffinityConfig{} } func (*SessionAffinityConfig) ProtoMessage() {} func (*SessionAffinityConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{184} + return fileDescriptor_83c10c24ec417dc9, []int{185} } func (m *SessionAffinityConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5232,7 +5260,7 @@ var xxx_messageInfo_SessionAffinityConfig proto.InternalMessageInfo func (m *StorageOSPersistentVolumeSource) Reset() { *m = StorageOSPersistentVolumeSource{} } func (*StorageOSPersistentVolumeSource) ProtoMessage() {} func (*StorageOSPersistentVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{185} + return fileDescriptor_83c10c24ec417dc9, []int{186} } func (m *StorageOSPersistentVolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5260,7 +5288,7 @@ var xxx_messageInfo_StorageOSPersistentVolumeSource proto.InternalMessageInfo func (m *StorageOSVolumeSource) Reset() { *m = StorageOSVolumeSource{} } func (*StorageOSVolumeSource) ProtoMessage() {} func (*StorageOSVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{186} + return fileDescriptor_83c10c24ec417dc9, []int{187} } func (m *StorageOSVolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5288,7 +5316,7 @@ var xxx_messageInfo_StorageOSVolumeSource proto.InternalMessageInfo func (m *Sysctl) Reset() { *m = Sysctl{} } func (*Sysctl) ProtoMessage() {} func (*Sysctl) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{187} + return fileDescriptor_83c10c24ec417dc9, []int{188} } func (m *Sysctl) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5316,7 +5344,7 @@ var xxx_messageInfo_Sysctl proto.InternalMessageInfo func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } func (*TCPSocketAction) ProtoMessage() {} func (*TCPSocketAction) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{188} + return fileDescriptor_83c10c24ec417dc9, []int{189} } func (m *TCPSocketAction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5344,7 +5372,7 @@ var xxx_messageInfo_TCPSocketAction proto.InternalMessageInfo func (m *Taint) Reset() { *m = Taint{} } func (*Taint) ProtoMessage() {} func (*Taint) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{189} + return fileDescriptor_83c10c24ec417dc9, []int{190} } func (m *Taint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5372,7 +5400,7 @@ var xxx_messageInfo_Taint proto.InternalMessageInfo func (m *Toleration) Reset() { *m = Toleration{} } func (*Toleration) ProtoMessage() {} func (*Toleration) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{190} + return fileDescriptor_83c10c24ec417dc9, []int{191} } func (m *Toleration) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5400,7 +5428,7 @@ var xxx_messageInfo_Toleration proto.InternalMessageInfo func (m *TopologySelectorLabelRequirement) Reset() { *m = TopologySelectorLabelRequirement{} } func (*TopologySelectorLabelRequirement) ProtoMessage() {} func (*TopologySelectorLabelRequirement) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{191} + return fileDescriptor_83c10c24ec417dc9, []int{192} } func (m *TopologySelectorLabelRequirement) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5428,7 +5456,7 @@ var xxx_messageInfo_TopologySelectorLabelRequirement proto.InternalMessageInfo func (m *TopologySelectorTerm) Reset() { *m = TopologySelectorTerm{} } func (*TopologySelectorTerm) ProtoMessage() {} func (*TopologySelectorTerm) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{192} + return fileDescriptor_83c10c24ec417dc9, []int{193} } func (m *TopologySelectorTerm) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5456,7 +5484,7 @@ var xxx_messageInfo_TopologySelectorTerm proto.InternalMessageInfo func (m *TopologySpreadConstraint) Reset() { *m = TopologySpreadConstraint{} } func (*TopologySpreadConstraint) ProtoMessage() {} func (*TopologySpreadConstraint) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{193} + return fileDescriptor_83c10c24ec417dc9, []int{194} } func (m *TopologySpreadConstraint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5484,7 +5512,7 @@ var xxx_messageInfo_TopologySpreadConstraint proto.InternalMessageInfo func (m *TypedLocalObjectReference) Reset() { *m = TypedLocalObjectReference{} } func (*TypedLocalObjectReference) ProtoMessage() {} func (*TypedLocalObjectReference) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{194} + return fileDescriptor_83c10c24ec417dc9, []int{195} } func (m *TypedLocalObjectReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5512,7 +5540,7 @@ var xxx_messageInfo_TypedLocalObjectReference proto.InternalMessageInfo func (m *Volume) Reset() { *m = Volume{} } func (*Volume) ProtoMessage() {} func (*Volume) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{195} + return fileDescriptor_83c10c24ec417dc9, []int{196} } func (m *Volume) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5540,7 +5568,7 @@ var xxx_messageInfo_Volume proto.InternalMessageInfo func (m *VolumeDevice) Reset() { *m = VolumeDevice{} } func (*VolumeDevice) ProtoMessage() {} func (*VolumeDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{196} + return fileDescriptor_83c10c24ec417dc9, []int{197} } func (m *VolumeDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5568,7 +5596,7 @@ var xxx_messageInfo_VolumeDevice proto.InternalMessageInfo func (m *VolumeMount) Reset() { *m = VolumeMount{} } func (*VolumeMount) ProtoMessage() {} func (*VolumeMount) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{197} + return fileDescriptor_83c10c24ec417dc9, []int{198} } func (m *VolumeMount) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5596,7 +5624,7 @@ var xxx_messageInfo_VolumeMount proto.InternalMessageInfo func (m *VolumeNodeAffinity) Reset() { *m = VolumeNodeAffinity{} } func (*VolumeNodeAffinity) ProtoMessage() {} func (*VolumeNodeAffinity) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{198} + return fileDescriptor_83c10c24ec417dc9, []int{199} } func (m *VolumeNodeAffinity) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5624,7 +5652,7 @@ var xxx_messageInfo_VolumeNodeAffinity proto.InternalMessageInfo func (m *VolumeProjection) Reset() { *m = VolumeProjection{} } func (*VolumeProjection) ProtoMessage() {} func (*VolumeProjection) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{199} + return fileDescriptor_83c10c24ec417dc9, []int{200} } func (m *VolumeProjection) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5652,7 +5680,7 @@ var xxx_messageInfo_VolumeProjection proto.InternalMessageInfo func (m *VolumeSource) Reset() { *m = VolumeSource{} } func (*VolumeSource) ProtoMessage() {} func (*VolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{200} + return fileDescriptor_83c10c24ec417dc9, []int{201} } func (m *VolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5680,7 +5708,7 @@ var xxx_messageInfo_VolumeSource proto.InternalMessageInfo func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} } func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {} func (*VsphereVirtualDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{201} + return fileDescriptor_83c10c24ec417dc9, []int{202} } func (m *VsphereVirtualDiskVolumeSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5708,7 +5736,7 @@ var xxx_messageInfo_VsphereVirtualDiskVolumeSource proto.InternalMessageInfo func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} } func (*WeightedPodAffinityTerm) ProtoMessage() {} func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{202} + return fileDescriptor_83c10c24ec417dc9, []int{203} } func (m *WeightedPodAffinityTerm) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5736,7 +5764,7 @@ var xxx_messageInfo_WeightedPodAffinityTerm proto.InternalMessageInfo func (m *WindowsSecurityContextOptions) Reset() { *m = WindowsSecurityContextOptions{} } func (*WindowsSecurityContextOptions) ProtoMessage() {} func (*WindowsSecurityContextOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_83c10c24ec417dc9, []int{203} + return fileDescriptor_83c10c24ec417dc9, []int{204} } func (m *WindowsSecurityContextOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5793,6 +5821,7 @@ func init() { proto.RegisterType((*ConfigMapProjection)(nil), "k8s.io.api.core.v1.ConfigMapProjection") proto.RegisterType((*ConfigMapVolumeSource)(nil), "k8s.io.api.core.v1.ConfigMapVolumeSource") proto.RegisterType((*Container)(nil), "k8s.io.api.core.v1.Container") + proto.RegisterMapType((ResourceList)(nil), "k8s.io.api.core.v1.Container.ResourcesAllocatedEntry") proto.RegisterType((*ContainerImage)(nil), "k8s.io.api.core.v1.ContainerImage") proto.RegisterType((*ContainerPort)(nil), "k8s.io.api.core.v1.ContainerPort") proto.RegisterType((*ContainerState)(nil), "k8s.io.api.core.v1.ContainerState") @@ -5815,6 +5844,7 @@ func init() { proto.RegisterType((*EnvVarSource)(nil), "k8s.io.api.core.v1.EnvVarSource") proto.RegisterType((*EphemeralContainer)(nil), "k8s.io.api.core.v1.EphemeralContainer") proto.RegisterType((*EphemeralContainerCommon)(nil), "k8s.io.api.core.v1.EphemeralContainerCommon") + proto.RegisterMapType((ResourceList)(nil), "k8s.io.api.core.v1.EphemeralContainerCommon.ResourcesAllocatedEntry") proto.RegisterType((*EphemeralContainers)(nil), "k8s.io.api.core.v1.EphemeralContainers") proto.RegisterType((*Event)(nil), "k8s.io.api.core.v1.Event") proto.RegisterType((*EventList)(nil), "k8s.io.api.core.v1.EventList") @@ -5936,6 +5966,7 @@ func init() { proto.RegisterType((*ReplicationControllerSpec)(nil), "k8s.io.api.core.v1.ReplicationControllerSpec") proto.RegisterMapType((map[string]string)(nil), "k8s.io.api.core.v1.ReplicationControllerSpec.SelectorEntry") proto.RegisterType((*ReplicationControllerStatus)(nil), "k8s.io.api.core.v1.ReplicationControllerStatus") + proto.RegisterType((*ResizePolicy)(nil), "k8s.io.api.core.v1.ResizePolicy") proto.RegisterType((*ResourceFieldSelector)(nil), "k8s.io.api.core.v1.ResourceFieldSelector") proto.RegisterType((*ResourceQuota)(nil), "k8s.io.api.core.v1.ResourceQuota") proto.RegisterType((*ResourceQuotaList)(nil), "k8s.io.api.core.v1.ResourceQuotaList") @@ -6000,866 +6031,875 @@ func init() { } var fileDescriptor_83c10c24ec417dc9 = []byte{ - // 13736 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x1c, 0x57, - 0x76, 0x18, 0xbc, 0x3d, 0x83, 0xc7, 0xcc, 0xc1, 0xfb, 0x82, 0xa4, 0x40, 0x88, 0x24, 0xa8, 0xe6, - 0x2e, 0x45, 0xad, 0x24, 0x70, 0x45, 0x49, 0x2b, 0x59, 0xd2, 0xca, 0x06, 0x30, 0x00, 0x39, 0x22, - 0x01, 0x8e, 0xee, 0x80, 0xe4, 0xae, 0xac, 0xdd, 0x6f, 0x1b, 0x33, 0x17, 0x40, 0x0b, 0x33, 0xdd, - 0xa3, 0xee, 0x1e, 0x80, 0xd0, 0x67, 0xd7, 0xe7, 0x6f, 0xfd, 0xdc, 0xcf, 0xf6, 0x57, 0x9b, 0x94, - 0x2b, 0x0f, 0xdb, 0xe5, 0x4a, 0x39, 0x4e, 0xd9, 0x1b, 0x27, 0xa9, 0x38, 0x76, 0x6c, 0xc7, 0xeb, - 0xc4, 0x8e, 0x9d, 0xa4, 0x9c, 0xfc, 0x70, 0x1c, 0x57, 0x92, 0x75, 0x95, 0x2b, 0x88, 0x4d, 0xa7, - 0xe2, 0xda, 0x1f, 0xb1, 0x5d, 0xb1, 0xf3, 0x23, 0x88, 0x2b, 0x4e, 0xdd, 0x67, 0xdf, 0xdb, 0xd3, - 0x3d, 0x33, 0xa0, 0x40, 0xac, 0xbc, 0xa5, 0x7f, 0x33, 0xf7, 0x9c, 0x7b, 0xee, 0xed, 0xfb, 0x38, - 0xf7, 0xdc, 0x73, 0xcf, 0x03, 0x5e, 0xdd, 0x79, 0x39, 0x9c, 0x77, 0xfd, 0xab, 0x3b, 0xed, 0x0d, - 0x12, 0x78, 0x24, 0x22, 0xe1, 0xd5, 0x5d, 0xe2, 0xd5, 0xfd, 0xe0, 0xaa, 0x00, 0x38, 0x2d, 0xf7, - 0x6a, 0xcd, 0x0f, 0xc8, 0xd5, 0xdd, 0xe7, 0xae, 0x6e, 0x11, 0x8f, 0x04, 0x4e, 0x44, 0xea, 0xf3, - 0xad, 0xc0, 0x8f, 0x7c, 0x84, 0x38, 0xce, 0xbc, 0xd3, 0x72, 0xe7, 0x29, 0xce, 0xfc, 0xee, 0x73, - 0xb3, 0xcf, 0x6e, 0xb9, 0xd1, 0x76, 0x7b, 0x63, 0xbe, 0xe6, 0x37, 0xaf, 0x6e, 0xf9, 0x5b, 0xfe, - 0x55, 0x86, 0xba, 0xd1, 0xde, 0x64, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x7d, 0x21, 0x6e, - 0xa6, 0xe9, 0xd4, 0xb6, 0x5d, 0x8f, 0x04, 0xfb, 0x57, 0x5b, 0x3b, 0x5b, 0xac, 0xdd, 0x80, 0x84, - 0x7e, 0x3b, 0xa8, 0x91, 0x64, 0xc3, 0x5d, 0x6b, 0x85, 0x57, 0x9b, 0x24, 0x72, 0x52, 0xba, 0x3b, - 0x7b, 0x35, 0xab, 0x56, 0xd0, 0xf6, 0x22, 0xb7, 0xd9, 0xd9, 0xcc, 0x27, 0x7b, 0x55, 0x08, 0x6b, - 0xdb, 0xa4, 0xe9, 0x74, 0xd4, 0x7b, 0x3e, 0xab, 0x5e, 0x3b, 0x72, 0x1b, 0x57, 0x5d, 0x2f, 0x0a, - 0xa3, 0x20, 0x59, 0xc9, 0xfe, 0xaa, 0x05, 0x17, 0x17, 0xee, 0x55, 0x97, 0x1b, 0x4e, 0x18, 0xb9, - 0xb5, 0xc5, 0x86, 0x5f, 0xdb, 0xa9, 0x46, 0x7e, 0x40, 0xee, 0xfa, 0x8d, 0x76, 0x93, 0x54, 0xd9, - 0x40, 0xa0, 0x67, 0xa0, 0xb0, 0xcb, 0xfe, 0x97, 0x4b, 0x33, 0xd6, 0x45, 0xeb, 0x4a, 0x71, 0x71, - 0xf2, 0x37, 0x0e, 0xe6, 0x3e, 0xf2, 0xe0, 0x60, 0xae, 0x70, 0x57, 0x94, 0x63, 0x85, 0x81, 0x2e, - 0xc3, 0xd0, 0x66, 0xb8, 0xbe, 0xdf, 0x22, 0x33, 0x39, 0x86, 0x3b, 0x2e, 0x70, 0x87, 0x56, 0xaa, - 0xb4, 0x14, 0x0b, 0x28, 0xba, 0x0a, 0xc5, 0x96, 0x13, 0x44, 0x6e, 0xe4, 0xfa, 0xde, 0x4c, 0xfe, - 0xa2, 0x75, 0x65, 0x70, 0x71, 0x4a, 0xa0, 0x16, 0x2b, 0x12, 0x80, 0x63, 0x1c, 0xda, 0x8d, 0x80, - 0x38, 0xf5, 0xdb, 0x5e, 0x63, 0x7f, 0x66, 0xe0, 0xa2, 0x75, 0xa5, 0x10, 0x77, 0x03, 0x8b, 0x72, - 0xac, 0x30, 0xec, 0x1f, 0xce, 0x41, 0x61, 0x61, 0x73, 0xd3, 0xf5, 0xdc, 0x68, 0x1f, 0xdd, 0x85, - 0x51, 0xcf, 0xaf, 0x13, 0xf9, 0x9f, 0x7d, 0xc5, 0xc8, 0xb5, 0x8b, 0xf3, 0x9d, 0x4b, 0x69, 0x7e, - 0x4d, 0xc3, 0x5b, 0x9c, 0x7c, 0x70, 0x30, 0x37, 0xaa, 0x97, 0x60, 0x83, 0x0e, 0xc2, 0x30, 0xd2, - 0xf2, 0xeb, 0x8a, 0x6c, 0x8e, 0x91, 0x9d, 0x4b, 0x23, 0x5b, 0x89, 0xd1, 0x16, 0x27, 0x1e, 0x1c, - 0xcc, 0x8d, 0x68, 0x05, 0x58, 0x27, 0x82, 0x36, 0x60, 0x82, 0xfe, 0xf5, 0x22, 0x57, 0xd1, 0xcd, - 0x33, 0xba, 0x97, 0xb2, 0xe8, 0x6a, 0xa8, 0x8b, 0xd3, 0x0f, 0x0e, 0xe6, 0x26, 0x12, 0x85, 0x38, - 0x49, 0xd0, 0x7e, 0x0f, 0xc6, 0x17, 0xa2, 0xc8, 0xa9, 0x6d, 0x93, 0x3a, 0x9f, 0x41, 0xf4, 0x02, - 0x0c, 0x78, 0x4e, 0x93, 0x88, 0xf9, 0xbd, 0x28, 0x06, 0x76, 0x60, 0xcd, 0x69, 0x92, 0xc3, 0x83, - 0xb9, 0xc9, 0x3b, 0x9e, 0xfb, 0x6e, 0x5b, 0xac, 0x0a, 0x5a, 0x86, 0x19, 0x36, 0xba, 0x06, 0x50, - 0x27, 0xbb, 0x6e, 0x8d, 0x54, 0x9c, 0x68, 0x5b, 0xcc, 0x37, 0x12, 0x75, 0xa1, 0xa4, 0x20, 0x58, - 0xc3, 0xb2, 0xef, 0x43, 0x71, 0x61, 0xd7, 0x77, 0xeb, 0x15, 0xbf, 0x1e, 0xa2, 0x1d, 0x98, 0x68, - 0x05, 0x64, 0x93, 0x04, 0xaa, 0x68, 0xc6, 0xba, 0x98, 0xbf, 0x32, 0x72, 0xed, 0x4a, 0xea, 0xc7, - 0x9a, 0xa8, 0xcb, 0x5e, 0x14, 0xec, 0x2f, 0x3e, 0x26, 0xda, 0x9b, 0x48, 0x40, 0x71, 0x92, 0xb2, - 0xfd, 0x2f, 0x72, 0x70, 0x7a, 0xe1, 0xbd, 0x76, 0x40, 0x4a, 0x6e, 0xb8, 0x93, 0x5c, 0xe1, 0x75, - 0x37, 0xdc, 0x59, 0x8b, 0x47, 0x40, 0x2d, 0xad, 0x92, 0x28, 0xc7, 0x0a, 0x03, 0x3d, 0x0b, 0xc3, - 0xf4, 0xf7, 0x1d, 0x5c, 0x16, 0x9f, 0x3c, 0x2d, 0x90, 0x47, 0x4a, 0x4e, 0xe4, 0x94, 0x38, 0x08, - 0x4b, 0x1c, 0xb4, 0x0a, 0x23, 0x35, 0xb6, 0x21, 0xb7, 0x56, 0xfd, 0x3a, 0x61, 0x93, 0x59, 0x5c, - 0x7c, 0x9a, 0xa2, 0x2f, 0xc5, 0xc5, 0x87, 0x07, 0x73, 0x33, 0xbc, 0x6f, 0x82, 0x84, 0x06, 0xc3, - 0x7a, 0x7d, 0x64, 0xab, 0xfd, 0x35, 0xc0, 0x28, 0x41, 0xca, 0xde, 0xba, 0xa2, 0x6d, 0x95, 0x41, - 0xb6, 0x55, 0x46, 0xd3, 0xb7, 0x09, 0x7a, 0x0e, 0x06, 0x76, 0x5c, 0xaf, 0x3e, 0x33, 0xc4, 0x68, - 0x9d, 0xa7, 0x73, 0x7e, 0xd3, 0xf5, 0xea, 0x87, 0x07, 0x73, 0x53, 0x46, 0x77, 0x68, 0x21, 0x66, - 0xa8, 0xf6, 0x9f, 0x5a, 0x30, 0xc7, 0x60, 0x2b, 0x6e, 0x83, 0x54, 0x48, 0x10, 0xba, 0x61, 0x44, - 0xbc, 0xc8, 0x18, 0xd0, 0x6b, 0x00, 0x21, 0xa9, 0x05, 0x24, 0xd2, 0x86, 0x54, 0x2d, 0x8c, 0xaa, - 0x82, 0x60, 0x0d, 0x8b, 0x32, 0x84, 0x70, 0xdb, 0x09, 0xd8, 0xfa, 0x12, 0x03, 0xab, 0x18, 0x42, - 0x55, 0x02, 0x70, 0x8c, 0x63, 0x30, 0x84, 0x7c, 0x2f, 0x86, 0x80, 0x3e, 0x05, 0x13, 0x71, 0x63, - 0x61, 0xcb, 0xa9, 0xc9, 0x01, 0x64, 0x5b, 0xa6, 0x6a, 0x82, 0x70, 0x12, 0xd7, 0xfe, 0xbb, 0x96, - 0x58, 0x3c, 0xf4, 0xab, 0x3f, 0xe0, 0xdf, 0x6a, 0xff, 0xa2, 0x05, 0xc3, 0x8b, 0xae, 0x57, 0x77, - 0xbd, 0x2d, 0xf4, 0x79, 0x28, 0xd0, 0xb3, 0xa9, 0xee, 0x44, 0x8e, 0xe0, 0x7b, 0x9f, 0xd0, 0xf6, - 0x96, 0x3a, 0x2a, 0xe6, 0x5b, 0x3b, 0x5b, 0xb4, 0x20, 0x9c, 0xa7, 0xd8, 0x74, 0xb7, 0xdd, 0xde, - 0x78, 0x87, 0xd4, 0xa2, 0x55, 0x12, 0x39, 0xf1, 0xe7, 0xc4, 0x65, 0x58, 0x51, 0x45, 0x37, 0x61, - 0x28, 0x72, 0x82, 0x2d, 0x12, 0x09, 0x06, 0x98, 0xca, 0xa8, 0x78, 0x4d, 0x4c, 0x77, 0x24, 0xf1, - 0x6a, 0x24, 0x3e, 0x16, 0xd6, 0x59, 0x55, 0x2c, 0x48, 0xd8, 0x3f, 0x38, 0x0c, 0x67, 0x97, 0xaa, - 0xe5, 0x8c, 0x75, 0x75, 0x19, 0x86, 0xea, 0x81, 0xbb, 0x4b, 0x02, 0x31, 0xce, 0x8a, 0x4a, 0x89, - 0x95, 0x62, 0x01, 0x45, 0x2f, 0xc3, 0x28, 0x3f, 0x90, 0x6e, 0x38, 0x5e, 0xbd, 0x21, 0x87, 0xf8, - 0x94, 0xc0, 0x1e, 0xbd, 0xab, 0xc1, 0xb0, 0x81, 0x79, 0xc4, 0x45, 0x75, 0x39, 0xb1, 0x19, 0xb3, - 0x0e, 0xbb, 0x2f, 0x5a, 0x30, 0xc9, 0x9b, 0x59, 0x88, 0xa2, 0xc0, 0xdd, 0x68, 0x47, 0x24, 0x9c, - 0x19, 0x64, 0x9c, 0x6e, 0x29, 0x6d, 0xb4, 0x32, 0x47, 0x60, 0xfe, 0x6e, 0x82, 0x0a, 0x67, 0x82, - 0x33, 0xa2, 0xdd, 0xc9, 0x24, 0x18, 0x77, 0x34, 0x8b, 0xbe, 0xd3, 0x82, 0xd9, 0x9a, 0xef, 0x45, - 0x81, 0xdf, 0x68, 0x90, 0xa0, 0xd2, 0xde, 0x68, 0xb8, 0xe1, 0x36, 0x5f, 0xa7, 0x98, 0x6c, 0x32, - 0x4e, 0x90, 0x31, 0x87, 0x0a, 0x49, 0xcc, 0xe1, 0x85, 0x07, 0x07, 0x73, 0xb3, 0x4b, 0x99, 0xa4, - 0x70, 0x97, 0x66, 0xd0, 0x0e, 0x20, 0x7a, 0x94, 0x56, 0x23, 0x67, 0x8b, 0xc4, 0x8d, 0x0f, 0xf7, - 0xdf, 0xf8, 0x99, 0x07, 0x07, 0x73, 0x68, 0xad, 0x83, 0x04, 0x4e, 0x21, 0x8b, 0xde, 0x85, 0x53, - 0xb4, 0xb4, 0xe3, 0x5b, 0x0b, 0xfd, 0x37, 0x37, 0xf3, 0xe0, 0x60, 0xee, 0xd4, 0x5a, 0x0a, 0x11, - 0x9c, 0x4a, 0x1a, 0x7d, 0x87, 0x05, 0x67, 0xe3, 0xcf, 0x5f, 0xbe, 0xdf, 0x72, 0xbc, 0x7a, 0xdc, - 0x70, 0xb1, 0xff, 0x86, 0x29, 0x4f, 0x3e, 0xbb, 0x94, 0x45, 0x09, 0x67, 0x37, 0x32, 0xbb, 0x04, - 0xa7, 0x53, 0x57, 0x0b, 0x9a, 0x84, 0xfc, 0x0e, 0xe1, 0x52, 0x50, 0x11, 0xd3, 0x9f, 0xe8, 0x14, - 0x0c, 0xee, 0x3a, 0x8d, 0xb6, 0xd8, 0x28, 0x98, 0xff, 0x79, 0x25, 0xf7, 0xb2, 0x65, 0xff, 0xcb, - 0x3c, 0x4c, 0x2c, 0x55, 0xcb, 0x0f, 0xb5, 0x0b, 0xf5, 0x63, 0x28, 0xd7, 0xf5, 0x18, 0x8a, 0x0f, - 0xb5, 0x7c, 0xe6, 0xa1, 0xf6, 0xff, 0xa4, 0x6c, 0xa1, 0x01, 0xb6, 0x85, 0xbe, 0x29, 0x63, 0x0b, - 0x1d, 0xf3, 0xc6, 0xd9, 0xcd, 0x58, 0x45, 0x83, 0x6c, 0x32, 0x53, 0x25, 0x96, 0x5b, 0x7e, 0xcd, - 0x69, 0x24, 0x59, 0xdf, 0x11, 0x97, 0xd2, 0xf1, 0xcc, 0x63, 0x0d, 0x46, 0x97, 0x9c, 0x96, 0xb3, - 0xe1, 0x36, 0xdc, 0xc8, 0x25, 0x21, 0x7a, 0x12, 0xf2, 0x4e, 0xbd, 0xce, 0xa4, 0xad, 0xe2, 0xe2, - 0xe9, 0x07, 0x07, 0x73, 0xf9, 0x85, 0x3a, 0x3d, 0xf6, 0x41, 0x61, 0xed, 0x63, 0x8a, 0x81, 0x3e, - 0x0e, 0x03, 0xf5, 0xc0, 0x6f, 0xcd, 0xe4, 0x18, 0x26, 0xdd, 0x75, 0x03, 0xa5, 0xc0, 0x6f, 0x25, - 0x50, 0x19, 0x8e, 0xfd, 0xab, 0x39, 0x38, 0xb7, 0x44, 0x5a, 0xdb, 0x2b, 0xd5, 0x0c, 0xfe, 0x7d, - 0x05, 0x0a, 0x4d, 0xdf, 0x73, 0x23, 0x3f, 0x08, 0x45, 0xd3, 0x6c, 0x45, 0xac, 0x8a, 0x32, 0xac, - 0xa0, 0xe8, 0x22, 0x0c, 0xb4, 0x62, 0xa1, 0x72, 0x54, 0x0a, 0xa4, 0x4c, 0x9c, 0x64, 0x10, 0x8a, - 0xd1, 0x0e, 0x49, 0x20, 0x56, 0x8c, 0xc2, 0xb8, 0x13, 0x92, 0x00, 0x33, 0x48, 0x7c, 0x32, 0xd3, - 0x33, 0x5b, 0x70, 0xe8, 0xc4, 0xc9, 0x4c, 0x21, 0x58, 0xc3, 0x42, 0x15, 0x28, 0x86, 0x89, 0x99, - 0xed, 0x6b, 0x9b, 0x8e, 0xb1, 0xa3, 0x5b, 0xcd, 0x64, 0x4c, 0xc4, 0x38, 0x51, 0x86, 0x7a, 0x1e, - 0xdd, 0x5f, 0xc9, 0x01, 0xe2, 0x43, 0xf8, 0x97, 0x6c, 0xe0, 0xee, 0x74, 0x0e, 0x5c, 0xff, 0x5b, - 0xe2, 0xb8, 0x46, 0xef, 0xcf, 0x2c, 0x38, 0xb7, 0xe4, 0x7a, 0x75, 0x12, 0x64, 0x2c, 0xc0, 0x47, - 0x73, 0x97, 0x3d, 0x9a, 0xd0, 0x60, 0x2c, 0xb1, 0x81, 0x63, 0x58, 0x62, 0xf6, 0x1f, 0x5b, 0x80, - 0xf8, 0x67, 0x7f, 0xe0, 0x3e, 0xf6, 0x4e, 0xe7, 0xc7, 0x1e, 0xc3, 0xb2, 0xb0, 0x6f, 0xc1, 0xf8, - 0x52, 0xc3, 0x25, 0x5e, 0x54, 0xae, 0x2c, 0xf9, 0xde, 0xa6, 0xbb, 0x85, 0x5e, 0x81, 0xf1, 0xc8, - 0x6d, 0x12, 0xbf, 0x1d, 0x55, 0x49, 0xcd, 0xf7, 0xd8, 0x4d, 0xd2, 0xba, 0x32, 0xb8, 0x88, 0x1e, - 0x1c, 0xcc, 0x8d, 0xaf, 0x1b, 0x10, 0x9c, 0xc0, 0xb4, 0x7f, 0x97, 0x8e, 0x9f, 0xdf, 0x6c, 0xf9, - 0x1e, 0xf1, 0xa2, 0x25, 0xdf, 0xab, 0x73, 0x8d, 0xc3, 0x2b, 0x30, 0x10, 0xd1, 0xf1, 0xe0, 0x63, - 0x77, 0x59, 0x6e, 0x14, 0x3a, 0x0a, 0x87, 0x07, 0x73, 0x67, 0x3a, 0x6b, 0xb0, 0x71, 0x62, 0x75, - 0xd0, 0x37, 0xc1, 0x50, 0x18, 0x39, 0x51, 0x3b, 0x14, 0xa3, 0xf9, 0x84, 0x1c, 0xcd, 0x2a, 0x2b, - 0x3d, 0x3c, 0x98, 0x9b, 0x50, 0xd5, 0x78, 0x11, 0x16, 0x15, 0xd0, 0x53, 0x30, 0xdc, 0x24, 0x61, - 0xe8, 0x6c, 0xc9, 0xd3, 0x70, 0x42, 0xd4, 0x1d, 0x5e, 0xe5, 0xc5, 0x58, 0xc2, 0xd1, 0x25, 0x18, - 0x24, 0x41, 0xe0, 0x07, 0x62, 0x8f, 0x8e, 0x09, 0xc4, 0xc1, 0x65, 0x5a, 0x88, 0x39, 0xcc, 0xfe, - 0xb7, 0x16, 0x4c, 0xa8, 0xbe, 0xf2, 0xb6, 0x4e, 0xe0, 0x56, 0xf0, 0x16, 0x40, 0x4d, 0x7e, 0x60, - 0xc8, 0x4e, 0x8f, 0x91, 0x6b, 0x97, 0x53, 0x0f, 0xea, 0x8e, 0x61, 0x8c, 0x29, 0xab, 0xa2, 0x10, - 0x6b, 0xd4, 0xec, 0x7f, 0x6a, 0xc1, 0x74, 0xe2, 0x8b, 0x6e, 0xb9, 0x61, 0x84, 0xde, 0xee, 0xf8, - 0xaa, 0xf9, 0xfe, 0xbe, 0x8a, 0xd6, 0x66, 0xdf, 0xa4, 0x96, 0xb2, 0x2c, 0xd1, 0xbe, 0xe8, 0x06, - 0x0c, 0xba, 0x11, 0x69, 0xca, 0x8f, 0xb9, 0xd4, 0xf5, 0x63, 0x78, 0xaf, 0xe2, 0x19, 0x29, 0xd3, - 0x9a, 0x98, 0x13, 0xb0, 0x7f, 0x35, 0x0f, 0x45, 0xbe, 0x6c, 0x57, 0x9d, 0xd6, 0x09, 0xcc, 0xc5, - 0xd3, 0x50, 0x74, 0x9b, 0xcd, 0x76, 0xe4, 0x6c, 0x08, 0x76, 0x5e, 0xe0, 0x5b, 0xab, 0x2c, 0x0b, - 0x71, 0x0c, 0x47, 0x65, 0x18, 0x60, 0x5d, 0xe1, 0x5f, 0xf9, 0x64, 0xfa, 0x57, 0x8a, 0xbe, 0xcf, - 0x97, 0x9c, 0xc8, 0xe1, 0x92, 0x94, 0x3a, 0x47, 0x68, 0x11, 0x66, 0x24, 0x90, 0x03, 0xb0, 0xe1, - 0x7a, 0x4e, 0xb0, 0x4f, 0xcb, 0x66, 0xf2, 0x8c, 0xe0, 0xb3, 0xdd, 0x09, 0x2e, 0x2a, 0x7c, 0x4e, - 0x56, 0x7d, 0x58, 0x0c, 0xc0, 0x1a, 0xd1, 0xd9, 0x97, 0xa0, 0xa8, 0x90, 0x8f, 0x22, 0x10, 0xcd, - 0x7e, 0x0a, 0x26, 0x12, 0x6d, 0xf5, 0xaa, 0x3e, 0xaa, 0xcb, 0x53, 0xbf, 0xc4, 0x58, 0x86, 0xe8, - 0xf5, 0xb2, 0xb7, 0x2b, 0x58, 0xee, 0x7b, 0x70, 0xaa, 0x91, 0xc2, 0xc9, 0xc4, 0xbc, 0xf6, 0xcf, - 0xf9, 0xce, 0x89, 0xcf, 0x3e, 0x95, 0x06, 0xc5, 0xa9, 0x6d, 0x50, 0x19, 0xc1, 0x6f, 0xd1, 0x0d, - 0xe2, 0x34, 0x74, 0x71, 0xfb, 0xb6, 0x28, 0xc3, 0x0a, 0x4a, 0xf9, 0xdd, 0x29, 0xd5, 0xf9, 0x9b, - 0x64, 0xbf, 0x4a, 0x1a, 0xa4, 0x16, 0xf9, 0xc1, 0xd7, 0xb5, 0xfb, 0xe7, 0xf9, 0xe8, 0x73, 0x76, - 0x39, 0x22, 0x08, 0xe4, 0x6f, 0x92, 0x7d, 0x3e, 0x15, 0xfa, 0xd7, 0xe5, 0xbb, 0x7e, 0xdd, 0xcf, - 0x58, 0x30, 0xa6, 0xbe, 0xee, 0x04, 0xf8, 0xc2, 0xa2, 0xc9, 0x17, 0xce, 0x77, 0x5d, 0xe0, 0x19, - 0x1c, 0xe1, 0x2b, 0x39, 0x38, 0xab, 0x70, 0xe8, 0xdd, 0x80, 0xff, 0x11, 0xab, 0xea, 0x2a, 0x14, - 0x3d, 0xa5, 0xb5, 0xb2, 0x4c, 0x75, 0x51, 0xac, 0xb3, 0x8a, 0x71, 0xa8, 0x88, 0xe7, 0xc5, 0xaa, - 0xa5, 0x51, 0x5d, 0x9d, 0x2b, 0x54, 0xb7, 0x8b, 0x90, 0x6f, 0xbb, 0x75, 0x71, 0xc0, 0x7c, 0x42, - 0x8e, 0xf6, 0x9d, 0x72, 0xe9, 0xf0, 0x60, 0xee, 0x89, 0xac, 0xa7, 0x04, 0x7a, 0xb2, 0x85, 0xf3, - 0x77, 0xca, 0x25, 0x4c, 0x2b, 0xa3, 0x05, 0x98, 0x90, 0xaf, 0x25, 0x77, 0xa9, 0xb8, 0xe5, 0x7b, - 0xe2, 0x1c, 0x52, 0x3a, 0x59, 0x6c, 0x82, 0x71, 0x12, 0x1f, 0x95, 0x60, 0x72, 0xa7, 0xbd, 0x41, - 0x1a, 0x24, 0xe2, 0x1f, 0x7c, 0x93, 0x70, 0x8d, 0x65, 0x31, 0xbe, 0x99, 0xdd, 0x4c, 0xc0, 0x71, - 0x47, 0x0d, 0xfb, 0x2f, 0xd8, 0x79, 0x20, 0x46, 0xaf, 0x12, 0xf8, 0x74, 0x61, 0x51, 0xea, 0x5f, - 0xcf, 0xe5, 0xdc, 0xcf, 0xaa, 0xb8, 0x49, 0xf6, 0xd7, 0x7d, 0x2a, 0x99, 0xa7, 0xaf, 0x0a, 0x63, - 0xcd, 0x0f, 0x74, 0x5d, 0xf3, 0x3f, 0x97, 0x83, 0xd3, 0x6a, 0x04, 0x0c, 0x21, 0xf0, 0x2f, 0xfb, - 0x18, 0x3c, 0x07, 0x23, 0x75, 0xb2, 0xe9, 0xb4, 0x1b, 0x91, 0x52, 0x9f, 0x0f, 0xf2, 0x27, 0x94, - 0x52, 0x5c, 0x8c, 0x75, 0x9c, 0x23, 0x0c, 0xdb, 0xff, 0x18, 0x61, 0x07, 0x71, 0xe4, 0xd0, 0x35, - 0xae, 0x76, 0x8d, 0x95, 0xb9, 0x6b, 0x2e, 0xc1, 0xa0, 0xdb, 0xa4, 0x82, 0x59, 0xce, 0x94, 0xb7, - 0xca, 0xb4, 0x10, 0x73, 0x18, 0xfa, 0x18, 0x0c, 0xd7, 0xfc, 0x66, 0xd3, 0xf1, 0xea, 0xec, 0xc8, - 0x2b, 0x2e, 0x8e, 0x50, 0xd9, 0x6d, 0x89, 0x17, 0x61, 0x09, 0x43, 0xe7, 0x60, 0xc0, 0x09, 0xb6, - 0xb8, 0x0e, 0xa3, 0xb8, 0x58, 0xa0, 0x2d, 0x2d, 0x04, 0x5b, 0x21, 0x66, 0xa5, 0xf4, 0x0a, 0xb6, - 0xe7, 0x07, 0x3b, 0xae, 0xb7, 0x55, 0x72, 0x03, 0xb1, 0x25, 0xd4, 0x59, 0x78, 0x4f, 0x41, 0xb0, - 0x86, 0x85, 0x56, 0x60, 0xb0, 0xe5, 0x07, 0x51, 0x38, 0x33, 0xc4, 0x86, 0xfb, 0x89, 0x0c, 0x46, - 0xc4, 0xbf, 0xb6, 0xe2, 0x07, 0x51, 0xfc, 0x01, 0xf4, 0x5f, 0x88, 0x79, 0x75, 0x74, 0x0b, 0x86, - 0x89, 0xb7, 0xbb, 0x12, 0xf8, 0xcd, 0x99, 0xe9, 0x6c, 0x4a, 0xcb, 0x1c, 0x85, 0x2f, 0xb3, 0x58, - 0x46, 0x15, 0xc5, 0x58, 0x92, 0x40, 0xdf, 0x04, 0x79, 0xe2, 0xed, 0xce, 0x0c, 0x33, 0x4a, 0xb3, - 0x19, 0x94, 0xee, 0x3a, 0x41, 0xcc, 0xf3, 0x97, 0xbd, 0x5d, 0x4c, 0xeb, 0xa0, 0xcf, 0x40, 0x51, - 0x32, 0x8c, 0x50, 0x28, 0xeb, 0x52, 0x17, 0xac, 0x64, 0x33, 0x98, 0xbc, 0xdb, 0x76, 0x03, 0xd2, - 0x24, 0x5e, 0x14, 0xc6, 0x1c, 0x52, 0x42, 0x43, 0x1c, 0x53, 0x43, 0x9f, 0x91, 0x1a, 0xe2, 0x55, - 0xbf, 0xed, 0x45, 0xe1, 0x4c, 0x91, 0x75, 0x2f, 0xf5, 0xed, 0xee, 0x6e, 0x8c, 0x97, 0x54, 0x21, - 0xf3, 0xca, 0xd8, 0x20, 0x85, 0x3e, 0x0b, 0x63, 0xfc, 0x3f, 0x7f, 0x01, 0x0b, 0x67, 0x4e, 0x33, - 0xda, 0x17, 0xb3, 0x69, 0x73, 0xc4, 0xc5, 0xd3, 0x82, 0xf8, 0x98, 0x5e, 0x1a, 0x62, 0x93, 0x1a, - 0xc2, 0x30, 0xd6, 0x70, 0x77, 0x89, 0x47, 0xc2, 0xb0, 0x12, 0xf8, 0x1b, 0x64, 0x06, 0xd8, 0xc0, - 0x9c, 0x4d, 0x7f, 0x31, 0xf3, 0x37, 0xc8, 0xe2, 0x14, 0xa5, 0x79, 0x4b, 0xaf, 0x83, 0x4d, 0x12, - 0xe8, 0x0e, 0x8c, 0xd3, 0x1b, 0x9b, 0x1b, 0x13, 0x1d, 0xe9, 0x45, 0x94, 0xdd, 0xab, 0xb0, 0x51, - 0x09, 0x27, 0x88, 0xa0, 0xdb, 0x30, 0x1a, 0x46, 0x4e, 0x10, 0xb5, 0x5b, 0x9c, 0xe8, 0x99, 0x5e, - 0x44, 0xd9, 0x83, 0x6b, 0x55, 0xab, 0x82, 0x0d, 0x02, 0xe8, 0x0d, 0x28, 0x36, 0xdc, 0x4d, 0x52, - 0xdb, 0xaf, 0x35, 0xc8, 0xcc, 0x28, 0xa3, 0x96, 0xca, 0x54, 0x6e, 0x49, 0x24, 0x2e, 0xe7, 0xaa, - 0xbf, 0x38, 0xae, 0x8e, 0xee, 0xc2, 0x99, 0x88, 0x04, 0x4d, 0xd7, 0x73, 0x28, 0x33, 0x10, 0x57, - 0x2b, 0xf6, 0x90, 0x39, 0xc6, 0x76, 0xdb, 0x05, 0x31, 0x1b, 0x67, 0xd6, 0x53, 0xb1, 0x70, 0x46, - 0x6d, 0x74, 0x1f, 0x66, 0x52, 0x20, 0x7e, 0xc3, 0xad, 0xed, 0xcf, 0x9c, 0x62, 0x94, 0x5f, 0x13, - 0x94, 0x67, 0xd6, 0x33, 0xf0, 0x0e, 0xbb, 0xc0, 0x70, 0x26, 0x75, 0x74, 0x1b, 0x26, 0x18, 0x07, - 0xaa, 0xb4, 0x1b, 0x0d, 0xd1, 0xe0, 0x38, 0x6b, 0xf0, 0x63, 0xf2, 0x3c, 0x2e, 0x9b, 0xe0, 0xc3, - 0x83, 0x39, 0x88, 0xff, 0xe1, 0x64, 0x6d, 0xb4, 0xc1, 0xde, 0xcc, 0xda, 0x81, 0x1b, 0xed, 0x53, - 0xbe, 0x41, 0xee, 0x47, 0x33, 0x13, 0x5d, 0xf5, 0x15, 0x3a, 0xaa, 0x7a, 0x58, 0xd3, 0x0b, 0x71, - 0x92, 0x20, 0x65, 0xa9, 0x61, 0x54, 0x77, 0xbd, 0x99, 0x49, 0x7e, 0x2f, 0x91, 0x1c, 0xa9, 0x4a, - 0x0b, 0x31, 0x87, 0xb1, 0xf7, 0x32, 0xfa, 0xe3, 0x36, 0x3d, 0xb9, 0xa6, 0x18, 0x62, 0xfc, 0x5e, - 0x26, 0x01, 0x38, 0xc6, 0xa1, 0xc2, 0x64, 0x14, 0xed, 0xcf, 0x20, 0x86, 0xaa, 0x18, 0xcb, 0xfa, - 0xfa, 0x67, 0x30, 0x2d, 0xb7, 0x37, 0x60, 0x5c, 0x31, 0x42, 0x36, 0x26, 0x68, 0x0e, 0x06, 0x99, - 0xf8, 0x24, 0xb4, 0x6b, 0x45, 0xda, 0x05, 0x26, 0x5a, 0x61, 0x5e, 0xce, 0xba, 0xe0, 0xbe, 0x47, - 0x16, 0xf7, 0x23, 0xc2, 0xef, 0xf4, 0x79, 0xad, 0x0b, 0x12, 0x80, 0x63, 0x1c, 0xfb, 0x7f, 0x73, - 0x31, 0x34, 0xe6, 0xb6, 0x7d, 0x9c, 0x2f, 0xcf, 0x40, 0x61, 0xdb, 0x0f, 0x23, 0x8a, 0xcd, 0xda, - 0x18, 0x8c, 0x05, 0xcf, 0x1b, 0xa2, 0x1c, 0x2b, 0x0c, 0xf4, 0x2a, 0x8c, 0xd5, 0xf4, 0x06, 0xc4, - 0xe1, 0xa8, 0xd8, 0x88, 0xd1, 0x3a, 0x36, 0x71, 0xd1, 0xcb, 0x50, 0x60, 0x36, 0x20, 0x35, 0xbf, - 0x21, 0xa4, 0x36, 0x79, 0xc2, 0x17, 0x2a, 0xa2, 0xfc, 0x50, 0xfb, 0x8d, 0x15, 0x36, 0xba, 0x0c, - 0x43, 0xb4, 0x0b, 0xe5, 0x8a, 0x38, 0x96, 0x94, 0xa2, 0xe8, 0x06, 0x2b, 0xc5, 0x02, 0x6a, 0xff, - 0xd5, 0x9c, 0x36, 0xca, 0xf4, 0x3e, 0x4c, 0x50, 0x05, 0x86, 0xf7, 0x1c, 0x37, 0x72, 0xbd, 0x2d, - 0x21, 0x7f, 0x3c, 0xd5, 0xf5, 0x8c, 0x62, 0x95, 0xee, 0xf1, 0x0a, 0xfc, 0x14, 0x15, 0x7f, 0xb0, - 0x24, 0x43, 0x29, 0x06, 0x6d, 0xcf, 0xa3, 0x14, 0x73, 0xfd, 0x52, 0xc4, 0xbc, 0x02, 0xa7, 0x28, - 0xfe, 0x60, 0x49, 0x06, 0xbd, 0x0d, 0x20, 0x77, 0x18, 0xa9, 0x0b, 0xdb, 0x8b, 0x67, 0x7a, 0x13, - 0x5d, 0x57, 0x75, 0x16, 0xc7, 0xe9, 0x19, 0x1d, 0xff, 0xc7, 0x1a, 0x3d, 0x3b, 0x62, 0x72, 0x5a, - 0x67, 0x67, 0xd0, 0xb7, 0xd2, 0x25, 0xee, 0x04, 0x11, 0xa9, 0x2f, 0x44, 0x62, 0x70, 0x3e, 0xde, - 0xdf, 0x25, 0x65, 0xdd, 0x6d, 0x12, 0x7d, 0x3b, 0x08, 0x22, 0x38, 0xa6, 0x67, 0xff, 0x42, 0x1e, - 0x66, 0xb2, 0xba, 0x4b, 0x17, 0x1d, 0xb9, 0xef, 0x46, 0x4b, 0x54, 0xbc, 0xb2, 0xcc, 0x45, 0xb7, - 0x2c, 0xca, 0xb1, 0xc2, 0xa0, 0xb3, 0x1f, 0xba, 0x5b, 0xf2, 0x8e, 0x39, 0x18, 0xcf, 0x7e, 0x95, - 0x95, 0x62, 0x01, 0xa5, 0x78, 0x01, 0x71, 0x42, 0x61, 0xdc, 0xa3, 0xad, 0x12, 0xcc, 0x4a, 0xb1, - 0x80, 0xea, 0xda, 0xae, 0x81, 0x1e, 0xda, 0x2e, 0x63, 0x88, 0x06, 0x8f, 0x77, 0x88, 0xd0, 0xe7, - 0x00, 0x36, 0x5d, 0xcf, 0x0d, 0xb7, 0x19, 0xf5, 0xa1, 0x23, 0x53, 0x57, 0xc2, 0xd9, 0x8a, 0xa2, - 0x82, 0x35, 0x8a, 0xe8, 0x45, 0x18, 0x51, 0x1b, 0xb0, 0x5c, 0x62, 0x2f, 0x9d, 0x9a, 0xe5, 0x48, - 0xcc, 0x8d, 0x4a, 0x58, 0xc7, 0xb3, 0xdf, 0x49, 0xae, 0x17, 0xb1, 0x03, 0xb4, 0xf1, 0xb5, 0xfa, - 0x1d, 0xdf, 0x5c, 0xf7, 0xf1, 0xb5, 0xbf, 0x96, 0x87, 0x09, 0xa3, 0xb1, 0x76, 0xd8, 0x07, 0xcf, - 0xba, 0x4e, 0x19, 0xb8, 0x13, 0x11, 0xb1, 0xff, 0xec, 0xde, 0x5b, 0x45, 0x67, 0xf2, 0x74, 0x07, - 0xf0, 0xfa, 0xe8, 0x73, 0x50, 0x6c, 0x38, 0x21, 0xd3, 0x9c, 0x11, 0xb1, 0xef, 0xfa, 0x21, 0x16, - 0x5f, 0x4c, 0x9c, 0x30, 0xd2, 0x4e, 0x4d, 0x4e, 0x3b, 0x26, 0x49, 0x4f, 0x1a, 0x2a, 0x9f, 0x48, - 0xeb, 0x31, 0xd5, 0x09, 0x2a, 0xc4, 0xec, 0x63, 0x0e, 0x43, 0x2f, 0xc3, 0x68, 0x40, 0xd8, 0xaa, - 0x58, 0xa2, 0xd2, 0x1c, 0x5b, 0x66, 0x83, 0xb1, 0xd8, 0x87, 0x35, 0x18, 0x36, 0x30, 0xe3, 0xbb, - 0xc1, 0x50, 0x97, 0xbb, 0xc1, 0x53, 0x30, 0xcc, 0x7e, 0xa8, 0x15, 0xa0, 0x66, 0xa3, 0xcc, 0x8b, - 0xb1, 0x84, 0x27, 0x17, 0x4c, 0xa1, 0xbf, 0x05, 0x43, 0x6f, 0x1f, 0x62, 0x51, 0xb3, 0x57, 0xe6, - 0x02, 0xe7, 0x72, 0x62, 0xc9, 0x63, 0x09, 0xb3, 0x3f, 0x0e, 0xe3, 0x25, 0x87, 0x34, 0x7d, 0x6f, - 0xd9, 0xab, 0xb7, 0x7c, 0xd7, 0x8b, 0xd0, 0x0c, 0x0c, 0xb0, 0x43, 0x84, 0xb3, 0x80, 0x01, 0xda, - 0x10, 0x1e, 0xa0, 0x17, 0x02, 0x7b, 0x0b, 0x4e, 0x97, 0xfc, 0x3d, 0x6f, 0xcf, 0x09, 0xea, 0x0b, - 0x95, 0xb2, 0x76, 0xbf, 0x5e, 0x93, 0xf7, 0x3b, 0x6e, 0xb4, 0x95, 0xca, 0x7a, 0xb5, 0x9a, 0x5c, - 0xac, 0x5d, 0x71, 0x1b, 0x24, 0x43, 0x0b, 0xf2, 0xd7, 0x73, 0x46, 0x4b, 0x31, 0xbe, 0x7a, 0xd5, - 0xb2, 0x32, 0x5f, 0xb5, 0xde, 0x84, 0xc2, 0xa6, 0x4b, 0x1a, 0x75, 0x4c, 0x36, 0xc5, 0x4a, 0x7c, - 0x32, 0xdb, 0x0e, 0x65, 0x85, 0x62, 0x4a, 0xad, 0x17, 0xbf, 0x1d, 0xae, 0x88, 0xca, 0x58, 0x91, - 0x41, 0x3b, 0x30, 0x29, 0x2f, 0x0c, 0x12, 0x2a, 0xd6, 0xe5, 0x53, 0xdd, 0x6e, 0x21, 0x26, 0xf1, - 0x53, 0x0f, 0x0e, 0xe6, 0x26, 0x71, 0x82, 0x0c, 0xee, 0x20, 0x4c, 0xaf, 0x83, 0x4d, 0xca, 0x81, - 0x07, 0xd8, 0xf0, 0xb3, 0xeb, 0x20, 0xbb, 0xd9, 0xb2, 0x52, 0xfb, 0x47, 0x2d, 0x78, 0xac, 0x63, - 0x64, 0xc4, 0x0d, 0xff, 0x98, 0x67, 0x21, 0x79, 0xe3, 0xce, 0xf5, 0xbe, 0x71, 0xdb, 0x7f, 0xcf, - 0x82, 0x53, 0xcb, 0xcd, 0x56, 0xb4, 0x5f, 0x72, 0xcd, 0x27, 0xa8, 0x97, 0x60, 0xa8, 0x49, 0xea, - 0x6e, 0xbb, 0x29, 0x66, 0x6e, 0x4e, 0x72, 0xa9, 0x55, 0x56, 0x7a, 0x78, 0x30, 0x37, 0x56, 0x8d, - 0xfc, 0xc0, 0xd9, 0x22, 0xbc, 0x00, 0x0b, 0x74, 0xc6, 0xeb, 0xdd, 0xf7, 0xc8, 0x2d, 0xb7, 0xe9, - 0x4a, 0xbb, 0xa2, 0xae, 0x3a, 0xbb, 0x79, 0x39, 0xa0, 0xf3, 0x6f, 0xb6, 0x1d, 0x2f, 0x72, 0xa3, - 0x7d, 0xf1, 0x7a, 0x24, 0x89, 0xe0, 0x98, 0x9e, 0xfd, 0x55, 0x0b, 0x26, 0xe4, 0xba, 0x5f, 0xa8, - 0xd7, 0x03, 0x12, 0x86, 0x68, 0x16, 0x72, 0x6e, 0x4b, 0xf4, 0x12, 0x44, 0x2f, 0x73, 0xe5, 0x0a, - 0xce, 0xb9, 0x2d, 0x29, 0x96, 0x31, 0x46, 0x98, 0x37, 0x1f, 0xd2, 0x6e, 0x88, 0x72, 0xac, 0x30, - 0xd0, 0x15, 0x28, 0x78, 0x7e, 0x9d, 0xdb, 0x76, 0xf1, 0x23, 0x8d, 0x2d, 0xb0, 0x35, 0x51, 0x86, - 0x15, 0x14, 0x55, 0xa0, 0xc8, 0xcd, 0x9e, 0xe2, 0x45, 0xdb, 0x97, 0xf1, 0x14, 0xfb, 0xb2, 0x75, - 0x59, 0x13, 0xc7, 0x44, 0xec, 0x5f, 0xb1, 0x60, 0x54, 0x7e, 0x59, 0x9f, 0x32, 0x27, 0xdd, 0x5a, - 0xb1, 0xbc, 0x19, 0x6f, 0x2d, 0x2a, 0x33, 0x32, 0x88, 0x21, 0x2a, 0xe6, 0x8f, 0x24, 0x2a, 0x3e, - 0x07, 0x23, 0x4e, 0xab, 0x55, 0x31, 0xe5, 0x4c, 0xb6, 0x94, 0x16, 0xe2, 0x62, 0xac, 0xe3, 0xd8, - 0x3f, 0x92, 0x83, 0x71, 0xf9, 0x05, 0xd5, 0xf6, 0x46, 0x48, 0x22, 0xb4, 0x0e, 0x45, 0x87, 0xcf, - 0x12, 0x91, 0x8b, 0xfc, 0x52, 0xba, 0x1e, 0xc1, 0x98, 0xd2, 0xf8, 0xc0, 0x5f, 0x90, 0xb5, 0x71, - 0x4c, 0x08, 0x35, 0x60, 0xca, 0xf3, 0x23, 0xc6, 0xfc, 0x15, 0xbc, 0xdb, 0xd3, 0x4e, 0x92, 0xfa, - 0x59, 0x41, 0x7d, 0x6a, 0x2d, 0x49, 0x05, 0x77, 0x12, 0x46, 0xcb, 0x52, 0x37, 0x93, 0xcf, 0x56, - 0x06, 0xe8, 0x13, 0x97, 0xae, 0x9a, 0xb1, 0x7f, 0xd9, 0x82, 0xa2, 0x44, 0x3b, 0x89, 0x57, 0xbc, - 0x55, 0x18, 0x0e, 0xd9, 0x24, 0xc8, 0xa1, 0xb1, 0xbb, 0x75, 0x9c, 0xcf, 0x57, 0x7c, 0xa6, 0xf1, - 0xff, 0x21, 0x96, 0x34, 0x98, 0x6a, 0x5e, 0x75, 0xff, 0x03, 0xa2, 0x9a, 0x57, 0xfd, 0xc9, 0x38, - 0x94, 0xfe, 0x90, 0xf5, 0x59, 0xd3, 0x75, 0x51, 0xd1, 0xab, 0x15, 0x90, 0x4d, 0xf7, 0x7e, 0x52, - 0xf4, 0xaa, 0xb0, 0x52, 0x2c, 0xa0, 0xe8, 0x6d, 0x18, 0xad, 0x49, 0x9d, 0x6c, 0xbc, 0xc3, 0x2f, - 0x77, 0x7d, 0x1f, 0x50, 0x4f, 0x49, 0x5c, 0x17, 0xb2, 0xa4, 0xd5, 0xc7, 0x06, 0x35, 0xd3, 0x8c, - 0x20, 0xdf, 0xcb, 0x8c, 0x20, 0xa6, 0x9b, 0xfd, 0xa8, 0xfe, 0x63, 0x16, 0x0c, 0x71, 0x5d, 0x5c, - 0x7f, 0xaa, 0x50, 0xed, 0x65, 0x2d, 0x1e, 0xbb, 0xbb, 0xb4, 0x50, 0xbc, 0x94, 0xa1, 0x55, 0x28, - 0xb2, 0x1f, 0x4c, 0x97, 0x98, 0xcf, 0xb6, 0xba, 0xe7, 0xad, 0xea, 0x1d, 0xbc, 0x2b, 0xab, 0xe1, - 0x98, 0x82, 0xfd, 0x43, 0x79, 0xca, 0xdd, 0x62, 0x54, 0xe3, 0xd0, 0xb7, 0x1e, 0xdd, 0xa1, 0x9f, - 0x7b, 0x54, 0x87, 0xfe, 0x16, 0x4c, 0xd4, 0xb4, 0x77, 0xb8, 0x78, 0x26, 0xaf, 0x74, 0x5d, 0x24, - 0xda, 0x93, 0x1d, 0xd7, 0xb2, 0x2c, 0x99, 0x44, 0x70, 0x92, 0x2a, 0xfa, 0x56, 0x18, 0xe5, 0xf3, - 0x2c, 0x5a, 0xe1, 0x96, 0x18, 0x1f, 0xcb, 0x5e, 0x2f, 0x7a, 0x13, 0x5c, 0x2b, 0xa7, 0x55, 0xc7, - 0x06, 0x31, 0xfb, 0x4f, 0x2c, 0x40, 0xcb, 0xad, 0x6d, 0xd2, 0x24, 0x81, 0xd3, 0x88, 0xd5, 0xe9, - 0xff, 0x9f, 0x05, 0x33, 0xa4, 0xa3, 0x78, 0xc9, 0x6f, 0x36, 0xc5, 0xa5, 0x25, 0xe3, 0x5e, 0xbd, - 0x9c, 0x51, 0x47, 0xb9, 0x25, 0xcc, 0x64, 0x61, 0xe0, 0xcc, 0xf6, 0xd0, 0x2a, 0x4c, 0xf3, 0x53, - 0x52, 0x01, 0x34, 0xdb, 0xeb, 0xc7, 0x05, 0xe1, 0xe9, 0xf5, 0x4e, 0x14, 0x9c, 0x56, 0xcf, 0xfe, - 0xae, 0x51, 0xc8, 0xec, 0xc5, 0x87, 0xef, 0x08, 0x1f, 0xbe, 0x23, 0x7c, 0xf8, 0x8e, 0xf0, 0xe1, - 0x3b, 0xc2, 0x87, 0xef, 0x08, 0xdf, 0xf0, 0xef, 0x08, 0x7f, 0x64, 0xc1, 0x74, 0xe7, 0x31, 0x70, - 0x12, 0x82, 0x79, 0x1b, 0xa6, 0x3b, 0xcf, 0xba, 0xae, 0x76, 0x76, 0x9d, 0xfd, 0x8c, 0xcf, 0xbd, - 0x94, 0x6f, 0xc0, 0x69, 0xf4, 0xed, 0x5f, 0x28, 0xc0, 0xe0, 0xf2, 0x2e, 0xf1, 0xa2, 0x13, 0xf8, - 0xc4, 0x1a, 0x8c, 0xbb, 0xde, 0xae, 0xdf, 0xd8, 0x25, 0x75, 0x0e, 0x3f, 0xca, 0x15, 0xf9, 0x8c, - 0x20, 0x3d, 0x5e, 0x36, 0x48, 0xe0, 0x04, 0xc9, 0x47, 0xa1, 0xa6, 0xbe, 0x0e, 0x43, 0xfc, 0x74, - 0x10, 0x3a, 0xea, 0xd4, 0xc3, 0x80, 0x0d, 0xa2, 0x38, 0xf3, 0x62, 0x15, 0x3a, 0x3f, 0x7d, 0x44, - 0x75, 0xf4, 0x0e, 0x8c, 0x6f, 0xba, 0x41, 0x18, 0xad, 0xbb, 0x4d, 0x12, 0x46, 0x4e, 0xb3, 0xf5, - 0x10, 0x6a, 0x69, 0x35, 0x0e, 0x2b, 0x06, 0x25, 0x9c, 0xa0, 0x8c, 0xb6, 0x60, 0xac, 0xe1, 0xe8, - 0x4d, 0x0d, 0x1f, 0xb9, 0x29, 0x75, 0xec, 0xdc, 0xd2, 0x09, 0x61, 0x93, 0x2e, 0xdd, 0xa7, 0x35, - 0xa6, 0x59, 0x2d, 0x30, 0x7d, 0x83, 0xda, 0xa7, 0x5c, 0xa5, 0xca, 0x61, 0x54, 0x82, 0x62, 0x96, - 0xb7, 0x45, 0x53, 0x82, 0xd2, 0xec, 0x6b, 0x3f, 0x0f, 0x45, 0x42, 0x87, 0x90, 0x12, 0x16, 0x27, - 0xd7, 0xd5, 0xfe, 0xfa, 0xba, 0xea, 0xd6, 0x02, 0xdf, 0x7c, 0x10, 0x58, 0x96, 0x94, 0x70, 0x4c, - 0x14, 0x2d, 0xc1, 0x50, 0x48, 0x02, 0x97, 0x84, 0xe2, 0x0c, 0xeb, 0x32, 0x8d, 0x0c, 0x8d, 0x3b, - 0xad, 0xf0, 0xdf, 0x58, 0x54, 0xa5, 0xcb, 0xcb, 0x61, 0xba, 0x52, 0x76, 0xca, 0x68, 0xcb, 0x6b, - 0x81, 0x95, 0x62, 0x01, 0x45, 0x6f, 0xc0, 0x70, 0x40, 0x1a, 0xec, 0xc5, 0x69, 0xac, 0xff, 0x45, - 0xce, 0x1f, 0xb0, 0x78, 0x3d, 0x2c, 0x09, 0xa0, 0x9b, 0x80, 0x02, 0x42, 0x25, 0x30, 0xd7, 0xdb, - 0x52, 0xf6, 0xa8, 0x82, 0x83, 0xab, 0x1d, 0x8f, 0x63, 0x0c, 0xe9, 0x3f, 0x84, 0x53, 0xaa, 0xa1, - 0xeb, 0x30, 0xa5, 0x4a, 0xcb, 0x5e, 0x18, 0x39, 0x94, 0x73, 0x4e, 0x30, 0x5a, 0x4a, 0x01, 0x82, - 0x93, 0x08, 0xb8, 0xb3, 0x8e, 0xfd, 0x65, 0x0b, 0xf8, 0x38, 0x9f, 0xc0, 0xb5, 0xff, 0x75, 0xf3, - 0xda, 0x7f, 0x36, 0x73, 0xe6, 0x32, 0xae, 0xfc, 0x5f, 0xb6, 0x60, 0x44, 0x9b, 0xd9, 0x78, 0xcd, - 0x5a, 0x5d, 0xd6, 0x6c, 0x1b, 0x26, 0xe9, 0x4a, 0xbf, 0xbd, 0x11, 0x92, 0x60, 0x97, 0xd4, 0xd9, - 0xc2, 0xcc, 0x3d, 0xdc, 0xc2, 0x54, 0xb6, 0x6f, 0xb7, 0x12, 0x04, 0x71, 0x47, 0x13, 0xf6, 0xe7, - 0x65, 0x57, 0x95, 0xa9, 0x60, 0x4d, 0xcd, 0x79, 0xc2, 0x54, 0x50, 0xcd, 0x2a, 0x8e, 0x71, 0xe8, - 0x56, 0xdb, 0xf6, 0xc3, 0x28, 0x69, 0x2a, 0x78, 0xc3, 0x0f, 0x23, 0xcc, 0x20, 0xf6, 0xf3, 0x00, - 0xcb, 0xf7, 0x49, 0x8d, 0xaf, 0x58, 0xfd, 0x56, 0x62, 0x65, 0xdf, 0x4a, 0xec, 0xdf, 0xb6, 0x60, - 0x7c, 0x65, 0xc9, 0xd0, 0x05, 0xcf, 0x03, 0xf0, 0xab, 0xd4, 0xbd, 0x7b, 0x6b, 0xf2, 0x9d, 0x9d, - 0x3f, 0x95, 0xaa, 0x52, 0xac, 0x61, 0xa0, 0xb3, 0x90, 0x6f, 0xb4, 0x3d, 0xa1, 0x97, 0x1c, 0xa6, - 0xe7, 0xee, 0xad, 0xb6, 0x87, 0x69, 0x99, 0xe6, 0xab, 0x90, 0xef, 0xdb, 0x57, 0xa1, 0x67, 0xcc, - 0x00, 0x34, 0x07, 0x83, 0x7b, 0x7b, 0x6e, 0x9d, 0x7b, 0x66, 0x0a, 0x1b, 0x80, 0x7b, 0xf7, 0xca, - 0xa5, 0x10, 0xf3, 0x72, 0xfb, 0x4b, 0x79, 0x98, 0x5d, 0x69, 0x90, 0xfb, 0xef, 0xd3, 0x3b, 0xb5, - 0x5f, 0x4f, 0x8b, 0xa3, 0x69, 0x78, 0x8e, 0xea, 0x4d, 0xd3, 0x7b, 0x3c, 0x36, 0x61, 0x98, 0x5b, - 0xca, 0x49, 0x5f, 0xd5, 0x57, 0xd3, 0x5a, 0xcf, 0x1e, 0x90, 0x79, 0x6e, 0x71, 0x27, 0x5c, 0xed, - 0xd4, 0x81, 0x29, 0x4a, 0xb1, 0x24, 0x3e, 0xfb, 0x0a, 0x8c, 0xea, 0x98, 0x47, 0xf2, 0x6b, 0xfb, - 0x7f, 0xf3, 0x30, 0x49, 0x7b, 0xf0, 0x48, 0x27, 0xe2, 0x4e, 0xe7, 0x44, 0x1c, 0xb7, 0x6f, 0x53, - 0xef, 0xd9, 0x78, 0x3b, 0x39, 0x1b, 0xcf, 0x65, 0xcd, 0xc6, 0x49, 0xcf, 0xc1, 0x77, 0x5a, 0x30, - 0xbd, 0xd2, 0xf0, 0x6b, 0x3b, 0x09, 0xff, 0xa3, 0x17, 0x61, 0x84, 0xb2, 0xe3, 0xd0, 0x70, 0x8d, - 0x37, 0x82, 0x25, 0x08, 0x10, 0xd6, 0xf1, 0xb4, 0x6a, 0x77, 0xee, 0x94, 0x4b, 0x69, 0x31, 0x16, - 0x04, 0x08, 0xeb, 0x78, 0xf6, 0x6f, 0x5a, 0x70, 0xfe, 0xfa, 0xd2, 0x72, 0xbc, 0x14, 0x3b, 0xc2, - 0x3c, 0x5c, 0x86, 0xa1, 0x56, 0x5d, 0xeb, 0x4a, 0xac, 0xb7, 0x2d, 0xb1, 0x5e, 0x08, 0xe8, 0x07, - 0x25, 0x84, 0xc9, 0x4f, 0x59, 0x30, 0x7d, 0xdd, 0x8d, 0xe8, 0xe9, 0x9a, 0x0c, 0x38, 0x40, 0x8f, - 0xd7, 0xd0, 0x8d, 0xfc, 0x60, 0x3f, 0x19, 0x70, 0x00, 0x2b, 0x08, 0xd6, 0xb0, 0x78, 0xcb, 0xbb, - 0x2e, 0xb3, 0xd1, 0xce, 0x99, 0x2f, 0x58, 0x58, 0x94, 0x63, 0x85, 0x41, 0x3f, 0xac, 0xee, 0x06, - 0x4c, 0xf9, 0xb7, 0x2f, 0x38, 0xac, 0xfa, 0xb0, 0x92, 0x04, 0xe0, 0x18, 0x87, 0xde, 0x83, 0xe6, - 0xae, 0x37, 0xda, 0x61, 0x44, 0x82, 0xcd, 0x30, 0x83, 0x3b, 0x3e, 0x0f, 0x45, 0x22, 0x55, 0xed, - 0xa2, 0xd7, 0x4a, 0x62, 0x54, 0x3a, 0x78, 0x1e, 0xf7, 0x40, 0xe1, 0xf5, 0xe1, 0xcd, 0x78, 0x34, - 0x77, 0xb4, 0x15, 0x40, 0x44, 0x6f, 0x4b, 0x0f, 0x04, 0xc1, 0x3c, 0xca, 0x97, 0x3b, 0xa0, 0x38, - 0xa5, 0x86, 0xfd, 0xa3, 0x16, 0x9c, 0x56, 0x1f, 0xfc, 0x81, 0xfb, 0x4c, 0xfb, 0x67, 0x73, 0x30, - 0x76, 0x63, 0x7d, 0xbd, 0x72, 0x9d, 0x44, 0xe2, 0xd8, 0xee, 0xfd, 0x80, 0x8e, 0xb5, 0x77, 0xc0, - 0x6e, 0x97, 0xb9, 0x76, 0xe4, 0x36, 0xe6, 0x79, 0x3c, 0xa1, 0xf9, 0xb2, 0x17, 0xdd, 0x0e, 0xaa, - 0x51, 0xe0, 0x7a, 0x5b, 0xa9, 0x2f, 0x87, 0x52, 0xb8, 0xc8, 0x67, 0x09, 0x17, 0xe8, 0x79, 0x18, - 0x62, 0x01, 0x8d, 0xe4, 0x24, 0x3c, 0xae, 0xee, 0x42, 0xac, 0xf4, 0xf0, 0x60, 0xae, 0x78, 0x07, - 0x97, 0xf9, 0x1f, 0x2c, 0x50, 0xd1, 0x1d, 0x18, 0xd9, 0x8e, 0xa2, 0xd6, 0x0d, 0xe2, 0xd4, 0xe9, - 0xa5, 0x97, 0xb3, 0xc3, 0x0b, 0x69, 0xec, 0x90, 0x0e, 0x02, 0x47, 0x8b, 0x39, 0x48, 0x5c, 0x16, - 0x62, 0x9d, 0x8e, 0x5d, 0x05, 0x88, 0x61, 0xc7, 0xf4, 0x04, 0x62, 0xff, 0x81, 0x05, 0xc3, 0x3c, - 0xb6, 0x44, 0x80, 0x5e, 0x83, 0x01, 0x72, 0x9f, 0xd4, 0x84, 0xc4, 0x9b, 0xda, 0xe1, 0x58, 0xd2, - 0xe2, 0xaa, 0x5c, 0xfa, 0x1f, 0xb3, 0x5a, 0xe8, 0x06, 0x0c, 0xd3, 0xde, 0x5e, 0x57, 0x81, 0x36, - 0x9e, 0xc8, 0xfa, 0x62, 0x35, 0xed, 0x5c, 0x38, 0x13, 0x45, 0x58, 0x56, 0x67, 0xef, 0xce, 0xb5, - 0x56, 0x95, 0x72, 0xec, 0xa8, 0x9b, 0x60, 0xb1, 0xbe, 0x54, 0xe1, 0x48, 0x82, 0x1a, 0x7f, 0x77, - 0x96, 0x85, 0x38, 0x26, 0x62, 0xaf, 0x43, 0x91, 0x4e, 0xea, 0x42, 0xc3, 0x75, 0xba, 0x3f, 0xa5, - 0x3f, 0x0d, 0x45, 0xf9, 0x50, 0x1e, 0x0a, 0x9f, 0x72, 0x46, 0x55, 0xbe, 0xa3, 0x87, 0x38, 0x86, - 0xdb, 0x9b, 0x70, 0x8a, 0x99, 0x3d, 0x3a, 0xd1, 0xb6, 0xb1, 0xc7, 0x7a, 0x2f, 0xe6, 0x67, 0xc4, - 0x05, 0x92, 0xcf, 0xcc, 0x8c, 0xe6, 0xb6, 0x39, 0x2a, 0x29, 0xc6, 0x97, 0x49, 0xfb, 0x6b, 0x03, - 0xf0, 0x78, 0xb9, 0x9a, 0x1d, 0x76, 0xe4, 0x65, 0x18, 0xe5, 0x72, 0x29, 0x5d, 0xda, 0x4e, 0x43, - 0xb4, 0xab, 0x74, 0xb8, 0xeb, 0x1a, 0x0c, 0x1b, 0x98, 0xe8, 0x3c, 0xe4, 0xdd, 0x77, 0xbd, 0xa4, - 0x53, 0x53, 0xf9, 0xcd, 0x35, 0x4c, 0xcb, 0x29, 0x98, 0x8a, 0xb8, 0xfc, 0xec, 0x50, 0x60, 0x25, - 0xe6, 0xbe, 0x0e, 0xe3, 0x6e, 0x58, 0x0b, 0xdd, 0xb2, 0x47, 0xf9, 0x8c, 0xc6, 0xa9, 0x94, 0x72, - 0x83, 0x76, 0x5a, 0x41, 0x71, 0x02, 0x5b, 0x3b, 0xc8, 0x06, 0xfb, 0x16, 0x93, 0x7b, 0x3a, 0x59, - 0xd3, 0x1b, 0x40, 0x8b, 0x7d, 0x5d, 0xc8, 0x94, 0xf1, 0xe2, 0x06, 0xc0, 0x3f, 0x38, 0xc4, 0x12, - 0x46, 0x6f, 0x8e, 0xb5, 0x6d, 0xa7, 0xb5, 0xd0, 0x8e, 0xb6, 0x4b, 0x6e, 0x58, 0xf3, 0x77, 0x49, - 0xb0, 0xcf, 0x2e, 0xfd, 0x85, 0xf8, 0xe6, 0xa8, 0x00, 0x4b, 0x37, 0x16, 0x2a, 0x14, 0x13, 0x77, - 0xd6, 0x41, 0x0b, 0x30, 0x21, 0x0b, 0xab, 0x24, 0x64, 0x47, 0xd8, 0x08, 0x23, 0xa3, 0xdc, 0x8c, - 0x44, 0xb1, 0x22, 0x92, 0xc4, 0x37, 0x25, 0x69, 0x38, 0x0e, 0x49, 0xfa, 0x25, 0x18, 0x73, 0x3d, - 0x37, 0x72, 0x9d, 0xc8, 0xe7, 0x2f, 0x49, 0xfc, 0x7e, 0xcf, 0x54, 0xe4, 0x65, 0x1d, 0x80, 0x4d, - 0x3c, 0xfb, 0xbf, 0x0c, 0xc0, 0x14, 0x9b, 0xb6, 0x0f, 0x57, 0xd8, 0x37, 0xd2, 0x0a, 0xbb, 0xd3, - 0xb9, 0xc2, 0x8e, 0xe3, 0x8a, 0xf0, 0xd0, 0xcb, 0xec, 0x1d, 0x28, 0x2a, 0xcf, 0x2a, 0xe9, 0x5a, - 0x69, 0x65, 0xb8, 0x56, 0xf6, 0x96, 0x3e, 0xa4, 0x71, 0x5a, 0x3e, 0xd5, 0x38, 0xed, 0x6f, 0x5a, - 0x10, 0x3f, 0x8d, 0xa0, 0x1b, 0x50, 0x6c, 0xf9, 0xcc, 0xe6, 0x32, 0x90, 0x86, 0xcc, 0x8f, 0xa7, - 0x1e, 0x54, 0xfc, 0x50, 0xe4, 0x1f, 0x5f, 0x91, 0x35, 0x70, 0x5c, 0x19, 0x2d, 0xc2, 0x70, 0x2b, - 0x20, 0xd5, 0x88, 0x45, 0x1f, 0xe9, 0x49, 0x87, 0xaf, 0x11, 0x8e, 0x8f, 0x65, 0x45, 0xfb, 0xe7, - 0x2c, 0x00, 0x6e, 0xff, 0xe5, 0x78, 0x5b, 0xe4, 0x04, 0xb4, 0xd6, 0x25, 0x18, 0x08, 0x5b, 0xa4, - 0xd6, 0xcd, 0x1a, 0x36, 0xee, 0x4f, 0xb5, 0x45, 0x6a, 0xf1, 0x80, 0xd3, 0x7f, 0x98, 0xd5, 0xb6, - 0xbf, 0x1b, 0x60, 0x3c, 0x46, 0x2b, 0x47, 0xa4, 0x89, 0x9e, 0x35, 0xa2, 0x11, 0x9c, 0x4d, 0x44, - 0x23, 0x28, 0x32, 0x6c, 0x4d, 0x41, 0xfa, 0x0e, 0xe4, 0x9b, 0xce, 0x7d, 0xa1, 0x01, 0x7b, 0xba, - 0x7b, 0x37, 0x28, 0xfd, 0xf9, 0x55, 0xe7, 0x3e, 0xbf, 0x24, 0x3e, 0x2d, 0x17, 0xc8, 0xaa, 0x73, - 0xff, 0x90, 0xdb, 0xbc, 0x32, 0x26, 0x75, 0xcb, 0x0d, 0xa3, 0x2f, 0xfc, 0xe7, 0xf8, 0x3f, 0x5b, - 0x76, 0xb4, 0x11, 0xd6, 0x96, 0xeb, 0x09, 0xd3, 0xa6, 0xbe, 0xda, 0x72, 0xbd, 0x64, 0x5b, 0xae, - 0xd7, 0x47, 0x5b, 0xae, 0x87, 0xde, 0x83, 0x61, 0x61, 0x79, 0x28, 0xa2, 0xff, 0x5c, 0xed, 0xa3, - 0x3d, 0x61, 0xb8, 0xc8, 0xdb, 0xbc, 0x2a, 0x2f, 0xc1, 0xa2, 0xb4, 0x67, 0xbb, 0xb2, 0x41, 0xf4, - 0xd7, 0x2c, 0x18, 0x17, 0xbf, 0x31, 0x79, 0xb7, 0x4d, 0xc2, 0x48, 0xc8, 0x9e, 0x9f, 0xec, 0xbf, - 0x0f, 0xa2, 0x22, 0xef, 0xca, 0x27, 0x25, 0x9b, 0x35, 0x81, 0x3d, 0x7b, 0x94, 0xe8, 0x05, 0xfa, - 0x07, 0x16, 0x9c, 0x6a, 0x3a, 0xf7, 0x79, 0x8b, 0xbc, 0x0c, 0x3b, 0x91, 0xeb, 0x8b, 0x17, 0xfc, - 0xd7, 0xfa, 0x9b, 0xfe, 0x8e, 0xea, 0xbc, 0x93, 0xf2, 0x99, 0xf1, 0x54, 0x1a, 0x4a, 0xcf, 0xae, - 0xa6, 0xf6, 0x6b, 0x76, 0x13, 0x0a, 0x72, 0xbd, 0xa5, 0xa8, 0x1a, 0x4a, 0xba, 0x60, 0x7d, 0x64, - 0xc3, 0x4f, 0xdd, 0xcb, 0x9f, 0xb6, 0x23, 0xd6, 0xda, 0x23, 0x6d, 0xe7, 0x1d, 0x18, 0xd5, 0xd7, - 0xd8, 0x23, 0x6d, 0xeb, 0x5d, 0x98, 0x4e, 0x59, 0x4b, 0x8f, 0xb4, 0xc9, 0x3d, 0x38, 0x9b, 0xb9, - 0x3e, 0x1e, 0x65, 0xc3, 0xf6, 0xcf, 0x5a, 0x3a, 0x1f, 0x3c, 0x81, 0xa7, 0x83, 0x25, 0xf3, 0xe9, - 0xe0, 0x42, 0xf7, 0x9d, 0x93, 0xf1, 0x7e, 0xf0, 0xb6, 0xde, 0x69, 0xca, 0xd5, 0xd1, 0x1b, 0x30, - 0xd4, 0xa0, 0x25, 0xd2, 0x7e, 0xd5, 0xee, 0xbd, 0x23, 0x63, 0x59, 0x8a, 0x95, 0x87, 0x58, 0x50, - 0xb0, 0x7f, 0xd1, 0x82, 0x81, 0x13, 0x18, 0x09, 0x6c, 0x8e, 0xc4, 0xb3, 0x99, 0xa4, 0x45, 0x60, - 0xe2, 0x79, 0xec, 0xec, 0x2d, 0xdf, 0x8f, 0x88, 0x17, 0xb2, 0xab, 0x62, 0xea, 0xc0, 0xfc, 0x5f, - 0x30, 0x7d, 0xcb, 0x77, 0xea, 0x8b, 0x4e, 0xc3, 0xf1, 0x6a, 0x24, 0x28, 0x7b, 0x5b, 0x47, 0xb2, - 0xbd, 0xce, 0xf5, 0xb2, 0xbd, 0xb6, 0xb7, 0x01, 0xe9, 0x0d, 0x08, 0x27, 0x16, 0x0c, 0xc3, 0x2e, - 0x6f, 0x4a, 0x0c, 0xff, 0x93, 0xe9, 0xa2, 0x59, 0x47, 0xcf, 0x34, 0xf7, 0x0c, 0x5e, 0x80, 0x25, - 0x21, 0xfb, 0x65, 0x48, 0xf5, 0x84, 0xef, 0xad, 0x36, 0xb0, 0x3f, 0x03, 0x53, 0xac, 0xe6, 0x11, - 0xaf, 0xb4, 0x76, 0x42, 0x2b, 0x99, 0x12, 0x23, 0xcf, 0xfe, 0xa2, 0x05, 0x13, 0x6b, 0x89, 0xd0, - 0x61, 0x97, 0xd9, 0x3b, 0x66, 0x8a, 0x32, 0xbc, 0xca, 0x4a, 0xb1, 0x80, 0x1e, 0xbb, 0x0e, 0xea, - 0x2f, 0x2c, 0x88, 0x83, 0x53, 0x9c, 0x80, 0xe0, 0xb5, 0x64, 0x08, 0x5e, 0xa9, 0xba, 0x11, 0xd5, - 0x9d, 0x2c, 0xb9, 0x0b, 0xdd, 0x54, 0x61, 0x9b, 0xba, 0xa8, 0x45, 0x62, 0x32, 0x3c, 0xc8, 0xcf, - 0xb8, 0x19, 0xdb, 0x49, 0x06, 0x72, 0xb2, 0xff, 0x63, 0x0e, 0x90, 0xc2, 0xed, 0x3b, 0xac, 0x54, - 0x67, 0x8d, 0xe3, 0x09, 0x2b, 0xb5, 0x0b, 0x88, 0xbd, 0xc4, 0x07, 0x8e, 0x17, 0x72, 0xb2, 0xae, - 0xd0, 0xba, 0x1d, 0xed, 0x99, 0x7f, 0x56, 0x34, 0x89, 0x6e, 0x75, 0x50, 0xc3, 0x29, 0x2d, 0x68, - 0x16, 0x16, 0x83, 0xfd, 0x5a, 0x58, 0x0c, 0xf5, 0x70, 0x54, 0xfb, 0x19, 0x0b, 0xc6, 0xd4, 0x30, - 0x7d, 0x40, 0xcc, 0xc8, 0x55, 0x7f, 0x32, 0x58, 0x5f, 0x45, 0xeb, 0x32, 0x3b, 0x12, 0xbe, 0x99, - 0x39, 0x1c, 0x3a, 0x0d, 0xf7, 0x3d, 0xa2, 0x82, 0xfa, 0xcd, 0x09, 0x07, 0x42, 0x51, 0x7a, 0x78, - 0x30, 0x37, 0xa6, 0xfe, 0xf1, 0x20, 0xc2, 0x71, 0x15, 0xfb, 0x27, 0xe8, 0x66, 0x37, 0x97, 0x22, - 0x7a, 0x11, 0x06, 0x5b, 0xdb, 0x4e, 0x48, 0x12, 0xee, 0x36, 0x83, 0x15, 0x5a, 0x78, 0x78, 0x30, - 0x37, 0xae, 0x2a, 0xb0, 0x12, 0xcc, 0xb1, 0xfb, 0x0f, 0xd6, 0xd5, 0xb9, 0x38, 0x7b, 0x06, 0xeb, - 0xfa, 0x13, 0x0b, 0x06, 0xd6, 0xfc, 0xfa, 0x49, 0xb0, 0x80, 0xd7, 0x0d, 0x16, 0x70, 0x2e, 0x2b, - 0xbe, 0x7b, 0xe6, 0xee, 0x5f, 0x49, 0xec, 0xfe, 0x0b, 0x99, 0x14, 0xba, 0x6f, 0xfc, 0x26, 0x8c, - 0xb0, 0xa8, 0xf1, 0xc2, 0xb5, 0xe8, 0x79, 0x63, 0xc3, 0xcf, 0x25, 0x36, 0xfc, 0x84, 0x86, 0xaa, - 0xed, 0xf4, 0xa7, 0x60, 0x58, 0xf8, 0xaa, 0x24, 0xfd, 0x36, 0x05, 0x2e, 0x96, 0x70, 0xfb, 0xc7, - 0xf2, 0x60, 0x44, 0xa9, 0x47, 0xbf, 0x6c, 0xc1, 0x7c, 0xc0, 0x6d, 0x58, 0xeb, 0xa5, 0x76, 0xe0, - 0x7a, 0x5b, 0xd5, 0xda, 0x36, 0xa9, 0xb7, 0x1b, 0xae, 0xb7, 0x55, 0xde, 0xf2, 0x7c, 0x55, 0xbc, - 0x7c, 0x9f, 0xd4, 0xda, 0xec, 0xf9, 0xaa, 0x47, 0x48, 0x7c, 0x65, 0x0b, 0x7e, 0xed, 0xc1, 0xc1, - 0xdc, 0x3c, 0x3e, 0x12, 0x6d, 0x7c, 0xc4, 0xbe, 0xa0, 0xdf, 0xb4, 0xe0, 0x2a, 0x0f, 0xde, 0xde, - 0x7f, 0xff, 0xbb, 0xdc, 0x73, 0x2b, 0x92, 0x54, 0x4c, 0x64, 0x9d, 0x04, 0xcd, 0xc5, 0x97, 0xc4, - 0x80, 0x5e, 0xad, 0x1c, 0xad, 0x2d, 0x7c, 0xd4, 0xce, 0xd9, 0xff, 0x3c, 0x0f, 0x63, 0x22, 0xa8, - 0x93, 0x38, 0x03, 0x5e, 0x34, 0x96, 0xc4, 0x13, 0x89, 0x25, 0x31, 0x65, 0x20, 0x1f, 0x0f, 0xfb, - 0x0f, 0x61, 0x8a, 0x32, 0xe7, 0x1b, 0xc4, 0x09, 0xa2, 0x0d, 0xe2, 0x70, 0xc3, 0xa9, 0xfc, 0x91, - 0xb9, 0xbf, 0x52, 0xac, 0xdd, 0x4a, 0x12, 0xc3, 0x9d, 0xf4, 0xbf, 0x91, 0xce, 0x1c, 0x0f, 0x26, - 0x3b, 0xe2, 0x72, 0xbd, 0x05, 0x45, 0xe5, 0x68, 0x21, 0x98, 0x4e, 0xf7, 0xf0, 0x76, 0x49, 0x0a, - 0x5c, 0xf9, 0x15, 0x3b, 0xf9, 0xc4, 0xe4, 0xec, 0x7f, 0x98, 0x33, 0x1a, 0xe4, 0x93, 0xb8, 0x06, - 0x05, 0x27, 0x0c, 0xdd, 0x2d, 0x8f, 0xd4, 0xc5, 0x8e, 0xfd, 0x68, 0xd6, 0x8e, 0x35, 0x9a, 0x61, - 0xce, 0x2e, 0x0b, 0xa2, 0x26, 0x56, 0x34, 0xd0, 0x0d, 0x6e, 0x9e, 0xb6, 0x2b, 0x6f, 0x6a, 0xfd, - 0x51, 0x03, 0x69, 0xc0, 0xb6, 0x4b, 0xb0, 0xa8, 0x8f, 0x3e, 0xcb, 0xed, 0x07, 0x6f, 0x7a, 0xfe, - 0x9e, 0x77, 0xdd, 0xf7, 0x65, 0xe0, 0x84, 0xfe, 0x08, 0x4e, 0x49, 0xab, 0x41, 0x55, 0x1d, 0x9b, - 0xd4, 0xfa, 0x0b, 0x74, 0xf9, 0x6d, 0x30, 0x4d, 0x49, 0x9b, 0x7e, 0xcd, 0x21, 0x22, 0x30, 0x21, - 0x22, 0x86, 0xc9, 0x32, 0x31, 0x76, 0xa9, 0x97, 0x30, 0xb3, 0x76, 0xac, 0x01, 0xbe, 0x69, 0x92, - 0xc0, 0x49, 0x9a, 0xf6, 0x4f, 0x5a, 0xc0, 0x7c, 0x3c, 0x4f, 0x40, 0x1e, 0xf9, 0x94, 0x29, 0x8f, - 0xcc, 0x64, 0x0d, 0x72, 0x86, 0x28, 0xf2, 0x02, 0x5f, 0x59, 0x95, 0xc0, 0xbf, 0xbf, 0x2f, 0x8c, - 0x3e, 0x7a, 0xdf, 0x3f, 0xec, 0xff, 0x65, 0x71, 0x26, 0xa6, 0xdc, 0x20, 0xd0, 0xb7, 0x43, 0xa1, - 0xe6, 0xb4, 0x9c, 0x1a, 0x4f, 0xa9, 0x92, 0xa9, 0x8b, 0x33, 0x2a, 0xcd, 0x2f, 0x89, 0x1a, 0x5c, - 0xb7, 0x24, 0x23, 0xcf, 0x15, 0x64, 0x71, 0x4f, 0x7d, 0x92, 0x6a, 0x72, 0x76, 0x07, 0xc6, 0x0c, - 0x62, 0x8f, 0x54, 0x11, 0xf1, 0xed, 0xfc, 0x88, 0x55, 0x91, 0x12, 0x9b, 0x30, 0xe5, 0x69, 0xff, - 0xe9, 0x81, 0x22, 0x2f, 0x97, 0x1f, 0xed, 0x75, 0x88, 0xb2, 0xd3, 0x47, 0x73, 0x1f, 0x4d, 0x90, - 0xc1, 0x9d, 0x94, 0xed, 0x1f, 0xb7, 0xe0, 0x31, 0x1d, 0x51, 0xf3, 0x50, 0xe9, 0xa5, 0xdd, 0x2f, - 0x41, 0xc1, 0x6f, 0x91, 0xc0, 0x89, 0xfc, 0x40, 0x9c, 0x1a, 0x57, 0xe4, 0xa0, 0xdf, 0x16, 0xe5, - 0x87, 0x22, 0x20, 0xb9, 0xa4, 0x2e, 0xcb, 0xb1, 0xaa, 0x49, 0x6f, 0x9f, 0x6c, 0x30, 0x42, 0xe1, - 0x8b, 0xc4, 0x78, 0x00, 0x7b, 0xe8, 0x0e, 0xb1, 0x80, 0xd8, 0x5f, 0xb3, 0xf8, 0xc2, 0xd2, 0xbb, - 0x8e, 0xde, 0x85, 0xc9, 0xa6, 0x13, 0xd5, 0xb6, 0x97, 0xef, 0xb7, 0x02, 0xfe, 0x56, 0x22, 0xc7, - 0xe9, 0xe9, 0x5e, 0xe3, 0xa4, 0x7d, 0x64, 0x6c, 0x12, 0xb9, 0x9a, 0x20, 0x86, 0x3b, 0xc8, 0xa3, - 0x0d, 0x18, 0x61, 0x65, 0xcc, 0xcd, 0x2e, 0xec, 0x26, 0x1a, 0x64, 0xb5, 0xa6, 0x6c, 0x05, 0x56, - 0x63, 0x3a, 0x58, 0x27, 0x6a, 0xff, 0x74, 0x9e, 0xef, 0x76, 0x26, 0xca, 0x3f, 0x05, 0xc3, 0x2d, - 0xbf, 0xbe, 0x54, 0x2e, 0x61, 0x31, 0x0b, 0xea, 0x18, 0xa9, 0xf0, 0x62, 0x2c, 0xe1, 0xe8, 0x0a, - 0x14, 0xc4, 0x4f, 0xf9, 0xb6, 0xc5, 0x78, 0xb3, 0xc0, 0x0b, 0xb1, 0x82, 0xa2, 0x6b, 0x00, 0xad, - 0xc0, 0xdf, 0x75, 0xeb, 0x2c, 0xfc, 0x43, 0xde, 0x34, 0xf3, 0xa9, 0x28, 0x08, 0xd6, 0xb0, 0xd0, - 0xab, 0x30, 0xd6, 0xf6, 0x42, 0x2e, 0x8e, 0x68, 0xc1, 0x5e, 0x95, 0x01, 0xca, 0x1d, 0x1d, 0x88, - 0x4d, 0x5c, 0xb4, 0x00, 0x43, 0x91, 0xc3, 0xcc, 0x56, 0x06, 0xb3, 0xcd, 0x66, 0xd7, 0x29, 0x86, - 0x9e, 0xbd, 0x83, 0x56, 0xc0, 0xa2, 0x22, 0x7a, 0x4b, 0x7a, 0xbc, 0x72, 0xc6, 0x2e, 0xec, 0xd5, - 0xfb, 0x3b, 0x04, 0x34, 0x7f, 0x57, 0x61, 0x07, 0x6f, 0xd0, 0x42, 0xaf, 0x00, 0x90, 0xfb, 0x11, - 0x09, 0x3c, 0xa7, 0xa1, 0xac, 0xc2, 0x94, 0x5c, 0x50, 0xf2, 0xd7, 0xfc, 0xe8, 0x4e, 0x48, 0x96, - 0x15, 0x06, 0xd6, 0xb0, 0xed, 0xdf, 0x2c, 0x02, 0xc4, 0x72, 0x3b, 0x7a, 0xaf, 0x83, 0x71, 0x3d, - 0xd3, 0x5d, 0xd2, 0x3f, 0x3e, 0xae, 0x85, 0xbe, 0xc7, 0x82, 0x11, 0xa7, 0xd1, 0xf0, 0x6b, 0x0e, - 0x0f, 0xc7, 0x9b, 0xeb, 0xce, 0x38, 0x45, 0xfb, 0x0b, 0x71, 0x0d, 0xde, 0x85, 0xe7, 0xe5, 0x0a, - 0xd5, 0x20, 0x3d, 0x7b, 0xa1, 0x37, 0x8c, 0x3e, 0x21, 0xaf, 0x8a, 0x79, 0x63, 0x28, 0xd5, 0x55, - 0xb1, 0xc8, 0xce, 0x08, 0xfd, 0x96, 0x78, 0xc7, 0xb8, 0x25, 0x0e, 0x64, 0xbb, 0xf4, 0x19, 0xe2, - 0x6b, 0xaf, 0x0b, 0x22, 0xaa, 0xe8, 0xee, 0xfd, 0x83, 0xd9, 0xfe, 0x73, 0xda, 0x3d, 0xa9, 0x87, - 0x6b, 0xff, 0x3b, 0x30, 0x51, 0x37, 0x85, 0x00, 0xb1, 0x12, 0x9f, 0xcc, 0xa2, 0x9b, 0x90, 0x19, - 0xe2, 0x63, 0x3f, 0x01, 0xc0, 0x49, 0xc2, 0xa8, 0xc2, 0xa3, 0x3d, 0x94, 0xbd, 0x4d, 0x5f, 0xf8, - 0x4c, 0xd8, 0x99, 0x73, 0xb9, 0x1f, 0x46, 0xa4, 0x49, 0x31, 0xe3, 0xd3, 0x7d, 0x4d, 0xd4, 0xc5, - 0x8a, 0x0a, 0x7a, 0x03, 0x86, 0x98, 0x03, 0x55, 0x38, 0x53, 0xc8, 0xd6, 0x15, 0x9b, 0xe1, 0xcb, - 0xe2, 0x0d, 0xc9, 0xfe, 0x86, 0x58, 0x50, 0x40, 0x37, 0xa4, 0x7b, 0x62, 0x58, 0xf6, 0xee, 0x84, - 0x84, 0xb9, 0x27, 0x16, 0x17, 0x3f, 0x1a, 0x7b, 0x1e, 0xf2, 0xf2, 0xd4, 0x1c, 0x5f, 0x46, 0x4d, - 0x2a, 0x45, 0x89, 0xff, 0x32, 0x75, 0xd8, 0x0c, 0x64, 0x77, 0xcf, 0x4c, 0x2f, 0x16, 0x0f, 0xe7, - 0x5d, 0x93, 0x04, 0x4e, 0xd2, 0xa4, 0x12, 0x29, 0xdf, 0xf5, 0xc2, 0xeb, 0xa2, 0x17, 0xef, 0xe0, - 0x17, 0x71, 0x76, 0x1a, 0xf1, 0x12, 0x2c, 0xea, 0x9f, 0xa8, 0x78, 0x30, 0xeb, 0xc1, 0x64, 0x72, - 0x8b, 0x3e, 0x52, 0x71, 0xe4, 0x0f, 0x06, 0x60, 0xdc, 0x5c, 0x52, 0xe8, 0x2a, 0x14, 0x05, 0x11, - 0x15, 0xee, 0x5f, 0xed, 0x92, 0x55, 0x09, 0xc0, 0x31, 0x0e, 0xcb, 0xf2, 0xc0, 0xaa, 0x6b, 0x66, - 0xb6, 0x71, 0x96, 0x07, 0x05, 0xc1, 0x1a, 0x16, 0xbd, 0x58, 0x6d, 0xf8, 0x7e, 0xa4, 0x0e, 0x24, - 0xb5, 0xee, 0x16, 0x59, 0x29, 0x16, 0x50, 0x7a, 0x10, 0xed, 0x90, 0xc0, 0x23, 0x0d, 0x33, 0x30, - 0xb0, 0x3a, 0x88, 0x6e, 0xea, 0x40, 0x6c, 0xe2, 0xd2, 0xe3, 0xd4, 0x0f, 0xd9, 0x42, 0x16, 0xd7, - 0xb7, 0xd8, 0x6c, 0xb9, 0xca, 0x3d, 0xa4, 0x25, 0x1c, 0x7d, 0x06, 0x1e, 0x53, 0xc1, 0x8f, 0x30, - 0x7f, 0x87, 0x90, 0x2d, 0x0e, 0x19, 0xda, 0x96, 0xc7, 0x96, 0xd2, 0xd1, 0x70, 0x56, 0x7d, 0xf4, - 0x3a, 0x8c, 0x0b, 0x11, 0x5f, 0x52, 0x1c, 0x36, 0x4d, 0x63, 0x6e, 0x1a, 0x50, 0x9c, 0xc0, 0x96, - 0xa1, 0x8d, 0x99, 0x94, 0x2d, 0x29, 0x14, 0x3a, 0x43, 0x1b, 0xeb, 0x70, 0xdc, 0x51, 0x03, 0x2d, - 0xc0, 0x04, 0x97, 0xc1, 0x5c, 0x6f, 0x8b, 0xcf, 0x89, 0x70, 0x8a, 0x52, 0x5b, 0xea, 0xb6, 0x09, - 0xc6, 0x49, 0x7c, 0xf4, 0x32, 0x8c, 0x3a, 0x41, 0x6d, 0xdb, 0x8d, 0x48, 0x2d, 0x6a, 0x07, 0xdc, - 0x5b, 0x4a, 0xb3, 0x2d, 0x5a, 0xd0, 0x60, 0xd8, 0xc0, 0xb4, 0xdf, 0x83, 0xe9, 0x94, 0xd0, 0x09, - 0x74, 0xe1, 0x38, 0x2d, 0x57, 0x7e, 0x53, 0xc2, 0x00, 0x79, 0xa1, 0x52, 0x96, 0x5f, 0xa3, 0x61, - 0xd1, 0xd5, 0xc9, 0x42, 0x2c, 0x68, 0x99, 0x02, 0xd5, 0xea, 0x5c, 0x91, 0x00, 0x1c, 0xe3, 0xd8, - 0xff, 0x3d, 0x07, 0x13, 0x29, 0x6f, 0x2b, 0x2c, 0x5b, 0x5d, 0xe2, 0x92, 0x12, 0x27, 0xa7, 0x33, - 0x23, 0x65, 0xe7, 0x8e, 0x10, 0x29, 0x3b, 0xdf, 0x2b, 0x52, 0xf6, 0xc0, 0xfb, 0x89, 0x94, 0x6d, - 0x8e, 0xd8, 0x60, 0x5f, 0x23, 0x96, 0x12, 0x5d, 0x7b, 0xe8, 0x88, 0xd1, 0xb5, 0x8d, 0x41, 0x1f, - 0xee, 0x63, 0xd0, 0x7f, 0x28, 0x07, 0x93, 0x49, 0x1b, 0xc8, 0x13, 0xd0, 0xdb, 0xbe, 0x61, 0xe8, - 0x6d, 0xd3, 0x73, 0x3f, 0x26, 0x2d, 0x33, 0xb3, 0x74, 0xb8, 0x38, 0xa1, 0xc3, 0xfd, 0x78, 0x5f, - 0xd4, 0xba, 0xeb, 0x73, 0xff, 0x76, 0x0e, 0x4e, 0x27, 0xab, 0x2c, 0x35, 0x1c, 0xb7, 0x79, 0x02, - 0x63, 0x73, 0xdb, 0x18, 0x9b, 0x67, 0xfb, 0xf9, 0x1a, 0xd6, 0xb5, 0xcc, 0x01, 0xba, 0x97, 0x18, - 0xa0, 0xab, 0xfd, 0x93, 0xec, 0x3e, 0x4a, 0x5f, 0xcd, 0xc3, 0x85, 0xd4, 0x7a, 0xb1, 0xda, 0x73, - 0xc5, 0x50, 0x7b, 0x5e, 0x4b, 0xa8, 0x3d, 0xed, 0xee, 0xb5, 0x8f, 0x47, 0x0f, 0x2a, 0x1c, 0x5d, - 0x59, 0x1c, 0x80, 0x87, 0xd4, 0x81, 0x1a, 0x8e, 0xae, 0x8a, 0x10, 0x36, 0xe9, 0x7e, 0x23, 0xe9, - 0x3e, 0xff, 0xb5, 0x05, 0x67, 0x53, 0xe7, 0xe6, 0x04, 0x74, 0x5d, 0x6b, 0xa6, 0xae, 0xeb, 0xa9, - 0xbe, 0x57, 0x6b, 0x86, 0xf2, 0xeb, 0xd7, 0x07, 0x32, 0xbe, 0x85, 0xdd, 0xe4, 0x6f, 0xc3, 0x88, - 0x53, 0xab, 0x91, 0x30, 0x5c, 0xf5, 0xeb, 0x2a, 0x18, 0xf0, 0xb3, 0xec, 0x9e, 0x15, 0x17, 0x1f, - 0x1e, 0xcc, 0xcd, 0x26, 0x49, 0xc4, 0x60, 0xac, 0x53, 0x40, 0x9f, 0x85, 0x42, 0x28, 0xce, 0x4d, - 0x31, 0xf7, 0xcf, 0xf7, 0x39, 0x38, 0xce, 0x06, 0x69, 0x98, 0xd1, 0x8a, 0x94, 0xa6, 0x42, 0x91, - 0x34, 0x23, 0x9b, 0xe4, 0x8e, 0x35, 0xb2, 0xc9, 0x35, 0x80, 0x5d, 0x75, 0x19, 0x48, 0xea, 0x1f, - 0xb4, 0x6b, 0x82, 0x86, 0x85, 0xbe, 0x05, 0x26, 0x43, 0x1e, 0xce, 0x6f, 0xa9, 0xe1, 0x84, 0xcc, - 0xcd, 0x45, 0xac, 0x42, 0x16, 0x11, 0xa9, 0x9a, 0x80, 0xe1, 0x0e, 0x6c, 0xb4, 0x22, 0x5b, 0x65, - 0xb1, 0x07, 0xf9, 0xc2, 0xbc, 0x1c, 0xb7, 0x28, 0x72, 0xe5, 0x9e, 0x4a, 0x0e, 0x3f, 0x1b, 0x78, - 0xad, 0x26, 0xfa, 0x2c, 0x00, 0x5d, 0x3e, 0x42, 0x0f, 0x31, 0x9c, 0xcd, 0x3c, 0x29, 0x57, 0xa9, - 0xa7, 0x5a, 0xe5, 0x32, 0xdf, 0xd4, 0x92, 0x22, 0x82, 0x35, 0x82, 0xf6, 0x0f, 0x0d, 0xc0, 0xe3, - 0x5d, 0x78, 0x24, 0x5a, 0x30, 0xdf, 0x61, 0x9f, 0x4e, 0x5e, 0xae, 0x67, 0x53, 0x2b, 0x1b, 0xb7, - 0xed, 0xc4, 0x52, 0xcc, 0xbd, 0xef, 0xa5, 0xf8, 0xfd, 0x96, 0xa6, 0xf6, 0xe0, 0xb6, 0x9a, 0x9f, - 0x3a, 0x22, 0xef, 0x3f, 0x46, 0x3d, 0xc8, 0x66, 0x8a, 0x32, 0xe1, 0x5a, 0xdf, 0xdd, 0xe9, 0x5b, - 0xbb, 0x70, 0xb2, 0x5a, 0xe2, 0x2f, 0x58, 0xf0, 0x44, 0x6a, 0x7f, 0x0d, 0x8b, 0x9c, 0xab, 0x50, - 0xac, 0xd1, 0x42, 0xcd, 0x15, 0x31, 0xf6, 0xd1, 0x96, 0x00, 0x1c, 0xe3, 0x18, 0x86, 0x37, 0xb9, - 0x9e, 0x86, 0x37, 0xbf, 0x62, 0x41, 0xc7, 0xfe, 0x38, 0x01, 0x46, 0x5d, 0x36, 0x19, 0xf5, 0x47, - 0xfb, 0x99, 0xcb, 0x0c, 0x1e, 0xfd, 0xc7, 0x13, 0x70, 0x26, 0xc3, 0x15, 0x67, 0x17, 0xa6, 0xb6, - 0x6a, 0xc4, 0x74, 0xf2, 0x14, 0x1f, 0x93, 0xea, 0x0f, 0xdb, 0xd5, 0x23, 0x94, 0x25, 0xbe, 0x9c, - 0xea, 0x40, 0xc1, 0x9d, 0x4d, 0xa0, 0x2f, 0x58, 0x70, 0xca, 0xd9, 0x0b, 0x3b, 0x32, 0xe5, 0x8b, - 0x35, 0xf3, 0x42, 0xaa, 0x12, 0xa4, 0x47, 0x66, 0x7d, 0x9e, 0x09, 0x34, 0x0d, 0x0b, 0xa7, 0xb6, - 0x85, 0xb0, 0x08, 0x0f, 0x4f, 0xc5, 0xf9, 0x2e, 0x6e, 0xc8, 0x69, 0x3e, 0x53, 0xfc, 0x04, 0x91, - 0x10, 0xac, 0xe8, 0xa0, 0xcf, 0x43, 0x71, 0x4b, 0x3a, 0x32, 0xa6, 0x9c, 0x50, 0xf1, 0x40, 0x76, - 0x77, 0xef, 0xe4, 0x2f, 0x99, 0x0a, 0x09, 0xc7, 0x44, 0xd1, 0xeb, 0x90, 0xf7, 0x36, 0xc3, 0x6e, - 0xc9, 0x34, 0x13, 0x26, 0x6b, 0xdc, 0xd9, 0x7f, 0x6d, 0xa5, 0x8a, 0x69, 0x45, 0x74, 0x03, 0xf2, - 0xc1, 0x46, 0x5d, 0x68, 0xf0, 0x52, 0x79, 0x38, 0x5e, 0x2c, 0x65, 0xf4, 0x8a, 0x51, 0xc2, 0x8b, - 0x25, 0x4c, 0x49, 0xa0, 0x0a, 0x0c, 0x32, 0xff, 0x15, 0x71, 0x1e, 0xa4, 0x4a, 0xbe, 0x5d, 0xfc, - 0xc0, 0x78, 0x44, 0x00, 0x86, 0x80, 0x39, 0x21, 0xb4, 0x0e, 0x43, 0x35, 0x96, 0x78, 0x51, 0x84, - 0x15, 0xfb, 0x44, 0xaa, 0xae, 0xae, 0x4b, 0x46, 0x4a, 0xa1, 0xba, 0x62, 0x18, 0x58, 0xd0, 0x62, - 0x54, 0x49, 0x6b, 0x7b, 0x33, 0x14, 0x89, 0x82, 0xd3, 0xa9, 0x76, 0x49, 0xb4, 0x2a, 0xa8, 0x32, - 0x0c, 0x2c, 0x68, 0xa1, 0x57, 0x20, 0xb7, 0x59, 0x13, 0xbe, 0x29, 0xa9, 0x4a, 0x3b, 0x33, 0x5e, - 0xc3, 0xe2, 0xd0, 0x83, 0x83, 0xb9, 0xdc, 0xca, 0x12, 0xce, 0x6d, 0xd6, 0xd0, 0x1a, 0x0c, 0x6f, - 0x72, 0x0f, 0x6f, 0xa1, 0x97, 0x7b, 0x32, 0xdd, 0xf9, 0xbc, 0xc3, 0x09, 0x9c, 0xbb, 0x65, 0x08, - 0x00, 0x96, 0x44, 0x58, 0xb4, 0x75, 0xe5, 0xa9, 0x2e, 0x22, 0x70, 0xcd, 0x1f, 0x2d, 0xba, 0x00, - 0x3f, 0x9f, 0x63, 0x7f, 0x77, 0xac, 0x51, 0xa4, 0xab, 0xda, 0x91, 0xd9, 0xda, 0x45, 0x44, 0x95, - 0xd4, 0x55, 0xdd, 0x23, 0x91, 0x3d, 0x5f, 0xd5, 0x0a, 0x09, 0xc7, 0x44, 0xd1, 0x0e, 0x8c, 0xed, - 0x86, 0xad, 0x6d, 0x22, 0xb7, 0x34, 0x0b, 0xb0, 0x92, 0x71, 0x84, 0xdd, 0x15, 0x88, 0x6e, 0x10, - 0xb5, 0x9d, 0x46, 0x07, 0x17, 0x62, 0xcf, 0xdf, 0x77, 0x75, 0x62, 0xd8, 0xa4, 0x4d, 0x87, 0xff, - 0xdd, 0xb6, 0xbf, 0xb1, 0x1f, 0x11, 0x11, 0x38, 0x2b, 0x75, 0xf8, 0xdf, 0xe4, 0x28, 0x9d, 0xc3, - 0x2f, 0x00, 0x58, 0x12, 0x41, 0x77, 0xc5, 0xf0, 0x30, 0xee, 0x39, 0x99, 0x1d, 0xdd, 0x72, 0x41, - 0x22, 0x65, 0x0c, 0x0a, 0xe3, 0x96, 0x31, 0x29, 0xc6, 0x25, 0x5b, 0xdb, 0x7e, 0xe4, 0x7b, 0x09, - 0x0e, 0x3d, 0x95, 0xcd, 0x25, 0x2b, 0x29, 0xf8, 0x9d, 0x5c, 0x32, 0x0d, 0x0b, 0xa7, 0xb6, 0x85, - 0xea, 0x30, 0xde, 0xf2, 0x83, 0x68, 0xcf, 0x0f, 0xe4, 0xfa, 0x42, 0x5d, 0xf4, 0x0a, 0x06, 0xa6, - 0x68, 0x91, 0xc5, 0xa4, 0x33, 0x21, 0x38, 0x41, 0x13, 0x7d, 0x1a, 0x86, 0xc3, 0x9a, 0xd3, 0x20, - 0xe5, 0xdb, 0x33, 0xd3, 0xd9, 0xc7, 0x4f, 0x95, 0xa3, 0x64, 0xac, 0x2e, 0x1e, 0x9a, 0x9d, 0xa3, - 0x60, 0x49, 0x0e, 0xad, 0xc0, 0x20, 0xcb, 0xa6, 0xc5, 0xa2, 0xbc, 0x65, 0x04, 0xe9, 0xec, 0x30, - 0x20, 0xe6, 0xbc, 0x89, 0x15, 0x63, 0x5e, 0x9d, 0xee, 0x01, 0x21, 0x5e, 0xfb, 0xe1, 0xcc, 0xe9, - 0xec, 0x3d, 0x20, 0xa4, 0xf2, 0xdb, 0xd5, 0x6e, 0x7b, 0x40, 0x21, 0xe1, 0x98, 0x28, 0xe5, 0xcc, - 0x94, 0x9b, 0x9e, 0xe9, 0x62, 0xf9, 0x92, 0xc9, 0x4b, 0x19, 0x67, 0xa6, 0x9c, 0x94, 0x92, 0xb0, - 0x7f, 0x6f, 0xb8, 0x53, 0x66, 0x61, 0x17, 0xb2, 0xef, 0xb2, 0x3a, 0xde, 0xea, 0x3e, 0xd9, 0xaf, - 0x7e, 0xe8, 0x18, 0xa5, 0xd5, 0x2f, 0x58, 0x70, 0xa6, 0x95, 0xfa, 0x21, 0x42, 0x00, 0xe8, 0x4f, - 0xcd, 0xc4, 0x3f, 0x5d, 0x45, 0x04, 0x4c, 0x87, 0xe3, 0x8c, 0x96, 0x92, 0x37, 0x82, 0xfc, 0xfb, - 0xbe, 0x11, 0xac, 0x42, 0x81, 0x09, 0x99, 0x3d, 0x12, 0x11, 0x27, 0x2f, 0x46, 0x4c, 0x94, 0x58, - 0x12, 0x15, 0xb1, 0x22, 0x81, 0x7e, 0xc0, 0x82, 0xf3, 0xc9, 0xae, 0x63, 0xc2, 0xc0, 0x22, 0x8c, - 0x20, 0xbf, 0x0b, 0xae, 0x88, 0xef, 0x3f, 0x5f, 0xe9, 0x86, 0x7c, 0xd8, 0x0b, 0x01, 0x77, 0x6f, - 0x0c, 0x95, 0x52, 0x2e, 0xa3, 0x43, 0xa6, 0x02, 0xbe, 0x8f, 0x0b, 0xe9, 0x0b, 0x30, 0xda, 0xf4, - 0xdb, 0x5e, 0x24, 0x0c, 0x65, 0xc4, 0xa3, 0x3d, 0x7b, 0xac, 0x5e, 0xd5, 0xca, 0xb1, 0x81, 0x95, - 0xb8, 0xc6, 0x16, 0x1e, 0xfa, 0x1a, 0xfb, 0x36, 0x8c, 0x7a, 0x9a, 0x65, 0xa7, 0x90, 0x07, 0x2e, - 0x67, 0x87, 0x00, 0xd5, 0xed, 0x40, 0x79, 0x2f, 0xf5, 0x12, 0x6c, 0x50, 0x3b, 0xd9, 0xbb, 0xd1, - 0x97, 0xad, 0x14, 0xa1, 0x9e, 0xdf, 0x96, 0x5f, 0x33, 0x6f, 0xcb, 0x97, 0x93, 0xb7, 0xe5, 0x0e, - 0xe5, 0xab, 0x71, 0x51, 0xee, 0x3f, 0xc3, 0x49, 0xbf, 0xd1, 0xfe, 0xec, 0x06, 0x5c, 0xec, 0x75, - 0x2c, 0x31, 0x8b, 0xa9, 0xba, 0x7a, 0x6a, 0x8b, 0x2d, 0xa6, 0xea, 0xe5, 0x12, 0x66, 0x90, 0x7e, - 0xe3, 0xc8, 0xd8, 0xff, 0xcd, 0x82, 0x7c, 0xc5, 0xaf, 0x9f, 0x80, 0x32, 0xf9, 0x53, 0x86, 0x32, - 0xf9, 0xf1, 0xf4, 0x03, 0xb1, 0x9e, 0xa9, 0x3a, 0x5e, 0x4e, 0xa8, 0x8e, 0xcf, 0x67, 0x11, 0xe8, - 0xae, 0x28, 0xfe, 0x89, 0x3c, 0x8c, 0x54, 0xfc, 0xba, 0x32, 0x57, 0xfe, 0xf5, 0x87, 0x31, 0x57, - 0xce, 0x8c, 0xd3, 0xaf, 0x51, 0x66, 0x86, 0x56, 0xd2, 0xc7, 0xf2, 0x2f, 0x99, 0xd5, 0xf2, 0x3d, - 0xe2, 0x6e, 0x6d, 0x47, 0xa4, 0x9e, 0xfc, 0x9c, 0x93, 0xb3, 0x5a, 0xfe, 0xaf, 0x16, 0x4c, 0x24, - 0x5a, 0x47, 0x0d, 0x18, 0x6b, 0xe8, 0x8a, 0x49, 0xb1, 0x4e, 0x1f, 0x4a, 0xa7, 0x29, 0xac, 0x3e, - 0xb5, 0x22, 0x6c, 0x12, 0x47, 0xf3, 0x00, 0xea, 0xa5, 0x4e, 0x6a, 0xc0, 0x98, 0xd4, 0xaf, 0x9e, - 0xf2, 0x42, 0xac, 0x61, 0xa0, 0x17, 0x61, 0x24, 0xf2, 0x5b, 0x7e, 0xc3, 0xdf, 0xda, 0xbf, 0x49, - 0x64, 0xe4, 0x22, 0x65, 0xcb, 0xb5, 0x1e, 0x83, 0xb0, 0x8e, 0x67, 0xff, 0x54, 0x9e, 0x7f, 0xa8, - 0x17, 0xb9, 0x1f, 0xae, 0xc9, 0x0f, 0xf6, 0x9a, 0xfc, 0xaa, 0x05, 0x93, 0xb4, 0x75, 0x66, 0x2e, - 0x22, 0x0f, 0x5b, 0x15, 0xfa, 0xd7, 0xea, 0x12, 0xfa, 0xf7, 0x32, 0xe5, 0x5d, 0x75, 0xbf, 0x1d, - 0x09, 0x0d, 0x9a, 0xc6, 0x9c, 0x68, 0x29, 0x16, 0x50, 0x81, 0x47, 0x82, 0x40, 0xb8, 0xb8, 0xe9, - 0x78, 0x24, 0x08, 0xb0, 0x80, 0xca, 0xc8, 0xc0, 0x03, 0xe9, 0x91, 0x81, 0x79, 0x1c, 0x46, 0x61, - 0x58, 0x20, 0xc4, 0x1e, 0x2d, 0x0e, 0xa3, 0xb4, 0x38, 0x88, 0x71, 0xec, 0x9f, 0xcd, 0xc3, 0x68, - 0xc5, 0xaf, 0xc7, 0x6f, 0x65, 0x2f, 0x18, 0x6f, 0x65, 0x17, 0x13, 0x6f, 0x65, 0x93, 0x3a, 0xee, - 0x87, 0x2f, 0x63, 0x5f, 0xaf, 0x97, 0xb1, 0x7f, 0x66, 0xb1, 0x59, 0x2b, 0xad, 0x55, 0xb9, 0xf5, - 0x11, 0x7a, 0x0e, 0x46, 0x18, 0x43, 0x62, 0x3e, 0x95, 0xf2, 0x01, 0x89, 0x65, 0xbc, 0x59, 0x8b, - 0x8b, 0xb1, 0x8e, 0x83, 0xae, 0x40, 0x21, 0x24, 0x4e, 0x50, 0xdb, 0x56, 0x3c, 0x4e, 0xbc, 0xf6, - 0xf0, 0x32, 0xac, 0xa0, 0xe8, 0xcd, 0x38, 0x04, 0x60, 0x3e, 0xdb, 0x47, 0x4b, 0xef, 0x0f, 0xdf, - 0x22, 0xd9, 0x71, 0xff, 0xec, 0x7b, 0x80, 0x3a, 0xf1, 0xfb, 0x88, 0x7d, 0x35, 0x67, 0xc6, 0xbe, - 0x2a, 0x76, 0xc4, 0xbd, 0xfa, 0x73, 0x0b, 0xc6, 0x2b, 0x7e, 0x9d, 0x6e, 0xdd, 0x6f, 0xa4, 0x7d, - 0xaa, 0xc7, 0x3f, 0x1d, 0xea, 0x12, 0xff, 0xf4, 0x12, 0x0c, 0x56, 0xfc, 0x7a, 0xb9, 0xd2, 0xcd, - 0xb7, 0xd9, 0xfe, 0x3b, 0x16, 0x0c, 0x57, 0xfc, 0xfa, 0x09, 0x28, 0xe7, 0x5f, 0x33, 0x95, 0xf3, - 0x8f, 0x65, 0xac, 0x9b, 0x0c, 0x7d, 0xfc, 0xdf, 0x1a, 0x80, 0x31, 0xda, 0x4f, 0x7f, 0x4b, 0x4e, - 0xa5, 0x31, 0x6c, 0x56, 0x1f, 0xc3, 0x46, 0x65, 0x61, 0xbf, 0xd1, 0xf0, 0xf7, 0x92, 0xd3, 0xba, - 0xc2, 0x4a, 0xb1, 0x80, 0xa2, 0x67, 0xa0, 0xd0, 0x0a, 0xc8, 0xae, 0xeb, 0x0b, 0x21, 0x53, 0x7b, - 0xea, 0xa8, 0x88, 0x72, 0xac, 0x30, 0xe8, 0xe5, 0x2c, 0x74, 0xbd, 0x1a, 0xa9, 0x92, 0x9a, 0xef, - 0xd5, 0xb9, 0xfe, 0x3a, 0x2f, 0xa2, 0xff, 0x6b, 0xe5, 0xd8, 0xc0, 0x42, 0xf7, 0xa0, 0xc8, 0xfe, - 0x33, 0xb6, 0x73, 0xf4, 0x3c, 0x92, 0x22, 0xaf, 0x98, 0x20, 0x80, 0x63, 0x5a, 0xe8, 0x1a, 0x40, - 0x24, 0x03, 0x5d, 0x87, 0x22, 0xce, 0x91, 0x12, 0xc8, 0x55, 0x08, 0xec, 0x10, 0x6b, 0x58, 0xe8, - 0x69, 0x28, 0x46, 0x8e, 0xdb, 0xb8, 0xe5, 0x7a, 0x24, 0x64, 0x7a, 0xe9, 0xbc, 0x4c, 0xef, 0x25, - 0x0a, 0x71, 0x0c, 0xa7, 0x02, 0x11, 0x0b, 0x02, 0xc0, 0xb3, 0xd0, 0x16, 0x18, 0x36, 0x13, 0x88, - 0x6e, 0xa9, 0x52, 0xac, 0x61, 0xa0, 0x6d, 0x38, 0xe7, 0x7a, 0x2c, 0x52, 0x3e, 0xa9, 0xee, 0xb8, - 0xad, 0xf5, 0x5b, 0xd5, 0xbb, 0x24, 0x70, 0x37, 0xf7, 0x17, 0x9d, 0xda, 0x0e, 0xf1, 0x64, 0x86, - 0xc0, 0x8f, 0x8a, 0x2e, 0x9e, 0x2b, 0x77, 0xc1, 0xc5, 0x5d, 0x29, 0xd9, 0x2f, 0xc3, 0xe9, 0x8a, - 0x5f, 0xaf, 0xf8, 0x41, 0xb4, 0xe2, 0x07, 0x7b, 0x4e, 0x50, 0x97, 0x2b, 0x65, 0x4e, 0x26, 0x13, - 0xa1, 0xac, 0x70, 0x90, 0x33, 0x0a, 0x23, 0xa5, 0xd5, 0xf3, 0x4c, 0xf8, 0x3a, 0xa2, 0x33, 0x4a, - 0x8d, 0x89, 0x01, 0x2a, 0x6d, 0xc4, 0x75, 0x27, 0x22, 0xe8, 0x36, 0x4b, 0x87, 0x1b, 0x9f, 0x88, - 0xa2, 0xfa, 0x53, 0x5a, 0x3a, 0xdc, 0x18, 0x98, 0x7a, 0x84, 0x9a, 0xf5, 0xed, 0xbf, 0x32, 0xc8, - 0x98, 0x63, 0x22, 0xf5, 0x00, 0xfa, 0x1c, 0x8c, 0x87, 0xe4, 0x96, 0xeb, 0xb5, 0xef, 0x4b, 0x9d, - 0x40, 0x17, 0x77, 0xa2, 0xea, 0xb2, 0x8e, 0xc9, 0x35, 0x8b, 0x66, 0x19, 0x4e, 0x50, 0x43, 0x4d, - 0x18, 0xdf, 0x73, 0xbd, 0xba, 0xbf, 0x17, 0x4a, 0xfa, 0x85, 0x6c, 0x05, 0xe3, 0x3d, 0x8e, 0x99, - 0xe8, 0xa3, 0xd1, 0xdc, 0x3d, 0x83, 0x18, 0x4e, 0x10, 0xa7, 0x0b, 0x30, 0x68, 0x7b, 0x0b, 0xe1, - 0x9d, 0x90, 0x04, 0x22, 0xb1, 0x31, 0x5b, 0x80, 0x58, 0x16, 0xe2, 0x18, 0x4e, 0x17, 0x20, 0xfb, - 0x73, 0x3d, 0xf0, 0xdb, 0x3c, 0x1c, 0xbd, 0x58, 0x80, 0x58, 0x95, 0x62, 0x0d, 0x83, 0x6e, 0x50, - 0xf6, 0x6f, 0xcd, 0xf7, 0xb0, 0xef, 0x47, 0x72, 0x4b, 0xb3, 0x54, 0x9a, 0x5a, 0x39, 0x36, 0xb0, - 0xd0, 0x0a, 0xa0, 0xb0, 0xdd, 0x6a, 0x35, 0x98, 0x9d, 0x82, 0xd3, 0x60, 0xa4, 0xf8, 0x1b, 0x71, - 0x9e, 0x47, 0xe9, 0xac, 0x76, 0x40, 0x71, 0x4a, 0x0d, 0xca, 0xab, 0x37, 0x45, 0x57, 0x07, 0x59, - 0x57, 0xf9, 0x63, 0x44, 0x95, 0xf7, 0x53, 0xc2, 0xd0, 0x32, 0x0c, 0x87, 0xfb, 0x61, 0x2d, 0x12, - 0xe1, 0xc6, 0x32, 0xb2, 0xcb, 0x54, 0x19, 0x8a, 0x96, 0xdc, 0x8c, 0x57, 0xc1, 0xb2, 0x2e, 0xaa, - 0xc1, 0xb4, 0xa0, 0xb8, 0xb4, 0xed, 0x78, 0x2a, 0x57, 0x07, 0x37, 0xd7, 0x7c, 0xee, 0xc1, 0xc1, - 0xdc, 0xb4, 0x68, 0x59, 0x07, 0x1f, 0x1e, 0xcc, 0x9d, 0xa9, 0xf8, 0xf5, 0x14, 0x08, 0x4e, 0xa3, - 0x66, 0x7f, 0x3b, 0x93, 0x37, 0x58, 0xae, 0xdd, 0xa8, 0x1d, 0x10, 0xd4, 0x84, 0xb1, 0x16, 0x5b, - 0xc6, 0x22, 0x88, 0xbb, 0x58, 0x8b, 0x2f, 0xf4, 0xa9, 0x38, 0xd8, 0xa3, 0x6c, 0x5a, 0x29, 0xf6, - 0xd8, 0x8d, 0xac, 0xa2, 0x93, 0xc3, 0x26, 0x75, 0xfb, 0x47, 0x1f, 0x63, 0x27, 0x56, 0x95, 0x6b, - 0x03, 0x86, 0x85, 0xf5, 0xb6, 0xb8, 0xfa, 0xcc, 0x66, 0xab, 0xa5, 0xe2, 0x61, 0x13, 0x16, 0xe0, - 0x58, 0xd6, 0x45, 0x9f, 0x85, 0x71, 0x7a, 0x93, 0xd0, 0x92, 0x58, 0x9c, 0xca, 0xf6, 0xb2, 0x8f, - 0x73, 0x57, 0x68, 0x09, 0x1e, 0xf4, 0xca, 0x38, 0x41, 0x0c, 0xbd, 0xc9, 0xec, 0x0c, 0xcc, 0xfc, - 0x18, 0x3d, 0x48, 0xeb, 0x26, 0x05, 0x92, 0xac, 0x46, 0x24, 0x2b, 0xf7, 0x86, 0xfd, 0x68, 0x73, - 0x6f, 0xa0, 0x5b, 0x30, 0x26, 0x12, 0xce, 0x8a, 0x95, 0x95, 0x37, 0xb4, 0x65, 0x63, 0x58, 0x07, - 0x1e, 0x26, 0x0b, 0xb0, 0x59, 0x19, 0x6d, 0xc1, 0x79, 0x2d, 0x01, 0xcc, 0xf5, 0xc0, 0x61, 0x4f, - 0xde, 0x2e, 0x63, 0x77, 0xda, 0x59, 0xfa, 0xc4, 0x83, 0x83, 0xb9, 0xf3, 0xeb, 0xdd, 0x10, 0x71, - 0x77, 0x3a, 0xe8, 0x36, 0x9c, 0xe6, 0x3e, 0xa2, 0x25, 0xe2, 0xd4, 0x1b, 0xae, 0xa7, 0x0e, 0x6b, - 0xbe, 0x25, 0xcf, 0x3e, 0x38, 0x98, 0x3b, 0xbd, 0x90, 0x86, 0x80, 0xd3, 0xeb, 0xa1, 0xd7, 0xa0, - 0x58, 0xf7, 0x42, 0x31, 0x06, 0x43, 0x46, 0x8e, 0x9d, 0x62, 0x69, 0xad, 0xaa, 0xbe, 0x3f, 0xfe, - 0x83, 0xe3, 0x0a, 0x68, 0x8b, 0x6b, 0x54, 0x95, 0x02, 0x63, 0xb8, 0x23, 0xba, 0x4d, 0x52, 0x15, - 0x66, 0x78, 0x89, 0xf1, 0xa7, 0x04, 0x65, 0x3c, 0x6d, 0x38, 0x90, 0x19, 0x84, 0xd1, 0x1b, 0x80, - 0xa8, 0x84, 0xef, 0xd6, 0xc8, 0x42, 0x8d, 0x65, 0x08, 0x60, 0x0a, 0xe8, 0x82, 0xe9, 0xb7, 0x54, - 0xed, 0xc0, 0xc0, 0x29, 0xb5, 0xd0, 0x0d, 0x7a, 0xe4, 0xe8, 0xa5, 0x82, 0xab, 0xa8, 0x8c, 0x68, - 0x25, 0xd2, 0x0a, 0x48, 0xcd, 0x89, 0x48, 0xdd, 0xa4, 0x88, 0x13, 0xf5, 0x50, 0x1d, 0xce, 0x39, - 0xed, 0xc8, 0x67, 0xca, 0x6a, 0x13, 0x75, 0xdd, 0xdf, 0x21, 0x1e, 0x7b, 0x27, 0x2a, 0x2c, 0x5e, - 0xa4, 0xd2, 0xc0, 0x42, 0x17, 0x3c, 0xdc, 0x95, 0x0a, 0x95, 0xe2, 0x54, 0x0a, 0x54, 0x30, 0x83, - 0xf6, 0xa4, 0xa4, 0x41, 0x7d, 0x11, 0x46, 0xb6, 0xfd, 0x30, 0x5a, 0x23, 0xd1, 0x9e, 0x1f, 0xec, - 0x88, 0xd0, 0x8b, 0x71, 0xb8, 0xde, 0x18, 0x84, 0x75, 0x3c, 0x7a, 0x4d, 0x63, 0x56, 0x0c, 0xe5, - 0x12, 0x7b, 0x40, 0x2e, 0xc4, 0x3c, 0xe6, 0x06, 0x2f, 0xc6, 0x12, 0x2e, 0x51, 0xcb, 0x95, 0x25, - 0xf6, 0x18, 0x9c, 0x40, 0x2d, 0x57, 0x96, 0xb0, 0x84, 0xd3, 0xe5, 0x1a, 0x6e, 0x3b, 0x01, 0xa9, - 0x04, 0x7e, 0x8d, 0x84, 0x5a, 0x90, 0xe8, 0xc7, 0x79, 0x60, 0x49, 0xba, 0x5c, 0xab, 0x69, 0x08, - 0x38, 0xbd, 0x1e, 0x22, 0x9d, 0xc9, 0x8f, 0xc6, 0xb3, 0xb5, 0xf8, 0x9d, 0xf2, 0x46, 0x9f, 0xf9, - 0x8f, 0x3c, 0x98, 0x54, 0x69, 0x97, 0x78, 0x28, 0xc9, 0x70, 0x66, 0x82, 0xad, 0xed, 0xfe, 0xe3, - 0x50, 0xaa, 0x77, 0x91, 0x72, 0x82, 0x12, 0xee, 0xa0, 0x6d, 0xc4, 0x65, 0x9a, 0xec, 0x99, 0x13, - 0xf7, 0x2a, 0x14, 0xc3, 0xf6, 0x46, 0xdd, 0x6f, 0x3a, 0xae, 0xc7, 0x1e, 0x83, 0xb5, 0xfb, 0x42, - 0x55, 0x02, 0x70, 0x8c, 0x83, 0x56, 0xa0, 0xe0, 0xc8, 0x47, 0x0f, 0x94, 0x1d, 0xce, 0x43, 0x3d, - 0x75, 0x70, 0x0f, 0x77, 0xf9, 0xcc, 0xa1, 0xea, 0xa2, 0x57, 0x61, 0x4c, 0xf8, 0x38, 0x8a, 0x8c, - 0x7f, 0xd3, 0xa6, 0x23, 0x4a, 0x55, 0x07, 0x62, 0x13, 0x17, 0xdd, 0x81, 0x91, 0xc8, 0x6f, 0x30, - 0x6f, 0x0a, 0x2a, 0x86, 0x9d, 0xc9, 0x0e, 0x09, 0xb6, 0xae, 0xd0, 0x74, 0x7d, 0xa3, 0xaa, 0x8a, - 0x75, 0x3a, 0x68, 0x9d, 0xaf, 0x77, 0x16, 0x2c, 0x99, 0x84, 0x33, 0x8f, 0x65, 0x9f, 0x49, 0x2a, - 0xa6, 0xb2, 0xb9, 0x1d, 0x44, 0x4d, 0xac, 0x93, 0x41, 0xd7, 0x61, 0xaa, 0x15, 0xb8, 0x3e, 0x5b, - 0x13, 0xea, 0xbd, 0x6b, 0xc6, 0xcc, 0xd4, 0x52, 0x49, 0x22, 0xe0, 0xce, 0x3a, 0xcc, 0x45, 0x55, - 0x14, 0xce, 0x9c, 0xe5, 0x49, 0x81, 0xf9, 0xf5, 0x8b, 0x97, 0x61, 0x05, 0x45, 0xab, 0x8c, 0x13, - 0x73, 0xcd, 0xc1, 0xcc, 0x6c, 0x76, 0x04, 0x11, 0x5d, 0xc3, 0xc0, 0x85, 0x4b, 0xf5, 0x17, 0xc7, - 0x14, 0x50, 0x5d, 0xcb, 0x1e, 0x47, 0x25, 0xfa, 0x70, 0xe6, 0x5c, 0x17, 0x53, 0xb2, 0x84, 0xf8, - 0x1f, 0x0b, 0x04, 0x46, 0x71, 0x88, 0x13, 0x34, 0xd1, 0xb7, 0xc0, 0xa4, 0x88, 0x58, 0x16, 0x0f, - 0xd3, 0xf9, 0xd8, 0x46, 0x15, 0x27, 0x60, 0xb8, 0x03, 0x9b, 0x07, 0x91, 0x77, 0x36, 0x1a, 0x44, - 0xb0, 0xbe, 0x5b, 0xae, 0xb7, 0x13, 0xce, 0x5c, 0x60, 0xfc, 0x41, 0x04, 0x91, 0x4f, 0x42, 0x71, - 0x4a, 0x0d, 0xb4, 0x0e, 0x93, 0xad, 0x80, 0x90, 0x26, 0x13, 0xc4, 0xc5, 0x79, 0x36, 0xc7, 0x3d, - 0xb4, 0x69, 0x4f, 0x2a, 0x09, 0xd8, 0x61, 0x4a, 0x19, 0xee, 0xa0, 0x80, 0xf6, 0xa0, 0xe0, 0xef, - 0x92, 0x60, 0x9b, 0x38, 0xf5, 0x99, 0x8b, 0x5d, 0x6c, 0xa6, 0xc5, 0xe1, 0x76, 0x5b, 0xe0, 0x26, - 0xde, 0xc8, 0x65, 0x71, 0xef, 0x37, 0x72, 0xd9, 0x18, 0xfa, 0x41, 0x0b, 0xce, 0x4a, 0xb5, 0x7a, - 0xb5, 0x45, 0x47, 0x7d, 0xc9, 0xf7, 0xc2, 0x28, 0xe0, 0x3e, 0xc5, 0x4f, 0x64, 0xfb, 0xd9, 0xae, - 0x67, 0x54, 0x52, 0xca, 0xcb, 0xb3, 0x59, 0x18, 0x21, 0xce, 0x6e, 0x11, 0x2d, 0xc1, 0x54, 0x48, - 0x22, 0xc9, 0x8c, 0x16, 0xc2, 0x95, 0x37, 0x4b, 0x6b, 0x33, 0x97, 0xb8, 0x43, 0x34, 0xdd, 0x0c, - 0xd5, 0x24, 0x10, 0x77, 0xe2, 0xcf, 0x7e, 0x33, 0x4c, 0x75, 0x1c, 0xff, 0x47, 0x49, 0x8e, 0x31, - 0xbb, 0x03, 0x63, 0xc6, 0x10, 0x3f, 0xd2, 0x37, 0xd6, 0x7f, 0x35, 0x0c, 0x45, 0xf5, 0xfe, 0x86, - 0xae, 0x9a, 0xcf, 0xaa, 0x67, 0x93, 0xcf, 0xaa, 0x05, 0x7a, 0xef, 0xd6, 0x5f, 0x52, 0xd7, 0x53, - 0xc2, 0x40, 0x65, 0x6d, 0xe8, 0xfe, 0xfd, 0x7b, 0x35, 0x75, 0x6a, 0xbe, 0xef, 0xf7, 0xd9, 0x81, - 0xae, 0x1a, 0xda, 0xeb, 0x30, 0xe5, 0xf9, 0x4c, 0xe6, 0x24, 0x75, 0x29, 0x50, 0x30, 0xb9, 0xa1, - 0xa8, 0xc7, 0x55, 0x48, 0x20, 0xe0, 0xce, 0x3a, 0xb4, 0x41, 0x7e, 0xf0, 0x27, 0x55, 0xc2, 0x5c, - 0x2e, 0xc0, 0x02, 0x8a, 0x2e, 0xc1, 0x60, 0xcb, 0xaf, 0x97, 0x2b, 0x42, 0xde, 0xd4, 0xf2, 0x9d, - 0xd6, 0xcb, 0x15, 0xcc, 0x61, 0x68, 0x01, 0x86, 0xd8, 0x8f, 0x70, 0x66, 0x34, 0xdb, 0x81, 0x9e, - 0xd5, 0xd0, 0x52, 0x8f, 0xb0, 0x0a, 0x58, 0x54, 0x64, 0xaa, 0x29, 0x2a, 0xa4, 0x33, 0xd5, 0xd4, - 0xf0, 0x43, 0xaa, 0xa6, 0x24, 0x01, 0x1c, 0xd3, 0x42, 0xf7, 0xe1, 0xb4, 0x71, 0x31, 0xe2, 0x4b, - 0x84, 0x84, 0xc2, 0x89, 0xf7, 0x52, 0xd7, 0x1b, 0x91, 0x78, 0xcf, 0x3d, 0x2f, 0x3a, 0x7d, 0xba, - 0x9c, 0x46, 0x09, 0xa7, 0x37, 0x80, 0x1a, 0x30, 0x55, 0xeb, 0x68, 0xb5, 0xd0, 0x7f, 0xab, 0x6a, - 0x42, 0x3b, 0x5b, 0xec, 0x24, 0x8c, 0x5e, 0x85, 0xc2, 0xbb, 0x7e, 0xc8, 0x78, 0xb5, 0x90, 0x91, - 0xa5, 0x07, 0x68, 0xe1, 0xcd, 0xdb, 0x55, 0x56, 0x7e, 0x78, 0x30, 0x37, 0x52, 0xf1, 0xeb, 0xf2, - 0x2f, 0x56, 0x15, 0xd0, 0xf7, 0x5a, 0x30, 0xdb, 0x79, 0xf3, 0x52, 0x9d, 0x1e, 0xeb, 0xbf, 0xd3, - 0xb6, 0x68, 0x74, 0x76, 0x39, 0x93, 0x1c, 0xee, 0xd2, 0x94, 0xfd, 0x4b, 0xfc, 0xed, 0x55, 0xbc, - 0xd0, 0x90, 0xb0, 0xdd, 0x38, 0x89, 0x8c, 0x8b, 0xcb, 0xc6, 0xe3, 0xd1, 0x43, 0xbf, 0xef, 0xff, - 0x9a, 0xc5, 0xde, 0xf7, 0xd7, 0x49, 0xb3, 0xd5, 0x70, 0xa2, 0x93, 0x70, 0x20, 0x7c, 0x13, 0x0a, - 0x91, 0x68, 0xad, 0x5b, 0x92, 0x48, 0xad, 0x53, 0xcc, 0xc6, 0x41, 0x49, 0xac, 0xb2, 0x14, 0x2b, - 0x32, 0xf6, 0x3f, 0xe6, 0x33, 0x20, 0x21, 0x27, 0xa0, 0xa3, 0x2f, 0x99, 0x3a, 0xfa, 0xb9, 0x1e, - 0x5f, 0x90, 0xa1, 0xab, 0xff, 0x47, 0x66, 0xbf, 0x99, 0xa6, 0xe6, 0x83, 0x6e, 0x58, 0x62, 0xff, - 0xb0, 0x05, 0xa7, 0xd2, 0x2c, 0x31, 0xe9, 0x2d, 0x83, 0xeb, 0x89, 0x94, 0xa1, 0x8d, 0x1a, 0xc1, - 0xbb, 0xa2, 0x1c, 0x2b, 0x8c, 0xbe, 0x13, 0x37, 0x1d, 0x2d, 0x90, 0xe9, 0x6d, 0x18, 0xab, 0x04, - 0x44, 0x3b, 0xd0, 0x5e, 0xe7, 0x1e, 0xc1, 0xbc, 0x3f, 0xcf, 0x1c, 0xd9, 0x1b, 0xd8, 0xfe, 0xe9, - 0x1c, 0x9c, 0xe2, 0x2f, 0xe5, 0x0b, 0xbb, 0xbe, 0x5b, 0xaf, 0xf8, 0x75, 0x91, 0x74, 0xeb, 0x2d, - 0x18, 0x6d, 0x69, 0xca, 0xbd, 0x6e, 0x41, 0xf9, 0x74, 0x25, 0x60, 0xac, 0x8e, 0xd0, 0x4b, 0xb1, - 0x41, 0x0b, 0xd5, 0x61, 0x94, 0xec, 0xba, 0x35, 0xf5, 0xdc, 0x9a, 0x3b, 0xf2, 0xe1, 0xa2, 0x5a, - 0x59, 0xd6, 0xe8, 0x60, 0x83, 0xea, 0x23, 0x48, 0xa7, 0x6a, 0xff, 0x88, 0x05, 0x8f, 0x65, 0x84, - 0xf0, 0xa3, 0xcd, 0xed, 0x31, 0x9b, 0x04, 0x91, 0x99, 0x51, 0x35, 0xc7, 0x2d, 0x15, 0xb0, 0x80, - 0xa2, 0x4f, 0x03, 0x70, 0x4b, 0x03, 0x7a, 0xcd, 0xed, 0x15, 0xeb, 0xcc, 0x08, 0xd3, 0xa4, 0x45, - 0xdc, 0x91, 0xf5, 0xb1, 0x46, 0xcb, 0xfe, 0xc9, 0x3c, 0x0c, 0xf2, 0x9c, 0xd2, 0x2b, 0x30, 0xbc, - 0xcd, 0x53, 0x11, 0xf4, 0x93, 0xf5, 0x20, 0x56, 0x40, 0xf0, 0x02, 0x2c, 0x2b, 0xa3, 0x55, 0x98, - 0xe6, 0xa9, 0x1c, 0x1a, 0x25, 0xd2, 0x70, 0xf6, 0xa5, 0xb6, 0x8c, 0xa7, 0x41, 0x54, 0x5a, 0xc3, - 0x72, 0x27, 0x0a, 0x4e, 0xab, 0x87, 0x5e, 0x87, 0x71, 0x7a, 0x7b, 0xf1, 0xdb, 0x91, 0xa4, 0xc4, - 0x93, 0x38, 0xa8, 0xeb, 0xd2, 0xba, 0x01, 0xc5, 0x09, 0x6c, 0x7a, 0x81, 0x6e, 0x75, 0xe8, 0x05, - 0x07, 0xe3, 0x0b, 0xb4, 0xa9, 0x0b, 0x34, 0x71, 0x99, 0x09, 0x66, 0x9b, 0x19, 0x9c, 0xae, 0x6f, - 0x07, 0x24, 0xdc, 0xf6, 0x1b, 0x75, 0x26, 0x68, 0x0d, 0x6a, 0x26, 0x98, 0x09, 0x38, 0xee, 0xa8, - 0x41, 0xa9, 0x6c, 0x3a, 0x6e, 0xa3, 0x1d, 0x90, 0x98, 0xca, 0x90, 0x49, 0x65, 0x25, 0x01, 0xc7, - 0x1d, 0x35, 0xe8, 0x3a, 0x3a, 0x5d, 0x09, 0x7c, 0xca, 0xbc, 0x64, 0x5c, 0x12, 0x65, 0x57, 0x3b, - 0x2c, 0x5d, 0x28, 0xbb, 0x44, 0xf0, 0x12, 0x96, 0x87, 0x9c, 0x82, 0xf1, 0xa8, 0x5e, 0x15, 0xce, - 0x93, 0x92, 0x0a, 0x7a, 0x0e, 0x46, 0x44, 0x80, 0x7e, 0x66, 0xfe, 0xc9, 0xa7, 0x8e, 0x19, 0x01, - 0x94, 0xe2, 0x62, 0xac, 0xe3, 0xd8, 0xdf, 0x97, 0x83, 0xe9, 0x14, 0xfb, 0x7d, 0xce, 0xaa, 0xb6, - 0xdc, 0x30, 0x52, 0xa9, 0xde, 0x34, 0x56, 0xc5, 0xcb, 0xb1, 0xc2, 0xa0, 0xfb, 0x81, 0x33, 0xc3, - 0x24, 0x03, 0x14, 0xf6, 0xb1, 0x02, 0x7a, 0xc4, 0xa4, 0x69, 0x17, 0x61, 0xa0, 0x1d, 0x12, 0x19, - 0x7b, 0x4f, 0xf1, 0x6f, 0xf6, 0x36, 0xc4, 0x20, 0x54, 0x3c, 0xde, 0x52, 0xcf, 0x2c, 0x9a, 0x78, - 0xcc, 0x1f, 0x5a, 0x38, 0x8c, 0x76, 0x2e, 0x22, 0x9e, 0xe3, 0x45, 0x42, 0x88, 0x8e, 0x83, 0x48, - 0xb1, 0x52, 0x2c, 0xa0, 0xf6, 0x97, 0xf2, 0x70, 0x36, 0xd3, 0xa3, 0x87, 0x76, 0xbd, 0xe9, 0x7b, - 0x6e, 0xe4, 0x2b, 0xeb, 0x0a, 0x1e, 0x38, 0x8a, 0xb4, 0xb6, 0x57, 0x45, 0x39, 0x56, 0x18, 0xe8, - 0x32, 0x0c, 0x32, 0xcd, 0x55, 0x47, 0xd2, 0xbb, 0xc5, 0x12, 0x8f, 0x24, 0xc2, 0xc1, 0x7d, 0x27, - 0x14, 0xbd, 0x04, 0x03, 0x2d, 0xdf, 0x6f, 0x24, 0x99, 0x16, 0xed, 0xae, 0xef, 0x37, 0x30, 0x03, - 0xa2, 0x8f, 0x89, 0xf1, 0x4a, 0x98, 0x13, 0x60, 0xa7, 0xee, 0x87, 0xda, 0xa0, 0x3d, 0x05, 0xc3, - 0x3b, 0x64, 0x3f, 0x70, 0xbd, 0xad, 0xa4, 0x99, 0xc9, 0x4d, 0x5e, 0x8c, 0x25, 0xdc, 0xcc, 0x5f, - 0x34, 0x7c, 0xdc, 0x99, 0x40, 0x0b, 0x3d, 0x8f, 0xc0, 0xef, 0xcf, 0xc3, 0x04, 0x5e, 0x2c, 0x7d, - 0x38, 0x11, 0x77, 0x3a, 0x27, 0xe2, 0xb8, 0x33, 0x81, 0xf6, 0x9e, 0x8d, 0x9f, 0xb7, 0x60, 0x82, - 0xa5, 0x09, 0x10, 0x21, 0x87, 0x5c, 0xdf, 0x3b, 0x01, 0x11, 0xef, 0x12, 0x0c, 0x06, 0xb4, 0xd1, - 0x64, 0xb6, 0x3b, 0xd6, 0x13, 0xcc, 0x61, 0xe8, 0x1c, 0x0c, 0xb0, 0x2e, 0xd0, 0xc9, 0x1b, 0xe5, - 0x89, 0x82, 0x4a, 0x4e, 0xe4, 0x60, 0x56, 0xca, 0xe2, 0x68, 0x60, 0xd2, 0x6a, 0xb8, 0xbc, 0xd3, - 0xf1, 0xbb, 0xe2, 0x07, 0x23, 0x8e, 0x46, 0x6a, 0xd7, 0xde, 0x5f, 0x1c, 0x8d, 0x74, 0x92, 0xdd, - 0xaf, 0x4f, 0x7f, 0x94, 0x83, 0x0b, 0xa9, 0xf5, 0xfa, 0x8e, 0xa3, 0xd1, 0xbd, 0xf6, 0xa3, 0x0c, - 0x27, 0x9f, 0x3f, 0x41, 0x23, 0xbe, 0x81, 0x7e, 0x25, 0xcc, 0xc1, 0x3e, 0xc2, 0x5b, 0xa4, 0x0e, - 0xd9, 0x07, 0x24, 0xbc, 0x45, 0x6a, 0xdf, 0x32, 0xae, 0x7f, 0x7f, 0x91, 0xcb, 0xf8, 0x16, 0x76, - 0x11, 0xbc, 0x42, 0xf9, 0x0c, 0x03, 0x86, 0x42, 0x62, 0x1e, 0xe5, 0x3c, 0x86, 0x97, 0x61, 0x05, - 0x45, 0x0b, 0x30, 0xd1, 0x74, 0x3d, 0xca, 0x7c, 0xf6, 0x4d, 0xc1, 0x4f, 0x45, 0x1f, 0x5a, 0x35, - 0xc1, 0x38, 0x89, 0x8f, 0x5c, 0x2d, 0xf4, 0x45, 0x2e, 0x3b, 0x7f, 0x74, 0x66, 0x6f, 0xe7, 0xcd, - 0x37, 0x57, 0x35, 0x8a, 0x29, 0x61, 0x30, 0x56, 0xb5, 0xfb, 0x7f, 0xbe, 0xff, 0xfb, 0xff, 0x68, - 0xfa, 0xdd, 0x7f, 0xf6, 0x55, 0x18, 0x7b, 0x68, 0x85, 0xaf, 0xfd, 0xd5, 0x3c, 0x3c, 0xde, 0x65, - 0xdb, 0x73, 0x5e, 0x6f, 0xcc, 0x81, 0xc6, 0xeb, 0x3b, 0xe6, 0xa1, 0x02, 0xa7, 0x36, 0xdb, 0x8d, - 0xc6, 0x3e, 0xb3, 0x93, 0x27, 0x75, 0x89, 0x21, 0x64, 0xca, 0x73, 0x32, 0x35, 0xd3, 0x4a, 0x0a, - 0x0e, 0x4e, 0xad, 0x49, 0x05, 0x7a, 0x7a, 0x92, 0xec, 0x2b, 0x52, 0x09, 0x81, 0x1e, 0xeb, 0x40, - 0x6c, 0xe2, 0xa2, 0xeb, 0x30, 0xe5, 0xec, 0x3a, 0x2e, 0x8f, 0x1f, 0x2a, 0x09, 0x70, 0x89, 0x5e, - 0xe9, 0xe9, 0x16, 0x92, 0x08, 0xb8, 0xb3, 0x0e, 0x7a, 0x03, 0x90, 0x2f, 0xd2, 0xd8, 0x5f, 0x27, - 0x9e, 0x78, 0x1a, 0x63, 0x73, 0x97, 0x8f, 0x59, 0xc2, 0xed, 0x0e, 0x0c, 0x9c, 0x52, 0x2b, 0x11, - 0x4a, 0x62, 0x28, 0x3b, 0x94, 0x44, 0x77, 0xbe, 0xd8, 0x33, 0x93, 0xc1, 0x7f, 0xb2, 0xe8, 0xf1, - 0xc5, 0x85, 0x7c, 0x33, 0x22, 0xda, 0xab, 0xcc, 0xf4, 0x8c, 0xeb, 0xf0, 0xb4, 0xa8, 0x0e, 0xa7, - 0x35, 0xd3, 0xb3, 0x18, 0x88, 0x4d, 0x5c, 0xbe, 0x20, 0xc2, 0xd8, 0x99, 0xd0, 0x10, 0xf1, 0x45, - 0xd8, 0x16, 0x85, 0x81, 0x3e, 0x03, 0xc3, 0x75, 0x77, 0xd7, 0x0d, 0xfd, 0x40, 0xac, 0xf4, 0x23, - 0x3e, 0x17, 0xc4, 0x7c, 0xb0, 0xc4, 0xc9, 0x60, 0x49, 0xcf, 0xfe, 0xfe, 0x1c, 0x8c, 0xc9, 0x16, - 0xdf, 0x6c, 0xfb, 0x91, 0x73, 0x02, 0xc7, 0xf2, 0x75, 0xe3, 0x58, 0xfe, 0x58, 0xb7, 0xd8, 0x35, - 0xac, 0x4b, 0x99, 0xc7, 0xf1, 0xed, 0xc4, 0x71, 0xfc, 0x64, 0x6f, 0x52, 0xdd, 0x8f, 0xe1, 0x7f, - 0x62, 0xc1, 0x94, 0x81, 0x7f, 0x02, 0xa7, 0xc1, 0x8a, 0x79, 0x1a, 0x3c, 0xd1, 0xf3, 0x1b, 0x32, - 0x4e, 0x81, 0xef, 0xce, 0x27, 0xfa, 0xce, 0xb8, 0xff, 0xbb, 0x30, 0xb0, 0xed, 0x04, 0xf5, 0x6e, - 0xb1, 0xba, 0x3b, 0x2a, 0xcd, 0xdf, 0x70, 0x02, 0xf1, 0x36, 0xf8, 0x8c, 0x4a, 0xdf, 0xec, 0x04, - 0xbd, 0xdf, 0x05, 0x59, 0x53, 0xe8, 0x65, 0x18, 0x0a, 0x6b, 0x7e, 0x4b, 0x59, 0xb6, 0x5f, 0xe4, - 0xa9, 0x9d, 0x69, 0xc9, 0xe1, 0xc1, 0x1c, 0x32, 0x9b, 0xa3, 0xc5, 0x58, 0xe0, 0xa3, 0xb7, 0x60, - 0x8c, 0xfd, 0x52, 0x86, 0x3a, 0xf9, 0xec, 0xbc, 0x3e, 0x55, 0x1d, 0x91, 0x5b, 0xb1, 0x19, 0x45, - 0xd8, 0x24, 0x35, 0xbb, 0x05, 0x45, 0xf5, 0x59, 0x8f, 0xf4, 0x3d, 0xee, 0xdf, 0xe5, 0x61, 0x3a, - 0x65, 0xcd, 0xa1, 0xd0, 0x98, 0x89, 0xe7, 0xfa, 0x5c, 0xaa, 0xef, 0x73, 0x2e, 0x42, 0x76, 0x1b, - 0xaa, 0x8b, 0xb5, 0xd5, 0x77, 0xa3, 0x77, 0x42, 0x92, 0x6c, 0x94, 0x16, 0xf5, 0x6e, 0x94, 0x36, - 0x76, 0x62, 0x43, 0x4d, 0x1b, 0x52, 0x3d, 0x7d, 0xa4, 0x73, 0xfa, 0xa7, 0x79, 0x38, 0x95, 0x16, - 0x4e, 0x0b, 0x7d, 0x5b, 0x22, 0xc7, 0xdb, 0x0b, 0xfd, 0x06, 0xe2, 0xe2, 0x89, 0xdf, 0xb8, 0x0e, - 0x78, 0x71, 0xde, 0xcc, 0xfa, 0xd6, 0x73, 0x98, 0x45, 0x9b, 0xcc, 0x51, 0x3e, 0xe0, 0xb9, 0xf9, - 0x24, 0xfb, 0xf8, 0x64, 0xdf, 0x1d, 0x10, 0x49, 0xfd, 0xc2, 0x84, 0x11, 0x80, 0x2c, 0xee, 0x6d, - 0x04, 0x20, 0x5b, 0x9e, 0x75, 0x61, 0x44, 0xfb, 0x9a, 0x47, 0x3a, 0xe3, 0x3b, 0xf4, 0xb4, 0xd2, - 0xfa, 0xfd, 0x48, 0x67, 0xfd, 0x47, 0x2c, 0x48, 0xd8, 0x6d, 0x2b, 0xb5, 0x98, 0x95, 0xa9, 0x16, - 0xbb, 0x08, 0x03, 0x81, 0xdf, 0x20, 0xc9, 0x94, 0x6a, 0xd8, 0x6f, 0x10, 0xcc, 0x20, 0x14, 0x23, - 0x8a, 0x95, 0x1d, 0xa3, 0xfa, 0x45, 0x4e, 0x5c, 0xd1, 0x2e, 0xc1, 0x60, 0x83, 0xec, 0x92, 0x46, - 0x32, 0xf3, 0xc5, 0x2d, 0x5a, 0x88, 0x39, 0xcc, 0xfe, 0xf9, 0x01, 0x38, 0xdf, 0x35, 0xd4, 0x04, - 0xbd, 0x0e, 0x6d, 0x39, 0x11, 0xd9, 0x73, 0xf6, 0x93, 0x21, 0xea, 0xaf, 0xf3, 0x62, 0x2c, 0xe1, - 0xcc, 0xb3, 0x86, 0x47, 0x9a, 0x4d, 0x28, 0x11, 0x45, 0x80, 0x59, 0x01, 0x35, 0x95, 0x52, 0xf9, - 0xe3, 0x50, 0x4a, 0x5d, 0x03, 0x08, 0xc3, 0x06, 0xb7, 0x9e, 0xa9, 0x0b, 0x97, 0x9d, 0x38, 0x22, - 0x71, 0xf5, 0x96, 0x80, 0x60, 0x0d, 0x0b, 0x95, 0x60, 0xb2, 0x15, 0xf8, 0x11, 0xd7, 0xc9, 0x96, - 0xb8, 0x81, 0xd9, 0xa0, 0xe9, 0xe5, 0x5f, 0x49, 0xc0, 0x71, 0x47, 0x0d, 0xf4, 0x22, 0x8c, 0x08, - 0xcf, 0xff, 0x8a, 0xef, 0x37, 0x84, 0x1a, 0x48, 0xd9, 0x5c, 0x55, 0x63, 0x10, 0xd6, 0xf1, 0xb4, - 0x6a, 0x4c, 0xd1, 0x3b, 0x9c, 0x5a, 0x8d, 0x2b, 0x7b, 0x35, 0xbc, 0x44, 0x68, 0xbd, 0x42, 0x5f, - 0xa1, 0xf5, 0x62, 0xc5, 0x58, 0xb1, 0xef, 0xb7, 0x2d, 0xe8, 0xa9, 0x4a, 0xfa, 0x99, 0x01, 0x98, - 0x16, 0x0b, 0xe7, 0x51, 0x2f, 0x97, 0x3b, 0x9d, 0xcb, 0xe5, 0x38, 0x54, 0x67, 0x1f, 0xae, 0x99, - 0x93, 0x5e, 0x33, 0x3f, 0x60, 0x81, 0x29, 0x5e, 0xa1, 0xff, 0x3b, 0x33, 0xc7, 0xc7, 0x8b, 0x99, - 0xe2, 0x5a, 0x5d, 0x1e, 0x20, 0xef, 0x33, 0xdb, 0x87, 0xfd, 0x1f, 0x2c, 0x78, 0xa2, 0x27, 0x45, - 0xb4, 0x0c, 0x45, 0x26, 0x03, 0x6a, 0xb7, 0xb3, 0x27, 0x95, 0x01, 0xaa, 0x04, 0x64, 0x88, 0xa4, - 0x71, 0x4d, 0xb4, 0xdc, 0x91, 0x4c, 0xe5, 0xa9, 0x94, 0x64, 0x2a, 0xa7, 0x8d, 0xe1, 0x79, 0xc8, - 0x6c, 0x2a, 0x7f, 0x98, 0x87, 0x21, 0xbe, 0xe2, 0x4f, 0xe0, 0x1a, 0xf6, 0x34, 0x14, 0xdd, 0x66, - 0xb3, 0xcd, 0x53, 0x52, 0x0c, 0x72, 0xf7, 0x4c, 0x3a, 0x34, 0x65, 0x59, 0x88, 0x63, 0x38, 0x5a, - 0x11, 0x4a, 0xde, 0x2e, 0x81, 0xfe, 0x78, 0xc7, 0xe7, 0x4b, 0x4e, 0xe4, 0x70, 0x99, 0x42, 0x1d, - 0x6d, 0xb1, 0x3a, 0x18, 0x7d, 0x0e, 0x20, 0x8c, 0x02, 0xd7, 0xdb, 0xa2, 0x65, 0x22, 0x04, 0xe4, - 0xc7, 0xbb, 0x50, 0xab, 0x2a, 0x64, 0x4e, 0x33, 0xde, 0xe6, 0x0a, 0x80, 0x35, 0x8a, 0x68, 0xde, - 0x38, 0x5c, 0x67, 0x13, 0x5a, 0x52, 0xe0, 0x54, 0xe3, 0xa3, 0x76, 0xf6, 0x25, 0x28, 0x2a, 0xe2, - 0xbd, 0x54, 0x3e, 0xa3, 0xba, 0x24, 0xf2, 0x29, 0x98, 0x48, 0xf4, 0xed, 0x48, 0x1a, 0xa3, 0x5f, - 0xb0, 0x60, 0x82, 0x77, 0x66, 0xd9, 0xdb, 0x15, 0x0c, 0xf8, 0x3d, 0x38, 0xd5, 0x48, 0x61, 0x84, - 0x62, 0xfa, 0xfb, 0x67, 0x9c, 0x4a, 0x43, 0x94, 0x06, 0xc5, 0xa9, 0x6d, 0xa0, 0x2b, 0x74, 0x91, - 0x53, 0x46, 0xe7, 0x34, 0x84, 0xb7, 0xe6, 0x28, 0x5f, 0xe0, 0xbc, 0x0c, 0x2b, 0xa8, 0xfd, 0x3b, - 0x16, 0x4c, 0xf1, 0x9e, 0xdf, 0x24, 0xfb, 0x8a, 0x1d, 0x7c, 0x3d, 0xfb, 0x2e, 0x92, 0x21, 0xe5, - 0x32, 0x92, 0x21, 0xe9, 0x9f, 0x96, 0xef, 0xfa, 0x69, 0x3f, 0x6d, 0x81, 0x58, 0x21, 0x27, 0x70, - 0xef, 0xff, 0x66, 0xf3, 0xde, 0x3f, 0x9b, 0xbd, 0x09, 0x32, 0x2e, 0xfc, 0x7f, 0x6e, 0xc1, 0x24, - 0x47, 0x88, 0x1f, 0xa8, 0xbf, 0xae, 0xf3, 0xd0, 0x4f, 0xca, 0xd4, 0x9b, 0x64, 0x7f, 0xdd, 0xaf, - 0x38, 0xd1, 0x76, 0xfa, 0x47, 0x19, 0x93, 0x35, 0xd0, 0x75, 0xb2, 0xea, 0x72, 0x03, 0x1d, 0x21, - 0x0f, 0xf3, 0x91, 0x73, 0x05, 0xd8, 0x5f, 0xb3, 0x00, 0xf1, 0x66, 0x0c, 0x59, 0x89, 0x4a, 0x20, - 0xac, 0x54, 0x3b, 0x5b, 0x62, 0xd6, 0xa4, 0x20, 0x58, 0xc3, 0x3a, 0x96, 0xe1, 0x49, 0x58, 0x19, - 0xe4, 0x7b, 0x5b, 0x19, 0x1c, 0x61, 0x44, 0xff, 0x70, 0x10, 0x92, 0x3e, 0x27, 0xe8, 0x2e, 0x8c, - 0xd6, 0x9c, 0x96, 0xb3, 0xe1, 0x36, 0xdc, 0xc8, 0x25, 0x61, 0x37, 0xf3, 0xa4, 0x25, 0x0d, 0x4f, - 0xbc, 0x0b, 0x6b, 0x25, 0xd8, 0xa0, 0x83, 0xe6, 0x01, 0x5a, 0x81, 0xbb, 0xeb, 0x36, 0xc8, 0x16, - 0x53, 0x4f, 0x30, 0xff, 0x70, 0x6e, 0x73, 0x23, 0x4b, 0xb1, 0x86, 0x91, 0xe2, 0x80, 0x9b, 0x7f, - 0xc4, 0x0e, 0xb8, 0x70, 0x62, 0x0e, 0xb8, 0x03, 0x47, 0x72, 0xc0, 0x2d, 0x1c, 0xd9, 0x01, 0x77, - 0xb0, 0x2f, 0x07, 0x5c, 0x0c, 0x67, 0xa4, 0xb8, 0x47, 0xff, 0xaf, 0xb8, 0x0d, 0x22, 0x64, 0x7c, - 0xee, 0xd4, 0x3e, 0xfb, 0xe0, 0x60, 0xee, 0x0c, 0x4e, 0xc5, 0xc0, 0x19, 0x35, 0xd1, 0xa7, 0x61, - 0xc6, 0x69, 0x34, 0xfc, 0x3d, 0x35, 0xa9, 0xcb, 0x61, 0xcd, 0x69, 0x70, 0xbd, 0xff, 0x30, 0xa3, - 0x7a, 0xee, 0xc1, 0xc1, 0xdc, 0xcc, 0x42, 0x06, 0x0e, 0xce, 0xac, 0x8d, 0x5e, 0x83, 0x62, 0x2b, - 0xf0, 0x6b, 0xab, 0x9a, 0x63, 0xdc, 0x05, 0x3a, 0x80, 0x15, 0x59, 0x78, 0x78, 0x30, 0x37, 0xa6, - 0xfe, 0xb0, 0x03, 0x3f, 0xae, 0x60, 0xef, 0xc0, 0x74, 0x95, 0x04, 0x2e, 0xcb, 0xaa, 0x5c, 0x8f, - 0xf9, 0xc7, 0x3a, 0x14, 0x83, 0x04, 0xc7, 0xec, 0x2b, 0x38, 0x9e, 0x16, 0x54, 0x5d, 0x72, 0xc8, - 0x98, 0x90, 0xfd, 0x3f, 0x2d, 0x18, 0x16, 0x3e, 0x20, 0x27, 0x20, 0xd5, 0x2d, 0x18, 0xca, 0xf5, - 0xb9, 0xf4, 0x53, 0x85, 0x75, 0x26, 0x53, 0xad, 0x5e, 0x4e, 0xa8, 0xd5, 0x9f, 0xe8, 0x46, 0xa4, - 0xbb, 0x42, 0xfd, 0x6f, 0xe4, 0x61, 0xdc, 0x74, 0x16, 0x3c, 0x81, 0x21, 0x58, 0x83, 0xe1, 0x50, - 0x78, 0xc3, 0xe5, 0xb2, 0xcd, 0xb7, 0x93, 0x93, 0x18, 0x9b, 0x76, 0x09, 0xff, 0x37, 0x49, 0x24, - 0xd5, 0xcd, 0x2e, 0xff, 0x08, 0xdd, 0xec, 0x7a, 0xf9, 0x6b, 0x0e, 0x1c, 0x87, 0xbf, 0xa6, 0xfd, - 0x15, 0x76, 0xb2, 0xe9, 0xe5, 0x27, 0x20, 0xf4, 0x5c, 0x37, 0xcf, 0x40, 0xbb, 0xcb, 0xca, 0x12, - 0x9d, 0xca, 0x10, 0x7e, 0x7e, 0xce, 0x82, 0xf3, 0x29, 0x5f, 0xa5, 0x49, 0x42, 0xcf, 0x40, 0xc1, - 0x69, 0xd7, 0x5d, 0xb5, 0x97, 0xb5, 0x27, 0xb6, 0x05, 0x51, 0x8e, 0x15, 0x06, 0x5a, 0x82, 0x29, - 0x72, 0xbf, 0xe5, 0xf2, 0xd7, 0x45, 0xdd, 0xfe, 0x32, 0xcf, 0x1d, 0x87, 0x96, 0x93, 0x40, 0xdc, - 0x89, 0xaf, 0x62, 0x58, 0xe4, 0x33, 0x63, 0x58, 0xfc, 0x7d, 0x0b, 0x46, 0x94, 0x3f, 0xd8, 0x23, - 0x1f, 0xed, 0x6f, 0x31, 0x47, 0xfb, 0xf1, 0x2e, 0xa3, 0x9d, 0x31, 0xcc, 0xbf, 0x9d, 0x53, 0xfd, - 0xad, 0xf8, 0x41, 0xd4, 0x87, 0x84, 0xf5, 0x32, 0x14, 0x5a, 0x81, 0x1f, 0xf9, 0x35, 0xbf, 0x21, - 0x04, 0xac, 0x73, 0x71, 0x30, 0x17, 0x5e, 0x7e, 0xa8, 0xfd, 0xc6, 0x0a, 0x9b, 0xca, 0x36, 0x4e, - 0xab, 0x25, 0x01, 0xd2, 0x2c, 0x8b, 0x85, 0x3a, 0x8d, 0x8b, 0xb1, 0x8e, 0xc3, 0x06, 0xdc, 0x0f, - 0x22, 0x21, 0x07, 0xc5, 0x03, 0xee, 0x07, 0x11, 0x66, 0x10, 0x54, 0x07, 0x88, 0x9c, 0x60, 0x8b, - 0x44, 0xb4, 0x4c, 0xc4, 0x9b, 0xca, 0xe6, 0x37, 0xed, 0xc8, 0x6d, 0xcc, 0xbb, 0x5e, 0x14, 0x46, - 0xc1, 0x7c, 0xd9, 0x8b, 0x6e, 0x07, 0xfc, 0x8a, 0xa7, 0x05, 0x74, 0x51, 0xb4, 0xb0, 0x46, 0x57, - 0xfa, 0x3e, 0xb3, 0x36, 0x06, 0xcd, 0xf7, 0xfd, 0x35, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0x12, 0x3b, - 0x7d, 0xd8, 0x98, 0x1e, 0x2d, 0x02, 0xca, 0x2f, 0x15, 0xd5, 0x6c, 0xb0, 0xc7, 0xbd, 0x92, 0x1e, - 0x67, 0xa5, 0x3b, 0xb3, 0xa7, 0x0d, 0xeb, 0x2e, 0x4c, 0x71, 0x30, 0x16, 0xf4, 0xad, 0x1d, 0x36, - 0x1b, 0xcf, 0xf6, 0x38, 0x35, 0x8e, 0x60, 0xa5, 0xc1, 0xf2, 0x1e, 0xb0, 0xa8, 0xf0, 0xe5, 0x8a, - 0xd8, 0x17, 0x5a, 0xde, 0x03, 0x01, 0xc0, 0x31, 0x0e, 0xba, 0x2a, 0x2e, 0xf0, 0x5c, 0xf5, 0xfd, - 0x78, 0xe2, 0x02, 0x2f, 0x3f, 0x5f, 0x53, 0x96, 0x3f, 0x07, 0x23, 0x2a, 0xeb, 0x67, 0x85, 0x27, - 0x93, 0x14, 0xcb, 0x66, 0x39, 0x2e, 0xc6, 0x3a, 0x0e, 0x5a, 0x87, 0x89, 0x90, 0xab, 0x92, 0x54, - 0x90, 0x55, 0xae, 0x92, 0xfb, 0xb8, 0x34, 0x74, 0xa9, 0x9a, 0xe0, 0x43, 0x56, 0xc4, 0xb9, 0x8d, - 0xf4, 0x37, 0x4e, 0x92, 0x40, 0xaf, 0xc3, 0x78, 0xc3, 0x77, 0xea, 0x8b, 0x4e, 0xc3, 0xf1, 0x6a, - 0xec, 0x7b, 0x0b, 0x66, 0xf2, 0xb8, 0x5b, 0x06, 0x14, 0x27, 0xb0, 0xa9, 0xb0, 0xa4, 0x97, 0x88, - 0xc0, 0xc0, 0x8e, 0xb7, 0x45, 0x42, 0x91, 0xc3, 0x91, 0x09, 0x4b, 0xb7, 0x32, 0x70, 0x70, 0x66, - 0x6d, 0xf4, 0x32, 0x8c, 0xca, 0xcf, 0xd7, 0xdc, 0xf3, 0x63, 0xdb, 0x7e, 0x0d, 0x86, 0x0d, 0x4c, - 0xb4, 0x07, 0xa7, 0xe5, 0xff, 0xf5, 0xc0, 0xd9, 0xdc, 0x74, 0x6b, 0xc2, 0x67, 0x95, 0x3b, 0xde, - 0x2d, 0x48, 0xef, 0xb0, 0xe5, 0x34, 0xa4, 0xc3, 0x83, 0xb9, 0x8b, 0x62, 0xd4, 0x52, 0xe1, 0x6c, - 0x12, 0xd3, 0xe9, 0xa3, 0x55, 0x98, 0xde, 0x26, 0x4e, 0x23, 0xda, 0x5e, 0xda, 0x26, 0xb5, 0x1d, - 0xb9, 0x89, 0x98, 0xd3, 0xbf, 0x66, 0x11, 0x7f, 0xa3, 0x13, 0x05, 0xa7, 0xd5, 0x43, 0x6f, 0xc3, - 0x4c, 0xab, 0xbd, 0xd1, 0x70, 0xc3, 0xed, 0x35, 0x3f, 0x62, 0xd6, 0x2e, 0x2a, 0x89, 0xa8, 0x88, - 0x0e, 0xa0, 0xc2, 0x2a, 0x54, 0x32, 0xf0, 0x70, 0x26, 0x05, 0xf4, 0x1e, 0x9c, 0x4e, 0x2c, 0x06, - 0xe1, 0x1f, 0x3d, 0x9e, 0x1d, 0x66, 0xbd, 0x9a, 0x56, 0x41, 0x84, 0x1a, 0x48, 0x03, 0xe1, 0xf4, - 0x26, 0xd0, 0x0b, 0x50, 0x70, 0x5b, 0x2b, 0x4e, 0xd3, 0x6d, 0xec, 0xb3, 0x38, 0xf1, 0x45, 0x16, - 0x3b, 0xbd, 0x50, 0xae, 0xf0, 0xb2, 0x43, 0xed, 0x37, 0x56, 0x98, 0xf4, 0x8a, 0xa0, 0x45, 0xc3, - 0x0c, 0x67, 0x26, 0x63, 0x63, 0x5e, 0x2d, 0x64, 0x66, 0x88, 0x0d, 0xac, 0xf7, 0x67, 0x23, 0xf5, - 0x2e, 0xad, 0xac, 0xc9, 0x8c, 0xe8, 0xf3, 0x30, 0xaa, 0xaf, 0x58, 0x71, 0xfe, 0x5d, 0x4e, 0x17, - 0xa9, 0xb4, 0x95, 0xcd, 0x25, 0x4e, 0xb5, 0x7a, 0x75, 0x18, 0x36, 0x28, 0xda, 0x04, 0xd2, 0xc7, - 0x12, 0xdd, 0x82, 0x42, 0xad, 0xe1, 0x12, 0x2f, 0x2a, 0x57, 0xba, 0x05, 0x72, 0x5a, 0x12, 0x38, - 0x62, 0x72, 0x44, 0x0c, 0x6c, 0x5e, 0x86, 0x15, 0x05, 0xfb, 0x57, 0x73, 0x30, 0xd7, 0x23, 0xa0, - 0x7a, 0x42, 0x95, 0x6f, 0xf5, 0xa5, 0xca, 0x5f, 0x90, 0xe9, 0x57, 0xd7, 0x12, 0x2a, 0x8b, 0x44, - 0x6a, 0xd5, 0x58, 0x71, 0x91, 0xc4, 0xef, 0xdb, 0xb4, 0x5a, 0x7f, 0x0d, 0x18, 0xe8, 0xe9, 0x1c, - 0x60, 0xbc, 0x02, 0x0e, 0xf6, 0x7f, 0x4f, 0xca, 0x7c, 0xd1, 0xb1, 0xbf, 0x92, 0x83, 0xd3, 0x6a, - 0x08, 0xbf, 0x71, 0x07, 0xee, 0x4e, 0xe7, 0xc0, 0x1d, 0xc3, 0x7b, 0x98, 0x7d, 0x1b, 0x86, 0x78, - 0x64, 0xaa, 0x3e, 0xe4, 0xb3, 0x4b, 0x66, 0x10, 0x47, 0x25, 0x12, 0x18, 0x81, 0x1c, 0xbf, 0xd7, - 0x82, 0x89, 0xf5, 0xa5, 0x4a, 0xd5, 0xaf, 0xed, 0x90, 0x68, 0x81, 0xcb, 0xd3, 0x58, 0xc8, 0x5a, - 0xd6, 0x43, 0xca, 0x50, 0x69, 0xd2, 0xd9, 0x45, 0x18, 0xd8, 0xf6, 0xc3, 0x28, 0xf9, 0x58, 0x7e, - 0xc3, 0x0f, 0x23, 0xcc, 0x20, 0xf6, 0xef, 0x5a, 0x30, 0xc8, 0x12, 0x8e, 0xf7, 0x4a, 0x79, 0xdf, - 0xcf, 0x77, 0xa1, 0x17, 0x61, 0x88, 0x6c, 0x6e, 0x92, 0x5a, 0x24, 0x66, 0x55, 0x7a, 0x37, 0x0f, - 0x2d, 0xb3, 0x52, 0x2a, 0x60, 0xb0, 0xc6, 0xf8, 0x5f, 0x2c, 0x90, 0xd1, 0x3d, 0x28, 0x46, 0x6e, - 0x93, 0x2c, 0xd4, 0xeb, 0xe2, 0xb9, 0xf1, 0x21, 0x3c, 0xb4, 0xd7, 0x25, 0x01, 0x1c, 0xd3, 0xb2, - 0xbf, 0x94, 0x03, 0x88, 0x43, 0x86, 0xf4, 0xfa, 0xc4, 0xc5, 0x8e, 0x87, 0xa8, 0xcb, 0x29, 0x0f, - 0x51, 0x28, 0x26, 0x98, 0xf2, 0x0a, 0xa5, 0x86, 0x29, 0xdf, 0xd7, 0x30, 0x0d, 0x1c, 0x65, 0x98, - 0x96, 0x60, 0x2a, 0x0e, 0x79, 0x62, 0x46, 0x7c, 0x62, 0x77, 0xa8, 0xf5, 0x24, 0x10, 0x77, 0xe2, - 0xdb, 0x04, 0x2e, 0xaa, 0xc8, 0x0f, 0xe2, 0xac, 0x61, 0xd6, 0xac, 0xfa, 0xc3, 0x5e, 0x8f, 0x71, - 0x8a, 0x5f, 0xda, 0x72, 0x99, 0x2f, 0x6d, 0x3f, 0x6e, 0xc1, 0xa9, 0x64, 0x3b, 0xcc, 0xbd, 0xf0, - 0x8b, 0x16, 0x9c, 0x66, 0xef, 0x8d, 0xac, 0xd5, 0xce, 0xd7, 0xcd, 0x17, 0xba, 0x46, 0xb3, 0xc8, - 0xe8, 0x71, 0xec, 0x46, 0xbf, 0x9a, 0x46, 0x1a, 0xa7, 0xb7, 0x68, 0xff, 0xfb, 0x1c, 0xcc, 0x64, - 0x85, 0xc1, 0x60, 0xc6, 0xee, 0xce, 0xfd, 0xea, 0x0e, 0xd9, 0x13, 0x26, 0xc5, 0xb1, 0xb1, 0x3b, - 0x2f, 0xc6, 0x12, 0x9e, 0x8c, 0x91, 0x9d, 0xeb, 0x2f, 0x46, 0x36, 0xda, 0x86, 0xa9, 0xbd, 0x6d, - 0xe2, 0xdd, 0xf1, 0x42, 0x27, 0x72, 0xc3, 0x4d, 0x97, 0x3d, 0x14, 0xf2, 0x75, 0xf3, 0x8a, 0x34, - 0xfc, 0xbd, 0x97, 0x44, 0x38, 0x3c, 0x98, 0x3b, 0x6f, 0x14, 0xc4, 0x5d, 0xe6, 0x8c, 0x04, 0x77, - 0x12, 0xed, 0x0c, 0x31, 0x3e, 0xf0, 0x08, 0x43, 0x8c, 0xdb, 0x5f, 0xb4, 0xe0, 0x6c, 0x66, 0x0a, - 0x40, 0x74, 0x05, 0x0a, 0x4e, 0xcb, 0xe5, 0xba, 0x56, 0xc1, 0x46, 0x99, 0xce, 0xa0, 0x52, 0xe6, - 0x9a, 0x56, 0x05, 0x55, 0xa9, 0x89, 0x73, 0x99, 0xa9, 0x89, 0x7b, 0x66, 0x1a, 0xb6, 0xbf, 0xc7, - 0x02, 0xe1, 0xa8, 0xd7, 0x07, 0xef, 0x7e, 0x4b, 0x66, 0x76, 0x37, 0xd2, 0x90, 0x5c, 0xcc, 0xf6, - 0x5c, 0x14, 0xc9, 0x47, 0x94, 0xac, 0x64, 0xa4, 0x1c, 0x31, 0x68, 0xd9, 0x75, 0x10, 0xd0, 0x12, - 0x61, 0x9a, 0xca, 0xde, 0xbd, 0xb9, 0x06, 0x50, 0x67, 0xb8, 0x5a, 0x7e, 0x67, 0x75, 0x32, 0x97, - 0x14, 0x04, 0x6b, 0x58, 0xf6, 0xbf, 0xc9, 0xc1, 0x88, 0x4c, 0x7b, 0xd1, 0xf6, 0xfa, 0xd1, 0x27, - 0x1c, 0x29, 0x0f, 0x1e, 0x4b, 0x88, 0x4e, 0x09, 0x57, 0x62, 0x35, 0x4c, 0x9c, 0x10, 0x5d, 0x02, - 0x70, 0x8c, 0x43, 0x77, 0x51, 0xd8, 0xde, 0x60, 0xe8, 0x09, 0xb7, 0xb2, 0x2a, 0x2f, 0xc6, 0x12, - 0x8e, 0x3e, 0x0d, 0x93, 0xbc, 0x5e, 0xe0, 0xb7, 0x9c, 0x2d, 0xae, 0xc4, 0x1e, 0x54, 0xfe, 0xe0, - 0x93, 0xab, 0x09, 0xd8, 0xe1, 0xc1, 0xdc, 0xa9, 0x64, 0x19, 0x7b, 0x9d, 0xe9, 0xa0, 0xc2, 0xcc, - 0x43, 0x78, 0x23, 0x74, 0xf7, 0x77, 0x58, 0x95, 0xc4, 0x20, 0xac, 0xe3, 0xd9, 0x9f, 0x07, 0xd4, - 0x99, 0x00, 0x04, 0xbd, 0xc1, 0x6d, 0x02, 0xdd, 0x80, 0xd4, 0xbb, 0xbd, 0xd6, 0xe8, 0x5e, 0xcf, - 0xd2, 0x23, 0x84, 0xd7, 0xc2, 0xaa, 0xbe, 0xfd, 0xff, 0xe7, 0x61, 0x32, 0xe9, 0x03, 0x8b, 0x6e, - 0xc0, 0x10, 0x17, 0x3d, 0x04, 0xf9, 0x2e, 0xc6, 0x00, 0x9a, 0xe7, 0x2c, 0x63, 0xc2, 0x42, 0x7a, - 0x11, 0xf5, 0xd1, 0xdb, 0x30, 0x52, 0xf7, 0xf7, 0xbc, 0x3d, 0x27, 0xa8, 0x2f, 0x54, 0xca, 0x62, - 0x39, 0xa7, 0xde, 0x96, 0x4a, 0x31, 0x9a, 0xee, 0x8d, 0xcb, 0x1e, 0xbe, 0x62, 0x10, 0xd6, 0xc9, - 0xa1, 0x75, 0x16, 0xaf, 0x78, 0xd3, 0xdd, 0x5a, 0x75, 0x5a, 0xdd, 0x0c, 0xc4, 0x97, 0x24, 0x92, - 0x46, 0x79, 0x4c, 0x04, 0x35, 0xe6, 0x00, 0x1c, 0x13, 0x42, 0xdf, 0x06, 0xd3, 0x61, 0x86, 0x4e, - 0x36, 0x2b, 0x1f, 0x54, 0x37, 0x35, 0xe5, 0xe2, 0x63, 0xf4, 0x1e, 0x9b, 0xa6, 0xbd, 0x4d, 0x6b, - 0xc6, 0xfe, 0xb5, 0x69, 0x30, 0x36, 0xb1, 0x91, 0x1e, 0xd0, 0x3a, 0xa6, 0xf4, 0x80, 0x18, 0x0a, - 0xa4, 0xd9, 0x8a, 0xf6, 0x4b, 0x6e, 0xd0, 0x2d, 0xbf, 0xec, 0xb2, 0xc0, 0xe9, 0xa4, 0x29, 0x21, - 0x58, 0xd1, 0x49, 0xcf, 0xe1, 0x98, 0xff, 0x3a, 0xe6, 0x70, 0x1c, 0x38, 0xc1, 0x1c, 0x8e, 0x6b, - 0x30, 0xbc, 0xe5, 0x46, 0x98, 0xb4, 0x7c, 0x21, 0xf4, 0xa7, 0xae, 0xc3, 0xeb, 0x1c, 0xa5, 0x33, - 0x5b, 0x98, 0x00, 0x60, 0x49, 0x04, 0xbd, 0xa1, 0x76, 0xe0, 0x50, 0xf6, 0x9d, 0xb9, 0xf3, 0xd5, - 0x3a, 0x75, 0x0f, 0x8a, 0x4c, 0x8d, 0xc3, 0x0f, 0x9b, 0xa9, 0x71, 0x45, 0xe6, 0x57, 0x2c, 0x64, - 0x7b, 0x73, 0xb0, 0xf4, 0x89, 0x3d, 0xb2, 0x2a, 0xde, 0xd5, 0x73, 0x52, 0x16, 0xb3, 0x39, 0x81, - 0x4a, 0x37, 0xd9, 0x67, 0x26, 0xca, 0xef, 0xb1, 0xe0, 0x74, 0x2b, 0x2d, 0x3d, 0xab, 0x78, 0xe0, - 0x7d, 0xb1, 0xef, 0xfc, 0xb3, 0x46, 0x83, 0x4c, 0x51, 0x93, 0x8a, 0x86, 0xd3, 0x9b, 0xa3, 0x03, - 0x1d, 0x6c, 0xd4, 0x45, 0x2a, 0xc5, 0x4b, 0x19, 0x29, 0x2d, 0xbb, 0x24, 0xb2, 0x5c, 0x4f, 0x49, - 0x9f, 0xf8, 0xd1, 0xac, 0xf4, 0x89, 0x7d, 0x27, 0x4d, 0x7c, 0x43, 0x25, 0xb3, 0x1c, 0xcb, 0x5e, - 0x4a, 0x3c, 0x55, 0x65, 0xcf, 0x14, 0x96, 0x6f, 0xa8, 0x14, 0x96, 0x5d, 0x82, 0x5d, 0xf2, 0x04, - 0x95, 0x3d, 0x13, 0x57, 0x6a, 0xc9, 0x27, 0x27, 0x8e, 0x27, 0xf9, 0xa4, 0x71, 0xd4, 0xf0, 0xfc, - 0x87, 0x4f, 0xf7, 0x38, 0x6a, 0x0c, 0xba, 0xdd, 0x0f, 0x1b, 0x9e, 0x68, 0x73, 0xea, 0xa1, 0x12, - 0x6d, 0xde, 0xd5, 0x13, 0x57, 0xa2, 0x1e, 0x99, 0x19, 0x29, 0x52, 0x9f, 0xe9, 0x2a, 0xef, 0xea, - 0x07, 0xe0, 0x74, 0x36, 0x5d, 0x75, 0xce, 0x75, 0xd2, 0x4d, 0x3d, 0x02, 0x3b, 0xd2, 0x60, 0x9e, - 0x3a, 0x99, 0x34, 0x98, 0xa7, 0x8f, 0x3d, 0x0d, 0xe6, 0x99, 0x13, 0x48, 0x83, 0xf9, 0xd8, 0x09, - 0xa6, 0xc1, 0xbc, 0xcb, 0xac, 0x22, 0x78, 0xb8, 0x13, 0x11, 0x9c, 0x33, 0x3d, 0x10, 0x64, 0x5a, - 0x4c, 0x14, 0xfe, 0x71, 0x0a, 0x84, 0x63, 0x52, 0x29, 0xe9, 0x35, 0x67, 0x1e, 0x41, 0x7a, 0xcd, - 0xb5, 0x38, 0xbd, 0xe6, 0xd9, 0xec, 0xa9, 0x4e, 0x31, 0x5d, 0xcf, 0x48, 0xaa, 0x79, 0x57, 0x4f, - 0x86, 0xf9, 0x78, 0x17, 0x55, 0x7c, 0x9a, 0xe2, 0xb1, 0x4b, 0x0a, 0xcc, 0xd7, 0x79, 0x0a, 0xcc, - 0x73, 0xd9, 0x9c, 0x3c, 0x79, 0xdc, 0x99, 0x89, 0x2f, 0xbf, 0x2f, 0x07, 0x17, 0xba, 0xef, 0x8b, - 0x58, 0xeb, 0x59, 0x89, 0x5f, 0x04, 0x13, 0x5a, 0x4f, 0x7e, 0xb7, 0x8a, 0xb1, 0xfa, 0x8e, 0x84, - 0x75, 0x1d, 0xa6, 0x94, 0x6d, 0x7a, 0xc3, 0xad, 0xed, 0x6b, 0xb9, 0xfe, 0x95, 0x3f, 0x6f, 0x35, - 0x89, 0x80, 0x3b, 0xeb, 0xa0, 0x05, 0x98, 0x30, 0x0a, 0xcb, 0x25, 0x71, 0x87, 0x52, 0x6a, 0xd6, - 0xaa, 0x09, 0xc6, 0x49, 0x7c, 0xfb, 0xcb, 0x16, 0x3c, 0x96, 0x91, 0x61, 0xaa, 0xef, 0x40, 0x4f, - 0x9b, 0x30, 0xd1, 0x32, 0xab, 0xf6, 0x88, 0x07, 0x67, 0xe4, 0xb1, 0x52, 0x7d, 0x4d, 0x00, 0x70, - 0x92, 0xa8, 0xfd, 0x67, 0x16, 0x9c, 0xef, 0x6a, 0xf9, 0x85, 0x30, 0x9c, 0xd9, 0x6a, 0x86, 0xce, - 0x52, 0x40, 0xea, 0xc4, 0x8b, 0x5c, 0xa7, 0x51, 0x6d, 0x91, 0x9a, 0xa6, 0xb7, 0x66, 0x26, 0x54, - 0xd7, 0x57, 0xab, 0x0b, 0x9d, 0x18, 0x38, 0xa3, 0x26, 0x5a, 0x01, 0xd4, 0x09, 0x11, 0x33, 0xcc, - 0x02, 0xcf, 0x76, 0xd2, 0xc3, 0x29, 0x35, 0xd0, 0x4b, 0x30, 0xa6, 0x2c, 0xca, 0xb4, 0x19, 0x67, - 0x0c, 0x18, 0xeb, 0x00, 0x6c, 0xe2, 0x2d, 0x5e, 0xf9, 0x8d, 0xdf, 0xbf, 0xf0, 0x91, 0xdf, 0xfa, - 0xfd, 0x0b, 0x1f, 0xf9, 0x9d, 0xdf, 0xbf, 0xf0, 0x91, 0xef, 0x78, 0x70, 0xc1, 0xfa, 0x8d, 0x07, - 0x17, 0xac, 0xdf, 0x7a, 0x70, 0xc1, 0xfa, 0x9d, 0x07, 0x17, 0xac, 0xdf, 0x7b, 0x70, 0xc1, 0xfa, - 0xd2, 0x1f, 0x5c, 0xf8, 0xc8, 0x5b, 0xb9, 0xdd, 0xe7, 0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xb2, 0xd6, 0x81, 0x33, 0xe4, 0xfd, 0x00, 0x00, + // 13887 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x70, 0x1c, 0x47, + 0x7a, 0xd8, 0xcd, 0x2e, 0x1e, 0xbb, 0x1f, 0xde, 0x0d, 0x92, 0x02, 0x21, 0x92, 0xa0, 0x86, 0x77, + 0x14, 0x75, 0x92, 0xc0, 0x13, 0x25, 0x9d, 0x64, 0x49, 0xa7, 0x33, 0x80, 0x05, 0xc8, 0x15, 0x09, + 0x70, 0xd5, 0x0b, 0x92, 0x77, 0xb2, 0xee, 0x72, 0x83, 0xdd, 0x06, 0x30, 0xc2, 0xee, 0xcc, 0x6a, + 0x66, 0x16, 0x24, 0x18, 0xbb, 0xe2, 0x9c, 0xe3, 0xc7, 0xf9, 0x91, 0xba, 0xa4, 0x5c, 0x49, 0xfc, + 0x28, 0x57, 0xe2, 0x38, 0x65, 0x5f, 0x9c, 0xa4, 0xec, 0xd8, 0xb1, 0x1d, 0x9f, 0x13, 0x3b, 0xb6, + 0x93, 0x72, 0xf2, 0xc3, 0x71, 0x5c, 0x49, 0xce, 0x55, 0xae, 0x20, 0x36, 0x9d, 0x8a, 0xcb, 0x55, + 0x89, 0xed, 0x8a, 0xfd, 0x27, 0x88, 0x2b, 0x4e, 0xf5, 0x73, 0xba, 0x67, 0x67, 0x76, 0x17, 0x14, + 0x88, 0x93, 0x2f, 0xfa, 0xb7, 0xdb, 0xdf, 0xd7, 0x5f, 0xf7, 0xf4, 0xf3, 0xeb, 0xef, 0x09, 0xaf, + 0xee, 0xbc, 0x1c, 0xce, 0xbb, 0xfe, 0xe5, 0x9d, 0xf6, 0x06, 0x09, 0x3c, 0x12, 0x91, 0xf0, 0xf2, + 0x2e, 0xf1, 0xea, 0x7e, 0x70, 0x59, 0x00, 0x9c, 0x96, 0x7b, 0xb9, 0xe6, 0x07, 0xe4, 0xf2, 0xee, + 0x73, 0x97, 0xb7, 0x88, 0x47, 0x02, 0x27, 0x22, 0xf5, 0xf9, 0x56, 0xe0, 0x47, 0x3e, 0x42, 0x1c, + 0x67, 0xde, 0x69, 0xb9, 0xf3, 0x14, 0x67, 0x7e, 0xf7, 0xb9, 0xd9, 0x67, 0xb7, 0xdc, 0x68, 0xbb, + 0xbd, 0x31, 0x5f, 0xf3, 0x9b, 0x97, 0xb7, 0xfc, 0x2d, 0xff, 0x32, 0x43, 0xdd, 0x68, 0x6f, 0xb2, + 0x7f, 0xec, 0x0f, 0xfb, 0xc5, 0x49, 0xcc, 0xbe, 0x10, 0x37, 0xd3, 0x74, 0x6a, 0xdb, 0xae, 0x47, + 0x82, 0xbd, 0xcb, 0xad, 0x9d, 0x2d, 0xd6, 0x6e, 0x40, 0x42, 0xbf, 0x1d, 0xd4, 0x48, 0xb2, 0xe1, + 0xae, 0xb5, 0xc2, 0xcb, 0x4d, 0x12, 0x39, 0x29, 0xdd, 0x9d, 0xbd, 0x9c, 0x55, 0x2b, 0x68, 0x7b, + 0x91, 0xdb, 0xec, 0x6c, 0xe6, 0xe3, 0xbd, 0x2a, 0x84, 0xb5, 0x6d, 0xd2, 0x74, 0x3a, 0xea, 0x3d, + 0x9f, 0x55, 0xaf, 0x1d, 0xb9, 0x8d, 0xcb, 0xae, 0x17, 0x85, 0x51, 0x90, 0xac, 0x64, 0x7f, 0xc5, + 0x82, 0xf3, 0x0b, 0x77, 0xaa, 0xcb, 0x0d, 0x27, 0x8c, 0xdc, 0xda, 0x62, 0xc3, 0xaf, 0xed, 0x54, + 0x23, 0x3f, 0x20, 0xb7, 0xfd, 0x46, 0xbb, 0x49, 0xaa, 0x6c, 0x20, 0xd0, 0x33, 0x50, 0xd8, 0x65, + 0xff, 0xcb, 0xa5, 0x19, 0xeb, 0xbc, 0x75, 0xa9, 0xb8, 0x38, 0xf9, 0x6b, 0xfb, 0x73, 0x1f, 0x7a, + 0xb0, 0x3f, 0x57, 0xb8, 0x2d, 0xca, 0xb1, 0xc2, 0x40, 0x17, 0x61, 0x68, 0x33, 0x5c, 0xdf, 0x6b, + 0x91, 0x99, 0x1c, 0xc3, 0x1d, 0x17, 0xb8, 0x43, 0x2b, 0x55, 0x5a, 0x8a, 0x05, 0x14, 0x5d, 0x86, + 0x62, 0xcb, 0x09, 0x22, 0x37, 0x72, 0x7d, 0x6f, 0x26, 0x7f, 0xde, 0xba, 0x34, 0xb8, 0x38, 0x25, + 0x50, 0x8b, 0x15, 0x09, 0xc0, 0x31, 0x0e, 0xed, 0x46, 0x40, 0x9c, 0xfa, 0x4d, 0xaf, 0xb1, 0x37, + 0x33, 0x70, 0xde, 0xba, 0x54, 0x88, 0xbb, 0x81, 0x45, 0x39, 0x56, 0x18, 0xf6, 0xf7, 0xe7, 0xa0, + 0xb0, 0xb0, 0xb9, 0xe9, 0x7a, 0x6e, 0xb4, 0x87, 0x6e, 0xc3, 0xa8, 0xe7, 0xd7, 0x89, 0xfc, 0xcf, + 0xbe, 0x62, 0xe4, 0xca, 0xf9, 0xf9, 0xce, 0xa5, 0x34, 0xbf, 0xa6, 0xe1, 0x2d, 0x4e, 0x3e, 0xd8, + 0x9f, 0x1b, 0xd5, 0x4b, 0xb0, 0x41, 0x07, 0x61, 0x18, 0x69, 0xf9, 0x75, 0x45, 0x36, 0xc7, 0xc8, + 0xce, 0xa5, 0x91, 0xad, 0xc4, 0x68, 0x8b, 0x13, 0x0f, 0xf6, 0xe7, 0x46, 0xb4, 0x02, 0xac, 0x13, + 0x41, 0x1b, 0x30, 0x41, 0xff, 0x7a, 0x91, 0xab, 0xe8, 0xe6, 0x19, 0xdd, 0x0b, 0x59, 0x74, 0x35, + 0xd4, 0xc5, 0xe9, 0x07, 0xfb, 0x73, 0x13, 0x89, 0x42, 0x9c, 0x24, 0x68, 0xdf, 0x87, 0xf1, 0x85, + 0x28, 0x72, 0x6a, 0xdb, 0xa4, 0xce, 0x67, 0x10, 0xbd, 0x00, 0x03, 0x9e, 0xd3, 0x24, 0x62, 0x7e, + 0xcf, 0x8b, 0x81, 0x1d, 0x58, 0x73, 0x9a, 0xe4, 0x60, 0x7f, 0x6e, 0xf2, 0x96, 0xe7, 0xbe, 0xdb, + 0x16, 0xab, 0x82, 0x96, 0x61, 0x86, 0x8d, 0xae, 0x00, 0xd4, 0xc9, 0xae, 0x5b, 0x23, 0x15, 0x27, + 0xda, 0x16, 0xf3, 0x8d, 0x44, 0x5d, 0x28, 0x29, 0x08, 0xd6, 0xb0, 0xec, 0x7b, 0x50, 0x5c, 0xd8, + 0xf5, 0xdd, 0x7a, 0xc5, 0xaf, 0x87, 0x68, 0x07, 0x26, 0x5a, 0x01, 0xd9, 0x24, 0x81, 0x2a, 0x9a, + 0xb1, 0xce, 0xe7, 0x2f, 0x8d, 0x5c, 0xb9, 0x94, 0xfa, 0xb1, 0x26, 0xea, 0xb2, 0x17, 0x05, 0x7b, + 0x8b, 0x8f, 0x89, 0xf6, 0x26, 0x12, 0x50, 0x9c, 0xa4, 0x6c, 0xff, 0x6a, 0x0e, 0x4e, 0x2e, 0xdc, + 0x6f, 0x07, 0xa4, 0xe4, 0x86, 0x3b, 0xc9, 0x15, 0x5e, 0x77, 0xc3, 0x9d, 0xb5, 0x78, 0x04, 0xd4, + 0xd2, 0x2a, 0x89, 0x72, 0xac, 0x30, 0xd0, 0xb3, 0x30, 0x4c, 0x7f, 0xdf, 0xc2, 0x65, 0xf1, 0xc9, + 0xd3, 0x02, 0x79, 0xa4, 0xe4, 0x44, 0x4e, 0x89, 0x83, 0xb0, 0xc4, 0x41, 0xab, 0x30, 0x52, 0x63, + 0x1b, 0x72, 0x6b, 0xd5, 0xaf, 0x13, 0x36, 0x99, 0xc5, 0xc5, 0xa7, 0x29, 0xfa, 0x52, 0x5c, 0x7c, + 0xb0, 0x3f, 0x37, 0xc3, 0xfb, 0x26, 0x48, 0x68, 0x30, 0xac, 0xd7, 0x47, 0xb6, 0xda, 0x5f, 0x03, + 0x8c, 0x12, 0xa4, 0xec, 0xad, 0x4b, 0xda, 0x56, 0x19, 0x64, 0x5b, 0x65, 0x34, 0x7d, 0x9b, 0xa0, + 0xe7, 0x60, 0x60, 0xc7, 0xf5, 0xea, 0x33, 0x43, 0x8c, 0xd6, 0x59, 0x3a, 0xe7, 0xd7, 0x5d, 0xaf, + 0x7e, 0xb0, 0x3f, 0x37, 0x65, 0x74, 0x87, 0x16, 0x62, 0x86, 0x6a, 0xff, 0x89, 0x05, 0x73, 0x0c, + 0xb6, 0xe2, 0x36, 0x48, 0x85, 0x04, 0xa1, 0x1b, 0x46, 0xc4, 0x8b, 0x8c, 0x01, 0xbd, 0x02, 0x10, + 0x92, 0x5a, 0x40, 0x22, 0x6d, 0x48, 0xd5, 0xc2, 0xa8, 0x2a, 0x08, 0xd6, 0xb0, 0xe8, 0x81, 0x10, + 0x6e, 0x3b, 0x01, 0x5b, 0x5f, 0x62, 0x60, 0xd5, 0x81, 0x50, 0x95, 0x00, 0x1c, 0xe3, 0x18, 0x07, + 0x42, 0xbe, 0xd7, 0x81, 0x80, 0x3e, 0x01, 0x13, 0x71, 0x63, 0x61, 0xcb, 0xa9, 0xc9, 0x01, 0x64, + 0x5b, 0xa6, 0x6a, 0x82, 0x70, 0x12, 0xd7, 0xfe, 0x87, 0x96, 0x58, 0x3c, 0xf4, 0xab, 0xdf, 0xe7, + 0xdf, 0x6a, 0xff, 0x9c, 0x05, 0xc3, 0x8b, 0xae, 0x57, 0x77, 0xbd, 0x2d, 0xf4, 0x39, 0x28, 0xd0, + 0xbb, 0xa9, 0xee, 0x44, 0x8e, 0x38, 0xf7, 0x3e, 0xa6, 0xed, 0x2d, 0x75, 0x55, 0xcc, 0xb7, 0x76, + 0xb6, 0x68, 0x41, 0x38, 0x4f, 0xb1, 0xe9, 0x6e, 0xbb, 0xb9, 0xf1, 0x0e, 0xa9, 0x45, 0xab, 0x24, + 0x72, 0xe2, 0xcf, 0x89, 0xcb, 0xb0, 0xa2, 0x8a, 0xae, 0xc3, 0x50, 0xe4, 0x04, 0x5b, 0x24, 0x12, + 0x07, 0x60, 0xea, 0x41, 0xc5, 0x6b, 0x62, 0xba, 0x23, 0x89, 0x57, 0x23, 0xf1, 0xb5, 0xb0, 0xce, + 0xaa, 0x62, 0x41, 0xc2, 0xfe, 0x9e, 0x61, 0x38, 0xbd, 0x54, 0x2d, 0x67, 0xac, 0xab, 0x8b, 0x30, + 0x54, 0x0f, 0xdc, 0x5d, 0x12, 0x88, 0x71, 0x56, 0x54, 0x4a, 0xac, 0x14, 0x0b, 0x28, 0x7a, 0x19, + 0x46, 0xf9, 0x85, 0x74, 0xcd, 0xf1, 0xea, 0x0d, 0x39, 0xc4, 0x27, 0x04, 0xf6, 0xe8, 0x6d, 0x0d, + 0x86, 0x0d, 0xcc, 0x43, 0x2e, 0xaa, 0x8b, 0x89, 0xcd, 0x98, 0x75, 0xd9, 0x7d, 0xc1, 0x82, 0x49, + 0xde, 0xcc, 0x42, 0x14, 0x05, 0xee, 0x46, 0x3b, 0x22, 0xe1, 0xcc, 0x20, 0x3b, 0xe9, 0x96, 0xd2, + 0x46, 0x2b, 0x73, 0x04, 0xe6, 0x6f, 0x27, 0xa8, 0xf0, 0x43, 0x70, 0x46, 0xb4, 0x3b, 0x99, 0x04, + 0xe3, 0x8e, 0x66, 0xd1, 0xb7, 0x58, 0x30, 0x5b, 0xf3, 0xbd, 0x28, 0xf0, 0x1b, 0x0d, 0x12, 0x54, + 0xda, 0x1b, 0x0d, 0x37, 0xdc, 0xe6, 0xeb, 0x14, 0x93, 0x4d, 0x76, 0x12, 0x64, 0xcc, 0xa1, 0x42, + 0x12, 0x73, 0x78, 0xee, 0xc1, 0xfe, 0xdc, 0xec, 0x52, 0x26, 0x29, 0xdc, 0xa5, 0x19, 0xb4, 0x03, + 0x88, 0x5e, 0xa5, 0xd5, 0xc8, 0xd9, 0x22, 0x71, 0xe3, 0xc3, 0xfd, 0x37, 0x7e, 0xea, 0xc1, 0xfe, + 0x1c, 0x5a, 0xeb, 0x20, 0x81, 0x53, 0xc8, 0xa2, 0x77, 0xe1, 0x04, 0x2d, 0xed, 0xf8, 0xd6, 0x42, + 0xff, 0xcd, 0xcd, 0x3c, 0xd8, 0x9f, 0x3b, 0xb1, 0x96, 0x42, 0x04, 0xa7, 0x92, 0x46, 0xdf, 0x6c, + 0xc1, 0xe9, 0xf8, 0xf3, 0x97, 0xef, 0xb5, 0x1c, 0xaf, 0x1e, 0x37, 0x5c, 0xec, 0xbf, 0x61, 0x7a, + 0x26, 0x9f, 0x5e, 0xca, 0xa2, 0x84, 0xb3, 0x1b, 0x99, 0x5d, 0x82, 0x93, 0xa9, 0xab, 0x05, 0x4d, + 0x42, 0x7e, 0x87, 0x70, 0x2e, 0xa8, 0x88, 0xe9, 0x4f, 0x74, 0x02, 0x06, 0x77, 0x9d, 0x46, 0x5b, + 0x6c, 0x14, 0xcc, 0xff, 0xbc, 0x92, 0x7b, 0xd9, 0xb2, 0xff, 0x75, 0x1e, 0x26, 0x96, 0xaa, 0xe5, + 0x87, 0xda, 0x85, 0xfa, 0x35, 0x94, 0xeb, 0x7a, 0x0d, 0xc5, 0x97, 0x5a, 0x3e, 0xf3, 0x52, 0xfb, + 0x2b, 0x29, 0x5b, 0x68, 0x80, 0x6d, 0xa1, 0xaf, 0xcb, 0xd8, 0x42, 0x47, 0xbc, 0x71, 0x76, 0x33, + 0x56, 0xd1, 0x20, 0x9b, 0xcc, 0x54, 0x8e, 0xe5, 0x86, 0x5f, 0x73, 0x1a, 0xc9, 0xa3, 0xef, 0x90, + 0x4b, 0xe9, 0x68, 0xe6, 0xb1, 0x06, 0xa3, 0x4b, 0x4e, 0xcb, 0xd9, 0x70, 0x1b, 0x6e, 0xe4, 0x92, + 0x10, 0x3d, 0x09, 0x79, 0xa7, 0x5e, 0x67, 0xdc, 0x56, 0x71, 0xf1, 0xe4, 0x83, 0xfd, 0xb9, 0xfc, + 0x42, 0x9d, 0x5e, 0xfb, 0xa0, 0xb0, 0xf6, 0x30, 0xc5, 0x40, 0x1f, 0x85, 0x81, 0x7a, 0xe0, 0xb7, + 0x66, 0x72, 0x0c, 0x93, 0xee, 0xba, 0x81, 0x52, 0xe0, 0xb7, 0x12, 0xa8, 0x0c, 0xc7, 0xfe, 0xa5, + 0x1c, 0x9c, 0x59, 0x22, 0xad, 0xed, 0x95, 0x6a, 0xc6, 0xf9, 0x7d, 0x09, 0x0a, 0x4d, 0xdf, 0x73, + 0x23, 0x3f, 0x08, 0x45, 0xd3, 0x6c, 0x45, 0xac, 0x8a, 0x32, 0xac, 0xa0, 0xe8, 0x3c, 0x0c, 0xb4, + 0x62, 0xa6, 0x72, 0x54, 0x32, 0xa4, 0x8c, 0x9d, 0x64, 0x10, 0x8a, 0xd1, 0x0e, 0x49, 0x20, 0x56, + 0x8c, 0xc2, 0xb8, 0x15, 0x92, 0x00, 0x33, 0x48, 0x7c, 0x33, 0xd3, 0x3b, 0x5b, 0x9c, 0xd0, 0x89, + 0x9b, 0x99, 0x42, 0xb0, 0x86, 0x85, 0x2a, 0x50, 0x0c, 0x13, 0x33, 0xdb, 0xd7, 0x36, 0x1d, 0x63, + 0x57, 0xb7, 0x9a, 0xc9, 0x98, 0x88, 0x71, 0xa3, 0x0c, 0xf5, 0xbc, 0xba, 0xbf, 0x9c, 0x03, 0xc4, + 0x87, 0xf0, 0x2f, 0xd8, 0xc0, 0xdd, 0xea, 0x1c, 0xb8, 0xfe, 0xb7, 0xc4, 0x51, 0x8d, 0xde, 0x9f, + 0x5a, 0x70, 0x66, 0xc9, 0xf5, 0xea, 0x24, 0xc8, 0x58, 0x80, 0x8f, 0xe6, 0x2d, 0x7b, 0x38, 0xa6, + 0xc1, 0x58, 0x62, 0x03, 0x47, 0xb0, 0xc4, 0xec, 0x3f, 0xb2, 0x00, 0xf1, 0xcf, 0x7e, 0xdf, 0x7d, + 0xec, 0xad, 0xce, 0x8f, 0x3d, 0x82, 0x65, 0x61, 0xdf, 0x80, 0xf1, 0xa5, 0x86, 0x4b, 0xbc, 0xa8, + 0x5c, 0x59, 0xf2, 0xbd, 0x4d, 0x77, 0x0b, 0xbd, 0x02, 0xe3, 0x91, 0xdb, 0x24, 0x7e, 0x3b, 0xaa, + 0x92, 0x9a, 0xef, 0xb1, 0x97, 0xa4, 0x75, 0x69, 0x70, 0x11, 0x3d, 0xd8, 0x9f, 0x1b, 0x5f, 0x37, + 0x20, 0x38, 0x81, 0x69, 0xff, 0x36, 0x1d, 0x3f, 0xbf, 0xd9, 0xf2, 0x3d, 0xe2, 0x45, 0x4b, 0xbe, + 0x57, 0xe7, 0x12, 0x87, 0x57, 0x60, 0x20, 0xa2, 0xe3, 0xc1, 0xc7, 0xee, 0xa2, 0xdc, 0x28, 0x74, + 0x14, 0x0e, 0xf6, 0xe7, 0x4e, 0x75, 0xd6, 0x60, 0xe3, 0xc4, 0xea, 0xa0, 0xaf, 0x83, 0xa1, 0x30, + 0x72, 0xa2, 0x76, 0x28, 0x46, 0xf3, 0x09, 0x39, 0x9a, 0x55, 0x56, 0x7a, 0xb0, 0x3f, 0x37, 0xa1, + 0xaa, 0xf1, 0x22, 0x2c, 0x2a, 0xa0, 0xa7, 0x60, 0xb8, 0x49, 0xc2, 0xd0, 0xd9, 0x92, 0xb7, 0xe1, + 0x84, 0xa8, 0x3b, 0xbc, 0xca, 0x8b, 0xb1, 0x84, 0xa3, 0x0b, 0x30, 0x48, 0x82, 0xc0, 0x0f, 0xc4, + 0x1e, 0x1d, 0x13, 0x88, 0x83, 0xcb, 0xb4, 0x10, 0x73, 0x98, 0xfd, 0xef, 0x2d, 0x98, 0x50, 0x7d, + 0xe5, 0x6d, 0x1d, 0xc3, 0xab, 0xe0, 0x2d, 0x80, 0x9a, 0xfc, 0xc0, 0x90, 0xdd, 0x1e, 0x23, 0x57, + 0x2e, 0xa6, 0x5e, 0xd4, 0x1d, 0xc3, 0x18, 0x53, 0x56, 0x45, 0x21, 0xd6, 0xa8, 0xd9, 0xff, 0xc2, + 0x82, 0xe9, 0xc4, 0x17, 0xdd, 0x70, 0xc3, 0x08, 0xbd, 0xdd, 0xf1, 0x55, 0xf3, 0xfd, 0x7d, 0x15, + 0xad, 0xcd, 0xbe, 0x49, 0x2d, 0x65, 0x59, 0xa2, 0x7d, 0xd1, 0x35, 0x18, 0x74, 0x23, 0xd2, 0x94, + 0x1f, 0x73, 0xa1, 0xeb, 0xc7, 0xf0, 0x5e, 0xc5, 0x33, 0x52, 0xa6, 0x35, 0x31, 0x27, 0x60, 0xff, + 0x52, 0x1e, 0x8a, 0x7c, 0xd9, 0xae, 0x3a, 0xad, 0x63, 0x98, 0x8b, 0xa7, 0xa1, 0xe8, 0x36, 0x9b, + 0xed, 0xc8, 0xd9, 0x10, 0xc7, 0x79, 0x81, 0x6f, 0xad, 0xb2, 0x2c, 0xc4, 0x31, 0x1c, 0x95, 0x61, + 0x80, 0x75, 0x85, 0x7f, 0xe5, 0x93, 0xe9, 0x5f, 0x29, 0xfa, 0x3e, 0x5f, 0x72, 0x22, 0x87, 0x73, + 0x52, 0xea, 0x1e, 0xa1, 0x45, 0x98, 0x91, 0x40, 0x0e, 0xc0, 0x86, 0xeb, 0x39, 0xc1, 0x1e, 0x2d, + 0x9b, 0xc9, 0x33, 0x82, 0xcf, 0x76, 0x27, 0xb8, 0xa8, 0xf0, 0x39, 0x59, 0xf5, 0x61, 0x31, 0x00, + 0x6b, 0x44, 0x67, 0x5f, 0x82, 0xa2, 0x42, 0x3e, 0x0c, 0x43, 0x34, 0xfb, 0x09, 0x98, 0x48, 0xb4, + 0xd5, 0xab, 0xfa, 0xa8, 0xce, 0x4f, 0xfd, 0x3c, 0x3b, 0x32, 0x44, 0xaf, 0x97, 0xbd, 0x5d, 0x71, + 0xe4, 0xde, 0x87, 0x13, 0x8d, 0x94, 0x93, 0x4c, 0xcc, 0x6b, 0xff, 0x27, 0xdf, 0x19, 0xf1, 0xd9, + 0x27, 0xd2, 0xa0, 0x38, 0xb5, 0x0d, 0xca, 0x23, 0xf8, 0x2d, 0xba, 0x41, 0x9c, 0x86, 0xce, 0x6e, + 0xdf, 0x14, 0x65, 0x58, 0x41, 0xe9, 0x79, 0x77, 0x42, 0x75, 0xfe, 0x3a, 0xd9, 0xab, 0x92, 0x06, + 0xa9, 0x45, 0x7e, 0xf0, 0x55, 0xed, 0xfe, 0x59, 0x3e, 0xfa, 0xfc, 0xb8, 0x1c, 0x11, 0x04, 0xf2, + 0xd7, 0xc9, 0x1e, 0x9f, 0x0a, 0xfd, 0xeb, 0xf2, 0x5d, 0xbf, 0xee, 0x27, 0x2d, 0x18, 0x53, 0x5f, + 0x77, 0x0c, 0xe7, 0xc2, 0xa2, 0x79, 0x2e, 0x9c, 0xed, 0xba, 0xc0, 0x33, 0x4e, 0x84, 0x2f, 0xe7, + 0xe0, 0xb4, 0xc2, 0xa1, 0x6f, 0x03, 0xfe, 0x47, 0xac, 0xaa, 0xcb, 0x50, 0xf4, 0x94, 0xd4, 0xca, + 0x32, 0xc5, 0x45, 0xb1, 0xcc, 0x2a, 0xc6, 0xa1, 0x2c, 0x9e, 0x17, 0x8b, 0x96, 0x46, 0x75, 0x71, + 0xae, 0x10, 0xdd, 0x2e, 0x42, 0xbe, 0xed, 0xd6, 0xc5, 0x05, 0xf3, 0x31, 0x39, 0xda, 0xb7, 0xca, + 0xa5, 0x83, 0xfd, 0xb9, 0x27, 0xb2, 0x54, 0x09, 0xf4, 0x66, 0x0b, 0xe7, 0x6f, 0x95, 0x4b, 0x98, + 0x56, 0x46, 0x0b, 0x30, 0x21, 0xb5, 0x25, 0xb7, 0x29, 0xbb, 0xe5, 0x7b, 0xe2, 0x1e, 0x52, 0x32, + 0x59, 0x6c, 0x82, 0x71, 0x12, 0x1f, 0x95, 0x60, 0x72, 0xa7, 0xbd, 0x41, 0x1a, 0x24, 0xe2, 0x1f, + 0x7c, 0x9d, 0x70, 0x89, 0x65, 0x31, 0x7e, 0x99, 0x5d, 0x4f, 0xc0, 0x71, 0x47, 0x0d, 0xfb, 0xcf, + 0xd9, 0x7d, 0x20, 0x46, 0xaf, 0x12, 0xf8, 0x74, 0x61, 0x51, 0xea, 0x5f, 0xcd, 0xe5, 0xdc, 0xcf, + 0xaa, 0xb8, 0x4e, 0xf6, 0xd6, 0x7d, 0xca, 0x99, 0xa7, 0xaf, 0x0a, 0x63, 0xcd, 0x0f, 0x74, 0x5d, + 0xf3, 0x3f, 0x9d, 0x83, 0x93, 0x6a, 0x04, 0x0c, 0x26, 0xf0, 0x2f, 0xfa, 0x18, 0x3c, 0x07, 0x23, + 0x75, 0xb2, 0xe9, 0xb4, 0x1b, 0x91, 0x12, 0x9f, 0x0f, 0x72, 0x15, 0x4a, 0x29, 0x2e, 0xc6, 0x3a, + 0xce, 0x21, 0x86, 0xed, 0x7f, 0x8c, 0xb3, 0x8b, 0x38, 0x72, 0xe8, 0x1a, 0x57, 0xbb, 0xc6, 0xca, + 0xdc, 0x35, 0x17, 0x60, 0xd0, 0x6d, 0x52, 0xc6, 0x2c, 0x67, 0xf2, 0x5b, 0x65, 0x5a, 0x88, 0x39, + 0x0c, 0x7d, 0x04, 0x86, 0x6b, 0x7e, 0xb3, 0xe9, 0x78, 0x75, 0x76, 0xe5, 0x15, 0x17, 0x47, 0x28, + 0xef, 0xb6, 0xc4, 0x8b, 0xb0, 0x84, 0xa1, 0x33, 0x30, 0xe0, 0x04, 0x5b, 0x5c, 0x86, 0x51, 0x5c, + 0x2c, 0xd0, 0x96, 0x16, 0x82, 0xad, 0x10, 0xb3, 0x52, 0xfa, 0x04, 0xbb, 0xeb, 0x07, 0x3b, 0xae, + 0xb7, 0x55, 0x72, 0x03, 0xb1, 0x25, 0xd4, 0x5d, 0x78, 0x47, 0x41, 0xb0, 0x86, 0x85, 0x56, 0x60, + 0xb0, 0xe5, 0x07, 0x51, 0x38, 0x33, 0xc4, 0x86, 0xfb, 0x89, 0x8c, 0x83, 0x88, 0x7f, 0x6d, 0xc5, + 0x0f, 0xa2, 0xf8, 0x03, 0xe8, 0xbf, 0x10, 0xf3, 0xea, 0xe8, 0x06, 0x0c, 0x13, 0x6f, 0x77, 0x25, + 0xf0, 0x9b, 0x33, 0xd3, 0xd9, 0x94, 0x96, 0x39, 0x0a, 0x5f, 0x66, 0x31, 0x8f, 0x2a, 0x8a, 0xb1, + 0x24, 0x81, 0xbe, 0x0e, 0xf2, 0xc4, 0xdb, 0x9d, 0x19, 0x66, 0x94, 0x66, 0x33, 0x28, 0xdd, 0x76, + 0x82, 0xf8, 0xcc, 0x5f, 0xf6, 0x76, 0x31, 0xad, 0x83, 0x3e, 0x0d, 0x45, 0x79, 0x60, 0x84, 0x42, + 0x58, 0x97, 0xba, 0x60, 0xe5, 0x31, 0x83, 0xc9, 0xbb, 0x6d, 0x37, 0x20, 0x4d, 0xe2, 0x45, 0x61, + 0x7c, 0x42, 0x4a, 0x68, 0x88, 0x63, 0x6a, 0xe8, 0xef, 0x59, 0x80, 0xd4, 0xbf, 0x85, 0x06, 0x5d, + 0xbe, 0x11, 0xa9, 0xcf, 0x3c, 0xc6, 0x7a, 0xf9, 0x62, 0xd7, 0x91, 0x53, 0xcd, 0xc5, 0xf5, 0x38, + 0xaf, 0xf2, 0x8a, 0x68, 0x11, 0x75, 0x22, 0x1c, 0xec, 0xcf, 0x8d, 0xca, 0x52, 0x7a, 0x85, 0x7c, + 0xfe, 0xbf, 0xc6, 0xff, 0xd9, 0xfa, 0x4a, 0xe9, 0x0c, 0x7a, 0x0b, 0x46, 0x03, 0x12, 0xba, 0xf7, + 0x49, 0xc5, 0x6f, 0xb8, 0xb5, 0xbd, 0x99, 0x19, 0xd6, 0xb9, 0xf3, 0x19, 0x23, 0xa0, 0xf0, 0x62, + 0x39, 0xb7, 0x5e, 0x8a, 0x0d, 0x5a, 0xe8, 0xd3, 0x52, 0x42, 0xbe, 0xea, 0xb7, 0xbd, 0x28, 0x9c, + 0x29, 0x32, 0xda, 0xa9, 0xba, 0xcb, 0xdb, 0x31, 0x5e, 0x52, 0x84, 0xce, 0x2b, 0x63, 0x83, 0x14, + 0xfa, 0x0c, 0x8c, 0xf1, 0xff, 0x5c, 0x03, 0x18, 0xce, 0x9c, 0xcc, 0xee, 0xf7, 0x6d, 0x0d, 0x71, + 0xf1, 0xa4, 0x20, 0x3e, 0xa6, 0x97, 0x86, 0xd8, 0xa4, 0x86, 0x30, 0x8c, 0x35, 0xdc, 0x5d, 0xe2, + 0x91, 0x30, 0xac, 0x04, 0xfe, 0x06, 0x99, 0x01, 0xb6, 0x30, 0x4e, 0xa7, 0x6b, 0x0c, 0xfd, 0x0d, + 0xb2, 0x38, 0x45, 0x69, 0xde, 0xd0, 0xeb, 0x60, 0x93, 0x04, 0xba, 0x05, 0xe3, 0xf4, 0xc5, 0xea, + 0xc6, 0x44, 0x47, 0x7a, 0x11, 0x65, 0xef, 0x4a, 0x6c, 0x54, 0xc2, 0x09, 0x22, 0xe8, 0x26, 0x8c, + 0x86, 0x91, 0x13, 0x44, 0xed, 0x16, 0x27, 0x7a, 0xaa, 0x17, 0x51, 0xa6, 0x70, 0xae, 0x6a, 0x55, + 0xb0, 0x41, 0x00, 0xbd, 0x01, 0xc5, 0x86, 0xbb, 0x49, 0x6a, 0x7b, 0xb5, 0x06, 0x99, 0x19, 0x65, + 0xd4, 0x52, 0x0f, 0xd5, 0x1b, 0x12, 0x89, 0xf3, 0xf9, 0xea, 0x2f, 0x8e, 0xab, 0xa3, 0xdb, 0x70, + 0x2a, 0x22, 0x41, 0xd3, 0xf5, 0x1c, 0x7a, 0x18, 0x8a, 0xa7, 0x25, 0x53, 0xe4, 0x8e, 0xb1, 0xd3, + 0xe6, 0x9c, 0x98, 0x8d, 0x53, 0xeb, 0xa9, 0x58, 0x38, 0xa3, 0x36, 0xba, 0x07, 0x33, 0x29, 0x10, + 0xbe, 0x82, 0x4f, 0x30, 0xca, 0xaf, 0x09, 0xca, 0x33, 0xeb, 0x19, 0x78, 0x07, 0x5d, 0x60, 0x38, + 0x93, 0x3a, 0xba, 0x09, 0x13, 0xec, 0x04, 0xae, 0xb4, 0x1b, 0x0d, 0xd1, 0xe0, 0x38, 0x6b, 0xf0, + 0x23, 0x92, 0x1f, 0x29, 0x9b, 0xe0, 0x83, 0xfd, 0x39, 0x88, 0xff, 0xe1, 0x64, 0x6d, 0xb4, 0xc1, + 0x74, 0x86, 0xed, 0xc0, 0x8d, 0xf6, 0xe8, 0xee, 0x27, 0xf7, 0xa2, 0x99, 0x89, 0xae, 0xf2, 0x1a, + 0x1d, 0x55, 0x29, 0x16, 0xf5, 0x42, 0x9c, 0x24, 0x48, 0xaf, 0x94, 0x30, 0xaa, 0xbb, 0xde, 0xcc, + 0x24, 0x7f, 0x97, 0xc9, 0x13, 0xb9, 0x4a, 0x0b, 0x31, 0x87, 0x31, 0x7d, 0x21, 0xfd, 0x71, 0x93, + 0xde, 0xdc, 0x53, 0x0c, 0x31, 0xd6, 0x17, 0x4a, 0x00, 0x8e, 0x71, 0x28, 0x33, 0x1d, 0x45, 0x7b, + 0x33, 0x88, 0xa1, 0xaa, 0x83, 0x75, 0x7d, 0xfd, 0xd3, 0x98, 0x96, 0xcf, 0xb6, 0xe1, 0xb1, 0x8c, + 0x43, 0x2c, 0xe5, 0x11, 0x54, 0xd2, 0x1f, 0x41, 0x3d, 0x58, 0xe7, 0x79, 0x79, 0x8c, 0xcd, 0xbf, + 0xd9, 0x76, 0xbc, 0xc8, 0x8d, 0xf6, 0xf4, 0x47, 0xd3, 0x06, 0x8c, 0xab, 0x53, 0x94, 0x4d, 0x05, + 0x9a, 0x83, 0x41, 0xc6, 0xb5, 0x0a, 0xa1, 0x66, 0x91, 0x7e, 0x39, 0xe3, 0x68, 0x31, 0x2f, 0x67, + 0x5f, 0xee, 0xde, 0x27, 0x8b, 0x7b, 0x11, 0xe1, 0xa2, 0x94, 0xbc, 0xf6, 0xe5, 0x12, 0x80, 0x63, + 0x1c, 0xfb, 0xff, 0x72, 0xee, 0x3f, 0xbe, 0xe4, 0xfa, 0xb8, 0xd6, 0x9f, 0x81, 0xc2, 0xb6, 0x1f, + 0x46, 0x14, 0x9b, 0xb5, 0x31, 0x18, 0xf3, 0xfb, 0xd7, 0x44, 0x39, 0x56, 0x18, 0xe8, 0x55, 0x18, + 0xab, 0xe9, 0x0d, 0x08, 0x9e, 0x44, 0x9d, 0x5e, 0x46, 0xeb, 0xd8, 0xc4, 0x45, 0x2f, 0x43, 0x81, + 0x99, 0xde, 0xd4, 0xfc, 0x86, 0x60, 0x96, 0x25, 0x63, 0x55, 0xa8, 0x88, 0xf2, 0x03, 0xed, 0x37, + 0x56, 0xd8, 0xe8, 0x22, 0x0c, 0xd1, 0x2e, 0x94, 0x2b, 0x82, 0x1b, 0x50, 0xf2, 0xb9, 0x6b, 0xac, + 0x14, 0x0b, 0xa8, 0xfd, 0x37, 0x73, 0xda, 0x28, 0x57, 0x23, 0x27, 0x22, 0xa8, 0x02, 0xc3, 0x77, + 0x1d, 0x37, 0x72, 0xbd, 0x2d, 0xc1, 0xf6, 0x3d, 0xd5, 0xf5, 0x82, 0x63, 0x95, 0xee, 0xf0, 0x0a, + 0x9c, 0x79, 0x11, 0x7f, 0xb0, 0x24, 0x43, 0x29, 0x06, 0x6d, 0xcf, 0xa3, 0x14, 0x73, 0xfd, 0x52, + 0xc4, 0xbc, 0x02, 0xa7, 0x28, 0xfe, 0x60, 0x49, 0x06, 0xbd, 0x0d, 0x20, 0x37, 0x36, 0xa9, 0x0b, + 0x93, 0x97, 0x67, 0x7a, 0x13, 0x5d, 0x57, 0x75, 0x16, 0xc7, 0x29, 0x6b, 0x14, 0xff, 0xc7, 0x1a, + 0x3d, 0x3b, 0x62, 0xec, 0x71, 0x67, 0x67, 0xd0, 0x37, 0xd0, 0x9d, 0xe5, 0x04, 0x11, 0xa9, 0x2f, + 0x44, 0x62, 0x70, 0x3e, 0xda, 0xdf, 0xdb, 0x70, 0xdd, 0x6d, 0x12, 0x7d, 0x17, 0x0a, 0x22, 0x38, + 0xa6, 0x67, 0xff, 0x6c, 0x1e, 0x66, 0xb2, 0xba, 0x4b, 0x17, 0x1d, 0xb9, 0xe7, 0x46, 0x4b, 0x94, + 0xab, 0xb5, 0xcc, 0x45, 0xb7, 0x2c, 0xca, 0xb1, 0xc2, 0xa0, 0xb3, 0x1f, 0xba, 0x5b, 0xf2, 0x69, + 0x3f, 0x18, 0xcf, 0x7e, 0x95, 0x95, 0x62, 0x01, 0xa5, 0x78, 0x01, 0x71, 0x42, 0x61, 0x53, 0xa5, + 0xad, 0x12, 0xcc, 0x4a, 0xb1, 0x80, 0xea, 0x42, 0xc6, 0x81, 0x1e, 0x42, 0x46, 0x63, 0x88, 0x06, + 0x8f, 0x76, 0x88, 0xd0, 0x67, 0x01, 0x36, 0x5d, 0xcf, 0x0d, 0xb7, 0x19, 0xf5, 0xa1, 0x43, 0x53, + 0x57, 0x3c, 0xf1, 0x8a, 0xa2, 0x82, 0x35, 0x8a, 0xe8, 0x45, 0x18, 0x51, 0x1b, 0xb0, 0x5c, 0x62, + 0x0a, 0x66, 0xcd, 0x60, 0x27, 0x3e, 0x8d, 0x4a, 0x58, 0xc7, 0xb3, 0xdf, 0x49, 0xae, 0x17, 0xb1, + 0x03, 0xb4, 0xf1, 0xb5, 0xfa, 0x1d, 0xdf, 0x5c, 0xf7, 0xf1, 0xb5, 0x7f, 0x75, 0x00, 0x26, 0x8c, + 0xc6, 0xda, 0x61, 0x1f, 0x67, 0xd6, 0x55, 0x7a, 0x6f, 0x38, 0x91, 0x3c, 0x95, 0xed, 0xde, 0x5b, + 0x45, 0xbf, 0x5b, 0xe8, 0x0e, 0xe0, 0xf5, 0xd1, 0x67, 0xa1, 0xd8, 0x70, 0x42, 0x26, 0xb0, 0x24, + 0x62, 0xdf, 0xf5, 0x43, 0x2c, 0x7e, 0x0f, 0x3a, 0x61, 0xa4, 0x5d, 0xd6, 0x9c, 0x76, 0x4c, 0x92, + 0x5e, 0x70, 0x94, 0x2d, 0x92, 0x46, 0x7b, 0xaa, 0x13, 0x94, 0x77, 0xda, 0xc3, 0x1c, 0x86, 0x5e, + 0x66, 0xac, 0x2e, 0x5d, 0x15, 0x4b, 0x94, 0x89, 0x64, 0xcb, 0x6c, 0xd0, 0x60, 0x64, 0x15, 0x0c, + 0x1b, 0x98, 0xf1, 0x93, 0x6c, 0xa8, 0xcb, 0x93, 0xec, 0x29, 0x18, 0x66, 0x3f, 0xd4, 0x0a, 0x50, + 0xb3, 0x51, 0xe6, 0xc5, 0x58, 0xc2, 0x93, 0x0b, 0xa6, 0xd0, 0xdf, 0x82, 0xa1, 0x8f, 0x3e, 0xb1, + 0xa8, 0x99, 0x72, 0xbf, 0xc0, 0x4f, 0x39, 0xb1, 0xe4, 0xb1, 0x84, 0x99, 0x2f, 0x1a, 0x38, 0xca, + 0x17, 0x8d, 0xfd, 0x51, 0x18, 0x2f, 0x39, 0xa4, 0xe9, 0x7b, 0xcb, 0x5e, 0xbd, 0xe5, 0xbb, 0x5e, + 0x84, 0x66, 0x60, 0x80, 0xdd, 0x4f, 0xfc, 0x74, 0x19, 0xa0, 0xb5, 0xf1, 0x00, 0x7d, 0xe2, 0xd9, + 0x5b, 0x70, 0xb2, 0xe4, 0xdf, 0xf5, 0xee, 0x3a, 0x41, 0x7d, 0xa1, 0x52, 0xd6, 0x24, 0x26, 0x6b, + 0xf2, 0xc5, 0xce, 0xcd, 0xf0, 0x52, 0x4f, 0x75, 0xad, 0x26, 0x67, 0xd4, 0x57, 0xdc, 0x06, 0xc9, + 0x90, 0x6b, 0xfd, 0xed, 0x9c, 0xd1, 0x52, 0x8c, 0xaf, 0xf4, 0x94, 0x56, 0xa6, 0x9e, 0xf2, 0x4d, + 0x28, 0x6c, 0xba, 0xa4, 0x51, 0xc7, 0x64, 0x53, 0x2c, 0xf2, 0x27, 0xb3, 0x2d, 0x8b, 0x56, 0x28, + 0xa6, 0x94, 0x63, 0xf2, 0xf7, 0xfe, 0x8a, 0xa8, 0x8c, 0x15, 0x19, 0xb4, 0x03, 0x93, 0x72, 0xc0, + 0x24, 0x54, 0x2c, 0xf9, 0xa7, 0xba, 0xcd, 0x82, 0x49, 0xfc, 0xc4, 0x83, 0xfd, 0xb9, 0x49, 0x9c, + 0x20, 0x83, 0x3b, 0x08, 0xd3, 0x07, 0x7e, 0x93, 0x1e, 0xee, 0x03, 0x6c, 0xf8, 0xd9, 0x03, 0x9f, + 0xc9, 0x2a, 0x58, 0xa9, 0xfd, 0x83, 0x16, 0x3c, 0xd6, 0x31, 0x32, 0x42, 0x66, 0x73, 0xc4, 0xb3, + 0x90, 0x94, 0xa1, 0xe4, 0x7a, 0xcb, 0x50, 0xec, 0x7f, 0x64, 0xc1, 0x89, 0xe5, 0x66, 0x2b, 0xda, + 0x2b, 0xb9, 0xa6, 0x52, 0xf1, 0x25, 0x18, 0x6a, 0x92, 0xba, 0xdb, 0x6e, 0x8a, 0x99, 0x9b, 0x93, + 0x07, 0xe0, 0x2a, 0x2b, 0x3d, 0xd8, 0x9f, 0x1b, 0xab, 0x46, 0x7e, 0xe0, 0x6c, 0x11, 0x5e, 0x80, + 0x05, 0x3a, 0xbb, 0x46, 0xdc, 0xfb, 0xe4, 0x86, 0xdb, 0x74, 0xa3, 0x87, 0x63, 0x25, 0x85, 0x3e, + 0x50, 0x12, 0xc1, 0x31, 0x3d, 0xfb, 0x2b, 0x16, 0x4c, 0xc8, 0x75, 0xbf, 0x50, 0xaf, 0x07, 0x24, + 0x0c, 0xd1, 0x2c, 0xe4, 0xdc, 0x96, 0xe8, 0x25, 0x88, 0x5e, 0xe6, 0xca, 0x15, 0x9c, 0x73, 0x5b, + 0x92, 0xe3, 0x63, 0x67, 0x6c, 0xde, 0x54, 0x8d, 0x5e, 0x13, 0xe5, 0x58, 0x61, 0xa0, 0x4b, 0x50, + 0xf0, 0xfc, 0x3a, 0xb7, 0xd6, 0xe3, 0xb7, 0x25, 0x5b, 0x60, 0x6b, 0xa2, 0x0c, 0x2b, 0x28, 0xaa, + 0x40, 0x91, 0x1b, 0xb2, 0xc5, 0x8b, 0xb6, 0x2f, 0x73, 0x38, 0xf6, 0x65, 0xeb, 0xb2, 0x26, 0x8e, + 0x89, 0xd8, 0xbf, 0x68, 0xc1, 0xa8, 0xfc, 0xb2, 0x3e, 0xd9, 0x59, 0xba, 0xb5, 0x62, 0x56, 0x36, + 0xde, 0x5a, 0x94, 0x1d, 0x65, 0x10, 0x83, 0x0b, 0xcd, 0x1f, 0x8a, 0x0b, 0x7d, 0x0e, 0x46, 0x9c, + 0x56, 0xab, 0x62, 0xb2, 0xb0, 0x6c, 0x29, 0x2d, 0xc4, 0xc5, 0x58, 0xc7, 0xb1, 0x7f, 0x20, 0x07, + 0xe3, 0xf2, 0x0b, 0xaa, 0xed, 0x8d, 0x90, 0x44, 0x68, 0x1d, 0x8a, 0x0e, 0x9f, 0x25, 0x22, 0x17, + 0xf9, 0x85, 0x74, 0xc9, 0x90, 0x31, 0xa5, 0xf1, 0x09, 0xb8, 0x20, 0x6b, 0xe3, 0x98, 0x10, 0x6a, + 0xc0, 0x94, 0xe7, 0x47, 0xec, 0x5e, 0x51, 0xf0, 0x6e, 0xca, 0xba, 0x24, 0xf5, 0xd3, 0x82, 0xfa, + 0xd4, 0x5a, 0x92, 0x0a, 0xee, 0x24, 0x8c, 0x96, 0xa5, 0xb4, 0x2d, 0x9f, 0x2d, 0xde, 0xd0, 0x27, + 0x2e, 0x5d, 0xd8, 0x66, 0xff, 0x82, 0x05, 0x45, 0x89, 0x76, 0x1c, 0x7a, 0xd9, 0x55, 0x18, 0x0e, + 0xd9, 0x24, 0xc8, 0xa1, 0xb1, 0xbb, 0x75, 0x9c, 0xcf, 0x57, 0x7c, 0x5d, 0xf2, 0xff, 0x21, 0x96, + 0x34, 0x98, 0xb2, 0x45, 0x75, 0xff, 0x7d, 0xa2, 0x6c, 0x51, 0xfd, 0xc9, 0xb8, 0x94, 0x7e, 0x9f, + 0xf5, 0x59, 0x93, 0x5e, 0x52, 0xae, 0xae, 0x15, 0x90, 0x4d, 0xf7, 0x5e, 0x92, 0xab, 0xab, 0xb0, + 0x52, 0x2c, 0xa0, 0xe8, 0x6d, 0x18, 0xad, 0x49, 0x29, 0x7b, 0xbc, 0xc3, 0x2f, 0x76, 0xd5, 0xf8, + 0x28, 0xe5, 0x20, 0x97, 0xee, 0x2c, 0x69, 0xf5, 0xb1, 0x41, 0xcd, 0x34, 0x0c, 0xc9, 0xf7, 0x32, + 0x0c, 0x89, 0xe9, 0x66, 0x9b, 0x49, 0xfc, 0x90, 0x05, 0x43, 0x5c, 0xba, 0xda, 0x9f, 0x70, 0x5b, + 0xd3, 0x95, 0xc6, 0x63, 0x77, 0x9b, 0x16, 0x8a, 0x67, 0x3c, 0x5a, 0x85, 0x22, 0xfb, 0xc1, 0xa4, + 0xc3, 0xf9, 0x6c, 0x3f, 0x0a, 0xde, 0xaa, 0xde, 0xc1, 0xdb, 0xb2, 0x1a, 0x8e, 0x29, 0xd8, 0xdf, + 0x9b, 0xa7, 0xa7, 0x5b, 0x8c, 0x6a, 0x5c, 0xfa, 0xd6, 0xa3, 0xbb, 0xf4, 0x73, 0x8f, 0xea, 0xd2, + 0xdf, 0x82, 0x89, 0x9a, 0xa6, 0x59, 0x8d, 0x67, 0xf2, 0x52, 0xd7, 0x45, 0xa2, 0x29, 0x61, 0xb9, + 0xdc, 0x68, 0xc9, 0x24, 0x82, 0x93, 0x54, 0xd1, 0x37, 0xc0, 0x28, 0x9f, 0x67, 0xd1, 0x0a, 0xb7, + 0xad, 0xf9, 0x48, 0xf6, 0x7a, 0xd1, 0x9b, 0xe0, 0x72, 0x46, 0xad, 0x3a, 0x36, 0x88, 0xd9, 0x7f, + 0x6c, 0x01, 0x5a, 0x6e, 0x6d, 0x93, 0x26, 0x09, 0x9c, 0x46, 0xac, 0x20, 0xf9, 0x4e, 0x0b, 0x66, + 0x48, 0x47, 0xf1, 0x92, 0xdf, 0x6c, 0x8a, 0xf7, 0x50, 0xc6, 0x93, 0x7d, 0x39, 0xa3, 0x8e, 0x72, + 0x34, 0x99, 0xc9, 0xc2, 0xc0, 0x99, 0xed, 0xa1, 0x55, 0x98, 0xe6, 0xb7, 0xa4, 0x02, 0x68, 0xd6, + 0xf4, 0x8f, 0x0b, 0xc2, 0xd3, 0xeb, 0x9d, 0x28, 0x38, 0xad, 0x9e, 0xfd, 0x9d, 0x13, 0x90, 0xd9, + 0x8b, 0x0f, 0x34, 0x43, 0xff, 0x1f, 0x69, 0x86, 0x7e, 0xa2, 0x9b, 0x66, 0xa8, 0x74, 0x98, 0xe5, + 0xfd, 0x81, 0xa2, 0xe8, 0x03, 0x45, 0xd1, 0x07, 0x8a, 0xa2, 0x0f, 0x14, 0x45, 0x1f, 0x28, 0x8a, + 0x0e, 0xab, 0x28, 0xfa, 0x43, 0x0b, 0xa6, 0x3b, 0x4f, 0xd5, 0xe3, 0x78, 0x1e, 0xb5, 0x61, 0xba, + 0x93, 0xe3, 0xe8, 0x6a, 0xbf, 0xda, 0xd9, 0xcf, 0x98, 0xfb, 0x48, 0xf9, 0x06, 0x9c, 0x46, 0xdf, + 0xfe, 0xd9, 0x02, 0x0c, 0x2e, 0xef, 0x12, 0x2f, 0x3a, 0x86, 0x4f, 0xac, 0xc1, 0xb8, 0xeb, 0xed, + 0xfa, 0x8d, 0x5d, 0x52, 0xe7, 0xf0, 0xc3, 0x08, 0x2a, 0x4e, 0x09, 0xd2, 0xe3, 0x65, 0x83, 0x04, + 0x4e, 0x90, 0x7c, 0x14, 0x7a, 0x88, 0xab, 0x30, 0xc4, 0x97, 0x8c, 0x50, 0x42, 0xa4, 0xde, 0x41, + 0x6c, 0x10, 0x05, 0xe7, 0x11, 0xeb, 0x48, 0x38, 0x0f, 0x20, 0xaa, 0xa3, 0x77, 0x60, 0x7c, 0xd3, + 0x0d, 0xc2, 0x68, 0xdd, 0x6d, 0x92, 0x30, 0x72, 0x9a, 0xad, 0x87, 0xd0, 0x3b, 0xa8, 0x71, 0x58, + 0x31, 0x28, 0xe1, 0x04, 0x65, 0xb4, 0x05, 0x63, 0x0d, 0x47, 0x6f, 0x6a, 0xf8, 0xd0, 0x4d, 0xa9, + 0xdb, 0xee, 0x86, 0x4e, 0x08, 0x9b, 0x74, 0xe9, 0xf1, 0x50, 0x63, 0xa2, 0xf3, 0x02, 0x93, 0xfa, + 0xa8, 0xe3, 0x81, 0xcb, 0xcc, 0x39, 0x8c, 0xf2, 0xb1, 0xcc, 0xa2, 0xbd, 0x68, 0xf2, 0xb1, 0x9a, + 0xdd, 0xfa, 0xe7, 0xa0, 0x48, 0xe8, 0x10, 0x52, 0xc2, 0xe2, 0xc2, 0xbc, 0xdc, 0x5f, 0x5f, 0x57, + 0xdd, 0x5a, 0xe0, 0x9b, 0x1a, 0x9f, 0x65, 0x49, 0x09, 0xc7, 0x44, 0xd1, 0x12, 0x0c, 0x85, 0x24, + 0x70, 0x49, 0x28, 0xae, 0xce, 0x2e, 0xd3, 0xc8, 0xd0, 0xb8, 0x33, 0x18, 0xff, 0x8d, 0x45, 0x55, + 0xba, 0xbc, 0x1c, 0x26, 0xb1, 0x66, 0x97, 0x9b, 0xb6, 0xbc, 0x16, 0x58, 0x29, 0x16, 0x50, 0xf4, + 0x06, 0x0c, 0x07, 0xa4, 0xc1, 0x18, 0xb8, 0xb1, 0xfe, 0x17, 0x39, 0xd7, 0x50, 0xf2, 0x7a, 0x58, + 0x12, 0x40, 0xd7, 0x29, 0x5f, 0x48, 0xf9, 0x60, 0xd7, 0xdb, 0x52, 0x76, 0xde, 0xe2, 0xe2, 0x50, + 0x3b, 0x1e, 0xc7, 0x18, 0xd2, 0x2f, 0x0f, 0xa7, 0x54, 0x43, 0x57, 0x61, 0x4a, 0x95, 0x96, 0xbd, + 0x30, 0x72, 0xe8, 0x81, 0x3d, 0xc1, 0x68, 0x29, 0x31, 0x14, 0x4e, 0x22, 0xe0, 0xce, 0x3a, 0xf6, + 0x97, 0x2c, 0xe0, 0xe3, 0x7c, 0x0c, 0xc2, 0x97, 0xd7, 0x4d, 0xe1, 0xcb, 0xe9, 0xcc, 0x99, 0xcb, + 0x10, 0xbc, 0x7c, 0xc9, 0x82, 0x11, 0x6d, 0x66, 0xe3, 0x35, 0x6b, 0x75, 0x59, 0xb3, 0x6d, 0x98, + 0xa4, 0x2b, 0xfd, 0xe6, 0x46, 0x48, 0x82, 0x5d, 0x52, 0x67, 0x0b, 0x33, 0xf7, 0x70, 0x0b, 0x53, + 0xd9, 0x94, 0xde, 0x48, 0x10, 0xc4, 0x1d, 0x4d, 0xd8, 0x9f, 0x93, 0x5d, 0x55, 0x26, 0xb8, 0x35, + 0x35, 0xe7, 0x09, 0x13, 0x5c, 0x35, 0xab, 0x38, 0xc6, 0xa1, 0x5b, 0x6d, 0xdb, 0x0f, 0xa3, 0xa4, + 0x09, 0xee, 0x35, 0x3f, 0x8c, 0x30, 0x83, 0xd8, 0xcf, 0x03, 0x2c, 0xdf, 0x23, 0x35, 0xbe, 0x62, + 0xf5, 0xb7, 0xa1, 0x95, 0xfd, 0x36, 0xb4, 0x7f, 0xd3, 0x82, 0xf1, 0x95, 0x25, 0x43, 0x22, 0x3f, + 0x0f, 0xc0, 0x1f, 0xb4, 0x77, 0xee, 0xac, 0x49, 0x43, 0x0a, 0xae, 0x0b, 0x57, 0xa5, 0x58, 0xc3, + 0x40, 0xa7, 0x21, 0xdf, 0x68, 0x7b, 0x42, 0x3a, 0x3c, 0x4c, 0xaf, 0xfb, 0x1b, 0x6d, 0x0f, 0xd3, + 0x32, 0xcd, 0x07, 0x28, 0xdf, 0xb7, 0x0f, 0x50, 0xcf, 0x58, 0x1c, 0x68, 0x0e, 0x06, 0xef, 0xde, + 0x75, 0xeb, 0xdc, 0xe3, 0x59, 0x18, 0x79, 0xdc, 0xb9, 0x53, 0x2e, 0x85, 0x98, 0x97, 0xdb, 0x5f, + 0xcc, 0xc3, 0xec, 0x4a, 0x83, 0xdc, 0x7b, 0x8f, 0x5e, 0xdf, 0xfd, 0x7a, 0x30, 0x1d, 0x4e, 0xce, + 0x76, 0x58, 0x2f, 0xb5, 0xde, 0xe3, 0xb1, 0x09, 0xc3, 0xdc, 0x02, 0x55, 0xfa, 0x80, 0xbf, 0x9a, + 0xd6, 0x7a, 0xf6, 0x80, 0xcc, 0x73, 0x4b, 0x56, 0xe1, 0xc2, 0xaa, 0x2e, 0x4c, 0x51, 0x8a, 0x25, + 0xf1, 0xd9, 0x57, 0x60, 0x54, 0xc7, 0x3c, 0x94, 0xbf, 0xe8, 0x5f, 0xcd, 0xc3, 0x24, 0xed, 0xc1, + 0x23, 0x9d, 0x88, 0x5b, 0x9d, 0x13, 0x71, 0xd4, 0x3e, 0x83, 0xbd, 0x67, 0xe3, 0xed, 0xe4, 0x6c, + 0x3c, 0x97, 0x35, 0x1b, 0xc7, 0x3d, 0x07, 0xdf, 0x62, 0xc1, 0xf4, 0x4a, 0xc3, 0xaf, 0xed, 0x24, + 0xfc, 0xfa, 0x5e, 0x84, 0x11, 0x7a, 0x1c, 0x87, 0x46, 0xc8, 0x09, 0x23, 0x08, 0x89, 0x00, 0x61, + 0x1d, 0x4f, 0xab, 0x76, 0xeb, 0x56, 0xb9, 0x94, 0x16, 0xbb, 0x44, 0x80, 0xb0, 0x8e, 0x67, 0xff, + 0xba, 0x05, 0x67, 0xaf, 0x2e, 0x2d, 0xc7, 0x4b, 0xb1, 0x23, 0x7c, 0xca, 0x45, 0x18, 0x6a, 0xd5, + 0xb5, 0xae, 0xc4, 0xd2, 0xf3, 0x12, 0xeb, 0x85, 0x80, 0xbe, 0x5f, 0x42, 0x03, 0xfd, 0x98, 0x05, + 0xd3, 0x57, 0xdd, 0x88, 0xde, 0xae, 0xc9, 0x40, 0x1e, 0xf4, 0x7a, 0x0d, 0xdd, 0xc8, 0x0f, 0xf6, + 0x92, 0x81, 0x3c, 0xb0, 0x82, 0x60, 0x0d, 0x8b, 0xb7, 0xbc, 0xeb, 0x32, 0xdf, 0x87, 0x9c, 0xa9, + 0x47, 0xc4, 0xa2, 0x1c, 0x2b, 0x0c, 0xfa, 0x61, 0x75, 0x37, 0x60, 0x22, 0xd8, 0x3d, 0x71, 0xc2, + 0xaa, 0x0f, 0x2b, 0x49, 0x00, 0x8e, 0x71, 0xe8, 0x3b, 0x68, 0xee, 0x6a, 0xa3, 0x1d, 0x46, 0x24, + 0xd8, 0x0c, 0x33, 0x4e, 0xc7, 0xe7, 0xa1, 0x48, 0xa4, 0xc2, 0x43, 0xf4, 0x5a, 0x71, 0x8c, 0x4a, + 0x13, 0xc2, 0xe3, 0x89, 0x28, 0xbc, 0x3e, 0xbc, 0x84, 0x0f, 0xe7, 0xe6, 0xb9, 0x02, 0x88, 0xe8, + 0x6d, 0xe9, 0x01, 0x56, 0x58, 0xa4, 0x86, 0xe5, 0x0e, 0x28, 0x4e, 0xa9, 0x61, 0xff, 0xa0, 0x05, + 0x27, 0xd5, 0x07, 0xbf, 0xef, 0x3e, 0xd3, 0xfe, 0xa9, 0x1c, 0x8c, 0x5d, 0x5b, 0x5f, 0xaf, 0x5c, + 0x25, 0x91, 0xb8, 0xb6, 0x7b, 0x9b, 0x31, 0x60, 0x4d, 0x1b, 0xdb, 0xed, 0x31, 0xd7, 0x8e, 0xdc, + 0xc6, 0x3c, 0x8f, 0xd3, 0x35, 0x5f, 0xf6, 0xa2, 0x9b, 0x41, 0x35, 0x0a, 0x5c, 0x6f, 0x2b, 0x55, + 0x7f, 0x2b, 0x99, 0x8b, 0x7c, 0x16, 0x73, 0x81, 0x9e, 0x87, 0x21, 0x16, 0x28, 0x4c, 0x4e, 0xc2, + 0xe3, 0xea, 0x2d, 0xc4, 0x4a, 0x0f, 0xf6, 0xe7, 0x8a, 0xb7, 0x70, 0x99, 0xff, 0xc1, 0x02, 0x15, + 0xdd, 0x82, 0x91, 0xed, 0x28, 0x6a, 0x5d, 0x23, 0x4e, 0x9d, 0x3e, 0x7a, 0xf9, 0x71, 0x78, 0x2e, + 0xed, 0x38, 0xa4, 0x83, 0xc0, 0xd1, 0xe2, 0x13, 0x24, 0x2e, 0x0b, 0xb1, 0x4e, 0xc7, 0xae, 0x02, + 0xc4, 0xb0, 0x23, 0x52, 0x44, 0xd9, 0xbf, 0x67, 0xc1, 0x30, 0x8f, 0xd9, 0x12, 0xa0, 0xd7, 0x60, + 0x80, 0xdc, 0x23, 0x35, 0xc1, 0xf1, 0xa6, 0x76, 0x38, 0xe6, 0xb4, 0xb8, 0x40, 0x9d, 0xfe, 0xc7, + 0xac, 0x16, 0xba, 0x06, 0xc3, 0xb4, 0xb7, 0x57, 0x55, 0x00, 0x9b, 0x27, 0xb2, 0xbe, 0x58, 0x4d, + 0x3b, 0x67, 0xce, 0x44, 0x11, 0x96, 0xd5, 0x99, 0xf6, 0xbf, 0xd6, 0xaa, 0xd2, 0x13, 0x3b, 0xea, + 0xc6, 0x58, 0xac, 0x2f, 0x55, 0x38, 0x92, 0xa0, 0xc6, 0xb5, 0xff, 0xb2, 0x10, 0xc7, 0x44, 0xec, + 0x75, 0x28, 0xd2, 0x49, 0x5d, 0x68, 0xb8, 0x4e, 0x77, 0x83, 0x86, 0xa7, 0xa1, 0x28, 0xcd, 0x15, + 0x42, 0x11, 0xab, 0x81, 0x51, 0x95, 0xd6, 0x0c, 0x21, 0x8e, 0xe1, 0xf6, 0x26, 0x9c, 0x60, 0x76, + 0xad, 0x4e, 0xb4, 0x6d, 0xec, 0xb1, 0xde, 0x8b, 0xf9, 0x19, 0xf1, 0x80, 0xe4, 0x33, 0x33, 0xa3, + 0xb9, 0x43, 0x8f, 0x4a, 0x8a, 0xf1, 0x63, 0xd2, 0xfe, 0x83, 0x01, 0x78, 0xbc, 0x5c, 0xcd, 0x0e, + 0xe7, 0xf3, 0x32, 0x8c, 0x72, 0xbe, 0x94, 0x2e, 0x6d, 0xa7, 0x21, 0xda, 0x55, 0xa2, 0xe3, 0x75, + 0x0d, 0x86, 0x0d, 0x4c, 0x74, 0x16, 0xf2, 0xee, 0xbb, 0x5e, 0xd2, 0x59, 0xb0, 0xfc, 0xe6, 0x1a, + 0xa6, 0xe5, 0x14, 0x4c, 0x59, 0x5c, 0x7e, 0x77, 0x28, 0xb0, 0x62, 0x73, 0x5f, 0x87, 0x71, 0x37, + 0xac, 0x85, 0x6e, 0xd9, 0xa3, 0xe7, 0x8c, 0x76, 0x52, 0x29, 0xe1, 0x06, 0xed, 0xb4, 0x82, 0xe2, + 0x04, 0xb6, 0x76, 0x91, 0x0d, 0xf6, 0xcd, 0x26, 0xf7, 0x0c, 0x5e, 0x40, 0x5f, 0x00, 0x2d, 0xf6, + 0x75, 0x21, 0x53, 0x89, 0x88, 0x17, 0x00, 0xff, 0xe0, 0x10, 0x4b, 0x18, 0x7d, 0x39, 0xd6, 0xb6, + 0x9d, 0xd6, 0x42, 0x3b, 0xda, 0x2e, 0xb9, 0x61, 0xcd, 0xdf, 0x25, 0xc1, 0x1e, 0x7b, 0xf4, 0x17, + 0xe2, 0x97, 0xa3, 0x02, 0x2c, 0x5d, 0x5b, 0xa8, 0x50, 0x4c, 0xdc, 0x59, 0x07, 0x2d, 0xc0, 0x84, + 0x2c, 0xac, 0x92, 0x90, 0x5d, 0x61, 0x23, 0x8c, 0x8c, 0x72, 0xdf, 0x13, 0xc5, 0x8a, 0x48, 0x12, + 0xdf, 0xe4, 0xa4, 0xe1, 0x28, 0x38, 0xe9, 0x97, 0x60, 0xcc, 0xf5, 0xdc, 0xc8, 0x75, 0x22, 0x9f, + 0xeb, 0xf3, 0xf8, 0xfb, 0x9e, 0x49, 0xe6, 0xcb, 0x3a, 0x00, 0x9b, 0x78, 0xf6, 0x7f, 0x1b, 0x80, + 0x29, 0x36, 0x6d, 0x1f, 0xac, 0xb0, 0xaf, 0xa5, 0x15, 0x76, 0xab, 0x73, 0x85, 0x1d, 0xc5, 0x13, + 0xe1, 0xa1, 0x97, 0xd9, 0x3b, 0x50, 0x54, 0x1e, 0x8b, 0xd2, 0x65, 0xd9, 0xca, 0x70, 0x59, 0xee, + 0xcd, 0x7d, 0x48, 0x13, 0xc1, 0x7c, 0xaa, 0x89, 0xe0, 0xf7, 0x59, 0x10, 0x6b, 0x64, 0xd0, 0x35, + 0x28, 0xb6, 0x7c, 0x66, 0x54, 0x1b, 0x48, 0x4b, 0xf5, 0xc7, 0x53, 0x2f, 0x2a, 0x7e, 0x29, 0xf2, + 0x8f, 0xaf, 0xc8, 0x1a, 0x38, 0xae, 0x8c, 0x16, 0x61, 0xb8, 0x15, 0x90, 0x6a, 0xc4, 0xa2, 0xfa, + 0xf4, 0xa4, 0xc3, 0xd7, 0x08, 0xc7, 0xc7, 0xb2, 0xa2, 0xfd, 0xd3, 0x16, 0x00, 0xb7, 0xc2, 0x73, + 0xbc, 0x2d, 0x72, 0x0c, 0x52, 0xeb, 0x12, 0x0c, 0x84, 0x2d, 0x52, 0xeb, 0x66, 0xee, 0x1c, 0xf7, + 0xa7, 0xda, 0x22, 0xb5, 0x78, 0xc0, 0xe9, 0x3f, 0xcc, 0x6a, 0xdb, 0xdf, 0x0a, 0x30, 0x1e, 0xa3, + 0x95, 0x23, 0xd2, 0x44, 0xcf, 0x1a, 0x51, 0x3e, 0x4e, 0x27, 0xa2, 0x7c, 0x14, 0x19, 0xb6, 0x26, + 0x20, 0x7d, 0x07, 0xf2, 0x4d, 0xe7, 0x9e, 0x90, 0x80, 0x3d, 0xdd, 0xbd, 0x1b, 0x94, 0xfe, 0xfc, + 0xaa, 0x73, 0x8f, 0x3f, 0x12, 0x9f, 0x96, 0x0b, 0x64, 0xd5, 0xb9, 0xd7, 0x53, 0xcd, 0x4b, 0x1b, + 0x61, 0x6d, 0xb9, 0x9e, 0x30, 0x30, 0xeb, 0xab, 0x2d, 0xd7, 0x4b, 0xb6, 0xe5, 0x7a, 0x7d, 0xb4, + 0xe5, 0x7a, 0xe8, 0x3e, 0x0c, 0x0b, 0xfb, 0x4f, 0x11, 0x55, 0xeb, 0x72, 0x1f, 0xed, 0x09, 0xf3, + 0x51, 0xde, 0xe6, 0x65, 0xf9, 0x08, 0x16, 0xa5, 0x3d, 0xdb, 0x95, 0x0d, 0xa2, 0xbf, 0x65, 0xc1, + 0xb8, 0xf8, 0x8d, 0xc9, 0xbb, 0x6d, 0x12, 0x46, 0x82, 0xf7, 0xfc, 0x78, 0xff, 0x7d, 0x10, 0x15, + 0x79, 0x57, 0x3e, 0x2e, 0x8f, 0x59, 0x13, 0xd8, 0xb3, 0x47, 0x89, 0x5e, 0xa0, 0x7f, 0x62, 0xc1, + 0x89, 0xa6, 0x73, 0x8f, 0xb7, 0xc8, 0xcb, 0xb0, 0x13, 0xb9, 0xbe, 0xb0, 0xa3, 0x78, 0xad, 0xbf, + 0xe9, 0xef, 0xa8, 0xce, 0x3b, 0x29, 0xb5, 0x9b, 0x27, 0xd2, 0x50, 0x7a, 0x76, 0x35, 0xb5, 0x5f, + 0xb3, 0x9b, 0x50, 0x90, 0xeb, 0xed, 0x51, 0x2a, 0xe8, 0x58, 0x3b, 0x62, 0xad, 0x3d, 0xd2, 0x76, + 0xde, 0x81, 0x51, 0x7d, 0x8d, 0x3d, 0xd2, 0xb6, 0xde, 0x85, 0xe9, 0x94, 0xb5, 0xf4, 0x48, 0x9b, + 0xbc, 0x0b, 0xa7, 0x33, 0xd7, 0xc7, 0x23, 0x55, 0xb0, 0xfe, 0x94, 0xa5, 0x9f, 0x83, 0xc7, 0xa0, + 0x3a, 0x58, 0x32, 0x55, 0x07, 0xe7, 0xba, 0xef, 0x9c, 0x0c, 0xfd, 0xc1, 0xdb, 0x7a, 0xa7, 0xe9, + 0xa9, 0x8e, 0xde, 0x80, 0xa1, 0x06, 0x2d, 0x91, 0x56, 0xc4, 0x76, 0xef, 0x1d, 0x19, 0xf3, 0x52, + 0xac, 0x3c, 0xc4, 0x82, 0x82, 0xfd, 0x73, 0x16, 0x0c, 0x1c, 0xc3, 0x48, 0x60, 0x73, 0x24, 0x9e, + 0xcd, 0x24, 0x2d, 0x02, 0x7e, 0xcf, 0x63, 0xe7, 0xee, 0xf2, 0xbd, 0x88, 0x78, 0x21, 0x7b, 0x2a, + 0xa6, 0x0e, 0xcc, 0x5f, 0x82, 0xe9, 0x1b, 0xbe, 0x53, 0x5f, 0x74, 0x1a, 0x8e, 0x57, 0x23, 0x41, + 0xd9, 0xdb, 0x3a, 0x94, 0x05, 0x7c, 0xae, 0x97, 0x05, 0xbc, 0xbd, 0x0d, 0x48, 0x6f, 0x40, 0x78, + 0x29, 0x61, 0x18, 0x76, 0x79, 0x53, 0x62, 0xf8, 0x9f, 0x4c, 0x67, 0xcd, 0x3a, 0x7a, 0xa6, 0xf9, + 0xdf, 0xf0, 0x02, 0x2c, 0x09, 0xd9, 0x2f, 0x43, 0x6a, 0x84, 0x89, 0xde, 0x62, 0x03, 0xfb, 0xd3, + 0x30, 0xc5, 0x6a, 0x1e, 0xf2, 0x49, 0x6b, 0x27, 0xa4, 0x92, 0x29, 0xb1, 0x27, 0xed, 0x2f, 0x58, + 0x30, 0xb1, 0x96, 0x08, 0xc9, 0x77, 0x91, 0xe9, 0x31, 0x53, 0x84, 0xe1, 0x55, 0x56, 0x8a, 0x05, + 0xf4, 0xc8, 0x65, 0x50, 0x7f, 0x6e, 0x41, 0x1c, 0xf4, 0xe5, 0x18, 0x18, 0xaf, 0x25, 0x83, 0xf1, + 0x4a, 0x95, 0x8d, 0xa8, 0xee, 0x64, 0xf1, 0x5d, 0xe8, 0xba, 0x0a, 0x87, 0xd6, 0x45, 0x2c, 0x12, + 0x93, 0xe1, 0xc1, 0xb3, 0xc6, 0xcd, 0x98, 0x69, 0x32, 0x40, 0x9a, 0xfd, 0x9f, 0x73, 0x80, 0x14, + 0x6e, 0xdf, 0xe1, 0xda, 0x3a, 0x6b, 0x1c, 0x4d, 0xb8, 0xb6, 0x5d, 0x40, 0x4c, 0x13, 0x1f, 0x38, + 0x5e, 0xc8, 0xc9, 0xba, 0x42, 0xea, 0x76, 0x38, 0x35, 0xff, 0xac, 0x34, 0x0a, 0xbc, 0xd1, 0x41, + 0x0d, 0xa7, 0xb4, 0xa0, 0x59, 0x58, 0x0c, 0xf6, 0x6b, 0x61, 0x31, 0xd4, 0xc3, 0x13, 0xf1, 0x27, + 0x2d, 0x18, 0x53, 0xc3, 0xf4, 0x3e, 0x31, 0xe6, 0x57, 0xfd, 0xc9, 0x38, 0xfa, 0x2a, 0x5a, 0x97, + 0xd9, 0x95, 0xf0, 0x49, 0xe6, 0x51, 0xea, 0x34, 0xdc, 0xfb, 0x44, 0x05, 0xcb, 0x9c, 0x13, 0x1e, + 0xa2, 0xa2, 0xf4, 0x60, 0x7f, 0x6e, 0x4c, 0xfd, 0xe3, 0xc1, 0xb9, 0xe3, 0x2a, 0xf6, 0x8f, 0xd0, + 0xcd, 0x6e, 0x2e, 0x45, 0xf4, 0x22, 0x0c, 0xb6, 0xb6, 0x9d, 0x90, 0x24, 0x9c, 0x9e, 0x06, 0x2b, + 0xb4, 0xf0, 0x60, 0x7f, 0x6e, 0x5c, 0x55, 0x60, 0x25, 0x98, 0x63, 0xf7, 0x1f, 0x04, 0xaf, 0x73, + 0x71, 0xf6, 0x0c, 0x82, 0xf7, 0xc7, 0x16, 0x0c, 0xac, 0xf9, 0xf5, 0xe3, 0x38, 0x02, 0x5e, 0x37, + 0x8e, 0x80, 0x33, 0x59, 0x79, 0x13, 0x32, 0x77, 0xff, 0x4a, 0x62, 0xf7, 0x9f, 0xcb, 0xa4, 0xd0, + 0x7d, 0xe3, 0x37, 0x61, 0x84, 0x65, 0x63, 0x10, 0x0e, 0x5e, 0xcf, 0x1b, 0x1b, 0x7e, 0x2e, 0xb1, + 0xe1, 0x27, 0x34, 0x54, 0x6d, 0xa7, 0x3f, 0x05, 0xc3, 0xc2, 0x63, 0x28, 0xe9, 0x98, 0x2b, 0x70, + 0xb1, 0x84, 0xdb, 0x3f, 0x94, 0x07, 0x23, 0xfb, 0x03, 0xfa, 0x05, 0x0b, 0xe6, 0x03, 0x6e, 0x49, + 0x5c, 0x2f, 0xb5, 0x03, 0xd7, 0xdb, 0xaa, 0xd6, 0xb6, 0x49, 0xbd, 0xdd, 0x70, 0xbd, 0xad, 0xf2, + 0x96, 0xe7, 0xab, 0xe2, 0xe5, 0x7b, 0xa4, 0xd6, 0x66, 0xea, 0xab, 0x1e, 0xa9, 0x26, 0x94, 0x45, + 0xfe, 0x95, 0x07, 0xfb, 0x73, 0xf3, 0xf8, 0x50, 0xb4, 0xf1, 0x21, 0xfb, 0x82, 0x7e, 0xdd, 0x82, + 0xcb, 0x3c, 0x29, 0x42, 0xff, 0xfd, 0xef, 0xf2, 0xce, 0xad, 0x48, 0x52, 0x31, 0x91, 0x75, 0x12, + 0x34, 0x17, 0x5f, 0x12, 0x03, 0x7a, 0xb9, 0x72, 0xb8, 0xb6, 0xf0, 0x61, 0x3b, 0x67, 0xff, 0xab, + 0x3c, 0x8c, 0x89, 0x60, 0x69, 0xe2, 0x0e, 0x78, 0xd1, 0x58, 0x12, 0x4f, 0x24, 0x96, 0xc4, 0x94, + 0x81, 0x7c, 0x34, 0xc7, 0x7f, 0x08, 0x53, 0xf4, 0x70, 0xbe, 0x46, 0x9c, 0x20, 0xda, 0x20, 0x0e, + 0x37, 0x9c, 0xca, 0x1f, 0xfa, 0xf4, 0x57, 0x82, 0xb5, 0x1b, 0x49, 0x62, 0xb8, 0x93, 0xfe, 0xd7, + 0xd2, 0x9d, 0xe3, 0xc1, 0x64, 0x47, 0xbc, 0xbb, 0xb7, 0xa0, 0xa8, 0xdc, 0x5d, 0xc4, 0xa1, 0xd3, + 0x3d, 0x6c, 0x64, 0x92, 0x02, 0x17, 0x7e, 0xc5, 0xae, 0x56, 0x31, 0x39, 0xfb, 0x27, 0x72, 0x46, + 0x83, 0x7c, 0x12, 0xd7, 0xa0, 0xe0, 0x84, 0xa1, 0xbb, 0xe5, 0x91, 0xba, 0xd8, 0xb1, 0x1f, 0xce, + 0xda, 0xb1, 0x46, 0x33, 0xcc, 0xe5, 0x68, 0x41, 0xd4, 0xc4, 0x8a, 0x06, 0xba, 0xc6, 0xcd, 0xd3, + 0x76, 0xe5, 0x4b, 0xad, 0x3f, 0x6a, 0x20, 0x0d, 0xd8, 0x76, 0x09, 0x16, 0xf5, 0xd1, 0x67, 0xb8, + 0xfd, 0xe0, 0x75, 0xcf, 0xbf, 0xeb, 0x5d, 0xf5, 0x7d, 0x19, 0x19, 0xa3, 0x3f, 0x82, 0x53, 0xd2, + 0x6a, 0x50, 0x55, 0xc7, 0x26, 0xb5, 0xfe, 0x02, 0xc8, 0x7e, 0x23, 0x4c, 0x53, 0xd2, 0xa6, 0x77, + 0x79, 0x88, 0x08, 0x4c, 0x88, 0x48, 0x7c, 0xb2, 0x4c, 0x8c, 0x5d, 0xea, 0x23, 0xcc, 0xac, 0x1d, + 0x4b, 0x80, 0xaf, 0x9b, 0x24, 0x70, 0x92, 0xa6, 0xfd, 0xa3, 0x16, 0x30, 0x4f, 0xdb, 0x63, 0xe0, + 0x47, 0x3e, 0x61, 0xf2, 0x23, 0x33, 0x59, 0x83, 0x9c, 0xc1, 0x8a, 0xbc, 0xc0, 0x57, 0x56, 0x25, + 0xf0, 0xef, 0xed, 0x09, 0xa3, 0x8f, 0xde, 0xef, 0x0f, 0xfb, 0xff, 0x58, 0xfc, 0x10, 0x53, 0x76, + 0xd6, 0xe8, 0x9b, 0xa0, 0x50, 0x73, 0x5a, 0x4e, 0x8d, 0xa7, 0x2a, 0xca, 0x94, 0xc5, 0x19, 0x95, + 0xe6, 0x97, 0x44, 0x0d, 0x2e, 0x5b, 0x92, 0x11, 0x1d, 0x0b, 0xb2, 0xb8, 0xa7, 0x3c, 0x49, 0x35, + 0x39, 0xbb, 0x03, 0x63, 0x06, 0xb1, 0x47, 0x2a, 0x88, 0xf8, 0x26, 0x7e, 0xc5, 0xaa, 0x08, 0xa4, + 0x4d, 0x98, 0xf2, 0xb4, 0xff, 0xf4, 0x42, 0x91, 0x8f, 0xcb, 0x0f, 0xf7, 0xba, 0x44, 0xd9, 0xed, + 0xa3, 0x39, 0xf1, 0x26, 0xc8, 0xe0, 0x4e, 0xca, 0xf6, 0x0f, 0x5b, 0xf0, 0x98, 0x8e, 0xa8, 0xf9, + 0x09, 0xf5, 0x92, 0xee, 0x97, 0xa0, 0xe0, 0xb7, 0x48, 0xe0, 0x44, 0x7e, 0x20, 0x6e, 0x8d, 0x4b, + 0x72, 0xd0, 0x6f, 0x8a, 0xf2, 0x03, 0x11, 0xe8, 0x5f, 0x52, 0x97, 0xe5, 0x58, 0xd5, 0xa4, 0xaf, + 0x4f, 0x36, 0x18, 0xa1, 0xf0, 0x08, 0x63, 0x67, 0x00, 0x53, 0x74, 0x87, 0x58, 0x40, 0xec, 0x3f, + 0xb0, 0xf8, 0xc2, 0xd2, 0xbb, 0x8e, 0xde, 0x85, 0xc9, 0xa6, 0x13, 0xd5, 0xb6, 0x97, 0xef, 0xb5, + 0x02, 0xae, 0x2b, 0x91, 0xe3, 0xf4, 0x74, 0xaf, 0x71, 0xd2, 0x3e, 0x32, 0x36, 0x89, 0x5c, 0x4d, + 0x10, 0xc3, 0x1d, 0xe4, 0xd1, 0x06, 0x8c, 0xb0, 0x32, 0xe6, 0xec, 0x18, 0x76, 0x63, 0x0d, 0xb2, + 0x5a, 0x53, 0xb6, 0x02, 0xab, 0x31, 0x1d, 0xac, 0x13, 0xb5, 0x7f, 0x3c, 0xcf, 0x77, 0x3b, 0x63, + 0xe5, 0x9f, 0x82, 0xe1, 0x96, 0x5f, 0x5f, 0x2a, 0x97, 0xb0, 0x98, 0x05, 0x75, 0x8d, 0x54, 0x78, + 0x31, 0x96, 0x70, 0x74, 0x09, 0x0a, 0xe2, 0xa7, 0xd4, 0x6d, 0xb1, 0xb3, 0x59, 0xe0, 0x85, 0x58, + 0x41, 0xd1, 0x15, 0x80, 0x56, 0xe0, 0xef, 0xba, 0x75, 0x16, 0xdf, 0x23, 0x6f, 0x9a, 0xf9, 0x54, + 0x14, 0x04, 0x6b, 0x58, 0xe8, 0x55, 0x18, 0x6b, 0x7b, 0x21, 0x67, 0x47, 0xb4, 0x20, 0xca, 0xca, + 0x00, 0xe5, 0x96, 0x0e, 0xc4, 0x26, 0x2e, 0x5a, 0x80, 0xa1, 0xc8, 0x61, 0x66, 0x2b, 0x83, 0xd9, + 0x66, 0xb3, 0xeb, 0x14, 0x43, 0xcf, 0x8a, 0x43, 0x2b, 0x60, 0x51, 0x11, 0xbd, 0x25, 0xfd, 0x8e, + 0xf9, 0xc1, 0x2e, 0xec, 0xd5, 0xfb, 0xbb, 0x04, 0x34, 0xaf, 0x63, 0x61, 0x07, 0x6f, 0xd0, 0x42, + 0xaf, 0x00, 0x90, 0x7b, 0x11, 0x09, 0x3c, 0xa7, 0xa1, 0xac, 0xc2, 0x14, 0x5f, 0x50, 0xf2, 0xd7, + 0xfc, 0xe8, 0x56, 0x48, 0x96, 0x15, 0x06, 0xd6, 0xb0, 0xed, 0x5f, 0x2f, 0x02, 0xc4, 0x7c, 0x3b, + 0xba, 0xdf, 0x71, 0x70, 0x3d, 0xd3, 0x9d, 0xd3, 0x3f, 0xba, 0x53, 0x0b, 0x7d, 0x9b, 0x05, 0x23, + 0x0e, 0xf7, 0x50, 0x61, 0x33, 0x94, 0xeb, 0x7e, 0x70, 0x8a, 0xf6, 0x17, 0xe2, 0x1a, 0xbc, 0x0b, + 0xcf, 0xcb, 0x15, 0xaa, 0x41, 0x7a, 0xf6, 0x42, 0x6f, 0x18, 0x7d, 0x4c, 0x3e, 0x15, 0xf3, 0xc6, + 0x50, 0xaa, 0xa7, 0x62, 0x91, 0xdd, 0x11, 0xfa, 0x2b, 0xf1, 0x96, 0xf1, 0x4a, 0x1c, 0xc8, 0x76, + 0xac, 0x34, 0xd8, 0xd7, 0x5e, 0x0f, 0x44, 0x54, 0xd1, 0x83, 0x2c, 0x0c, 0x66, 0xbb, 0xed, 0x69, + 0xef, 0xa4, 0x1e, 0x01, 0x16, 0xde, 0x81, 0x89, 0xba, 0xc9, 0x04, 0x88, 0x95, 0xf8, 0x64, 0x16, + 0xdd, 0x04, 0xcf, 0x10, 0x5f, 0xfb, 0x09, 0x00, 0x4e, 0x12, 0x46, 0x15, 0x1e, 0x73, 0xa3, 0xec, + 0x6d, 0xfa, 0xc2, 0x67, 0xc2, 0xce, 0x9c, 0xcb, 0xbd, 0x30, 0x22, 0x4d, 0x8a, 0x19, 0xdf, 0xee, + 0x6b, 0xa2, 0x2e, 0x56, 0x54, 0xd0, 0x1b, 0x30, 0xc4, 0xfc, 0xb6, 0xc2, 0x99, 0x42, 0xb6, 0xac, + 0xd8, 0x8c, 0x4f, 0x17, 0x6f, 0x48, 0xf6, 0x37, 0xc4, 0x82, 0x02, 0xba, 0x26, 0xbd, 0x22, 0xc3, + 0xb2, 0x77, 0x2b, 0x24, 0xcc, 0x2b, 0xb2, 0xb8, 0xf8, 0xe1, 0xd8, 0xe1, 0x91, 0x97, 0xa7, 0xe6, + 0xce, 0x33, 0x6a, 0x52, 0x2e, 0x4a, 0xfc, 0x97, 0x29, 0xf9, 0x66, 0x20, 0xbb, 0x7b, 0x66, 0xda, + 0xbe, 0x78, 0x38, 0x6f, 0x9b, 0x24, 0x70, 0x92, 0x26, 0xe5, 0x48, 0xf9, 0xae, 0x17, 0x5e, 0x17, + 0xbd, 0xce, 0x0e, 0xfe, 0x10, 0x67, 0xb7, 0x11, 0x2f, 0xc1, 0xa2, 0xfe, 0xb1, 0xb2, 0x07, 0xb3, + 0x1e, 0x4c, 0x26, 0xb7, 0xe8, 0x23, 0x65, 0x47, 0x7e, 0x6f, 0x00, 0xc6, 0xcd, 0x25, 0x85, 0x2e, + 0x43, 0x51, 0x10, 0x51, 0x69, 0x34, 0xd4, 0x2e, 0x59, 0x95, 0x00, 0x1c, 0xe3, 0xb0, 0xec, 0x29, + 0xac, 0xba, 0x66, 0x66, 0x1b, 0x67, 0x4f, 0x51, 0x10, 0xac, 0x61, 0xd1, 0x87, 0xd5, 0x86, 0xef, + 0x47, 0xea, 0x42, 0x52, 0xeb, 0x6e, 0x91, 0x95, 0x62, 0x01, 0xa5, 0x17, 0xd1, 0x0e, 0x09, 0x3c, + 0xd2, 0x30, 0x03, 0x6e, 0xab, 0x8b, 0xe8, 0xba, 0x0e, 0xc4, 0x26, 0x2e, 0xbd, 0x4e, 0xfd, 0x90, + 0x2d, 0x64, 0xf1, 0x7c, 0x8b, 0xcd, 0x96, 0xab, 0xdc, 0x4f, 0x5d, 0xc2, 0xd1, 0xa7, 0xe1, 0x31, + 0x15, 0xdd, 0x0a, 0x73, 0x3d, 0x84, 0x6c, 0x71, 0xc8, 0x90, 0xb6, 0x3c, 0xb6, 0x94, 0x8e, 0x86, + 0xb3, 0xea, 0xa3, 0xd7, 0x61, 0x5c, 0xb0, 0xf8, 0x92, 0xe2, 0xb0, 0x69, 0x1a, 0x73, 0xdd, 0x80, + 0xe2, 0x04, 0xb6, 0x0c, 0x19, 0xce, 0xb8, 0x6c, 0x49, 0xa1, 0xd0, 0x19, 0x32, 0x5c, 0x87, 0xe3, + 0x8e, 0x1a, 0x68, 0x01, 0x26, 0x38, 0x0f, 0xe6, 0x7a, 0x5b, 0x7c, 0x4e, 0x84, 0x53, 0x94, 0xda, + 0x52, 0x37, 0x4d, 0x30, 0x4e, 0xe2, 0xa3, 0x97, 0x61, 0xd4, 0x09, 0x6a, 0xdb, 0x6e, 0x44, 0x6a, + 0x51, 0x3b, 0xe0, 0xde, 0x52, 0x9a, 0x6d, 0xd1, 0x82, 0x06, 0xc3, 0x06, 0xa6, 0x7d, 0x1f, 0xa6, + 0x53, 0x02, 0x58, 0xd0, 0x85, 0xe3, 0xb4, 0x5c, 0xf9, 0x4d, 0x09, 0x03, 0xe4, 0x85, 0x4a, 0x59, + 0x7e, 0x8d, 0x86, 0x45, 0x57, 0x27, 0x0b, 0x74, 0xa1, 0x65, 0xe0, 0x54, 0xab, 0x73, 0x45, 0x02, + 0x70, 0x8c, 0x63, 0xff, 0xaf, 0x1c, 0x4c, 0xa4, 0xe8, 0x56, 0x58, 0x16, 0xc8, 0xc4, 0x23, 0x25, + 0x4e, 0xfa, 0x68, 0x46, 0xa0, 0xcf, 0x1d, 0x22, 0x02, 0x7d, 0xbe, 0x57, 0x04, 0xfa, 0x81, 0xf7, + 0x12, 0x81, 0xde, 0x1c, 0xb1, 0xc1, 0xbe, 0x46, 0x2c, 0x25, 0x6a, 0xfd, 0xd0, 0x21, 0xa3, 0xd6, + 0x1b, 0x83, 0x3e, 0xdc, 0xc7, 0xa0, 0x7f, 0x6f, 0x0e, 0x26, 0x93, 0x36, 0x90, 0xc7, 0x20, 0xb7, + 0x7d, 0xc3, 0x90, 0xdb, 0xa6, 0xe7, 0x54, 0x4d, 0x5a, 0x66, 0x66, 0xc9, 0x70, 0x71, 0x42, 0x86, + 0xfb, 0xd1, 0xbe, 0xa8, 0x75, 0x97, 0xe7, 0xfe, 0xfd, 0x1c, 0x9c, 0x4c, 0x56, 0x59, 0x6a, 0x38, + 0x6e, 0xf3, 0x18, 0xc6, 0xe6, 0xa6, 0x31, 0x36, 0xcf, 0xf6, 0xf3, 0x35, 0xac, 0x6b, 0x99, 0x03, + 0x74, 0x27, 0x31, 0x40, 0x97, 0xfb, 0x27, 0xd9, 0x7d, 0x94, 0xbe, 0x92, 0x87, 0x73, 0xa9, 0xf5, + 0x62, 0xb1, 0xe7, 0x8a, 0x21, 0xf6, 0xbc, 0x92, 0x10, 0x7b, 0xda, 0xdd, 0x6b, 0x1f, 0x8d, 0x1c, + 0x54, 0x38, 0xba, 0xb2, 0xf0, 0x03, 0x0f, 0x29, 0x03, 0x35, 0x1c, 0x5d, 0x15, 0x21, 0x6c, 0xd2, + 0xfd, 0x5a, 0x92, 0x7d, 0xfe, 0x5b, 0x0b, 0x4e, 0xa7, 0xce, 0xcd, 0x31, 0xc8, 0xba, 0xd6, 0x4c, + 0x59, 0xd7, 0x53, 0x7d, 0xaf, 0xd6, 0x0c, 0xe1, 0xd7, 0xaf, 0x0c, 0x64, 0x7c, 0x0b, 0x7b, 0xc9, + 0xdf, 0x84, 0x11, 0xa7, 0x56, 0x23, 0x61, 0xb8, 0xea, 0xd7, 0x55, 0xb4, 0xe7, 0x67, 0xd9, 0x3b, + 0x2b, 0x2e, 0x3e, 0xd8, 0x9f, 0x9b, 0x4d, 0x92, 0x88, 0xc1, 0x58, 0xa7, 0x80, 0x3e, 0x03, 0x85, + 0x50, 0xdc, 0x9b, 0x62, 0xee, 0x9f, 0xef, 0x73, 0x70, 0x9c, 0x0d, 0xd2, 0x30, 0x63, 0x46, 0x29, + 0x49, 0x85, 0x22, 0x69, 0xc6, 0x97, 0xc9, 0x1d, 0x69, 0x7c, 0x99, 0x2b, 0x00, 0xbb, 0xea, 0x31, + 0x90, 0x94, 0x3f, 0x68, 0xcf, 0x04, 0x0d, 0x0b, 0x7d, 0x3d, 0x4c, 0x86, 0x3c, 0xa8, 0xe2, 0x52, + 0xc3, 0x09, 0x99, 0x9b, 0x8b, 0x58, 0x85, 0x2c, 0x2e, 0x55, 0x35, 0x01, 0xc3, 0x1d, 0xd8, 0x68, + 0x45, 0xb6, 0xca, 0x22, 0x40, 0xf2, 0x85, 0x79, 0x31, 0x6e, 0x51, 0xe4, 0xa0, 0x3e, 0x91, 0x1c, + 0x7e, 0x36, 0xf0, 0x5a, 0x4d, 0xf4, 0x19, 0x00, 0xba, 0x7c, 0x84, 0x1c, 0x62, 0x38, 0xfb, 0xf0, + 0xa4, 0xa7, 0x4a, 0x3d, 0xd5, 0x2a, 0x97, 0xf9, 0xa6, 0x96, 0x14, 0x11, 0xac, 0x11, 0xb4, 0xbf, + 0x77, 0x00, 0x1e, 0xef, 0x72, 0x46, 0xa2, 0x05, 0x53, 0x0f, 0xfb, 0x74, 0xf2, 0x71, 0x3d, 0x9b, + 0x5a, 0xd9, 0x78, 0x6d, 0x27, 0x96, 0x62, 0xee, 0x3d, 0x2f, 0xc5, 0xef, 0xb2, 0x34, 0xb1, 0x07, + 0xb7, 0xd5, 0xfc, 0xc4, 0x21, 0xcf, 0xfe, 0x23, 0x94, 0x83, 0x6c, 0xa6, 0x08, 0x13, 0xae, 0xf4, + 0xdd, 0x9d, 0xbe, 0xa5, 0x0b, 0xc7, 0x2b, 0x25, 0xfe, 0xbc, 0x05, 0x4f, 0xa4, 0xf6, 0xd7, 0xb0, + 0xc8, 0xb9, 0x0c, 0xc5, 0x1a, 0x2d, 0xd4, 0x5c, 0x11, 0x63, 0x1f, 0x6d, 0x09, 0xc0, 0x31, 0x8e, + 0x61, 0x78, 0x93, 0xeb, 0x69, 0x78, 0xf3, 0x8b, 0x16, 0x74, 0xec, 0x8f, 0x63, 0x38, 0xa8, 0xcb, + 0xe6, 0x41, 0xfd, 0xe1, 0x7e, 0xe6, 0x32, 0xe3, 0x8c, 0xfe, 0xa3, 0x09, 0x38, 0x95, 0xe1, 0x8a, + 0xb3, 0x0b, 0x53, 0x5b, 0x35, 0x62, 0x3a, 0x79, 0x8a, 0x8f, 0x49, 0xf5, 0x87, 0xed, 0xea, 0x11, + 0xca, 0x12, 0xca, 0x4e, 0x75, 0xa0, 0xe0, 0xce, 0x26, 0xd0, 0xe7, 0x2d, 0x38, 0xe1, 0xdc, 0x0d, + 0x97, 0xe9, 0x85, 0xeb, 0xd6, 0x16, 0x1b, 0x7e, 0x6d, 0x87, 0x9e, 0x66, 0x72, 0xcd, 0xbc, 0x90, + 0x2a, 0x04, 0xb9, 0x53, 0xed, 0xc0, 0x37, 0x9a, 0x67, 0x19, 0x76, 0xd3, 0xb0, 0x70, 0x6a, 0x5b, + 0x08, 0x8b, 0xf8, 0xff, 0x94, 0x9d, 0xef, 0xe2, 0x86, 0x9c, 0xe6, 0x33, 0xc5, 0x6f, 0x10, 0x09, + 0xc1, 0x8a, 0x0e, 0xfa, 0x1c, 0x14, 0xb7, 0xa4, 0x23, 0x63, 0xca, 0x0d, 0x15, 0x0f, 0x64, 0x77, + 0xf7, 0x4e, 0xae, 0xc9, 0x54, 0x48, 0x38, 0x26, 0x8a, 0x5e, 0x87, 0xbc, 0xb7, 0x19, 0x76, 0x4b, + 0x52, 0x9b, 0x30, 0x59, 0xe3, 0xce, 0xfe, 0x6b, 0x2b, 0x55, 0x4c, 0x2b, 0xa2, 0x6b, 0x90, 0x0f, + 0x36, 0xea, 0x42, 0x82, 0x97, 0x7a, 0x86, 0xe3, 0xc5, 0x52, 0x46, 0xaf, 0x18, 0x25, 0xbc, 0x58, + 0xc2, 0x94, 0x04, 0xaa, 0xc0, 0x20, 0xf3, 0x5f, 0x11, 0xf7, 0x41, 0x2a, 0xe7, 0xdb, 0xc5, 0x0f, + 0x8c, 0x47, 0x04, 0x60, 0x08, 0x98, 0x13, 0x42, 0xeb, 0x30, 0x54, 0x63, 0x09, 0x4d, 0x45, 0x70, + 0xb7, 0x8f, 0xa5, 0xca, 0xea, 0xba, 0x64, 0x7a, 0x15, 0xa2, 0x2b, 0x86, 0x81, 0x05, 0x2d, 0x46, + 0x95, 0xb4, 0xb6, 0x37, 0x43, 0x91, 0x80, 0x3b, 0x9d, 0x6a, 0x97, 0x04, 0xc6, 0x82, 0x2a, 0xc3, + 0xc0, 0x82, 0x16, 0x7a, 0x05, 0x72, 0x9b, 0x35, 0xe1, 0x9b, 0x92, 0x2a, 0xb4, 0x33, 0xe3, 0x35, + 0x2c, 0x0e, 0x3d, 0xd8, 0x9f, 0xcb, 0xad, 0x2c, 0xe1, 0xdc, 0x66, 0x0d, 0xad, 0xc1, 0xf0, 0x26, + 0xf7, 0xf0, 0x16, 0x72, 0xb9, 0x27, 0xd3, 0x9d, 0xcf, 0x3b, 0x9c, 0xc0, 0xb9, 0x5b, 0x86, 0x00, + 0x60, 0x49, 0x84, 0x85, 0xd3, 0x57, 0x9e, 0xea, 0x22, 0xf0, 0xd7, 0xfc, 0xe1, 0xa2, 0x0b, 0xf0, + 0xfb, 0x39, 0xf6, 0x77, 0xc7, 0x1a, 0x45, 0xba, 0xaa, 0x9d, 0xfb, 0xed, 0x80, 0x05, 0x9b, 0x16, + 0x11, 0x55, 0x52, 0x57, 0xf5, 0x82, 0x44, 0xea, 0xb6, 0xaa, 0x15, 0x12, 0x8e, 0x89, 0xa2, 0x1d, + 0x18, 0xdb, 0x0d, 0x5b, 0xdb, 0x44, 0x6e, 0x69, 0x16, 0x60, 0x25, 0xe3, 0x0a, 0xbb, 0x2d, 0x10, + 0xdd, 0x20, 0x6a, 0x3b, 0x8d, 0x8e, 0x53, 0x88, 0xa9, 0xbf, 0x6f, 0xeb, 0xc4, 0xb0, 0x49, 0x9b, + 0x0e, 0xff, 0xbb, 0x6d, 0x7f, 0x63, 0x2f, 0x22, 0x22, 0x5e, 0x57, 0xea, 0xf0, 0xbf, 0xc9, 0x51, + 0x3a, 0x87, 0x5f, 0x00, 0xb0, 0x24, 0x82, 0x6e, 0x8b, 0xe1, 0x61, 0xa7, 0xe7, 0x64, 0x76, 0x8c, + 0xd1, 0x05, 0x89, 0x94, 0x31, 0x28, 0xec, 0xb4, 0x8c, 0x49, 0xb1, 0x53, 0xb2, 0xb5, 0xed, 0x47, + 0xbe, 0x97, 0x38, 0xa1, 0xa7, 0xb2, 0x4f, 0xc9, 0x4a, 0x0a, 0x7e, 0xe7, 0x29, 0x99, 0x86, 0x85, + 0x53, 0xdb, 0x42, 0x75, 0x18, 0x6f, 0xf9, 0x41, 0x74, 0xd7, 0x0f, 0xe4, 0xfa, 0x42, 0x5d, 0xe4, + 0x0a, 0x06, 0xa6, 0x68, 0x91, 0x85, 0xc2, 0x33, 0x21, 0x38, 0x41, 0x13, 0x7d, 0x0a, 0x86, 0xc3, + 0x9a, 0xd3, 0x20, 0xe5, 0x9b, 0x33, 0xd3, 0xd9, 0xd7, 0x4f, 0x95, 0xa3, 0x64, 0xac, 0x2e, 0x1e, + 0x7b, 0x9f, 0xa3, 0x60, 0x49, 0x0e, 0xad, 0xc0, 0x20, 0xcb, 0x52, 0xc7, 0x82, 0xcb, 0x65, 0x84, + 0x4a, 0xed, 0x30, 0x20, 0xe6, 0x67, 0x13, 0x2b, 0xc6, 0xbc, 0x3a, 0xdd, 0x03, 0x82, 0xbd, 0xf6, + 0xc3, 0x99, 0x93, 0xd9, 0x7b, 0x40, 0x70, 0xe5, 0x37, 0xab, 0xdd, 0xf6, 0x80, 0x42, 0xc2, 0x31, + 0x51, 0x7a, 0x32, 0xd3, 0xd3, 0xf4, 0x54, 0x17, 0xcb, 0x97, 0xcc, 0xb3, 0x94, 0x9d, 0xcc, 0xf4, + 0x24, 0xa5, 0x24, 0xec, 0xdf, 0x19, 0xee, 0xe4, 0x59, 0xd8, 0x83, 0xec, 0xaf, 0x59, 0x1d, 0xba, + 0xba, 0x8f, 0xf7, 0x2b, 0x1f, 0x3a, 0x42, 0x6e, 0xf5, 0xf3, 0x16, 0x9c, 0x6a, 0xa5, 0x7e, 0x88, + 0x60, 0x00, 0xfa, 0x13, 0x33, 0xf1, 0x4f, 0x57, 0x81, 0x08, 0xd3, 0xe1, 0x38, 0xa3, 0xa5, 0xe4, + 0x8b, 0x20, 0xff, 0x9e, 0x5f, 0x04, 0xab, 0x50, 0x60, 0x4c, 0x66, 0x8f, 0x04, 0xdf, 0xc9, 0x87, + 0x11, 0x63, 0x25, 0x96, 0x44, 0x45, 0xac, 0x48, 0xa0, 0xef, 0xb6, 0xe0, 0x6c, 0xb2, 0xeb, 0x98, + 0x30, 0xb0, 0x88, 0x5e, 0xc8, 0xdf, 0x82, 0x2b, 0xe2, 0xfb, 0xcf, 0x56, 0xba, 0x21, 0x1f, 0xf4, + 0x42, 0xc0, 0xdd, 0x1b, 0x43, 0xa5, 0x94, 0xc7, 0xe8, 0x90, 0x29, 0x80, 0xef, 0xe3, 0x41, 0xfa, + 0x02, 0x8c, 0x36, 0xfd, 0xb6, 0x17, 0x09, 0x43, 0x19, 0xa1, 0xb4, 0x67, 0xca, 0xea, 0x55, 0xad, + 0x1c, 0x1b, 0x58, 0x89, 0x67, 0x6c, 0xe1, 0xa1, 0x9f, 0xb1, 0x6f, 0xc3, 0xa8, 0xa7, 0x59, 0x76, + 0x0a, 0x7e, 0xe0, 0x62, 0x76, 0xe4, 0x51, 0xdd, 0x0e, 0x94, 0xf7, 0x52, 0x2f, 0xc1, 0x06, 0xb5, + 0xe3, 0x7d, 0x1b, 0x7d, 0xc9, 0x4a, 0x61, 0xea, 0xf9, 0x6b, 0xf9, 0x35, 0xf3, 0xb5, 0x7c, 0x31, + 0xf9, 0x5a, 0xee, 0x10, 0xbe, 0x1a, 0x0f, 0xe5, 0xfe, 0x53, 0xd8, 0xf4, 0x1b, 0xed, 0xcf, 0x6e, + 0xc0, 0xf9, 0x5e, 0xd7, 0x12, 0xb3, 0x98, 0xaa, 0x2b, 0x55, 0x5b, 0x6c, 0x31, 0x55, 0x2f, 0x97, + 0x30, 0x83, 0xf4, 0x1b, 0x47, 0xc6, 0xfe, 0x9f, 0x16, 0xe4, 0x2b, 0x7e, 0xfd, 0x18, 0x84, 0xc9, + 0x9f, 0x30, 0x84, 0xc9, 0x8f, 0xa7, 0x5f, 0x88, 0xf5, 0x4c, 0xd1, 0xf1, 0x72, 0x42, 0x74, 0x7c, + 0x36, 0x8b, 0x40, 0x77, 0x41, 0xf1, 0x8f, 0xe4, 0x61, 0xa4, 0xe2, 0xd7, 0x95, 0xb9, 0xf2, 0xaf, + 0x3c, 0x8c, 0xb9, 0x72, 0x66, 0xb6, 0x04, 0x8d, 0x32, 0x33, 0xb4, 0x92, 0x3e, 0x96, 0x7f, 0xc1, + 0xac, 0x96, 0xef, 0x10, 0x77, 0x6b, 0x3b, 0x22, 0xf5, 0xe4, 0xe7, 0x1c, 0x9f, 0xd5, 0xf2, 0x7f, + 0xb7, 0x60, 0x22, 0xd1, 0x3a, 0x6a, 0xc0, 0x58, 0x43, 0x17, 0x4c, 0x8a, 0x75, 0xfa, 0x50, 0x32, + 0x4d, 0x61, 0xf5, 0xa9, 0x15, 0x61, 0x93, 0x38, 0x9a, 0x07, 0x50, 0x9a, 0x3a, 0x29, 0x01, 0x63, + 0x5c, 0xbf, 0x52, 0xe5, 0x85, 0x58, 0xc3, 0x40, 0x2f, 0xc2, 0x48, 0xe4, 0xb7, 0xfc, 0x86, 0xbf, + 0xb5, 0x77, 0x9d, 0xc8, 0xc8, 0x45, 0xca, 0x96, 0x6b, 0x3d, 0x06, 0x61, 0x1d, 0xcf, 0xfe, 0xb1, + 0x3c, 0xff, 0x50, 0x2f, 0x72, 0x3f, 0x58, 0x93, 0xef, 0xef, 0x35, 0xf9, 0x15, 0x0b, 0x26, 0x69, + 0xeb, 0xcc, 0x5c, 0x44, 0x5e, 0xb6, 0x2a, 0xe2, 0xb0, 0xd5, 0x25, 0xe2, 0xf0, 0x45, 0x7a, 0x76, + 0xd5, 0xfd, 0x76, 0x24, 0x24, 0x68, 0xda, 0xe1, 0x44, 0x4b, 0xb1, 0x80, 0x0a, 0x3c, 0x12, 0x04, + 0xc2, 0xc5, 0x4d, 0xc7, 0x23, 0x41, 0x80, 0x05, 0x54, 0x06, 0x24, 0x1e, 0x48, 0x0f, 0x48, 0xcc, + 0xe3, 0x30, 0x0a, 0xc3, 0x02, 0xc1, 0xf6, 0x68, 0x71, 0x18, 0xa5, 0xc5, 0x41, 0x8c, 0x63, 0xff, + 0x54, 0x1e, 0x46, 0x2b, 0x7e, 0x3d, 0xd6, 0x95, 0xbd, 0x60, 0xe8, 0xca, 0xce, 0x27, 0x74, 0x65, + 0x93, 0x3a, 0xee, 0x07, 0x9a, 0xb1, 0xaf, 0x96, 0x66, 0xec, 0x5f, 0x5a, 0x6c, 0xd6, 0x4a, 0x6b, + 0x55, 0x6e, 0x7d, 0x84, 0x9e, 0x83, 0x11, 0x76, 0x20, 0x31, 0x9f, 0x4a, 0xa9, 0x40, 0x62, 0x79, + 0x87, 0xd6, 0xe2, 0x62, 0xac, 0xe3, 0xa0, 0x4b, 0x50, 0x08, 0x89, 0x13, 0xd4, 0xb6, 0xd5, 0x19, + 0x27, 0xb4, 0x3d, 0xbc, 0x0c, 0x2b, 0x28, 0x7a, 0x33, 0x0e, 0x01, 0x98, 0xcf, 0xf6, 0xd1, 0xd2, + 0xfb, 0xc3, 0xb7, 0x48, 0x76, 0xdc, 0x3f, 0xfb, 0x0e, 0xa0, 0x4e, 0xfc, 0x3e, 0x62, 0x5f, 0xcd, + 0x99, 0xb1, 0xaf, 0x8a, 0x1d, 0x71, 0xaf, 0xfe, 0xcc, 0x82, 0xf1, 0x8a, 0x5f, 0xa7, 0x5b, 0xf7, + 0x6b, 0x69, 0x9f, 0xea, 0xf1, 0x4f, 0x87, 0xba, 0xc4, 0x3f, 0xbd, 0x00, 0x83, 0x15, 0xbf, 0x5e, + 0xae, 0x74, 0xf3, 0x6d, 0xb6, 0xff, 0x81, 0x05, 0xc3, 0x15, 0xbf, 0x7e, 0x0c, 0xc2, 0xf9, 0xd7, + 0x4c, 0xe1, 0xfc, 0x63, 0x19, 0xeb, 0x26, 0x43, 0x1e, 0xff, 0x77, 0x07, 0x60, 0x8c, 0xf6, 0xd3, + 0xdf, 0x92, 0x53, 0x69, 0x0c, 0x9b, 0xd5, 0xc7, 0xb0, 0x51, 0x5e, 0xd8, 0x6f, 0x34, 0xfc, 0xbb, + 0xc9, 0x69, 0x5d, 0x61, 0xa5, 0x58, 0x40, 0xd1, 0x33, 0x50, 0x68, 0x05, 0x64, 0xd7, 0xf5, 0x05, + 0x93, 0xa9, 0xa9, 0x3a, 0x2a, 0xa2, 0x1c, 0x2b, 0x0c, 0xfa, 0x38, 0x0b, 0x5d, 0xaf, 0x46, 0xaa, + 0xa4, 0xe6, 0x7b, 0x75, 0x2e, 0xbf, 0xce, 0x8b, 0xa4, 0x03, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x1d, + 0x28, 0xb2, 0xff, 0xec, 0xd8, 0x39, 0x7c, 0xa2, 0x50, 0x91, 0xdd, 0x4d, 0x10, 0xc0, 0x31, 0x2d, + 0x74, 0x05, 0x20, 0x92, 0x81, 0xae, 0x43, 0x11, 0xe7, 0x48, 0x31, 0xe4, 0x2a, 0x04, 0x76, 0x88, + 0x35, 0x2c, 0xf4, 0x34, 0x14, 0x23, 0xc7, 0x6d, 0xdc, 0x70, 0x3d, 0x12, 0x32, 0xb9, 0x74, 0x5e, + 0x26, 0x59, 0x13, 0x85, 0x38, 0x86, 0x53, 0x86, 0x88, 0x05, 0x01, 0xe0, 0x69, 0x86, 0x0b, 0x0c, + 0x9b, 0x31, 0x44, 0x37, 0x54, 0x29, 0xd6, 0x30, 0xd0, 0x36, 0x9c, 0x71, 0x3d, 0x16, 0xa0, 0x9f, + 0x54, 0x77, 0xdc, 0xd6, 0xfa, 0x8d, 0xea, 0x6d, 0x12, 0xb8, 0x9b, 0x7b, 0x8b, 0x4e, 0x6d, 0x87, + 0x78, 0x32, 0x05, 0xe4, 0x87, 0x45, 0x17, 0xcf, 0x94, 0xbb, 0xe0, 0xe2, 0xae, 0x94, 0xec, 0x97, + 0xe1, 0x64, 0xc5, 0xaf, 0x57, 0xfc, 0x20, 0x5a, 0xf1, 0x83, 0xbb, 0x4e, 0x50, 0x97, 0x2b, 0x65, + 0x4e, 0xa6, 0x74, 0xa1, 0x47, 0xe1, 0x20, 0x3f, 0x28, 0x8c, 0xc4, 0x62, 0xcf, 0x33, 0xe6, 0xeb, + 0x90, 0xce, 0x28, 0x35, 0xc6, 0x06, 0xa8, 0x6c, 0x15, 0x57, 0x9d, 0x88, 0xa0, 0x9b, 0x2c, 0xdf, + 0x71, 0x7c, 0x23, 0x8a, 0xea, 0x4f, 0x69, 0xf9, 0x8e, 0x63, 0x60, 0xea, 0x15, 0x6a, 0xd6, 0xb7, + 0xff, 0xc6, 0x20, 0x3b, 0x1c, 0x13, 0x19, 0x0f, 0xd0, 0x67, 0x61, 0x3c, 0x24, 0x37, 0x5c, 0xaf, + 0x7d, 0x4f, 0xca, 0x04, 0xba, 0xb8, 0x13, 0x55, 0x97, 0x75, 0x4c, 0x2e, 0x59, 0x34, 0xcb, 0x70, + 0x82, 0x1a, 0x6a, 0xc2, 0xf8, 0x5d, 0xd7, 0xab, 0xfb, 0x77, 0x43, 0x49, 0xbf, 0x90, 0x2d, 0x60, + 0xbc, 0xc3, 0x31, 0x13, 0x7d, 0x34, 0x9a, 0xbb, 0x63, 0x10, 0xc3, 0x09, 0xe2, 0x74, 0x01, 0x06, + 0x6d, 0x6f, 0x21, 0xbc, 0x15, 0x92, 0x40, 0x64, 0xae, 0x66, 0x0b, 0x10, 0xcb, 0x42, 0x1c, 0xc3, + 0xe9, 0x02, 0x64, 0x7f, 0xae, 0x06, 0x7e, 0x9b, 0x87, 0xa3, 0x17, 0x0b, 0x10, 0xab, 0x52, 0xac, + 0x61, 0xd0, 0x0d, 0xca, 0xfe, 0xad, 0xf9, 0x1e, 0xf6, 0xfd, 0x48, 0x6e, 0x69, 0x96, 0xcb, 0x45, + 0x2b, 0xc7, 0x06, 0x16, 0x5a, 0x01, 0x14, 0xb6, 0x5b, 0xad, 0x06, 0xb3, 0x53, 0x70, 0x1a, 0x8c, + 0x14, 0xd7, 0x11, 0xe7, 0x79, 0x94, 0xce, 0x6a, 0x07, 0x14, 0xa7, 0xd4, 0xa0, 0x67, 0xf5, 0xa6, + 0xe8, 0xea, 0x20, 0xeb, 0x2a, 0x57, 0x46, 0x54, 0x79, 0x3f, 0x25, 0x0c, 0x2d, 0xc3, 0x70, 0xb8, + 0x17, 0xd6, 0x22, 0x11, 0x6e, 0x2c, 0x23, 0xc7, 0x4f, 0x95, 0xa1, 0x68, 0x29, 0xe6, 0x78, 0x15, + 0x2c, 0xeb, 0xa2, 0x1a, 0x4c, 0x0b, 0x8a, 0x4b, 0xdb, 0x8e, 0xa7, 0x52, 0x84, 0x70, 0x73, 0xcd, + 0xe7, 0x1e, 0xec, 0xcf, 0x4d, 0x8b, 0x96, 0x75, 0xf0, 0xc1, 0xfe, 0xdc, 0xa9, 0x8a, 0x5f, 0x4f, + 0x81, 0xe0, 0x34, 0x6a, 0xf6, 0x37, 0x31, 0x7e, 0x83, 0x25, 0x53, 0x8e, 0xda, 0x01, 0x41, 0x4d, + 0x18, 0x6b, 0xb1, 0x65, 0x2c, 0x82, 0xb8, 0x8b, 0xb5, 0xf8, 0x42, 0x9f, 0x82, 0x83, 0xbb, 0xf4, + 0x98, 0x56, 0x82, 0x3d, 0xf6, 0x22, 0xab, 0xe8, 0xe4, 0xb0, 0x49, 0xdd, 0xfe, 0xc1, 0xc7, 0xd8, + 0x8d, 0x55, 0xe5, 0xd2, 0x80, 0x61, 0x61, 0xbd, 0x2d, 0x9e, 0x3e, 0xb3, 0xd9, 0x62, 0xa9, 0x78, + 0xd8, 0x84, 0x05, 0x38, 0x96, 0x75, 0xd1, 0x67, 0x60, 0x9c, 0xbe, 0x24, 0xb4, 0x24, 0x16, 0x27, + 0xb2, 0xbd, 0xec, 0xe3, 0xdc, 0x15, 0x5a, 0x82, 0x07, 0xbd, 0x32, 0x4e, 0x10, 0x43, 0x6f, 0x32, + 0x3b, 0x03, 0x33, 0x3f, 0x46, 0x0f, 0xd2, 0xba, 0x49, 0x81, 0x24, 0xab, 0x11, 0xc9, 0xca, 0xbd, + 0x61, 0x3f, 0xda, 0xdc, 0x1b, 0xe8, 0x06, 0x8c, 0x89, 0x8c, 0xc2, 0x62, 0x65, 0xe5, 0x0d, 0x69, + 0xd9, 0x18, 0xd6, 0x81, 0x07, 0xc9, 0x02, 0x6c, 0x56, 0x46, 0x5b, 0x70, 0x56, 0xcb, 0x3b, 0x73, + 0x35, 0x70, 0x98, 0xca, 0xdb, 0x65, 0xc7, 0x9d, 0x76, 0x97, 0x3e, 0xf1, 0x60, 0x7f, 0xee, 0xec, + 0x7a, 0x37, 0x44, 0xdc, 0x9d, 0x0e, 0xba, 0x09, 0x27, 0xb9, 0x8f, 0x68, 0x89, 0x38, 0xf5, 0x86, + 0xeb, 0xa9, 0xcb, 0x9a, 0x6f, 0xc9, 0xd3, 0x0f, 0xf6, 0xe7, 0x4e, 0x2e, 0xa4, 0x21, 0xe0, 0xf4, + 0x7a, 0xe8, 0x35, 0x28, 0xd6, 0xbd, 0x50, 0x8c, 0xc1, 0x90, 0x91, 0xda, 0xa7, 0x58, 0x5a, 0xab, + 0xaa, 0xef, 0x8f, 0xff, 0xe0, 0xb8, 0x02, 0xda, 0xe2, 0x12, 0x55, 0x25, 0xc0, 0x18, 0xee, 0x88, + 0x6e, 0x93, 0x14, 0x85, 0x19, 0x5e, 0x62, 0x5c, 0x95, 0xa0, 0x8c, 0xa7, 0x0d, 0x07, 0x32, 0x83, + 0x30, 0x7a, 0x03, 0x10, 0xe5, 0xf0, 0xdd, 0x1a, 0x59, 0xa8, 0xb1, 0x0c, 0x01, 0x4c, 0x00, 0x5d, + 0x30, 0xfd, 0x96, 0xaa, 0x1d, 0x18, 0x38, 0xa5, 0x16, 0xba, 0x46, 0xaf, 0x1c, 0xbd, 0x54, 0x9c, + 0x2a, 0x2a, 0x2f, 0x5d, 0x89, 0xb4, 0x02, 0xc2, 0x92, 0xde, 0x98, 0x14, 0x71, 0xa2, 0x1e, 0xaa, + 0xc3, 0x19, 0xa7, 0x1d, 0xf9, 0x4c, 0x58, 0x6d, 0xa2, 0xae, 0xfb, 0x3b, 0xc4, 0x63, 0x7a, 0xa2, + 0xc2, 0xe2, 0x79, 0xca, 0x0d, 0x2c, 0x74, 0xc1, 0xc3, 0x5d, 0xa9, 0x50, 0x2e, 0x4e, 0x25, 0xa2, + 0x05, 0x33, 0x68, 0x4f, 0x4a, 0x32, 0xda, 0x17, 0x61, 0x64, 0xdb, 0x0f, 0xa3, 0x35, 0x12, 0xdd, + 0xf5, 0x83, 0x1d, 0x11, 0x7a, 0x31, 0x0e, 0xd7, 0x1b, 0x83, 0xb0, 0x8e, 0x47, 0x9f, 0x69, 0xcc, + 0x8a, 0xa1, 0x5c, 0x62, 0x0a, 0xe4, 0x42, 0x7c, 0xc6, 0x5c, 0xe3, 0xc5, 0x58, 0xc2, 0x25, 0x6a, + 0xb9, 0xb2, 0xc4, 0x94, 0xc1, 0x09, 0xd4, 0x72, 0x65, 0x09, 0x4b, 0x38, 0x5d, 0xae, 0xe1, 0xb6, + 0x13, 0x90, 0x4a, 0xe0, 0xd7, 0x48, 0xa8, 0x05, 0x89, 0x7e, 0x9c, 0x07, 0x96, 0xa4, 0xcb, 0xb5, + 0x9a, 0x86, 0x80, 0xd3, 0xeb, 0x21, 0xd2, 0x99, 0x73, 0x69, 0x3c, 0x5b, 0x8a, 0xdf, 0xc9, 0x6f, + 0xf4, 0x99, 0x76, 0xc9, 0x83, 0x49, 0x95, 0xed, 0x89, 0x87, 0x92, 0x0c, 0x67, 0x26, 0xd8, 0xda, + 0xee, 0x3f, 0x0e, 0xa5, 0xd2, 0x8b, 0x94, 0x13, 0x94, 0x70, 0x07, 0x6d, 0x23, 0x2e, 0xd3, 0x64, + 0xcf, 0xcc, 0xc4, 0x97, 0xa1, 0x18, 0xb6, 0x37, 0xea, 0x7e, 0xd3, 0x71, 0x3d, 0xa6, 0x0c, 0xd6, + 0xde, 0x0b, 0x55, 0x09, 0xc0, 0x31, 0x0e, 0x5a, 0x81, 0x82, 0x23, 0x95, 0x1e, 0x28, 0x3b, 0x9c, + 0x87, 0x52, 0x75, 0x70, 0x0f, 0x77, 0xa9, 0xe6, 0x50, 0x75, 0xd1, 0xab, 0x30, 0x26, 0x7c, 0x1c, + 0x45, 0xde, 0xc5, 0x69, 0xd3, 0x11, 0xa5, 0xaa, 0x03, 0xb1, 0x89, 0x8b, 0x6e, 0xc1, 0x48, 0xe4, + 0x37, 0x98, 0x37, 0x05, 0x65, 0xc3, 0x4e, 0x65, 0x87, 0x04, 0x5b, 0x57, 0x68, 0xba, 0xbc, 0x51, + 0x55, 0xc5, 0x3a, 0x1d, 0xb4, 0xce, 0xd7, 0x3b, 0x0b, 0x96, 0x4c, 0x42, 0x91, 0xb1, 0xef, 0x6c, + 0x96, 0x25, 0x0f, 0x43, 0x33, 0xb7, 0x83, 0xa8, 0x89, 0x75, 0x32, 0xe8, 0x2a, 0x4c, 0xb5, 0x02, + 0xd7, 0x67, 0x6b, 0x42, 0xe9, 0xbb, 0x66, 0xcc, 0x4c, 0x2d, 0x95, 0x24, 0x02, 0xee, 0xac, 0xc3, + 0x5c, 0x54, 0x45, 0xe1, 0xcc, 0x69, 0x9e, 0x9a, 0x99, 0x3f, 0xbf, 0x78, 0x19, 0x56, 0x50, 0xb4, + 0xca, 0x4e, 0x62, 0x2e, 0x39, 0x98, 0x99, 0xcd, 0x8e, 0x20, 0xa2, 0x4b, 0x18, 0x38, 0x73, 0xa9, + 0xfe, 0xe2, 0x98, 0x02, 0xaa, 0x6b, 0x49, 0xeb, 0x28, 0x47, 0x1f, 0xce, 0x9c, 0xe9, 0x62, 0x4a, + 0x96, 0x60, 0xff, 0x63, 0x86, 0xc0, 0x28, 0x0e, 0x71, 0x82, 0x26, 0xfa, 0x7a, 0x98, 0x14, 0x11, + 0xcb, 0xe2, 0x61, 0x3a, 0x1b, 0xdb, 0xa8, 0xe2, 0x04, 0x0c, 0x77, 0x60, 0xf3, 0x20, 0xf2, 0xce, + 0x46, 0x83, 0x88, 0xa3, 0xef, 0x86, 0xeb, 0xed, 0x84, 0x33, 0xe7, 0xd8, 0xf9, 0x20, 0x82, 0xc8, + 0x27, 0xa1, 0x38, 0xa5, 0x06, 0x5a, 0x87, 0xc9, 0x56, 0x40, 0x48, 0x93, 0x31, 0xe2, 0xe2, 0x3e, + 0x9b, 0xe3, 0x1e, 0xda, 0xb4, 0x27, 0x95, 0x04, 0xec, 0x20, 0xa5, 0x0c, 0x77, 0x50, 0x40, 0x77, + 0xa1, 0xe0, 0xef, 0x92, 0x60, 0x9b, 0x38, 0xf5, 0x99, 0xf3, 0x5d, 0x6c, 0xa6, 0xc5, 0xe5, 0x76, + 0x53, 0xe0, 0x26, 0x74, 0xe4, 0xb2, 0xb8, 0xb7, 0x8e, 0x5c, 0x36, 0x86, 0xbe, 0xc7, 0x82, 0xd3, + 0x52, 0xac, 0x5e, 0x6d, 0xd1, 0x51, 0x5f, 0xf2, 0xbd, 0x30, 0x0a, 0xb8, 0x4f, 0xf1, 0x13, 0xd9, + 0x7e, 0xb6, 0xeb, 0x19, 0x95, 0x94, 0xf0, 0xf2, 0x74, 0x16, 0x46, 0x88, 0xb3, 0x5b, 0x44, 0x4b, + 0x30, 0x15, 0x92, 0x48, 0x1e, 0x46, 0x0b, 0xe1, 0xca, 0x9b, 0xa5, 0xb5, 0x99, 0x0b, 0xdc, 0x21, + 0x9a, 0x6e, 0x86, 0x6a, 0x12, 0x88, 0x3b, 0xf1, 0x67, 0x3f, 0x09, 0x53, 0x1d, 0xd7, 0xff, 0x61, + 0x92, 0x63, 0xcc, 0xee, 0xc0, 0x98, 0x31, 0xc4, 0x8f, 0x54, 0xc7, 0xfa, 0x6f, 0x86, 0xa1, 0xa8, + 0xf4, 0x6f, 0xe8, 0xb2, 0xa9, 0x56, 0x3d, 0x9d, 0x54, 0xab, 0x16, 0xe8, 0xbb, 0x5b, 0xd7, 0xa4, + 0xae, 0xa7, 0x84, 0x81, 0xca, 0xda, 0xd0, 0xfd, 0xfb, 0xf7, 0x6a, 0xe2, 0xd4, 0x7c, 0xdf, 0xfa, + 0xd9, 0x81, 0xae, 0x12, 0xda, 0xab, 0x30, 0xe5, 0xf9, 0x8c, 0xe7, 0x24, 0x75, 0xc9, 0x50, 0x30, + 0xbe, 0xa1, 0xa8, 0xc7, 0x55, 0x48, 0x20, 0xe0, 0xce, 0x3a, 0xb4, 0x41, 0x7e, 0xf1, 0x27, 0x45, + 0xc2, 0x9c, 0x2f, 0xc0, 0x02, 0x8a, 0x2e, 0xc0, 0x60, 0xcb, 0xaf, 0x97, 0x2b, 0x82, 0xdf, 0xd4, + 0xb2, 0xce, 0xd6, 0xcb, 0x15, 0xcc, 0x61, 0x68, 0x01, 0x86, 0xd8, 0x8f, 0x70, 0x66, 0x34, 0xdb, + 0x81, 0x9e, 0xd5, 0xd0, 0x52, 0x8f, 0xb0, 0x0a, 0x58, 0x54, 0x64, 0xa2, 0x29, 0xca, 0xa4, 0x33, + 0xd1, 0xd4, 0xf0, 0x43, 0x8a, 0xa6, 0x24, 0x01, 0x1c, 0xd3, 0x42, 0xf7, 0xe0, 0xa4, 0xf1, 0x30, + 0xe2, 0x4b, 0x84, 0x84, 0xc2, 0x89, 0xf7, 0x42, 0xd7, 0x17, 0x91, 0xd0, 0xe7, 0x9e, 0x15, 0x9d, + 0x3e, 0x59, 0x4e, 0xa3, 0x84, 0xd3, 0x1b, 0x40, 0x0d, 0x98, 0xaa, 0x75, 0xb4, 0x5a, 0xe8, 0xbf, + 0x55, 0x35, 0xa1, 0x9d, 0x2d, 0x76, 0x12, 0x46, 0xaf, 0x42, 0xe1, 0x5d, 0x3f, 0x64, 0x67, 0xb5, + 0xe0, 0x91, 0xa5, 0x07, 0x68, 0xe1, 0xcd, 0x9b, 0x55, 0x56, 0x7e, 0xb0, 0x3f, 0x37, 0x52, 0xf1, + 0xeb, 0xf2, 0x2f, 0x56, 0x15, 0xd0, 0xb7, 0x5b, 0x30, 0xdb, 0xf9, 0xf2, 0x52, 0x9d, 0x1e, 0xeb, + 0xbf, 0xd3, 0xb6, 0x68, 0x74, 0x76, 0x39, 0x93, 0x1c, 0xee, 0xd2, 0x94, 0xfd, 0xf3, 0x5c, 0xf7, + 0x2a, 0x34, 0x34, 0x24, 0x6c, 0x37, 0x8e, 0x23, 0xe3, 0xe2, 0xb2, 0xa1, 0x3c, 0x7a, 0x68, 0xfd, + 0xfe, 0x2f, 0x5b, 0x4c, 0xbf, 0xbf, 0x4e, 0x9a, 0xad, 0x86, 0x13, 0x1d, 0x87, 0x03, 0xe1, 0x9b, + 0x50, 0x88, 0x44, 0x6b, 0xdd, 0x92, 0x44, 0x6a, 0x9d, 0x62, 0x36, 0x0e, 0x8a, 0x63, 0x95, 0xa5, + 0x58, 0x91, 0xb1, 0xff, 0x19, 0x9f, 0x01, 0x09, 0x39, 0x06, 0x19, 0x7d, 0xc9, 0x94, 0xd1, 0xcf, + 0xf5, 0xf8, 0x82, 0x0c, 0x59, 0xfd, 0x3f, 0x35, 0xfb, 0xcd, 0x24, 0x35, 0xef, 0x77, 0xc3, 0x12, + 0xfb, 0xfb, 0x2d, 0x38, 0x91, 0x66, 0x89, 0x49, 0x5f, 0x19, 0x5c, 0x4e, 0xa4, 0x0c, 0x6d, 0xd4, + 0x08, 0xde, 0x16, 0xe5, 0x58, 0x61, 0xf4, 0x9d, 0xb8, 0xe9, 0x70, 0x81, 0x4c, 0x6f, 0xc2, 0x58, + 0x25, 0x20, 0xda, 0x85, 0xf6, 0x3a, 0xf7, 0x08, 0xe6, 0xfd, 0x79, 0xe6, 0xd0, 0xde, 0xc0, 0xf6, + 0x8f, 0xe7, 0xe0, 0x04, 0xd7, 0x94, 0x2f, 0xec, 0xfa, 0x6e, 0xbd, 0xe2, 0xd7, 0x45, 0xd2, 0xad, + 0xb7, 0x60, 0xb4, 0xa5, 0x09, 0xf7, 0xba, 0x05, 0xe5, 0xd3, 0x85, 0x80, 0xb1, 0x38, 0x42, 0x2f, + 0xc5, 0x06, 0x2d, 0x54, 0x87, 0x51, 0xb2, 0xeb, 0xd6, 0x94, 0xba, 0x35, 0x77, 0xe8, 0xcb, 0x45, + 0xb5, 0xb2, 0xac, 0xd1, 0xc1, 0x06, 0xd5, 0x47, 0x90, 0x4e, 0xd5, 0xfe, 0x01, 0x0b, 0x1e, 0xcb, + 0x08, 0xe1, 0x47, 0x9b, 0xbb, 0xcb, 0x6c, 0x12, 0x44, 0x66, 0x46, 0xd5, 0x1c, 0xb7, 0x54, 0xc0, + 0x02, 0x8a, 0x3e, 0x05, 0xc0, 0x2d, 0x0d, 0xe8, 0x33, 0xb7, 0x57, 0xac, 0x33, 0x23, 0x4c, 0x93, + 0x16, 0x71, 0x47, 0xd6, 0xc7, 0x1a, 0x2d, 0xfb, 0x47, 0xf3, 0x30, 0xc8, 0x53, 0x59, 0xaf, 0xc0, + 0xf0, 0x36, 0x4f, 0x45, 0xd0, 0x4f, 0xd6, 0x83, 0x58, 0x00, 0xc1, 0x0b, 0xb0, 0xac, 0x8c, 0x56, + 0x61, 0x9a, 0xa7, 0x72, 0x68, 0x94, 0x48, 0xc3, 0xd9, 0x93, 0xd2, 0x32, 0x9e, 0x06, 0x51, 0x49, + 0x0d, 0xcb, 0x9d, 0x28, 0x38, 0xad, 0x1e, 0x7a, 0x1d, 0xc6, 0xe9, 0xeb, 0xc5, 0x6f, 0x47, 0x92, + 0x12, 0x4f, 0xe2, 0xa0, 0x9e, 0x4b, 0xeb, 0x06, 0x14, 0x27, 0xb0, 0xe9, 0x03, 0xba, 0xd5, 0x21, + 0x17, 0x1c, 0x8c, 0x1f, 0xd0, 0xa6, 0x2c, 0xd0, 0xc4, 0x65, 0x26, 0x98, 0x6d, 0x66, 0x70, 0xba, + 0xbe, 0x1d, 0x90, 0x70, 0xdb, 0x6f, 0xd4, 0x19, 0xa3, 0x35, 0xa8, 0x99, 0x60, 0x26, 0xe0, 0xb8, + 0xa3, 0x06, 0xa5, 0xb2, 0xe9, 0xb8, 0x8d, 0x76, 0x40, 0x62, 0x2a, 0x43, 0x26, 0x95, 0x95, 0x04, + 0x1c, 0x77, 0xd4, 0xa0, 0xeb, 0xe8, 0x64, 0x25, 0xf0, 0xe9, 0xe1, 0x25, 0xe3, 0x92, 0x28, 0xbb, + 0xda, 0x61, 0xe9, 0x42, 0xd9, 0x25, 0x82, 0x97, 0xb0, 0x3c, 0xe4, 0x14, 0x0c, 0xa5, 0x7a, 0x55, + 0x38, 0x4f, 0x4a, 0x2a, 0xe8, 0x39, 0x18, 0x11, 0x01, 0xfa, 0x99, 0xf9, 0x27, 0x9f, 0x3a, 0x66, + 0x04, 0x50, 0x8a, 0x8b, 0xb1, 0x8e, 0x63, 0x7f, 0x47, 0x0e, 0xa6, 0x53, 0xec, 0xf7, 0xf9, 0x51, + 0xb5, 0xe5, 0x86, 0x91, 0x4a, 0xf5, 0xa6, 0x1d, 0x55, 0xbc, 0x1c, 0x2b, 0x0c, 0xba, 0x1f, 0xf8, + 0x61, 0x98, 0x3c, 0x00, 0x85, 0x7d, 0xac, 0x80, 0x1e, 0x32, 0x69, 0xda, 0x79, 0x18, 0x68, 0x87, + 0x44, 0xc6, 0xde, 0x53, 0xe7, 0x37, 0xd3, 0x0d, 0x31, 0x08, 0x65, 0x8f, 0xb7, 0x94, 0x9a, 0x45, + 0x63, 0x8f, 0xb9, 0xa2, 0x85, 0xc3, 0x68, 0xe7, 0x22, 0xe2, 0x39, 0x5e, 0x24, 0x98, 0xe8, 0x38, + 0x88, 0x14, 0x2b, 0xc5, 0x02, 0x6a, 0x7f, 0x31, 0x0f, 0xa7, 0x33, 0x3d, 0x7a, 0x68, 0xd7, 0x9b, + 0xbe, 0xe7, 0x46, 0xbe, 0xb2, 0xae, 0xe0, 0x81, 0xa3, 0x48, 0x6b, 0x7b, 0x55, 0x94, 0x63, 0x85, + 0x81, 0x2e, 0xc2, 0x20, 0x93, 0x5c, 0x75, 0x24, 0xbd, 0x5b, 0x2c, 0xf1, 0x48, 0x22, 0x1c, 0xdc, + 0x77, 0x42, 0xd1, 0x0b, 0x30, 0xd0, 0xf2, 0xfd, 0x46, 0xf2, 0xd0, 0xa2, 0xdd, 0xf5, 0xfd, 0x06, + 0x66, 0x40, 0xf4, 0x11, 0x31, 0x5e, 0x09, 0x73, 0x02, 0xec, 0xd4, 0xfd, 0x50, 0x1b, 0xb4, 0xa7, + 0x60, 0x78, 0x87, 0xec, 0x05, 0xae, 0xb7, 0x95, 0x34, 0x33, 0xb9, 0xce, 0x8b, 0xb1, 0x84, 0x9b, + 0xf9, 0x8b, 0x86, 0x8f, 0x3a, 0x13, 0x68, 0xa1, 0xe7, 0x15, 0xf8, 0x5d, 0x79, 0x98, 0xc0, 0x8b, + 0xa5, 0x0f, 0x26, 0xe2, 0x56, 0xe7, 0x44, 0x1c, 0x75, 0x26, 0xd0, 0xde, 0xb3, 0xf1, 0x33, 0x16, + 0x4c, 0xb0, 0x34, 0x01, 0x22, 0xe4, 0x90, 0xeb, 0x7b, 0xc7, 0xc0, 0xe2, 0x5d, 0x80, 0xc1, 0x80, + 0x36, 0x9a, 0xcc, 0x76, 0xc7, 0x7a, 0x82, 0x39, 0x0c, 0x9d, 0x81, 0x01, 0xd6, 0x05, 0x3a, 0x79, + 0xa3, 0x3c, 0x51, 0x50, 0xc9, 0x89, 0x1c, 0xcc, 0x4a, 0x59, 0x1c, 0x0d, 0x4c, 0x5a, 0x0d, 0x97, + 0x77, 0x3a, 0xd6, 0x2b, 0xbe, 0x3f, 0xe2, 0x68, 0xa4, 0x76, 0xed, 0xbd, 0xc5, 0xd1, 0x48, 0x27, + 0xd9, 0xfd, 0xf9, 0xf4, 0x87, 0x39, 0x38, 0x97, 0x5a, 0xaf, 0xef, 0x38, 0x1a, 0xdd, 0x6b, 0x3f, + 0xca, 0x70, 0xf2, 0xf9, 0x63, 0x34, 0xe2, 0x1b, 0xe8, 0x97, 0xc3, 0x1c, 0xec, 0x23, 0xbc, 0x45, + 0xea, 0x90, 0xbd, 0x4f, 0xc2, 0x5b, 0xa4, 0xf6, 0x2d, 0xe3, 0xf9, 0xf7, 0xe7, 0xb9, 0x8c, 0x6f, + 0x61, 0x0f, 0xc1, 0x4b, 0xf4, 0x9c, 0x61, 0xc0, 0x50, 0x70, 0xcc, 0xa3, 0xfc, 0x8c, 0xe1, 0x65, + 0x58, 0x41, 0xd1, 0x02, 0x4c, 0x34, 0x5d, 0x8f, 0x1e, 0x3e, 0x7b, 0x26, 0xe3, 0xa7, 0xa2, 0x0f, + 0xad, 0x9a, 0x60, 0x9c, 0xc4, 0x47, 0xae, 0x16, 0xfa, 0x22, 0x97, 0x9d, 0x3f, 0x3a, 0xb3, 0xb7, + 0xf3, 0xa6, 0xce, 0x55, 0x8d, 0x62, 0x4a, 0x18, 0x8c, 0x55, 0xed, 0xfd, 0x9f, 0xef, 0xff, 0xfd, + 0x3f, 0x9a, 0xfe, 0xf6, 0x9f, 0x7d, 0x15, 0xc6, 0x1e, 0x5a, 0xe0, 0x6b, 0x7f, 0x25, 0x0f, 0x8f, + 0x77, 0xd9, 0xf6, 0xfc, 0xac, 0x37, 0xe6, 0x40, 0x3b, 0xeb, 0x3b, 0xe6, 0xa1, 0x02, 0x27, 0x36, + 0xdb, 0x8d, 0xc6, 0x1e, 0xb3, 0x93, 0x27, 0x75, 0x89, 0x21, 0x78, 0xca, 0x33, 0x32, 0x35, 0xd3, + 0x4a, 0x0a, 0x0e, 0x4e, 0xad, 0x49, 0x19, 0x7a, 0x7a, 0x93, 0xec, 0x29, 0x52, 0x09, 0x86, 0x1e, + 0xeb, 0x40, 0x6c, 0xe2, 0xa2, 0xab, 0x30, 0xe5, 0xec, 0x3a, 0x2e, 0x8f, 0x1f, 0x2a, 0x09, 0x70, + 0x8e, 0x5e, 0xc9, 0xe9, 0x16, 0x92, 0x08, 0xb8, 0xb3, 0x0e, 0x7a, 0x03, 0x90, 0x2f, 0xd2, 0xd8, + 0x5f, 0x25, 0x9e, 0x50, 0x8d, 0xb1, 0xb9, 0xcb, 0xc7, 0x47, 0xc2, 0xcd, 0x0e, 0x0c, 0x9c, 0x52, + 0x2b, 0x11, 0x4a, 0x62, 0x28, 0x3b, 0x94, 0x44, 0xf7, 0x73, 0xb1, 0x67, 0x26, 0x83, 0xef, 0xb3, + 0x60, 0x14, 0x93, 0xd0, 0xbd, 0x2f, 0x8c, 0x71, 0xd0, 0x35, 0x18, 0x0d, 0x34, 0x5d, 0x88, 0x38, + 0x8e, 0xa5, 0x39, 0x9d, 0xa1, 0x27, 0x39, 0x48, 0xfc, 0xc7, 0x46, 0x4d, 0xf4, 0x49, 0x18, 0x6a, + 0x71, 0x05, 0x10, 0x3f, 0x88, 0x9f, 0x8c, 0xe5, 0xc3, 0x42, 0xf5, 0x73, 0x32, 0x36, 0xab, 0xd4, + 0xba, 0x80, 0x45, 0x35, 0xfb, 0xbf, 0x58, 0xf4, 0x6a, 0xe5, 0x14, 0xcd, 0x68, 0x6d, 0xaf, 0x32, + 0xb3, 0x38, 0x5e, 0x55, 0xeb, 0xe5, 0x49, 0xcd, 0x2c, 0x2e, 0x06, 0x62, 0x13, 0x97, 0x2f, 0xd6, + 0x30, 0x76, 0x74, 0x34, 0x9e, 0x1f, 0x22, 0xa4, 0x8c, 0xc2, 0x40, 0x9f, 0x86, 0xe1, 0xba, 0xbb, + 0xeb, 0x86, 0x7e, 0x20, 0x76, 0xe1, 0x21, 0x55, 0x19, 0xf1, 0x19, 0x5d, 0xe2, 0x64, 0xb0, 0xa4, + 0x67, 0x7f, 0x57, 0x0e, 0xc6, 0x64, 0x8b, 0x6f, 0xb6, 0xfd, 0xc8, 0x39, 0x06, 0x96, 0xe1, 0xaa, + 0xc1, 0x32, 0x7c, 0xa4, 0x5b, 0x5c, 0x1d, 0xd6, 0xa5, 0x4c, 0x56, 0xe1, 0x66, 0x82, 0x55, 0x78, + 0xb2, 0x37, 0xa9, 0xee, 0x2c, 0xc2, 0x3f, 0xb7, 0x60, 0xca, 0xc0, 0x3f, 0x86, 0x9b, 0x6a, 0xc5, + 0xbc, 0xa9, 0x9e, 0xe8, 0xf9, 0x0d, 0x19, 0x37, 0xd4, 0xb7, 0xe6, 0x13, 0x7d, 0x67, 0x37, 0xd3, + 0xbb, 0x30, 0xb0, 0xed, 0x04, 0xf5, 0x6e, 0x71, 0xc4, 0x3b, 0x2a, 0xcd, 0x5f, 0x73, 0x02, 0xa1, + 0xb7, 0x7c, 0x46, 0xa5, 0x96, 0x76, 0x82, 0xde, 0x3a, 0x4b, 0xd6, 0x14, 0x7a, 0x19, 0x86, 0xc2, + 0x9a, 0xdf, 0x52, 0x56, 0xf7, 0xe7, 0x79, 0xda, 0x69, 0x5a, 0x72, 0xb0, 0x3f, 0x87, 0xcc, 0xe6, + 0x68, 0x31, 0x16, 0xf8, 0xe8, 0x2d, 0x18, 0x63, 0xbf, 0x94, 0x11, 0x51, 0x3e, 0x3b, 0xe7, 0x50, + 0x55, 0x47, 0xe4, 0x16, 0x76, 0x46, 0x11, 0x36, 0x49, 0xcd, 0x6e, 0x41, 0x51, 0x7d, 0xd6, 0x23, + 0xd5, 0x15, 0xfe, 0x87, 0x3c, 0x4c, 0xa7, 0xac, 0x39, 0x14, 0x1a, 0x33, 0xf1, 0x5c, 0x9f, 0x4b, + 0xf5, 0x3d, 0xce, 0x45, 0xc8, 0x5e, 0x6a, 0x75, 0xb1, 0xb6, 0xfa, 0x6e, 0xf4, 0x56, 0x48, 0x92, + 0x8d, 0xd2, 0xa2, 0xde, 0x8d, 0xd2, 0xc6, 0x8e, 0x6d, 0xa8, 0x69, 0x43, 0xaa, 0xa7, 0x8f, 0x74, + 0x4e, 0xff, 0x24, 0x0f, 0x27, 0xd2, 0x42, 0x7d, 0xa1, 0x6f, 0x4c, 0xe4, 0x9f, 0x7b, 0xa1, 0xdf, + 0x20, 0x61, 0x3c, 0x29, 0x1d, 0x97, 0x4f, 0x2f, 0xce, 0x9b, 0x19, 0xe9, 0x7a, 0x0e, 0xb3, 0x68, + 0x93, 0x39, 0xf1, 0x07, 0x3c, 0x6f, 0xa0, 0x3c, 0x3e, 0x3e, 0xde, 0x77, 0x07, 0x44, 0xc2, 0xc1, + 0x30, 0x61, 0xa0, 0x20, 0x8b, 0x7b, 0x1b, 0x28, 0xc8, 0x96, 0x67, 0x5d, 0x18, 0xd1, 0xbe, 0xe6, + 0x91, 0xce, 0xf8, 0x0e, 0xbd, 0xad, 0xb4, 0x7e, 0x3f, 0xd2, 0x59, 0xff, 0x01, 0x0b, 0x12, 0x36, + 0xe5, 0x4a, 0x64, 0x67, 0x65, 0x8a, 0xec, 0xce, 0xc3, 0x40, 0xe0, 0x37, 0x48, 0x32, 0xdd, 0x1b, + 0xf6, 0x1b, 0x04, 0x33, 0x08, 0xc5, 0x88, 0x62, 0x41, 0xcc, 0xa8, 0xfe, 0xc8, 0x14, 0xcf, 0xc7, + 0x0b, 0x30, 0xd8, 0x20, 0xbb, 0xa4, 0x91, 0xcc, 0xca, 0x71, 0x83, 0x16, 0x62, 0x0e, 0xb3, 0x7f, + 0x66, 0x00, 0xce, 0x76, 0x0d, 0x83, 0x41, 0x9f, 0x6a, 0x5b, 0x4e, 0x44, 0xee, 0x3a, 0x7b, 0xc9, + 0xf0, 0xf9, 0x57, 0x79, 0x31, 0x96, 0x70, 0xe6, 0xf5, 0xc3, 0xa3, 0xe0, 0x26, 0x04, 0x9c, 0x22, + 0xf8, 0xad, 0x80, 0x9a, 0x02, 0xb3, 0xfc, 0x51, 0x08, 0xcc, 0xae, 0x00, 0x84, 0x61, 0x83, 0x5b, + 0xf6, 0xd4, 0x85, 0x3b, 0x51, 0x1c, 0x2d, 0xb9, 0x7a, 0x43, 0x40, 0xb0, 0x86, 0x85, 0x4a, 0x30, + 0xd9, 0x0a, 0xfc, 0x88, 0xcb, 0x8b, 0x4b, 0xdc, 0xf8, 0x6d, 0xd0, 0x8c, 0x40, 0x50, 0x49, 0xc0, + 0x71, 0x47, 0x0d, 0xf4, 0x22, 0x8c, 0x88, 0xa8, 0x04, 0x15, 0xdf, 0x6f, 0x08, 0x11, 0x95, 0xb2, + 0x07, 0xab, 0xc6, 0x20, 0xac, 0xe3, 0x69, 0xd5, 0x98, 0x10, 0x7a, 0x38, 0xb5, 0x1a, 0x17, 0x44, + 0x6b, 0x78, 0x89, 0xb0, 0x7f, 0x85, 0xbe, 0xc2, 0xfe, 0xc5, 0x42, 0xbb, 0x62, 0xdf, 0x7a, 0x37, + 0xe8, 0x29, 0xe6, 0xfa, 0xc9, 0x01, 0x98, 0x16, 0x0b, 0xe7, 0x51, 0x2f, 0x97, 0x5b, 0x9d, 0xcb, + 0xe5, 0x28, 0xc4, 0x7a, 0x1f, 0xac, 0x99, 0xe3, 0x5e, 0x33, 0xdf, 0x6d, 0x81, 0xc9, 0x5e, 0xa1, + 0xbf, 0x9c, 0x99, 0x7f, 0xe4, 0xc5, 0x4c, 0x76, 0xad, 0x2e, 0x2f, 0x90, 0xf7, 0x98, 0x89, 0xc4, + 0xfe, 0x4f, 0x16, 0x3c, 0xd1, 0x93, 0x22, 0x5a, 0x86, 0x22, 0xe3, 0x01, 0xb5, 0xd7, 0xd9, 0x93, + 0xca, 0x38, 0x56, 0x02, 0x32, 0x58, 0xd2, 0xb8, 0x26, 0x5a, 0xee, 0x48, 0xf4, 0xf2, 0x54, 0x4a, + 0xa2, 0x97, 0x93, 0xc6, 0xf0, 0x3c, 0x64, 0xa6, 0x97, 0xdf, 0xcf, 0xc3, 0x10, 0x5f, 0xf1, 0xc7, + 0xf0, 0x0c, 0x7b, 0x1a, 0x8a, 0x6e, 0xb3, 0xd9, 0xe6, 0xe9, 0x32, 0x06, 0xb9, 0xeb, 0x28, 0x1d, + 0x9a, 0xb2, 0x2c, 0xc4, 0x31, 0x1c, 0xad, 0x08, 0x01, 0x74, 0x97, 0x20, 0x84, 0xbc, 0xe3, 0xf3, + 0x25, 0x27, 0x72, 0x38, 0x4f, 0xa1, 0xae, 0xb6, 0x58, 0x54, 0x8d, 0x3e, 0x0b, 0x10, 0x46, 0x81, + 0xeb, 0x6d, 0xd1, 0x32, 0x11, 0x9e, 0xf2, 0xa3, 0x5d, 0xa8, 0x55, 0x15, 0x32, 0xa7, 0x19, 0x6f, + 0x73, 0x05, 0xc0, 0x1a, 0x45, 0x34, 0x6f, 0x5c, 0xae, 0xb3, 0x09, 0x09, 0x2e, 0x70, 0xaa, 0xf1, + 0x55, 0x3b, 0xfb, 0x12, 0x14, 0x15, 0xf1, 0x5e, 0xe2, 0xa8, 0x51, 0x9d, 0x13, 0xf9, 0x04, 0x4c, + 0x24, 0xfa, 0x76, 0x28, 0x69, 0xd6, 0xcf, 0x5a, 0x30, 0xc1, 0x3b, 0xb3, 0xec, 0xed, 0x8a, 0x03, + 0xf8, 0x3e, 0x9c, 0x68, 0xa4, 0x1c, 0x84, 0x62, 0xfa, 0xfb, 0x3f, 0x38, 0x95, 0xf4, 0x2a, 0x0d, + 0x8a, 0x53, 0xdb, 0x40, 0x97, 0xe8, 0x22, 0xa7, 0x07, 0x9d, 0xd3, 0x10, 0x9e, 0xa4, 0xa3, 0x7c, + 0x81, 0xf3, 0x32, 0xac, 0xa0, 0xf6, 0x6f, 0x59, 0x30, 0xc5, 0x7b, 0x7e, 0x9d, 0xec, 0xa9, 0xe3, + 0xe0, 0xab, 0xd9, 0x77, 0x91, 0xa8, 0x29, 0x97, 0x91, 0xa8, 0x49, 0xff, 0xb4, 0x7c, 0xd7, 0x4f, + 0xfb, 0x71, 0x0b, 0xc4, 0x0a, 0x39, 0x86, 0x77, 0xff, 0x27, 0xcd, 0x77, 0xff, 0x6c, 0xf6, 0x26, + 0xc8, 0x78, 0xf0, 0xff, 0x99, 0x05, 0x93, 0x1c, 0x21, 0x56, 0x9e, 0x7f, 0x55, 0xe7, 0xa1, 0x9f, + 0x74, 0xae, 0xd7, 0xc9, 0xde, 0xba, 0x5f, 0x71, 0xa2, 0xed, 0xf4, 0x8f, 0x32, 0x26, 0x6b, 0xa0, + 0xeb, 0x64, 0xd5, 0xe5, 0x06, 0x3a, 0x44, 0x8e, 0xe8, 0x43, 0xe7, 0x31, 0xb0, 0xff, 0xc0, 0x02, + 0xc4, 0x9b, 0x31, 0x78, 0x25, 0xca, 0x81, 0xb0, 0x52, 0xed, 0x6e, 0x89, 0x8f, 0x26, 0x05, 0xc1, + 0x1a, 0xd6, 0x91, 0x0c, 0x4f, 0xc2, 0x02, 0x22, 0xdf, 0xdb, 0x02, 0xe2, 0x10, 0x23, 0xfa, 0xfb, + 0x83, 0x90, 0xf4, 0x87, 0x41, 0xb7, 0x61, 0xb4, 0xe6, 0xb4, 0x9c, 0x0d, 0xb7, 0xe1, 0x46, 0x2e, + 0x09, 0xbb, 0x99, 0x4e, 0x2d, 0x69, 0x78, 0x42, 0x67, 0xad, 0x95, 0x60, 0x83, 0x0e, 0x9a, 0x07, + 0x68, 0x05, 0xee, 0xae, 0xdb, 0x20, 0x5b, 0x4c, 0x3c, 0xc1, 0x7c, 0xd7, 0xb9, 0x3d, 0x90, 0x2c, + 0xc5, 0x1a, 0x46, 0x8a, 0x73, 0x70, 0xfe, 0x11, 0x3b, 0x07, 0xc3, 0xb1, 0x39, 0x07, 0x0f, 0x1c, + 0xca, 0x39, 0xb8, 0x70, 0x68, 0xe7, 0xe0, 0xc1, 0xbe, 0x9c, 0x83, 0x31, 0x9c, 0x92, 0xec, 0x1e, + 0xfd, 0xbf, 0xe2, 0x36, 0x88, 0xe0, 0xf1, 0xb9, 0xc3, 0xfd, 0xec, 0x83, 0xfd, 0xb9, 0x53, 0x38, + 0x15, 0x03, 0x67, 0xd4, 0x44, 0x9f, 0x82, 0x19, 0xa7, 0xd1, 0xf0, 0xef, 0xaa, 0x49, 0x5d, 0x0e, + 0x6b, 0x4e, 0x83, 0xeb, 0x24, 0x86, 0x19, 0xd5, 0x33, 0x0f, 0xf6, 0xe7, 0x66, 0x16, 0x32, 0x70, + 0x70, 0x66, 0x6d, 0xf4, 0x1a, 0x14, 0x5b, 0x81, 0x5f, 0x5b, 0xd5, 0x9c, 0xf6, 0xce, 0xd1, 0x01, + 0xac, 0xc8, 0xc2, 0x83, 0xfd, 0xb9, 0x31, 0xf5, 0x87, 0x5d, 0xf8, 0x71, 0x05, 0x7b, 0x07, 0xa6, + 0xab, 0x24, 0x70, 0x59, 0xc6, 0xe7, 0x7a, 0x7c, 0x7e, 0xac, 0x43, 0x31, 0x48, 0x9c, 0x98, 0x7d, + 0x05, 0xee, 0xd3, 0x02, 0xbe, 0xcb, 0x13, 0x32, 0x26, 0x64, 0xff, 0x6f, 0x0b, 0x86, 0x85, 0x7f, + 0xca, 0x31, 0x70, 0x75, 0x0b, 0x86, 0x70, 0x7d, 0x2e, 0xfd, 0x56, 0x61, 0x9d, 0xc9, 0x14, 0xab, + 0x97, 0x13, 0x62, 0xf5, 0x27, 0xba, 0x11, 0xe9, 0x2e, 0x50, 0xff, 0x3b, 0x79, 0x18, 0x37, 0x1d, + 0x19, 0x8f, 0x61, 0x08, 0xd6, 0x60, 0x38, 0x14, 0x9e, 0x7a, 0xb9, 0x6c, 0xd3, 0xf2, 0xe4, 0x24, + 0xc6, 0x66, 0x67, 0xc2, 0x37, 0x4f, 0x12, 0x49, 0x75, 0x01, 0xcc, 0x3f, 0x42, 0x17, 0xc0, 0x5e, + 0xbe, 0xa4, 0x03, 0x47, 0xe1, 0x4b, 0x6a, 0x7f, 0x99, 0xdd, 0x6c, 0x7a, 0xf9, 0x31, 0x30, 0x3d, + 0x57, 0xcd, 0x3b, 0xd0, 0xee, 0xb2, 0xb2, 0x44, 0xa7, 0x32, 0x98, 0x9f, 0x9f, 0xb6, 0xe0, 0x6c, + 0xca, 0x57, 0x69, 0x9c, 0xd0, 0x33, 0x50, 0x70, 0xda, 0x75, 0x57, 0xed, 0x65, 0x4d, 0xc5, 0xb6, + 0x20, 0xca, 0xb1, 0xc2, 0x40, 0x4b, 0x30, 0x45, 0xee, 0xb5, 0x5c, 0xae, 0xf9, 0xd4, 0x6d, 0x43, + 0xf3, 0xdc, 0xa9, 0x69, 0x39, 0x09, 0xc4, 0x9d, 0xf8, 0x2a, 0xbe, 0x46, 0x3e, 0x33, 0xbe, 0xc6, + 0x3f, 0xb6, 0x60, 0x44, 0xf9, 0xaa, 0x3d, 0xf2, 0xd1, 0xfe, 0x7a, 0x73, 0xb4, 0x1f, 0xef, 0x32, + 0xda, 0x19, 0xc3, 0xfc, 0x9b, 0x39, 0xd5, 0xdf, 0x8a, 0x1f, 0x44, 0x7d, 0x70, 0x58, 0x2f, 0x43, + 0xa1, 0x15, 0xf8, 0x91, 0x5f, 0xf3, 0x1b, 0x82, 0xc1, 0x3a, 0x13, 0x07, 0x9a, 0xe1, 0xe5, 0x07, + 0xda, 0x6f, 0xac, 0xb0, 0x29, 0x6f, 0xe3, 0xb4, 0x5a, 0x12, 0x20, 0x4d, 0xc6, 0x58, 0x18, 0xd6, + 0xb8, 0x18, 0xeb, 0x38, 0x6c, 0xc0, 0xfd, 0x20, 0x12, 0x7c, 0x50, 0x3c, 0xe0, 0x7e, 0x10, 0x61, + 0x06, 0x41, 0x75, 0x80, 0xc8, 0x09, 0xb6, 0x48, 0x44, 0xcb, 0x44, 0x2c, 0xac, 0xec, 0xf3, 0xa6, + 0x1d, 0xb9, 0x8d, 0x79, 0xd7, 0x8b, 0xc2, 0x28, 0x98, 0x2f, 0x7b, 0xd1, 0xcd, 0x80, 0x3f, 0xf1, + 0xb4, 0x60, 0x33, 0x8a, 0x16, 0xd6, 0xe8, 0x4a, 0xbf, 0x6c, 0xd6, 0xc6, 0xa0, 0x69, 0x7b, 0xb0, + 0x26, 0xca, 0xb1, 0xc2, 0xb0, 0x5f, 0x62, 0xb7, 0x0f, 0x1b, 0xd3, 0xc3, 0x45, 0x67, 0xf9, 0xf9, + 0xa2, 0x9a, 0x0d, 0xa6, 0xdc, 0x2b, 0xe9, 0x31, 0x60, 0xba, 0x1f, 0xf6, 0xb4, 0x61, 0xdd, 0xbd, + 0x2a, 0x0e, 0x14, 0x83, 0xbe, 0xa1, 0xc3, 0x9e, 0xe4, 0xd9, 0x1e, 0xb7, 0xc6, 0x21, 0x2c, 0x48, + 0x58, 0x4e, 0x06, 0x16, 0xb1, 0xbe, 0x5c, 0x11, 0xfb, 0x42, 0xcb, 0xc9, 0x20, 0x00, 0x38, 0xc6, + 0x41, 0x97, 0xc5, 0x03, 0x9e, 0x8b, 0xbe, 0x1f, 0x4f, 0x3c, 0xe0, 0xe5, 0xe7, 0x6b, 0xc2, 0xf2, + 0xe7, 0x60, 0x44, 0x65, 0x24, 0xad, 0xf0, 0x44, 0x97, 0x62, 0xd9, 0x2c, 0xc7, 0xc5, 0x58, 0xc7, + 0x41, 0xeb, 0x30, 0x11, 0x72, 0x51, 0x92, 0x0a, 0x00, 0xcb, 0x45, 0x72, 0x1f, 0x95, 0x46, 0x38, + 0x55, 0x13, 0x7c, 0xc0, 0x8a, 0xf8, 0x69, 0x23, 0x7d, 0xa1, 0x93, 0x24, 0xd0, 0xeb, 0x30, 0xde, + 0xf0, 0x9d, 0xfa, 0xa2, 0xd3, 0x70, 0xbc, 0x1a, 0xfb, 0xde, 0x82, 0x99, 0xd8, 0xee, 0x86, 0x01, + 0xc5, 0x09, 0x6c, 0xca, 0x2c, 0xe9, 0x25, 0x22, 0x68, 0xb1, 0xe3, 0x6d, 0x91, 0x50, 0xe4, 0x97, + 0x64, 0xcc, 0xd2, 0x8d, 0x0c, 0x1c, 0x9c, 0x59, 0x1b, 0xbd, 0x0c, 0xa3, 0xf2, 0xf3, 0xb5, 0xd0, + 0x01, 0xb1, 0xdf, 0x81, 0x06, 0xc3, 0x06, 0x26, 0xba, 0x0b, 0x27, 0xe5, 0xff, 0xf5, 0xc0, 0xd9, + 0xdc, 0x74, 0x6b, 0xc2, 0x9f, 0x96, 0x3b, 0x05, 0x2e, 0x48, 0xcf, 0xb5, 0xe5, 0x34, 0xa4, 0x83, + 0xfd, 0xb9, 0xf3, 0x62, 0xd4, 0x52, 0xe1, 0x6c, 0x12, 0xd3, 0xe9, 0xa3, 0x55, 0x98, 0xde, 0x26, + 0x4e, 0x23, 0xda, 0x5e, 0xda, 0x26, 0xb5, 0x1d, 0xb9, 0x89, 0x58, 0x40, 0x02, 0xcd, 0x5a, 0xff, + 0x5a, 0x27, 0x0a, 0x4e, 0xab, 0x87, 0xde, 0x86, 0x99, 0x56, 0x7b, 0xa3, 0xe1, 0x86, 0xdb, 0x6b, + 0x7e, 0xc4, 0x2c, 0x71, 0x54, 0x82, 0x53, 0x11, 0xb9, 0x40, 0x85, 0x7c, 0xa8, 0x64, 0xe0, 0xe1, + 0x4c, 0x0a, 0xe8, 0x3e, 0x9c, 0x4c, 0x2c, 0x06, 0xe1, 0xbb, 0x3d, 0x9e, 0x1d, 0x02, 0xbe, 0x9a, + 0x56, 0x41, 0x84, 0x41, 0x48, 0x03, 0xe1, 0xf4, 0x26, 0xd0, 0x0b, 0x50, 0x70, 0x5b, 0x2b, 0x4e, + 0xd3, 0x6d, 0xec, 0xb1, 0x18, 0xf6, 0x45, 0x16, 0xd7, 0xbd, 0x50, 0xae, 0xf0, 0xb2, 0x03, 0xed, + 0x37, 0x56, 0x98, 0xf4, 0x89, 0xa0, 0x45, 0xea, 0x0c, 0x67, 0x26, 0x63, 0x43, 0x63, 0x2d, 0x9c, + 0x67, 0x88, 0x0d, 0xac, 0xf7, 0x66, 0xbf, 0xf5, 0x2e, 0xad, 0xac, 0xf1, 0x8c, 0xe8, 0x73, 0x30, + 0xaa, 0xaf, 0x58, 0x71, 0xff, 0x5d, 0x4c, 0x67, 0xa9, 0xb4, 0x95, 0xcd, 0x39, 0x4e, 0xb5, 0x7a, + 0x75, 0x18, 0x36, 0x28, 0xda, 0x04, 0xd2, 0xc7, 0x12, 0xdd, 0x80, 0x42, 0xad, 0xe1, 0x12, 0x2f, + 0x2a, 0x57, 0xba, 0x05, 0x99, 0x5a, 0x12, 0x38, 0x62, 0x72, 0x44, 0x7c, 0x6e, 0x5e, 0x86, 0x15, + 0x05, 0xfb, 0x97, 0x72, 0x30, 0xd7, 0x23, 0xd8, 0x7b, 0x42, 0x94, 0x6f, 0xf5, 0x25, 0xca, 0x5f, + 0x90, 0xa9, 0x61, 0xd7, 0x12, 0x22, 0x8b, 0x44, 0xda, 0xd7, 0x58, 0x70, 0x91, 0xc4, 0xef, 0xdb, + 0xec, 0x5b, 0xd7, 0x06, 0x0c, 0xf4, 0x74, 0x5c, 0x30, 0xb4, 0x80, 0x83, 0xfd, 0xbf, 0x93, 0x32, + 0x35, 0x3a, 0xf6, 0x97, 0x73, 0x70, 0x52, 0x0d, 0xe1, 0xd7, 0xee, 0xc0, 0xdd, 0xea, 0x1c, 0xb8, + 0x23, 0xd0, 0x87, 0xd9, 0x37, 0x61, 0x88, 0x47, 0xcd, 0xea, 0x83, 0x3f, 0xbb, 0x60, 0x06, 0x98, + 0x54, 0x2c, 0x81, 0x11, 0x64, 0xf2, 0xdb, 0x2d, 0x98, 0x58, 0x5f, 0xaa, 0x54, 0xfd, 0xda, 0x0e, + 0x89, 0x16, 0x38, 0x3f, 0x8d, 0x05, 0xaf, 0x65, 0x3d, 0x24, 0x0f, 0x95, 0xc6, 0x9d, 0x9d, 0x87, + 0x81, 0x6d, 0x3f, 0x8c, 0x92, 0xca, 0xf2, 0x6b, 0x7e, 0x18, 0x61, 0x06, 0xb1, 0x7f, 0xdb, 0x82, + 0x41, 0x96, 0x0c, 0xbd, 0x57, 0x3a, 0xfe, 0x7e, 0xbe, 0x0b, 0xbd, 0x08, 0x43, 0x64, 0x73, 0x93, + 0xd4, 0x22, 0x31, 0xab, 0xd2, 0xf3, 0x7a, 0x68, 0x99, 0x95, 0x52, 0x06, 0x83, 0x35, 0xc6, 0xff, + 0x62, 0x81, 0x8c, 0xee, 0x40, 0x31, 0x72, 0x9b, 0x64, 0xa1, 0x5e, 0x17, 0xea, 0xc6, 0x87, 0xf0, + 0x1e, 0x5f, 0x97, 0x04, 0x70, 0x4c, 0xcb, 0xfe, 0x62, 0x0e, 0x20, 0x0e, 0x67, 0xd2, 0xeb, 0x13, + 0x17, 0x3b, 0x14, 0x51, 0x17, 0x53, 0x14, 0x51, 0x28, 0x26, 0x98, 0xa2, 0x85, 0x52, 0xc3, 0x94, + 0xef, 0x6b, 0x98, 0x06, 0x0e, 0x33, 0x4c, 0x4b, 0x30, 0x15, 0x87, 0x63, 0x31, 0xa3, 0x51, 0xb1, + 0x37, 0xd4, 0x7a, 0x12, 0x88, 0x3b, 0xf1, 0x6d, 0x02, 0xe7, 0x55, 0x54, 0x0a, 0x71, 0xd7, 0x30, + 0x4b, 0x5b, 0x5d, 0xb1, 0xd7, 0x63, 0x9c, 0x62, 0x4d, 0x5b, 0x2e, 0x53, 0xd3, 0xf6, 0xc3, 0x16, + 0x9c, 0x48, 0xb6, 0xc3, 0x5c, 0x1f, 0xbf, 0x60, 0xc1, 0x49, 0xa6, 0x6f, 0x64, 0xad, 0x76, 0x6a, + 0x37, 0x5f, 0xe8, 0x1a, 0x69, 0x23, 0xa3, 0xc7, 0xb1, 0x8b, 0xff, 0x6a, 0x1a, 0x69, 0x9c, 0xde, + 0xa2, 0xfd, 0x1f, 0x73, 0x30, 0x93, 0x15, 0xa2, 0x83, 0x19, 0xe2, 0x3b, 0xf7, 0xaa, 0x3b, 0xe4, + 0xae, 0x30, 0x77, 0x8e, 0x0d, 0xf1, 0x79, 0x31, 0x96, 0xf0, 0x64, 0xfc, 0xee, 0x5c, 0x7f, 0xf1, + 0xbb, 0xd1, 0x36, 0x4c, 0xdd, 0xdd, 0x26, 0xde, 0x2d, 0x2f, 0x74, 0x22, 0x37, 0xdc, 0x74, 0x99, + 0xa2, 0x90, 0xaf, 0x9b, 0x57, 0xa4, 0x51, 0xf2, 0x9d, 0x24, 0xc2, 0xc1, 0xfe, 0xdc, 0x59, 0xa3, + 0x20, 0xee, 0x32, 0x3f, 0x48, 0x70, 0x27, 0xd1, 0xce, 0xf0, 0xe7, 0x03, 0x8f, 0x30, 0xfc, 0xb9, + 0xfd, 0x05, 0x0b, 0x4e, 0x67, 0xa6, 0x27, 0x44, 0x97, 0xa0, 0xe0, 0xb4, 0x5c, 0x2e, 0x6b, 0x15, + 0xc7, 0x28, 0x93, 0x19, 0x54, 0xca, 0x5c, 0xd2, 0xaa, 0xa0, 0x2a, 0x6d, 0x72, 0x2e, 0x33, 0x6d, + 0x72, 0xcf, 0x2c, 0xc8, 0xf6, 0xb7, 0x59, 0x20, 0x9c, 0x08, 0xfb, 0x38, 0xbb, 0xdf, 0x92, 0x59, + 0xe7, 0x8d, 0x14, 0x29, 0xe7, 0xb3, 0xbd, 0x2a, 0x45, 0x62, 0x14, 0xc5, 0x2b, 0x19, 0xe9, 0x50, + 0x0c, 0x5a, 0x76, 0x1d, 0x04, 0xb4, 0x44, 0x98, 0xa4, 0xb2, 0x77, 0x6f, 0xae, 0x00, 0xd4, 0x19, + 0xae, 0x96, 0x7b, 0x5a, 0xdd, 0xcc, 0x25, 0x05, 0xc1, 0x1a, 0x96, 0xfd, 0xef, 0x72, 0x30, 0x22, + 0x53, 0x72, 0xb4, 0xbd, 0x7e, 0xe4, 0x09, 0x87, 0xca, 0xd1, 0xc7, 0x92, 0xb5, 0x53, 0xc2, 0x95, + 0x58, 0x0c, 0x13, 0x27, 0x6b, 0x97, 0x00, 0x1c, 0xe3, 0xd0, 0x5d, 0x14, 0xb6, 0x37, 0x18, 0x7a, + 0xc2, 0xe5, 0xad, 0xca, 0x8b, 0xb1, 0x84, 0xa3, 0x4f, 0xc1, 0x24, 0xaf, 0x17, 0xf8, 0x2d, 0x67, + 0x8b, 0x0b, 0xb1, 0x07, 0x95, 0xaf, 0xfa, 0xe4, 0x6a, 0x02, 0x76, 0xb0, 0x3f, 0x77, 0x22, 0x59, + 0xc6, 0xb4, 0x33, 0x1d, 0x54, 0x98, 0x79, 0x08, 0x6f, 0x84, 0xee, 0xfe, 0x0e, 0xab, 0x92, 0x18, + 0x84, 0x75, 0x3c, 0xfb, 0x73, 0x80, 0x3a, 0x93, 0x93, 0xa0, 0x37, 0xb8, 0x4d, 0xa0, 0x1b, 0x90, + 0x7a, 0x37, 0x6d, 0x8d, 0xee, 0x91, 0x2d, 0xbd, 0x55, 0x78, 0x2d, 0xac, 0xea, 0xdb, 0x7f, 0x3d, + 0x0f, 0x93, 0x49, 0xff, 0x5c, 0x74, 0x0d, 0x86, 0x38, 0xeb, 0x21, 0xc8, 0x77, 0x31, 0x06, 0xd0, + 0xbc, 0x7a, 0xd9, 0x21, 0x2c, 0xb8, 0x17, 0x51, 0x1f, 0xbd, 0x0d, 0x23, 0x75, 0xff, 0xae, 0x77, + 0xd7, 0x09, 0xea, 0x0b, 0x95, 0xb2, 0x58, 0xce, 0xa9, 0xaf, 0xa5, 0x52, 0x8c, 0xa6, 0x7b, 0x0a, + 0x33, 0xc5, 0x57, 0x0c, 0xc2, 0x3a, 0x39, 0xb4, 0xce, 0x62, 0x29, 0x6f, 0xba, 0x5b, 0xab, 0x4e, + 0xab, 0x9b, 0x81, 0xf8, 0x92, 0x44, 0xd2, 0x28, 0x8f, 0x89, 0x80, 0xcb, 0x1c, 0x80, 0x63, 0x42, + 0xe8, 0x1b, 0x61, 0x3a, 0xcc, 0x90, 0xc9, 0x66, 0xe5, 0xaa, 0xea, 0x26, 0xa6, 0x5c, 0x7c, 0x8c, + 0xbe, 0x63, 0xd3, 0xa4, 0xb7, 0x69, 0xcd, 0xd8, 0xbf, 0x3c, 0x0d, 0xc6, 0x26, 0x36, 0x52, 0x17, + 0x5a, 0x47, 0x94, 0xba, 0x10, 0x43, 0x81, 0x34, 0x5b, 0xd1, 0x5e, 0xc9, 0x0d, 0xba, 0xe5, 0xbe, + 0x5d, 0x16, 0x38, 0x9d, 0x34, 0x25, 0x04, 0x2b, 0x3a, 0xe9, 0xf9, 0x25, 0xf3, 0x5f, 0xc5, 0xfc, + 0x92, 0x03, 0xc7, 0x98, 0x5f, 0x72, 0x0d, 0x86, 0xb7, 0xdc, 0x08, 0x93, 0x96, 0x2f, 0x98, 0xfe, + 0xd4, 0x75, 0x78, 0x95, 0xa3, 0x74, 0x66, 0x32, 0x13, 0x00, 0x2c, 0x89, 0xa0, 0x37, 0xd4, 0x0e, + 0x1c, 0xca, 0x7e, 0x33, 0x77, 0x6a, 0xad, 0x53, 0xf7, 0xa0, 0xc8, 0x22, 0x39, 0xfc, 0xb0, 0x59, + 0x24, 0x57, 0x64, 0xee, 0xc7, 0x42, 0xb6, 0x37, 0x07, 0x4b, 0xed, 0xd8, 0x23, 0xe3, 0xe3, 0x6d, + 0x3d, 0x5f, 0x66, 0x31, 0xfb, 0x24, 0x50, 0xa9, 0x30, 0xfb, 0xcc, 0x92, 0xf9, 0x6d, 0x16, 0x9c, + 0x6c, 0xa5, 0xa5, 0x8e, 0x15, 0x0a, 0xde, 0x17, 0xfb, 0xce, 0x8d, 0x6b, 0x34, 0xc8, 0x04, 0x35, + 0xa9, 0x68, 0x38, 0xbd, 0x39, 0x3a, 0xd0, 0xc1, 0x46, 0x5d, 0xa4, 0x79, 0xbc, 0x90, 0x91, 0x6e, + 0xb3, 0x4b, 0x92, 0xcd, 0xf5, 0x94, 0xd4, 0x8e, 0x1f, 0xce, 0x4a, 0xed, 0xd8, 0x77, 0x42, 0xc7, + 0x37, 0x54, 0xa2, 0xcd, 0xb1, 0xec, 0xa5, 0xc4, 0xd3, 0x68, 0xf6, 0x4c, 0xaf, 0xf9, 0x86, 0x4a, + 0xaf, 0xd9, 0x25, 0x10, 0x27, 0x4f, 0x9e, 0xd9, 0x33, 0xa9, 0xa6, 0x96, 0x18, 0x73, 0xe2, 0x68, + 0x12, 0x63, 0x1a, 0x57, 0x0d, 0xcf, 0xcd, 0xf8, 0x74, 0x8f, 0xab, 0xc6, 0xa0, 0xdb, 0xfd, 0xb2, + 0xe1, 0x49, 0x40, 0xa7, 0x1e, 0x2a, 0x09, 0xe8, 0x6d, 0x3d, 0xa9, 0x26, 0xea, 0x91, 0x35, 0x92, + 0x22, 0xf5, 0x99, 0x4a, 0xf3, 0xb6, 0x7e, 0x01, 0x4e, 0x67, 0xd3, 0x55, 0xf7, 0x5c, 0x27, 0xdd, + 0xd4, 0x2b, 0xb0, 0x23, 0x45, 0xe7, 0x89, 0xe3, 0x49, 0xd1, 0x79, 0xf2, 0xc8, 0x53, 0x74, 0x9e, + 0x3a, 0x86, 0x14, 0x9d, 0x8f, 0x1d, 0x63, 0x8a, 0xce, 0xdb, 0xcc, 0x2a, 0x82, 0x87, 0x62, 0x11, + 0x81, 0x43, 0xd3, 0x83, 0x54, 0xa6, 0xc5, 0x6b, 0xe1, 0x1f, 0xa7, 0x40, 0x38, 0x26, 0x95, 0x92, + 0xfa, 0x73, 0xe6, 0x11, 0xa4, 0xfe, 0x5c, 0x8b, 0x53, 0x7f, 0x9e, 0xce, 0x9e, 0xea, 0x14, 0xd3, + 0xf5, 0x8c, 0x84, 0x9f, 0xb7, 0xf5, 0x44, 0x9d, 0x8f, 0x77, 0x11, 0xc5, 0xa7, 0x09, 0x1e, 0xbb, + 0xa4, 0xe7, 0x7c, 0x9d, 0xa7, 0xe7, 0x3c, 0x93, 0x7d, 0x92, 0x27, 0xaf, 0x3b, 0x33, 0x29, 0xe7, + 0x77, 0xe4, 0xe0, 0x5c, 0xf7, 0x7d, 0x11, 0x4b, 0x3d, 0x2b, 0xb1, 0x46, 0x30, 0x21, 0xf5, 0xe4, + 0x6f, 0xab, 0x18, 0xab, 0xef, 0x28, 0x5d, 0x57, 0x61, 0x4a, 0xd9, 0xa6, 0x37, 0xdc, 0xda, 0xde, + 0x5a, 0xfc, 0x42, 0x55, 0xbe, 0xc6, 0xd5, 0x24, 0x02, 0xee, 0xac, 0x83, 0x16, 0x60, 0xc2, 0x28, + 0x2c, 0x97, 0xc4, 0x1b, 0x4a, 0x89, 0x59, 0xab, 0x26, 0x18, 0x27, 0xf1, 0xed, 0x2f, 0x59, 0xf0, + 0x58, 0x46, 0xf6, 0xab, 0xbe, 0x83, 0x50, 0x6d, 0xc2, 0x44, 0xcb, 0xac, 0xda, 0x23, 0x56, 0x9d, + 0x91, 0x63, 0x4b, 0xf5, 0x35, 0x01, 0xc0, 0x49, 0xa2, 0xf6, 0x9f, 0x5a, 0x70, 0xb6, 0xab, 0xe5, + 0x17, 0xc2, 0x70, 0x6a, 0xab, 0x19, 0x3a, 0x4b, 0x01, 0xa9, 0x13, 0x2f, 0x72, 0x9d, 0x46, 0xb5, + 0x45, 0x6a, 0x9a, 0xdc, 0x9a, 0x99, 0x50, 0x5d, 0x5d, 0xad, 0x2e, 0x74, 0x62, 0xe0, 0x8c, 0x9a, + 0x68, 0x05, 0x50, 0x27, 0x44, 0xcc, 0x30, 0x0b, 0x8a, 0xdb, 0x49, 0x0f, 0xa7, 0xd4, 0x40, 0x2f, + 0xc1, 0x98, 0xb2, 0x28, 0xd3, 0x66, 0x9c, 0x1d, 0xc0, 0x58, 0x07, 0x60, 0x13, 0x6f, 0xf1, 0xd2, + 0xaf, 0xfd, 0xee, 0xb9, 0x0f, 0xfd, 0xc6, 0xef, 0x9e, 0xfb, 0xd0, 0x6f, 0xfd, 0xee, 0xb9, 0x0f, + 0x7d, 0xf3, 0x83, 0x73, 0xd6, 0xaf, 0x3d, 0x38, 0x67, 0xfd, 0xc6, 0x83, 0x73, 0xd6, 0x6f, 0x3d, + 0x38, 0x67, 0xfd, 0xce, 0x83, 0x73, 0xd6, 0x17, 0x7f, 0xef, 0xdc, 0x87, 0xde, 0xca, 0xed, 0x3e, + 0xf7, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x70, 0xfb, 0x57, 0xbc, 0xd8, 0x01, 0x01, 0x00, } func (m *AWSElasticBlockStoreVolumeSource) Marshal() (dAtA []byte, err error) { @@ -8294,6 +8334,53 @@ func (m *Container) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ResizePolicy) > 0 { + for iNdEx := len(m.ResizePolicy) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ResizePolicy[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc2 + } + } + if len(m.ResourcesAllocated) > 0 { + keysForResourcesAllocated := make([]string, 0, len(m.ResourcesAllocated)) + for k := range m.ResourcesAllocated { + keysForResourcesAllocated = append(keysForResourcesAllocated, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForResourcesAllocated) + for iNdEx := len(keysForResourcesAllocated) - 1; iNdEx >= 0; iNdEx-- { + v := m.ResourcesAllocated[ResourceName(keysForResourcesAllocated[iNdEx])] + baseI := i + { + size, err := (&v).MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + i -= len(keysForResourcesAllocated[iNdEx]) + copy(dAtA[i:], keysForResourcesAllocated[iNdEx]) + i = encodeVarintGenerated(dAtA, i, uint64(len(keysForResourcesAllocated[iNdEx]))) + i-- + dAtA[i] = 0xa + i = encodeVarintGenerated(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xba + } + } if m.StartupProbe != nil { { size, err := m.StartupProbe.MarshalToSizedBuffer(dAtA[:i]) @@ -8811,6 +8898,16 @@ func (m *ContainerStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size, err := m.Resources.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 if m.Started != nil { i-- if *m.Started { @@ -9557,6 +9654,53 @@ func (m *EphemeralContainerCommon) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l + if len(m.ResizePolicy) > 0 { + for iNdEx := len(m.ResizePolicy) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ResizePolicy[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc2 + } + } + if len(m.ResourcesAllocated) > 0 { + keysForResourcesAllocated := make([]string, 0, len(m.ResourcesAllocated)) + for k := range m.ResourcesAllocated { + keysForResourcesAllocated = append(keysForResourcesAllocated, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForResourcesAllocated) + for iNdEx := len(keysForResourcesAllocated) - 1; iNdEx >= 0; iNdEx-- { + v := m.ResourcesAllocated[ResourceName(keysForResourcesAllocated[iNdEx])] + baseI := i + { + size, err := (&v).MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + i -= len(keysForResourcesAllocated[iNdEx]) + copy(dAtA[i:], keysForResourcesAllocated[iNdEx]) + i = encodeVarintGenerated(dAtA, i, uint64(len(keysForResourcesAllocated[iNdEx]))) + i-- + dAtA[i] = 0xa + i = encodeVarintGenerated(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xba + } + } if m.StartupProbe != nil { { size, err := m.StartupProbe.MarshalToSizedBuffer(dAtA[:i]) @@ -16143,6 +16287,39 @@ func (m *ReplicationControllerStatus) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } +func (m *ResizePolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResizePolicy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ResizePolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + i -= len(m.Policy) + copy(dAtA[i:], m.Policy) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Policy))) + i-- + dAtA[i] = 0x12 + i -= len(m.ResourceName) + copy(dAtA[i:], m.ResourceName) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceName))) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *ResourceFieldSelector) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -19713,6 +19890,21 @@ func (m *Container) Size() (n int) { l = m.StartupProbe.Size() n += 2 + l + sovGenerated(uint64(l)) } + if len(m.ResourcesAllocated) > 0 { + for k, v := range m.ResourcesAllocated { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } + if len(m.ResizePolicy) > 0 { + for _, e := range m.ResizePolicy { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } return n } @@ -19838,6 +20030,8 @@ func (m *ContainerStatus) Size() (n int) { if m.Started != nil { n += 2 } + l = m.Resources.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -20180,6 +20374,21 @@ func (m *EphemeralContainerCommon) Size() (n int) { l = m.StartupProbe.Size() n += 2 + l + sovGenerated(uint64(l)) } + if len(m.ResourcesAllocated) > 0 { + for k, v := range m.ResourcesAllocated { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } + if len(m.ResizePolicy) > 0 { + for _, e := range m.ResizePolicy { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } return n } @@ -22495,6 +22704,19 @@ func (m *ReplicationControllerStatus) Size() (n int) { return n } +func (m *ResizePolicy) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ResourceName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Policy) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *ResourceFieldSelector) Size() (n int) { if m == nil { return 0 @@ -23997,6 +24219,21 @@ func (this *Container) String() string { repeatedStringForVolumeDevices += strings.Replace(strings.Replace(f.String(), "VolumeDevice", "VolumeDevice", 1), `&`, ``, 1) + "," } repeatedStringForVolumeDevices += "}" + repeatedStringForResizePolicy := "[]ResizePolicy{" + for _, f := range this.ResizePolicy { + repeatedStringForResizePolicy += strings.Replace(strings.Replace(f.String(), "ResizePolicy", "ResizePolicy", 1), `&`, ``, 1) + "," + } + repeatedStringForResizePolicy += "}" + keysForResourcesAllocated := make([]string, 0, len(this.ResourcesAllocated)) + for k := range this.ResourcesAllocated { + keysForResourcesAllocated = append(keysForResourcesAllocated, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForResourcesAllocated) + mapStringForResourcesAllocated := "ResourceList{" + for _, k := range keysForResourcesAllocated { + mapStringForResourcesAllocated += fmt.Sprintf("%v: %v,", k, this.ResourcesAllocated[ResourceName(k)]) + } + mapStringForResourcesAllocated += "}" s := strings.Join([]string{`&Container{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Image:` + fmt.Sprintf("%v", this.Image) + `,`, @@ -24020,6 +24257,8 @@ func (this *Container) String() string { `TerminationMessagePolicy:` + fmt.Sprintf("%v", this.TerminationMessagePolicy) + `,`, `VolumeDevices:` + repeatedStringForVolumeDevices + `,`, `StartupProbe:` + strings.Replace(this.StartupProbe.String(), "Probe", "Probe", 1) + `,`, + `ResourcesAllocated:` + mapStringForResourcesAllocated + `,`, + `ResizePolicy:` + repeatedStringForResizePolicy + `,`, `}`, }, "") return s @@ -24112,6 +24351,7 @@ func (this *ContainerStatus) String() string { `ImageID:` + fmt.Sprintf("%v", this.ImageID) + `,`, `ContainerID:` + fmt.Sprintf("%v", this.ContainerID) + `,`, `Started:` + valueToStringGenerated(this.Started) + `,`, + `Resources:` + strings.Replace(strings.Replace(this.Resources.String(), "ResourceRequirements", "ResourceRequirements", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -24343,6 +24583,21 @@ func (this *EphemeralContainerCommon) String() string { repeatedStringForVolumeDevices += strings.Replace(strings.Replace(f.String(), "VolumeDevice", "VolumeDevice", 1), `&`, ``, 1) + "," } repeatedStringForVolumeDevices += "}" + repeatedStringForResizePolicy := "[]ResizePolicy{" + for _, f := range this.ResizePolicy { + repeatedStringForResizePolicy += strings.Replace(strings.Replace(f.String(), "ResizePolicy", "ResizePolicy", 1), `&`, ``, 1) + "," + } + repeatedStringForResizePolicy += "}" + keysForResourcesAllocated := make([]string, 0, len(this.ResourcesAllocated)) + for k := range this.ResourcesAllocated { + keysForResourcesAllocated = append(keysForResourcesAllocated, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForResourcesAllocated) + mapStringForResourcesAllocated := "ResourceList{" + for _, k := range keysForResourcesAllocated { + mapStringForResourcesAllocated += fmt.Sprintf("%v: %v,", k, this.ResourcesAllocated[ResourceName(k)]) + } + mapStringForResourcesAllocated += "}" s := strings.Join([]string{`&EphemeralContainerCommon{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Image:` + fmt.Sprintf("%v", this.Image) + `,`, @@ -24366,6 +24621,8 @@ func (this *EphemeralContainerCommon) String() string { `TerminationMessagePolicy:` + fmt.Sprintf("%v", this.TerminationMessagePolicy) + `,`, `VolumeDevices:` + repeatedStringForVolumeDevices + `,`, `StartupProbe:` + strings.Replace(this.StartupProbe.String(), "Probe", "Probe", 1) + `,`, + `ResourcesAllocated:` + mapStringForResourcesAllocated + `,`, + `ResizePolicy:` + repeatedStringForResizePolicy + `,`, `}`, }, "") return s @@ -26147,6 +26404,17 @@ func (this *ReplicationControllerStatus) String() string { }, "") return s } +func (this *ResizePolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ResizePolicy{`, + `ResourceName:` + fmt.Sprintf("%v", this.ResourceName) + `,`, + `Policy:` + fmt.Sprintf("%v", this.Policy) + `,`, + `}`, + }, "") + return s +} func (this *ResourceFieldSelector) String() string { if this == nil { return "nil" @@ -32257,6 +32525,169 @@ func (m *Container) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 23: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourcesAllocated", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ResourcesAllocated == nil { + m.ResourcesAllocated = make(ResourceList) + } + var mapkey ResourceName + mapvalue := &resource.Quantity{} + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGenerated + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = ResourceName(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &resource.Quantity{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.ResourcesAllocated[ResourceName(mapkey)] = *mapvalue + iNdEx = postIndex + case 24: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResizePolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResizePolicy = append(m.ResizePolicy, ResizePolicy{}) + if err := m.ResizePolicy[len(m.ResizePolicy)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -33472,6 +33903,39 @@ func (m *ContainerStatus) Unmarshal(dAtA []byte) error { } b := bool(v != 0) m.Started = &b + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -36163,6 +36627,169 @@ func (m *EphemeralContainerCommon) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 23: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourcesAllocated", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ResourcesAllocated == nil { + m.ResourcesAllocated = make(ResourceList) + } + var mapkey ResourceName + mapvalue := &resource.Quantity{} + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGenerated + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = ResourceName(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &resource.Quantity{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.ResourcesAllocated[ResourceName(mapkey)] = *mapvalue + iNdEx = postIndex + case 24: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResizePolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResizePolicy = append(m.ResizePolicy, ResizePolicy{}) + if err := m.ResizePolicy[len(m.ResizePolicy)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -56912,6 +57539,123 @@ func (m *ReplicationControllerStatus) Unmarshal(dAtA []byte) error { } return nil } +func (m *ResizePolicy) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ResizePolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResizePolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResourceName = ResourceName(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Policy = ContainerResizePolicy(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ResourceFieldSelector) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index f8925863766f1..1d0a65662e250 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -678,11 +678,20 @@ message Container { repeated EnvVar env = 7; // Compute Resources required by this container. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ + // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ //TODO: Mutable - update doc // +optional optional ResourceRequirements resources = 8; + // Node compute resources allocated to the container. + // More info: TODO: update doc + // +optional + map resourcesAllocated = 23; + + // Resources resize policy for the container. + // More info: TODO: update doc + // +optional + repeated ResizePolicy resizePolicy = 24; + // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional @@ -928,6 +937,11 @@ message ContainerStatus { // Is always true when no startupProbe is defined. // +optional optional bool started = 9; + + // Compute resource requests and limits applied to the container. + // More info: TODO: Update doc + // +optional + optional ResourceRequirements resources = 10; } // DaemonEndpoint contains information about a single Daemon endpoint. @@ -1275,6 +1289,14 @@ message EphemeralContainerCommon { // +optional optional ResourceRequirements resources = 8; + // Node compute resources are not allocated for ephemeral containers, they use spare resources. + // +optional + map resourcesAllocated = 23; + + // Resources resize policy is not applicable to ephemeral containers. + // +optional + repeated ResizePolicy resizePolicy = 24; + // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional @@ -4074,6 +4096,16 @@ message ReplicationControllerStatus { repeated ReplicationControllerCondition conditions = 6; } +// ResizePolicy represents the resource resize policy for a single container. +message ResizePolicy { + // Name of the resource type to which this resize policy applies. + // Supported values: cpu, memory. + optional string resourceName = 1; + + // Container resize policy applicable to the above resource. + optional string policy = 2; +} + // ResourceFieldSelector represents container resources (cpu, memory) and their output format message ResourceFieldSelector { // Container name: required for volumes, optional for env vars diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 5a892ce494b75..ad04c8d1b241c 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -2057,6 +2057,33 @@ const ( PullIfNotPresent PullPolicy = "IfNotPresent" ) +// ContainerResizePolicy specifies user guidance on how container resource resize should be handled. +// Only one of the following container resize policies may be specified. +// If none of the following policies is specified, it defaults to NoRestart. +type ContainerResizePolicy string + +// These are the valid container resize policies: +// NoRestart policy tells Kubelet to call UpdateContainerResources CRI API to resize +// the resources without restarting the container, if possible. This is the default behavior. +// RestartContainer policy tells Kubelet to stop and start the container with when +// new resources are applied. This is needed for legacy applications e.g. java apps +// using -xmxN flag which are unable to use the resized memory without restarting. +const ( + // Resize the container in-place without restarting it. + NoRestart ContainerResizePolicy = "NoRestart" + // Resize the container in-place by restarting it after resize. + RestartContainer ContainerResizePolicy = "RestartContainer" +) + +// ResizePolicy represents the resource resize policy for a single container. +type ResizePolicy struct { + // Name of the resource type to which this resize policy applies. + // Supported values: cpu, memory. + ResourceName ResourceName `json:"resourceName" protobuf:"bytes,1,opt,name=resourceName,casttype=ResourceName"` + // Container resize policy applicable to the above resource. + Policy ContainerResizePolicy `json:"policy" protobuf:"bytes,2,opt,name=policy,casttype=ContainerResizePolicy"` +} + // PreemptionPolicy describes a policy for if/when to preempt a pod. type PreemptionPolicy string @@ -2179,10 +2206,17 @@ type Container struct { // +patchStrategy=merge Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"` // Compute Resources required by this container. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ + // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ //TODO: Mutable - update doc // +optional Resources ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` + // Node compute resources allocated to the container. + // More info: TODO: update doc + // +optional + ResourcesAllocated ResourceList `json:"resourcesAllocated,omitempty" protobuf:"bytes,23,rep,name=resourcesAllocated,casttype=ResourceList,castkey=ResourceName"` + // Resources resize policy for the container. + // More info: TODO: update doc + // +optional + ResizePolicy []ResizePolicy `json:"resizePolicy,omitempty" protobuf:"bytes,24,rep,name=resizePolicy"` // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional @@ -2416,6 +2450,10 @@ type ContainerStatus struct { // Is always true when no startupProbe is defined. // +optional Started *bool `json:"started,omitempty" protobuf:"varint,9,opt,name=started"` + // Compute resource requests and limits applied to the container. + // More info: TODO: Update doc + // +optional + Resources ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,10,opt,name=resources"` } // PodPhase is a label for the condition of a pod at the current time. @@ -3334,6 +3372,12 @@ type EphemeralContainerCommon struct { // already allocated to the pod. // +optional Resources ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,8,opt,name=resources"` + // Node compute resources are not allocated for ephemeral containers, they use spare resources. + // +optional + ResourcesAllocated ResourceList `json:"resourcesAllocated,omitempty" protobuf:"bytes,23,rep,name=resourcesAllocated,casttype=ResourceList,castkey=ResourceName"` + // Resources resize policy is not applicable to ephemeral containers. + // +optional + ResizePolicy []ResizePolicy `json:"resizePolicy,omitempty" protobuf:"bytes,24,rep,name=resizePolicy"` // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index 6bbe4fbe5dcf4..64625d92cb2df 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -334,7 +334,9 @@ var map_Container = map[string]string{ "ports": "List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated.", "envFrom": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", "env": "List of environment variables to set in the container. Cannot be updated.", - "resources": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/", + "resources": "Compute Resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ //TODO: Mutable - update doc", + "resourcesAllocated": "Node compute resources allocated to the container. More info: TODO: update doc", + "resizePolicy": "Resources resize policy for the container. More info: TODO: update doc", "volumeMounts": "Pod volumes to mount into the container's filesystem. Cannot be updated.", "volumeDevices": "volumeDevices is the list of block devices to be used by the container.", "livenessProbe": "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", @@ -433,6 +435,7 @@ var map_ContainerStatus = map[string]string{ "imageID": "ImageID of the container's image.", "containerID": "Container's ID in the format 'docker://'.", "started": "Specifies whether the container has passed its startup probe. Initialized as false, becomes true after startupProbe is considered successful. Resets to false when the container is restarted, or if kubelet loses state temporarily. Is always true when no startupProbe is defined.", + "resources": "Compute resource requests and limits applied to the container. More info: TODO: Update doc", } func (ContainerStatus) SwaggerDoc() map[string]string { @@ -598,6 +601,8 @@ var map_EphemeralContainerCommon = map[string]string{ "envFrom": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", "env": "List of environment variables to set in the container. Cannot be updated.", "resources": "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod.", + "resourcesAllocated": "Node compute resources are not allocated for ephemeral containers, they use spare resources.", + "resizePolicy": "Resources resize policy is not applicable to ephemeral containers.", "volumeMounts": "Pod volumes to mount into the container's filesystem. Cannot be updated.", "volumeDevices": "volumeDevices is the list of block devices to be used by the container.", "livenessProbe": "Probes are not allowed for ephemeral containers.", @@ -1884,6 +1889,16 @@ func (ReplicationControllerStatus) SwaggerDoc() map[string]string { return map_ReplicationControllerStatus } +var map_ResizePolicy = map[string]string{ + "": "ResizePolicy represents the resource resize policy for a single container.", + "resourceName": "Name of the resource type to which this resize policy applies. Supported values: cpu, memory.", + "policy": "Container resize policy applicable to the above resource.", +} + +func (ResizePolicy) SwaggerDoc() map[string]string { + return map_ResizePolicy +} + var map_ResourceFieldSelector = map[string]string{ "": "ResourceFieldSelector represents container resources (cpu, memory) and their output format", "containerName": "Container name: required for volumes, optional for env vars", diff --git a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go index 1924b4309b0fb..4230e76097304 100644 --- a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -756,6 +756,18 @@ func (in *Container) DeepCopyInto(out *Container) { } } in.Resources.DeepCopyInto(&out.Resources) + if in.ResourcesAllocated != nil { + in, out := &in.ResourcesAllocated, &out.ResourcesAllocated + *out = make(ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.ResizePolicy != nil { + in, out := &in.ResizePolicy, &out.ResizePolicy + *out = make([]ResizePolicy, len(*in)) + copy(*out, *in) + } if in.VolumeMounts != nil { in, out := &in.VolumeMounts, &out.VolumeMounts *out = make([]VolumeMount, len(*in)) @@ -935,6 +947,7 @@ func (in *ContainerStatus) DeepCopyInto(out *ContainerStatus) { *out = new(bool) **out = **in } + in.Resources.DeepCopyInto(&out.Resources) return } @@ -1350,6 +1363,18 @@ func (in *EphemeralContainerCommon) DeepCopyInto(out *EphemeralContainerCommon) } } in.Resources.DeepCopyInto(&out.Resources) + if in.ResourcesAllocated != nil { + in, out := &in.ResourcesAllocated, &out.ResourcesAllocated + *out = make(ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.ResizePolicy != nil { + in, out := &in.ResizePolicy, &out.ResizePolicy + *out = make([]ResizePolicy, len(*in)) + copy(*out, *in) + } if in.VolumeMounts != nil { in, out := &in.VolumeMounts, &out.VolumeMounts *out = make([]VolumeMount, len(*in)) @@ -4385,6 +4410,22 @@ func (in *ReplicationControllerStatus) DeepCopy() *ReplicationControllerStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResizePolicy) DeepCopyInto(out *ResizePolicy) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResizePolicy. +func (in *ResizePolicy) DeepCopy() *ResizePolicy { + if in == nil { + return nil + } + out := new(ResizePolicy) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ResourceFieldSelector) DeepCopyInto(out *ResourceFieldSelector) { *out = *in diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json index 3ff97e013e224..2c545956e1630 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json @@ -438,13 +438,22 @@ "湨": "803" } }, + "resourcesAllocated": { + "鎷卩蝾H": "824" + }, + "resizePolicy": [ + { + "resourceName": "蕵ɢ", + "policy": "瓼猀2:öY鶪5w垁鷌辪" + } + ], "volumeMounts": [ { "name": "167", "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "卩蝾", + "mountPropagation": "珝Żwʮ馜ü", "subPathExpr": "170" } ], @@ -462,102 +471,102 @@ }, "httpGet": { "path": "174", - "port": "175", - "host": "176", + "port": 1427781619, + "host": "175", + "scheme": "}", "httpHeaders": [ { - "name": "177", - "value": "178" + "name": "176", + "value": "177" } ] }, "tcpSocket": { - "port": "179", - "host": "180" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1805144649, - "timeoutSeconds": -606111218, - "periodSeconds": 1403721475, - "successThreshold": 519906483, - "failureThreshold": 1466047181 + "initialDelaySeconds": 1030243869, + "timeoutSeconds": -1080853187, + "periodSeconds": -185042403, + "successThreshold": -374922344, + "failureThreshold": -31530684 }, "readinessProbe": { "exec": { "command": [ - "181" + "180" ] }, "httpGet": { - "path": "182", - "port": "183", - "host": "184", - "scheme": "w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ", + "path": "181", + "port": "182", + "host": "183", "httpHeaders": [ { - "name": "185", - "value": "186" + "name": "184", + "value": "185" } ] }, "tcpSocket": { - "port": -337353552, - "host": "187" + "port": -289900366, + "host": "186" }, - "initialDelaySeconds": -1724160601, - "timeoutSeconds": -1158840571, - "periodSeconds": 1435507444, - "successThreshold": -1430577593, - "failureThreshold": 524249411 + "initialDelaySeconds": 559781916, + "timeoutSeconds": -1703360754, + "periodSeconds": -1569009987, + "successThreshold": -1053603859, + "failureThreshold": 1471432155 }, "startupProbe": { "exec": { "command": [ - "188" + "187" ] }, "httpGet": { - "path": "189", - "port": "190", - "host": "191", - "scheme": "k_瀹鞎sn芞QÄȻ", + "path": "188", + "port": "189", + "host": "190", + "scheme": "Ȋ+?ƭ峧Y栲茇竛吲蚛", "httpHeaders": [ { - "name": "192", - "value": "193" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": "194", - "host": "195" + "port": "193", + "host": "194" }, - "initialDelaySeconds": 364013971, - "timeoutSeconds": 1596422492, - "periodSeconds": -1790124395, - "successThreshold": 1094670193, - "failureThreshold": 905846572 + "initialDelaySeconds": -138175394, + "timeoutSeconds": -1839582103, + "periodSeconds": 1054302708, + "successThreshold": -1696471293, + "failureThreshold": 1545364977 }, "lifecycle": { "postStart": { "exec": { "command": [ - "196" + "195" ] }, "httpGet": { - "path": "197", - "port": "198", - "host": "199", - "scheme": "蚛隖\u003cǶĬ4y£軶ǃ*ʙ嫙\u0026蒒5靇C'", + "path": "196", + "port": "197", + "host": "198", + "scheme": "ʙ嫙\u0026", "httpHeaders": [ { - "name": "200", - "value": "201" + "name": "199", + "value": "200" } ] }, "tcpSocket": { - "port": 2126876305, + "port": "201", "host": "202" } }, @@ -569,25 +578,25 @@ }, "httpGet": { "path": "204", - "port": "205", - "host": "206", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": 279808574, + "host": "205", + "scheme": "ǹ_Áȉ彂Ŵ廷s", "httpHeaders": [ { - "name": "207", - "value": "208" + "name": "206", + "value": "207" } ] }, "tcpSocket": { - "port": 406308963, + "port": "208", "host": "209" } } }, "terminationMessagePath": "210", - "terminationMessagePolicy": "ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0", - "imagePullPolicy": "ŤǢʭ嵔棂p儼Ƿ裚瓶", + "terminationMessagePolicy": "dz@ùƸʋŀ樺ȃv渟7¤7djƯĖ漘Z", + "imagePullPolicy": ",铻OŤǢʭ嵔棂p儼Ƿ裚瓶", "securityContext": { "capabilities": { "add": [ @@ -689,12 +698,21 @@ "ɺ皚|懥ƖN粕擓ƖHV": "962" } }, + "resourcesAllocated": { + "ɗ": "991" + }, + "resizePolicy": [ + { + "resourceName": "D剂讼ɓȌʟni酛3ƁÀ*", + "policy": "R§耶FfBls3!Zɾģ毋Ó" + } + ], "volumeMounts": [ { "name": "238", "mountPath": "239", "subPath": "240", - "mountPropagation": "Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ", + "mountPropagation": "娝嘚庎D}埽uʎȺ眖R#yV'", "subPathExpr": "241" } ], @@ -712,9 +730,9 @@ }, "httpGet": { "path": "245", - "port": -393291312, + "port": -1798849477, "host": "246", - "scheme": "Ŧ癃8鸖ɱJȉ罴ņ螡źȰ?", + "scheme": "Í勅跦Opwǩ曬逴褜1ØœȠƬ", "httpHeaders": [ { "name": "247", @@ -726,11 +744,11 @@ "port": "249", "host": "250" }, - "initialDelaySeconds": 627713162, - "timeoutSeconds": 1255312175, - "periodSeconds": -1740959124, - "successThreshold": 158280212, - "failureThreshold": -361442565 + "initialDelaySeconds": 1419770315, + "timeoutSeconds": 300356869, + "periodSeconds": 1830495826, + "successThreshold": 1102291854, + "failureThreshold": -241238495 }, "readinessProbe": { "exec": { @@ -740,9 +758,9 @@ }, "httpGet": { "path": "252", - "port": -2013568185, + "port": 972978563, "host": "253", - "scheme": "#yV'WKw(ğ儴Ůĺ}", + "scheme": "ȨŮ+朷Ǝ膯", "httpHeaders": [ { "name": "254", @@ -751,14 +769,14 @@ ] }, "tcpSocket": { - "port": -20130017, + "port": -1506633471, "host": "256" }, - "initialDelaySeconds": -1244623134, - "timeoutSeconds": -1334110502, - "periodSeconds": -398297599, - "successThreshold": 873056500, - "failureThreshold": -36782737 + "initialDelaySeconds": -249989919, + "timeoutSeconds": -171684192, + "periodSeconds": -602419938, + "successThreshold": 1040396664, + "failureThreshold": -979584143 }, "startupProbe": { "exec": { @@ -770,7 +788,7 @@ "path": "258", "port": "259", "host": "260", - "scheme": "Qg鄠[", + "scheme": "ĸ輦唊", "httpHeaders": [ { "name": "261", @@ -779,36 +797,36 @@ ] }, "tcpSocket": { - "port": -241238495, - "host": "263" + "port": "263", + "host": "264" }, - "initialDelaySeconds": -1556231754, - "timeoutSeconds": 461585849, - "periodSeconds": -321709789, - "successThreshold": -1463645123, - "failureThreshold": -1011390276 + "initialDelaySeconds": 1474943201, + "timeoutSeconds": -196963939, + "periodSeconds": 1584029564, + "successThreshold": -467985423, + "failureThreshold": 2058122084 }, "lifecycle": { "postStart": { "exec": { "command": [ - "264" + "265" ] }, "httpGet": { - "path": "265", - "port": "266", - "host": "267", - "scheme": "]佱¿\u003e犵殇ŕ-Ɂ圯W", + "path": "266", + "port": "267", + "host": "268", + "scheme": "ơŸ8T ", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "269", + "value": "270" } ] }, "tcpSocket": { - "port": "270", + "port": -1871050070, "host": "271" } }, @@ -820,32 +838,32 @@ }, "httpGet": { "path": "273", - "port": -1161649101, - "host": "274", - "scheme": "嚧ʣq埄", + "port": "274", + "host": "275", + "scheme": "*Z鐫û咡W\u003c敄lu|榝$î", "httpHeaders": [ { - "name": "275", - "value": "276" + "name": "276", + "value": "277" } ] }, "tcpSocket": { - "port": "277", + "port": -1008986249, "host": "278" } } }, "terminationMessagePath": "279", - "terminationMessagePolicy": "ʁ岼昕ĬÇ", - "imagePullPolicy": "T 苧yñKJɐ扵G", + "terminationMessagePolicy": "ʜ5遰=E埄Ȁ朦 wƯ貾坢'跩aŕ", + "imagePullPolicy": "Ļǟi\u0026", "securityContext": { "capabilities": { "add": [ - "fʀļ腩墺Ò媁荭gw忊" + "碔" ], "drop": [ - "E剒蔞" + "NKƙ順\\E¦队偯J僳徥淳4揻-$" ] }, "privileged": false, @@ -860,14 +878,14 @@ "gmsaCredentialSpec": "285", "runAsUserName": "286" }, - "runAsUser": -6177393256425700216, - "runAsGroup": 2001337664780390084, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "Ȩ\u003c6鄰簳°Ļǟi\u0026" + "runAsUser": -7971724279034955974, + "runAsGroup": 2011630253582325853, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": ",ŕ" }, - "stdin": true + "stdinOnce": true } ], "ephemeralContainers": [ @@ -884,8 +902,9 @@ "ports": [ { "name": "292", - "hostPort": 1313273370, - "containerPort": -1296830577, + "hostPort": 887319241, + "containerPort": 1559618829, + "protocol": "/»頸+SÄ蚃ɣľ)酊龨Î", "hostIP": "293" } ], @@ -894,7 +913,7 @@ "prefix": "294", "configMapRef": { "name": "295", - "optional": true + "optional": false }, "secretRef": { "name": "296", @@ -914,7 +933,7 @@ "resourceFieldRef": { "containerName": "301", "resource": "302", - "divisor": "3" + "divisor": "568" }, "configMapKeyRef": { "name": "303", @@ -924,26 +943,34 @@ "secretKeyRef": { "name": "305", "key": "306", - "optional": true + "optional": false } } } ], "resources": { "limits": { - "淳4揻-$ɽ丟×x锏ɟ": "178" + "'琕鶫:顇ə娯Ȱ囌{屿": "115" }, "requests": { - "Ö闊 鰔澝qV": "752" + "龏´DÒȗÔÂɘɢ鬍": "101" } }, + "resourcesAllocated": { + "ŕ璻Jih亏yƕ丆": "23" + }, + "resizePolicy": [ + { + "resourceName": "鯂²静", + "policy": "灩聋3趐囨鏻砅邻" + } + ], "volumeMounts": [ { "name": "307", - "readOnly": true, "mountPath": "308", "subPath": "309", - "mountPropagation": "/»頸+SÄ蚃ɣľ)酊龨Î", + "mountPropagation": "ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS", "subPathExpr": "310" } ], @@ -961,213 +988,210 @@ }, "httpGet": { "path": "314", - "port": "315", - "host": "316", - "scheme": "冓鍓贯", + "port": 1076497581, + "host": "315", + "scheme": "h4ɊHȖ|ʐ", "httpHeaders": [ { - "name": "317", - "value": "318" + "name": "316", + "value": "317" } ] }, "tcpSocket": { - "port": "319", - "host": "320" + "port": 248533396, + "host": "318" }, - "initialDelaySeconds": 1290950685, - "timeoutSeconds": 12533543, - "periodSeconds": 1058960779, - "successThreshold": -2133441986, - "failureThreshold": 472742933 + "initialDelaySeconds": -1835677314, + "timeoutSeconds": 199049889, + "periodSeconds": 1947032456, + "successThreshold": 1233904535, + "failureThreshold": -969533986 }, "readinessProbe": { "exec": { "command": [ - "321" + "319" ] }, "httpGet": { - "path": "322", - "port": 1332783160, - "host": "323", - "scheme": "Ȱ囌{屿oiɥ嵐sC8?Ǻ鱎ƙ;", + "path": "320", + "port": "321", + "host": "322", "httpHeaders": [ { - "name": "324", - "value": "325" + "name": "323", + "value": "324" } ] }, "tcpSocket": { - "port": "326", - "host": "327" + "port": "325", + "host": "326" }, - "initialDelaySeconds": -300247800, - "timeoutSeconds": 386804041, - "periodSeconds": -126958936, - "successThreshold": 186945072, - "failureThreshold": 620822482 + "initialDelaySeconds": -1408385387, + "timeoutSeconds": -1225881740, + "periodSeconds": 1063054949, + "successThreshold": 172612011, + "failureThreshold": 646449677 }, "startupProbe": { "exec": { "command": [ - "328" + "327" ] }, "httpGet": { - "path": "329", - "port": "330", - "host": "331", - "scheme": "鍏H鯂²", + "path": "328", + "port": 2084371155, + "host": "329", + "scheme": "ɭɪǹ0衷,", "httpHeaders": [ { - "name": "332", - "value": "333" + "name": "330", + "value": "331" } ] }, "tcpSocket": { - "port": -1187301925, - "host": "334" + "port": 1692740191, + "host": "332" }, - "initialDelaySeconds": -402384013, - "timeoutSeconds": -181601395, - "periodSeconds": -617381112, - "successThreshold": 1851229369, - "failureThreshold": -560238386 + "initialDelaySeconds": -278396828, + "timeoutSeconds": 1497888778, + "periodSeconds": -1663818120, + "successThreshold": -211480108, + "failureThreshold": -200074798 }, "lifecycle": { "postStart": { "exec": { "command": [ - "335" + "333" ] }, "httpGet": { - "path": "336", - "port": "337", - "host": "338", - "scheme": "C\"6x$1s", + "path": "334", + "port": -302933400, + "host": "335", + "scheme": "眵笭/9崍h趭(娕uE增猍ǵ x", "httpHeaders": [ { - "name": "339", - "value": "340" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "341", - "host": "342" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "343" + "340" ] }, "httpGet": { - "path": "344", - "port": -518160270, - "host": "345", - "scheme": "ɔ幩še", + "path": "341", + "port": 1238925115, + "host": "342", + "scheme": "ɢX鰨松/Ȁĵ", "httpHeaders": [ { - "name": "346", - "value": "347" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": 1956567721, - "host": "348" + "port": "345", + "host": "346" } } }, - "terminationMessagePath": "349", - "terminationMessagePolicy": "ȤƏ埮pɵ", + "terminationMessagePath": "347", + "terminationMessagePolicy": "ȲǸ|蕎'佉賞ǧĒzŔ", + "imagePullPolicy": "ùfŭƽ", "securityContext": { "capabilities": { "add": [ - "|ʐşƧ諔迮ƙIJ嘢" + "æ盪泙若`l}Ñ蠂Ü" ], "drop": [ - "ʗN" + "ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I" ] }, "privileged": false, "seLinuxOptions": { - "user": "350", - "role": "351", - "type": "352", - "level": "353" + "user": "348", + "role": "349", + "type": "350", + "level": "351" }, "windowsOptions": { - "gmsaCredentialSpecName": "354", - "gmsaCredentialSpec": "355", - "runAsUserName": "356" + "gmsaCredentialSpecName": "352", + "gmsaCredentialSpec": "353", + "runAsUserName": "354" }, - "runAsUser": -6048969174364431391, - "runAsGroup": 6726836758549163621, + "runAsUser": -7474879432414053077, + "runAsGroup": 373025114301996656, "runAsNonRoot": false, "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "" + "allowPrivilegeEscalation": true, + "procMount": "y竬ʆɞȥ}礤铟怖ý萜Ǖc8" }, - "stdin": true, - "stdinOnce": true, - "tty": true, - "targetContainerName": "357" + "targetContainerName": "355" } ], - "restartPolicy": "ɭɪǹ0衷,", - "terminationGracePeriodSeconds": -3039830979334099524, - "activeDeadlineSeconds": 7270263763744228913, - "dnsPolicy": "n(fǂǢ曣ŋayåe躒訙Ǫ", + "restartPolicy": "Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ", + "terminationGracePeriodSeconds": 2424760700494115127, + "activeDeadlineSeconds": 8749598715214557239, "nodeSelector": { - "358": "359" + "356": "357" }, - "serviceAccountName": "360", - "serviceAccount": "361", - "automountServiceAccountToken": true, - "nodeName": "362", + "serviceAccountName": "358", + "serviceAccount": "359", + "automountServiceAccountToken": false, + "nodeName": "360", "hostNetwork": true, + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "363", - "role": "364", - "type": "365", - "level": "366" + "user": "361", + "role": "362", + "type": "363", + "level": "364" }, "windowsOptions": { - "gmsaCredentialSpecName": "367", - "gmsaCredentialSpec": "368", - "runAsUserName": "369" + "gmsaCredentialSpecName": "365", + "gmsaCredentialSpec": "366", + "runAsUserName": "367" }, - "runAsUser": -5315960194881172085, - "runAsGroup": 6386250802140824739, + "runAsUser": -2056599486643434092, + "runAsGroup": -2605388897472681971, "runAsNonRoot": false, "supplementalGroups": [ - -4480129203693517072 + -6171436788982835150 ], - "fsGroup": 2585323675983182372, + "fsGroup": 3252248067742584460, "sysctls": [ { - "name": "370", - "value": "371" + "name": "368", + "value": "369" } ], - "fsGroupChangePolicy": "Ĕ\\ɢX鰨松/Ȁĵ鴁ĩȲǸ|蕎" + "fsGroupChangePolicy": "裡×銵-紑浘牬釼" }, "imagePullSecrets": [ { - "name": "372" + "name": "370" } ], - "hostname": "373", - "subdomain": "374", + "hostname": "371", + "subdomain": "372", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1175,19 +1199,19 @@ { "matchExpressions": [ { - "key": "375", - "operator": "Ǚ(", + "key": "373", + "operator": "槃JŵǤ桒ɴ鉂WJ", "values": [ - "376" + "374" ] } ], "matchFields": [ { - "key": "377", - "operator": "瘍Nʊ輔3璾ėȜv1b繐汚", + "key": "375", + "operator": "ƞʓ%ʝ`ǭ躌", "values": [ - "378" + "376" ] } ] @@ -1196,23 +1220,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 702968201, + "weight": -1312249623, "preference": { "matchExpressions": [ { - "key": "379", - "operator": "n覦灲閈誹ʅ蕉", + "key": "377", + "operator": "滿筇ȟP:/a殆", "values": [ - "380" + "378" ] } ], "matchFields": [ { - "key": "381", - "operator": "", + "key": "379", + "operator": "ȏâ磠", "values": [ - "382" + "380" ] } ] @@ -1225,43 +1249,43 @@ { "labelSelector": { "matchLabels": { - "lm-e46-r-g63--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-g/0p_3_J_SA995IKCR.s--f.-f.-zv._._.5-H.T.-.-.d": "b_9_1o.w_aI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7._l.I" + "KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N": "8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf" }, "matchExpressions": [ { - "key": "d----v8-4--558n1asz-r886x.2-cgr6---r58-e-l203-8sln7-x/k2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l", - "operator": "DoesNotExist" + "key": "el--F.6", + "operator": "Exists" } ] }, "namespaces": [ - "389" + "387" ], - "topologyKey": "390" + "topologyKey": "388" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1195176401, + "weight": 1038187806, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "Bk.j._g-G-7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_68": "Q4_.84.K_-_0_..u.F.pq..--Q" + "s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8": "l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D" }, "matchExpressions": [ { - "key": "8b-3-3b17cab-ppy5e--9p-61-2we16h--5-d-k-sm.2xv17r--32b-----4-670tfz-up3n/ov_Z--Zg-_Q", - "operator": "NotIn", + "key": "21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u", + "operator": "In", "values": [ - "0..KpiS.oK-.O--5-yp8q_s-L" + "rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4" ] } ] }, "namespaces": [ - "397" + "395" ], - "topologyKey": "398" + "topologyKey": "396" } } ] @@ -1271,143 +1295,143 @@ { "labelSelector": { "matchLabels": { - "H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_j": "35.40Rw4gD.._.-x6db-L7.-__-G_2kCpS_1" + "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X": "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m" }, "matchExpressions": [ { - "key": "d-XZ-x.__.Y_2-n_5023Xl-3Pw_-r7g", + "key": "Y.39g_.--_-_ve5.m_U", "operator": "NotIn", "values": [ - "VT3sn-0_.i__a.O2G_J" + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" ] } ] }, "namespaces": [ - "405" + "403" ], - "topologyKey": "406" + "topologyKey": "404" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1508769491, + "weight": -1370389893, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3--rgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--it6k47-7y1.h72n-cnp-75/c10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-3": "20_._.-_L-__bf_9_-C-PfNx__-U_.Pn-W23-_.z_.._s--_F-BR-.h_-2-.F" + "622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4": "3_-_B" }, "matchExpressions": [ { - "key": "p_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-e", - "operator": "In", - "values": [ - "" - ] + "key": "f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU", + "operator": "Exists" } ] }, "namespaces": [ - "413" + "411" ], - "topologyKey": "414" + "topologyKey": "412" } } ] } }, - "schedulerName": "415", + "schedulerName": "413", "tolerations": [ { - "key": "416", - "operator": "抄3昞财Î嘝zʄ!ć", - "value": "417", - "effect": "緍k¢茤", - "tolerationSeconds": 4096844323391966153 + "key": "414", + "operator": "Ǒȃ绡\u003e", + "value": "415", + "effect": "鳖üzÁ鍫Ǥ.", + "tolerationSeconds": 715786430081306206 } ], "hostAliases": [ { - "ip": "418", + "ip": "416", "hostnames": [ - "419" + "417" ] } ], - "priorityClassName": "420", - "priority": -1331113536, + "priorityClassName": "418", + "priority": -173761204, "dnsConfig": { "nameservers": [ - "421" + "419" ], "searches": [ - "422" + "420" ], "options": [ { - "name": "423", - "value": "424" + "name": "421", + "value": "422" } ] }, "readinessGates": [ { - "conditionType": "mō6µɑ`ȗ\u003c8^翜" + "conditionType": "3荾;釋ƽ,ʢ刣ȱǍ" } ], - "runtimeClassName": "425", - "enableServiceLinks": false, - "preemptionPolicy": "ý筞X", + "runtimeClassName": "423", + "enableServiceLinks": true, + "preemptionPolicy": "縊CkǚŨ镦", "overhead": { - "tHǽ÷閂抰^窄CǙķȈ": "97" + "熴贤r心Ķ餍4": "127" }, "topologySpreadConstraints": [ { - "maxSkew": 1956797678, - "topologyKey": "426", - "whenUnsatisfiable": "ƀ+瑏eCmAȥ睙", + "maxSkew": -1458287077, + "topologyKey": "424", + "whenUnsatisfiable": "Ŋ)TiD¢ƿ媴h", "labelSelector": { "matchLabels": { - "zp22o4a-w----11rqy3eo79p-f4r1--7p--053--suu--98.y1s8-j-6j4uvf1-sdg--132bid-7x0u738--7w-tdt-u-0--v/Ied-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV.9_G5": "x_.4dwFbuvEf55Y2k.F-4" + "0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7": "" }, "matchExpressions": [ { - "key": "88-i19.y-y7o-0-wq-zfdw73w0---4a18-f---ui6-48e-9-h4-w-qp25--7-n--kfk3g/1n1.--.._-x_4..u2-__3uM77U7._pz", - "operator": "DoesNotExist" + "key": "07CY-_dc__G6N-_-o", + "operator": "In", + "values": [ + "2_D6_.d-n_9n.p.2-.-QwO" + ] } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, "updateStrategy": { - "type": "))e×鄞閆N钮Ǒ", + "type": "苁_Ȧ4Á$议ĪS幻/饑Ȉ@|{t亪", "rollingUpdate": { "maxUnavailable": 2 } }, - "minReadySeconds": -1521312599, - "revisionHistoryLimit": 554881301 + "minReadySeconds": 126377129, + "revisionHistoryLimit": 1907333818 }, "status": { - "currentNumberScheduled": 687719923, - "numberMisscheduled": -1777921334, - "desiredNumberScheduled": -2022058870, - "numberReady": 283054026, - "observedGeneration": 9202522069332337259, - "updatedNumberScheduled": -691360969, - "numberAvailable": 1090884237, - "numberUnavailable": -1303432952, - "collisionCount": -434531243, + "currentNumberScheduled": 1943834326, + "numberMisscheduled": -1837907235, + "desiredNumberScheduled": 1851500857, + "numberReady": 765399390, + "observedGeneration": 1057281124077201391, + "updatedNumberScheduled": 1078397248, + "numberAvailable": -1146364789, + "numberUnavailable": -168110078, + "collisionCount": -855762010, "conditions": [ { - "type": "", - "status": "B/ü橚2ț}¹旛坷硂", - "lastTransitionTime": "2776-12-09T00:48:05Z", - "reason": "433", - "message": "434" + "type": "蒸CƅR8ɷ|恫f籽", + "status": "肆Ző:ijɲí_夦ŔßȊ嫎", + "lastTransitionTime": "2659-11-08T03:00:13Z", + "reason": "431", + "message": "432" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb index 7c255cc53d6a9..786f9ff7e1976 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml index bdf9af7dfd5dd..22e4d483973d3 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml @@ -30,8 +30,8 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -1521312599 - revisionHistoryLimit: 554881301 + minReadySeconds: 126377129 + revisionHistoryLimit: 1907333818 selector: matchExpressions: - key: p503---477-49p---o61---4fy--9---7--9-9s-0-u5lj2--10pq-0-7-9-2-0/fP81.-.9Vdx.TB_M-H_5_.t..bG0 @@ -71,87 +71,85 @@ spec: selfLink: "28" uid: TʡȂŏ{sǡƟ spec: - activeDeadlineSeconds: 7270263763744228913 + activeDeadlineSeconds: 8749598715214557239 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "379" - operator: n覦灲閈誹ʅ蕉 + - key: "377" + operator: 滿筇ȟP:/a殆 values: - - "380" + - "378" matchFields: - - key: "381" - operator: "" + - key: "379" + operator: ȏâ磠 values: - - "382" - weight: 702968201 + - "380" + weight: -1312249623 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "375" - operator: Ǚ( + - key: "373" + operator: 槃JŵǤ桒ɴ鉂WJ values: - - "376" + - "374" matchFields: - - key: "377" - operator: 瘍Nʊ輔3璾ėȜv1b繐汚 + - key: "375" + operator: ƞʓ%ʝ`ǭ躌 values: - - "378" + - "376" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8b-3-3b17cab-ppy5e--9p-61-2we16h--5-d-k-sm.2xv17r--32b-----4-670tfz-up3n/ov_Z--Zg-_Q - operator: NotIn + - key: 21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u + operator: In values: - - 0..KpiS.oK-.O--5-yp8q_s-L + - rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4 matchLabels: - Bk.j._g-G-7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_68: Q4_.84.K_-_0_..u.F.pq..--Q + s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8: l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D namespaces: - - "397" - topologyKey: "398" - weight: 1195176401 + - "395" + topologyKey: "396" + weight: 1038187806 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: d----v8-4--558n1asz-r886x.2-cgr6---r58-e-l203-8sln7-x/k2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l - operator: DoesNotExist + - key: el--F.6 + operator: Exists matchLabels: - lm-e46-r-g63--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-g/0p_3_J_SA995IKCR.s--f.-f.-zv._._.5-H.T.-.-.d: b_9_1o.w_aI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7._l.I + KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N: 8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf namespaces: - - "389" - topologyKey: "390" + - "387" + topologyKey: "388" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: p_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-e - operator: In - values: - - "" + - key: f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU + operator: Exists matchLabels: - 3--rgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--it6k47-7y1.h72n-cnp-75/c10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-3: 20_._.-_L-__bf_9_-C-PfNx__-U_.Pn-W23-_.z_.._s--_F-BR-.h_-2-.F + 622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4: 3_-_B namespaces: - - "413" - topologyKey: "414" - weight: -1508769491 + - "411" + topologyKey: "412" + weight: -1370389893 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: d-XZ-x.__.Y_2-n_5023Xl-3Pw_-r7g + - key: Y.39g_.--_-_ve5.m_U operator: NotIn values: - - VT3sn-0_.i__a.O2G_J + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_j: 35.40Rw4gD.._.-x6db-L7.-__-G_2kCpS_1 + 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X: 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m namespaces: - - "405" - topologyKey: "406" - automountServiceAccountToken: true + - "403" + topologyKey: "404" + automountServiceAccountToken: false containers: - args: - "221" @@ -185,58 +183,58 @@ spec: name: "227" optional: false image: "219" - imagePullPolicy: T 苧yñKJɐ扵G + imagePullPolicy: Ļǟi& lifecycle: postStart: exec: command: - - "264" + - "265" httpGet: - host: "267" + host: "268" httpHeaders: - - name: "268" - value: "269" - path: "265" - port: "266" - scheme: ']佱¿>犵殇ŕ-Ɂ圯W' + - name: "269" + value: "270" + path: "266" + port: "267" + scheme: 'ơŸ8T ' tcpSocket: host: "271" - port: "270" + port: -1871050070 preStop: exec: command: - "272" httpGet: - host: "274" + host: "275" httpHeaders: - - name: "275" - value: "276" + - name: "276" + value: "277" path: "273" - port: -1161649101 - scheme: 嚧ʣq埄 + port: "274" + scheme: '*Z鐫û咡W<敄lu|榝$î' tcpSocket: host: "278" - port: "277" + port: -1008986249 livenessProbe: exec: command: - "244" - failureThreshold: -361442565 + failureThreshold: -241238495 httpGet: host: "246" httpHeaders: - name: "247" value: "248" path: "245" - port: -393291312 - scheme: Ŧ癃8鸖ɱJȉ罴ņ螡źȰ? - initialDelaySeconds: 627713162 - periodSeconds: -1740959124 - successThreshold: 158280212 + port: -1798849477 + scheme: Í勅跦Opwǩ曬逴褜1ØœȠƬ + initialDelaySeconds: 1419770315 + periodSeconds: 1830495826 + successThreshold: 1102291854 tcpSocket: host: "250" port: "249" - timeoutSeconds: 1255312175 + timeoutSeconds: 300356869 name: "218" ports: - containerPort: -839281354 @@ -248,40 +246,45 @@ spec: exec: command: - "251" - failureThreshold: -36782737 + failureThreshold: -979584143 httpGet: host: "253" httpHeaders: - name: "254" value: "255" path: "252" - port: -2013568185 - scheme: '#yV''WKw(ğ儴Ůĺ}' - initialDelaySeconds: -1244623134 - periodSeconds: -398297599 - successThreshold: 873056500 + port: 972978563 + scheme: ȨŮ+朷Ǝ膯 + initialDelaySeconds: -249989919 + periodSeconds: -602419938 + successThreshold: 1040396664 tcpSocket: host: "256" - port: -20130017 - timeoutSeconds: -1334110502 + port: -1506633471 + timeoutSeconds: -171684192 + resizePolicy: + - policy: R§耶FfBls3!Zɾģ毋Ó + resourceName: D剂讼ɓȌʟni酛3ƁÀ* resources: limits: 藠3.v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0: "175" requests: ɺ皚|懥ƖN粕擓ƖHV: "962" + resourcesAllocated: + ɗ: "991" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - fʀļ腩墺Ò媁荭gw忊 + - 碔 drop: - - E剒蔞 + - NKƙ順\E¦队偯J僳徥淳4揻-$ privileged: false - procMount: Ȩ<6鄰簳°Ļǟi& - readOnlyRootFilesystem: true - runAsGroup: 2001337664780390084 - runAsNonRoot: true - runAsUser: -6177393256425700216 + procMount: ',ŕ' + readOnlyRootFilesystem: false + runAsGroup: 2011630253582325853 + runAsNonRoot: false + runAsUser: -7971724279034955974 seLinuxOptions: level: "283" role: "281" @@ -295,7 +298,7 @@ spec: exec: command: - "257" - failureThreshold: -1011390276 + failureThreshold: 2058122084 httpGet: host: "260" httpHeaders: @@ -303,37 +306,36 @@ spec: value: "262" path: "258" port: "259" - scheme: Qg鄠[ - initialDelaySeconds: -1556231754 - periodSeconds: -321709789 - successThreshold: -1463645123 + scheme: ĸ輦唊 + initialDelaySeconds: 1474943201 + periodSeconds: 1584029564 + successThreshold: -467985423 tcpSocket: - host: "263" - port: -241238495 - timeoutSeconds: 461585849 - stdin: true + host: "264" + port: "263" + timeoutSeconds: -196963939 + stdinOnce: true terminationMessagePath: "279" - terminationMessagePolicy: ʁ岼昕ĬÇ + terminationMessagePolicy: ʜ5遰=E埄Ȁ朦 wƯ貾坢'跩aŕ volumeDevices: - devicePath: "243" name: "242" volumeMounts: - mountPath: "239" - mountPropagation: 'Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ' + mountPropagation: 娝嘚庎D}埽uʎȺ眖R#yV' name: "238" subPath: "240" subPathExpr: "241" workingDir: "222" dnsConfig: nameservers: - - "421" + - "419" options: - - name: "423" - value: "424" + - name: "421" + value: "422" searches: - - "422" - dnsPolicy: n(fǂǢ曣ŋayåe躒訙Ǫ - enableServiceLinks: false + - "420" + enableServiceLinks: true ephemeralContainers: - args: - "290" @@ -352,170 +354,173 @@ spec: fieldPath: "300" resourceFieldRef: containerName: "301" - divisor: "3" + divisor: "568" resource: "302" secretKeyRef: key: "306" name: "305" - optional: true + optional: false envFrom: - configMapRef: name: "295" - optional: true + optional: false prefix: "294" secretRef: name: "296" optional: false image: "288" + imagePullPolicy: ùfŭƽ lifecycle: postStart: exec: command: - - "335" + - "333" httpGet: - host: "338" + host: "335" httpHeaders: - - name: "339" - value: "340" - path: "336" - port: "337" - scheme: C"6x$1s + - name: "336" + value: "337" + path: "334" + port: -302933400 + scheme: 眵笭/9崍h趭(娕uE增猍ǵ x tcpSocket: - host: "342" - port: "341" + host: "339" + port: "338" preStop: exec: command: - - "343" + - "340" httpGet: - host: "345" + host: "342" httpHeaders: - - name: "346" - value: "347" - path: "344" - port: -518160270 - scheme: ɔ幩še + - name: "343" + value: "344" + path: "341" + port: 1238925115 + scheme: ɢX鰨松/Ȁĵ tcpSocket: - host: "348" - port: 1956567721 + host: "346" + port: "345" livenessProbe: exec: command: - "313" - failureThreshold: 472742933 + failureThreshold: -969533986 httpGet: - host: "316" + host: "315" httpHeaders: - - name: "317" - value: "318" + - name: "316" + value: "317" path: "314" - port: "315" - scheme: 冓鍓贯 - initialDelaySeconds: 1290950685 - periodSeconds: 1058960779 - successThreshold: -2133441986 + port: 1076497581 + scheme: h4ɊHȖ|ʐ + initialDelaySeconds: -1835677314 + periodSeconds: 1947032456 + successThreshold: 1233904535 tcpSocket: - host: "320" - port: "319" - timeoutSeconds: 12533543 + host: "318" + port: 248533396 + timeoutSeconds: 199049889 name: "287" ports: - - containerPort: -1296830577 + - containerPort: 1559618829 hostIP: "293" - hostPort: 1313273370 + hostPort: 887319241 name: "292" + protocol: /»頸+SÄ蚃ɣľ)酊龨Î readinessProbe: exec: command: - - "321" - failureThreshold: 620822482 + - "319" + failureThreshold: 646449677 httpGet: - host: "323" + host: "322" httpHeaders: - - name: "324" - value: "325" - path: "322" - port: 1332783160 - scheme: Ȱ囌{屿oiɥ嵐sC8?Ǻ鱎ƙ; - initialDelaySeconds: -300247800 - periodSeconds: -126958936 - successThreshold: 186945072 + - name: "323" + value: "324" + path: "320" + port: "321" + initialDelaySeconds: -1408385387 + periodSeconds: 1063054949 + successThreshold: 172612011 tcpSocket: - host: "327" - port: "326" - timeoutSeconds: 386804041 + host: "326" + port: "325" + timeoutSeconds: -1225881740 + resizePolicy: + - policy: 灩聋3趐囨鏻砅邻 + resourceName: 鯂²静 resources: limits: - 淳4揻-$ɽ丟×x锏ɟ: "178" + '''琕鶫:顇ə娯Ȱ囌{屿': "115" requests: - Ö闊 鰔澝qV: "752" + 龏´DÒȗÔÂɘɢ鬍: "101" + resourcesAllocated: + ŕ璻Jih亏yƕ丆: "23" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - '|ʐşƧ諔迮ƙIJ嘢' + - æ盪泙若`l}Ñ蠂Ü drop: - - ʗN + - ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I privileged: false - procMount: "" + procMount: y竬ʆɞȥ}礤铟怖ý萜Ǖc8 readOnlyRootFilesystem: true - runAsGroup: 6726836758549163621 + runAsGroup: 373025114301996656 runAsNonRoot: false - runAsUser: -6048969174364431391 + runAsUser: -7474879432414053077 seLinuxOptions: - level: "353" - role: "351" - type: "352" - user: "350" + level: "351" + role: "349" + type: "350" + user: "348" windowsOptions: - gmsaCredentialSpec: "355" - gmsaCredentialSpecName: "354" - runAsUserName: "356" + gmsaCredentialSpec: "353" + gmsaCredentialSpecName: "352" + runAsUserName: "354" startupProbe: exec: command: - - "328" - failureThreshold: -560238386 + - "327" + failureThreshold: -200074798 httpGet: - host: "331" + host: "329" httpHeaders: - - name: "332" - value: "333" - path: "329" - port: "330" - scheme: 鍏H鯂² - initialDelaySeconds: -402384013 - periodSeconds: -617381112 - successThreshold: 1851229369 + - name: "330" + value: "331" + path: "328" + port: 2084371155 + scheme: ɭɪǹ0衷, + initialDelaySeconds: -278396828 + periodSeconds: -1663818120 + successThreshold: -211480108 tcpSocket: - host: "334" - port: -1187301925 - timeoutSeconds: -181601395 - stdin: true - stdinOnce: true - targetContainerName: "357" - terminationMessagePath: "349" - terminationMessagePolicy: ȤƏ埮pɵ - tty: true + host: "332" + port: 1692740191 + timeoutSeconds: 1497888778 + targetContainerName: "355" + terminationMessagePath: "347" + terminationMessagePolicy: ȲǸ|蕎'佉賞ǧĒzŔ volumeDevices: - devicePath: "312" name: "311" volumeMounts: - mountPath: "308" - mountPropagation: /»頸+SÄ蚃ɣľ)酊龨Î + mountPropagation: ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS name: "307" - readOnly: true subPath: "309" subPathExpr: "310" workingDir: "291" hostAliases: - hostnames: - - "419" - ip: "418" + - "417" + ip: "416" + hostIPC: true hostNetwork: true - hostname: "373" + hostname: "371" imagePullSecrets: - - name: "372" + - name: "370" initContainers: - args: - "150" @@ -549,57 +554,58 @@ spec: name: "156" optional: false image: "148" - imagePullPolicy: ŤǢʭ嵔棂p儼Ƿ裚瓶 + imagePullPolicy: ',铻OŤǢʭ嵔棂p儼Ƿ裚瓶' lifecycle: postStart: exec: command: - - "196" + - "195" httpGet: - host: "199" + host: "198" httpHeaders: - - name: "200" - value: "201" - path: "197" - port: "198" - scheme: 蚛隖<ǶĬ4y£軶ǃ*ʙ嫙&蒒5靇C' + - name: "199" + value: "200" + path: "196" + port: "197" + scheme: ʙ嫙& tcpSocket: host: "202" - port: 2126876305 + port: "201" preStop: exec: command: - "203" httpGet: - host: "206" + host: "205" httpHeaders: - - name: "207" - value: "208" + - name: "206" + value: "207" path: "204" - port: "205" - scheme: Ŵ廷s{Ⱦdz@ + port: 279808574 + scheme: ǹ_Áȉ彂Ŵ廷s tcpSocket: host: "209" - port: 406308963 + port: "208" livenessProbe: exec: command: - "173" - failureThreshold: 1466047181 + failureThreshold: -31530684 httpGet: - host: "176" + host: "175" httpHeaders: - - name: "177" - value: "178" + - name: "176" + value: "177" path: "174" - port: "175" - initialDelaySeconds: 1805144649 - periodSeconds: 1403721475 - successThreshold: 519906483 + port: 1427781619 + scheme: '}' + initialDelaySeconds: 1030243869 + periodSeconds: -185042403 + successThreshold: -374922344 tcpSocket: - host: "180" - port: "179" - timeoutSeconds: -606111218 + host: "179" + port: "178" + timeoutSeconds: -1080853187 name: "147" ports: - containerPort: 437857734 @@ -610,28 +616,32 @@ spec: readinessProbe: exec: command: - - "181" - failureThreshold: 524249411 + - "180" + failureThreshold: 1471432155 httpGet: - host: "184" + host: "183" httpHeaders: - - name: "185" - value: "186" - path: "182" - port: "183" - scheme: w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ - initialDelaySeconds: -1724160601 - periodSeconds: 1435507444 - successThreshold: -1430577593 + - name: "184" + value: "185" + path: "181" + port: "182" + initialDelaySeconds: 559781916 + periodSeconds: -1569009987 + successThreshold: -1053603859 tcpSocket: - host: "187" - port: -337353552 - timeoutSeconds: -1158840571 + host: "186" + port: -289900366 + timeoutSeconds: -1703360754 + resizePolicy: + - policy: 瓼猀2:öY鶪5w垁鷌辪 + resourceName: 蕵ɢ resources: limits: 檲ɨ銦妰黖ȓƇ$缔獵偐ę腬: "646" requests: 湨: "803" + resourcesAllocated: + 鎷卩蝾H: "824" securityContext: allowPrivilegeEscalation: true capabilities: @@ -657,95 +667,96 @@ spec: startupProbe: exec: command: - - "188" - failureThreshold: 905846572 + - "187" + failureThreshold: 1545364977 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" - path: "189" - port: "190" - scheme: k_瀹鞎sn芞QÄȻ - initialDelaySeconds: 364013971 - periodSeconds: -1790124395 - successThreshold: 1094670193 + - name: "191" + value: "192" + path: "188" + port: "189" + scheme: Ȋ+?ƭ峧Y栲茇竛吲蚛 + initialDelaySeconds: -138175394 + periodSeconds: 1054302708 + successThreshold: -1696471293 tcpSocket: - host: "195" - port: "194" - timeoutSeconds: 1596422492 + host: "194" + port: "193" + timeoutSeconds: -1839582103 stdin: true stdinOnce: true terminationMessagePath: "210" - terminationMessagePolicy: ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0 + terminationMessagePolicy: dz@ùƸʋŀ樺ȃv渟7¤7djƯĖ漘Z tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: 卩蝾 + mountPropagation: 珝Żwʮ馜ü name: "167" readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "362" + nodeName: "360" nodeSelector: - "358": "359" + "356": "357" overhead: - tHǽ÷閂抰^窄CǙķȈ: "97" - preemptionPolicy: ý筞X - priority: -1331113536 - priorityClassName: "420" + 熴贤r心Ķ餍4: "127" + preemptionPolicy: 縊CkǚŨ镦 + priority: -173761204 + priorityClassName: "418" readinessGates: - - conditionType: mō6µɑ`ȗ<8^翜 - restartPolicy: ɭɪǹ0衷, - runtimeClassName: "425" - schedulerName: "415" + - conditionType: 3荾;釋ƽ,ʢ刣ȱǍ + restartPolicy: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + runtimeClassName: "423" + schedulerName: "413" securityContext: - fsGroup: 2585323675983182372 - fsGroupChangePolicy: Ĕ\ɢX鰨松/Ȁĵ鴁ĩȲǸ|蕎 - runAsGroup: 6386250802140824739 + fsGroup: 3252248067742584460 + fsGroupChangePolicy: 裡×銵-紑浘牬釼 + runAsGroup: -2605388897472681971 runAsNonRoot: false - runAsUser: -5315960194881172085 + runAsUser: -2056599486643434092 seLinuxOptions: - level: "366" - role: "364" - type: "365" - user: "363" + level: "364" + role: "362" + type: "363" + user: "361" supplementalGroups: - - -4480129203693517072 + - -6171436788982835150 sysctls: - - name: "370" - value: "371" + - name: "368" + value: "369" windowsOptions: - gmsaCredentialSpec: "368" - gmsaCredentialSpecName: "367" - runAsUserName: "369" - serviceAccount: "361" - serviceAccountName: "360" - setHostnameAsFQDN: true + gmsaCredentialSpec: "366" + gmsaCredentialSpecName: "365" + runAsUserName: "367" + serviceAccount: "359" + serviceAccountName: "358" + setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "374" - terminationGracePeriodSeconds: -3039830979334099524 + subdomain: "372" + terminationGracePeriodSeconds: 2424760700494115127 tolerations: - - effect: 緍k¢茤 - key: "416" - operator: 抄3昞财Î嘝zʄ!ć - tolerationSeconds: 4096844323391966153 - value: "417" + - effect: 鳖üzÁ鍫Ǥ. + key: "414" + operator: Ǒȃ绡> + tolerationSeconds: 715786430081306206 + value: "415" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 88-i19.y-y7o-0-wq-zfdw73w0---4a18-f---ui6-48e-9-h4-w-qp25--7-n--kfk3g/1n1.--.._-x_4..u2-__3uM77U7._pz - operator: DoesNotExist + - key: 07CY-_dc__G6N-_-o + operator: In + values: + - 2_D6_.d-n_9n.p.2-.-QwO matchLabels: - ? zp22o4a-w----11rqy3eo79p-f4r1--7p--053--suu--98.y1s8-j-6j4uvf1-sdg--132bid-7x0u738--7w-tdt-u-0--v/Ied-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV.9_G5 - : x_.4dwFbuvEf55Y2k.F-4 - maxSkew: 1956797678 - topologyKey: "426" - whenUnsatisfiable: ƀ+瑏eCmAȥ睙 + 0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7: "" + maxSkew: -1458287077 + topologyKey: "424" + whenUnsatisfiable: Ŋ)TiD¢ƿ媴h volumes: - awsElasticBlockStore: fsType: "47" @@ -948,20 +959,20 @@ spec: updateStrategy: rollingUpdate: maxUnavailable: 2 - type: ))e×鄞閆N钮Ǒ + type: 苁_Ȧ4Á$议ĪS幻/饑Ȉ@|{t亪 status: - collisionCount: -434531243 + collisionCount: -855762010 conditions: - - lastTransitionTime: "2776-12-09T00:48:05Z" - message: "434" - reason: "433" - status: B/ü橚2ț}¹旛坷硂 - type: "" - currentNumberScheduled: 687719923 - desiredNumberScheduled: -2022058870 - numberAvailable: 1090884237 - numberMisscheduled: -1777921334 - numberReady: 283054026 - numberUnavailable: -1303432952 - observedGeneration: 9202522069332337259 - updatedNumberScheduled: -691360969 + - lastTransitionTime: "2659-11-08T03:00:13Z" + message: "432" + reason: "431" + status: 肆Ző:ijɲí_夦ŔßȊ嫎 + type: 蒸CƅR8ɷ|恫f籽 + currentNumberScheduled: 1943834326 + desiredNumberScheduled: 1851500857 + numberAvailable: -1146364789 + numberMisscheduled: -1837907235 + numberReady: 765399390 + numberUnavailable: -168110078 + observedGeneration: 1057281124077201391 + updatedNumberScheduled: 1078397248 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json index 01e223c23b63b..afd1f97137878 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1376,33 +1400,34 @@ } }, "strategy": { - "type": "ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ", + "type": ":犾ȩ纾SȞ+½剎惃ȳTʬ戱P", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": 696654600, - "revisionHistoryLimit": 407742062, - "progressDeadlineSeconds": 902022378 + "minReadySeconds": 980041503, + "revisionHistoryLimit": -590976116, + "paused": true, + "progressDeadlineSeconds": 1370010338 }, "status": { - "observedGeneration": -3992059348490463840, - "replicas": 904244563, - "updatedReplicas": -1245696932, - "readyReplicas": -1512660030, - "availableReplicas": -655315199, - "unavailableReplicas": -918184784, + "observedGeneration": 2419447315648966498, + "replicas": -1550256886, + "updatedReplicas": 1599173139, + "readyReplicas": 1789838950, + "availableReplicas": 1991327984, + "unavailableReplicas": 562618898, "conditions": [ { - "type": "oIǢ龞瞯å檳ė\u003ec緍k¢茤Ƣǟ½灶", - "status": "査Z綶ĀRġ磸", - "lastUpdateTime": "2631-04-27T22:00:28Z", - "lastTransitionTime": "2196-03-13T21:02:11Z", - "reason": "426", - "message": "427" + "type": "0ƍ\\溮Ŀ傜NZ", + "status": "Ű踚ĩ僙R岹ÿʼnx#綮ehɫ淫Ď", + "lastUpdateTime": "2512-02-22T10:46:17Z", + "lastTransitionTime": "2138-10-07T13:01:15Z", + "reason": "430", + "message": "431" } ], - "collisionCount": -1914221188 + "collisionCount": -1135505470 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb index 985dbe6e182e6..3a1e1b3026900 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml index 99dff1d307042..ac9f3212b9b49 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml @@ -30,10 +30,11 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: 696654600 - progressDeadlineSeconds: 902022378 + minReadySeconds: 980041503 + paused: true + progressDeadlineSeconds: 1370010338 replicas: 896585016 - revisionHistoryLimit: 407742062 + revisionHistoryLimit: -590976116 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -44,7 +45,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ + type: :犾ȩ纾SȞ+½剎惃ȳTʬ戱P template: metadata: annotations: @@ -76,446 +77,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -549,58 +561,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -611,141 +623,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -946,17 +961,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -655315199 - collisionCount: -1914221188 + availableReplicas: 1991327984 + collisionCount: -1135505470 conditions: - - lastTransitionTime: "2196-03-13T21:02:11Z" - lastUpdateTime: "2631-04-27T22:00:28Z" - message: "427" - reason: "426" - status: 査Z綶ĀRġ磸 - type: oIǢ龞瞯å檳ė>c緍k¢茤Ƣǟ½灶 - observedGeneration: -3992059348490463840 - readyReplicas: -1512660030 - replicas: 904244563 - unavailableReplicas: -918184784 - updatedReplicas: -1245696932 + - lastTransitionTime: "2138-10-07T13:01:15Z" + lastUpdateTime: "2512-02-22T10:46:17Z" + message: "431" + reason: "430" + status: Ű踚ĩ僙R岹ÿʼnx#綮ehɫ淫Ď + type: 0ƍ\溮Ŀ傜NZ + observedGeneration: 2419447315648966498 + readyReplicas: 1789838950 + replicas: -1550256886 + unavailableReplicas: 562618898 + updatedReplicas: 1599173139 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json index 62ea59576d095..7e03a970040b9 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json @@ -439,13 +439,21 @@ "á腿ħ缶.蒅!a坩O`涁İ而踪鄌eÞ": "372" } }, + "resourcesAllocated": { + "栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼": "621" + }, + "resizePolicy": [ + { + "resourceName": "y綸_Ú8參遼ū", + "policy": "+ņ榱*Gưoɘ檲" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "dʪīT捘ɍi縱ù墴1Rƥ", + "mountPropagation": "妰黖ȓƇ$缔獵偐ę", "subPathExpr": "170" } ], @@ -465,7 +473,7 @@ "path": "174", "port": "175", "host": "176", - "scheme": "ƴy綸_Ú8參遼ūPH炮", + "scheme": "H=å", "httpHeaders": [ { "name": "177", @@ -477,11 +485,11 @@ "port": "179", "host": "180" }, - "initialDelaySeconds": 741871873, - "timeoutSeconds": 446829537, - "periodSeconds": -1987044888, - "successThreshold": -1638339389, - "failureThreshold": 2053960192 + "initialDelaySeconds": -204658565, + "timeoutSeconds": -498077886, + "periodSeconds": 1592637538, + "successThreshold": -715357874, + "failureThreshold": 815401145 }, "readinessProbe": { "exec": { @@ -491,9 +499,9 @@ }, "httpGet": { "path": "182", - "port": -1903685915, + "port": 290736426, "host": "183", - "scheme": "ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬", + "scheme": "ö", "httpHeaders": [ { "name": "184", @@ -505,11 +513,11 @@ "port": "186", "host": "187" }, - "initialDelaySeconds": 128019484, - "timeoutSeconds": 431781335, - "periodSeconds": -2130554644, - "successThreshold": 290736426, - "failureThreshold": -57352147 + "initialDelaySeconds": 322201525, + "timeoutSeconds": -1784033404, + "periodSeconds": 66472042, + "successThreshold": 2130088978, + "failureThreshold": -1064240304 }, "startupProbe": { "exec": { @@ -519,162 +527,164 @@ }, "httpGet": { "path": "189", - "port": "190", - "host": "191", - "scheme": "閝ȝ", + "port": -566408554, + "host": "190", + "scheme": "劳\u0026¼傭Ȟ1酃=6}ɡŇƉ立", "httpHeaders": [ { - "name": "192", - "value": "193" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": "194", - "host": "195" + "port": -31530684, + "host": "193" }, - "initialDelaySeconds": -2142865739, - "timeoutSeconds": -1179067190, - "periodSeconds": 1434408532, - "successThreshold": -566408554, - "failureThreshold": 1133369651 + "initialDelaySeconds": -1628697284, + "timeoutSeconds": 843845736, + "periodSeconds": 354496320, + "successThreshold": -418887496, + "failureThreshold": -522126070 }, "lifecycle": { "postStart": { "exec": { "command": [ - "196" + "194" ] }, "httpGet": { - "path": "197", - "port": -1327537699, - "host": "198", + "path": "195", + "port": "196", + "host": "197", + "scheme": "n芞QÄȻȊ+?ƭ峧Y栲茇竛", "httpHeaders": [ { - "name": "199", - "value": "200" + "name": "198", + "value": "199" } ] }, "tcpSocket": { - "port": "201", - "host": "202" + "port": -592581809, + "host": "200" } }, "preStop": { "exec": { "command": [ - "203" + "201" ] }, "httpGet": { - "path": "204", - "port": "205", - "host": "206", - "scheme": "ĉş蝿ɖȃ賲鐅臬", + "path": "202", + "port": 1702578303, + "host": "203", + "scheme": "NŬɨǙÄr蛏豈ɃHŠơŴĿ", "httpHeaders": [ { - "name": "207", - "value": "208" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "209", - "host": "210" + "port": -1047607622, + "host": "206" } } }, - "terminationMessagePath": "211", - "imagePullPolicy": "k_瀹鞎sn芞QÄȻ", + "terminationMessagePath": "207", + "terminationMessagePolicy": "ȉ彂", + "imagePullPolicy": "ȹ嫰ƹǔw÷nI粛E煹ǐƲE", "securityContext": { "capabilities": { "add": [ - "?" + "þŹʣy豎@ɀ羭," ], "drop": [ - "峧Y栲茇竛吲蚛隖" + "OŤǢʭ嵔棂p儼Ƿ裚瓶釆Ɗ+" ] }, "privileged": false, "seLinuxOptions": { - "user": "212", - "role": "213", - "type": "214", - "level": "215" + "user": "208", + "role": "209", + "type": "210", + "level": "211" }, "windowsOptions": { - "gmsaCredentialSpecName": "216", - "gmsaCredentialSpec": "217", - "runAsUserName": "218" + "gmsaCredentialSpecName": "212", + "gmsaCredentialSpec": "213", + "runAsUserName": "214" }, - "runAsUser": 7312518131318481396, - "runAsGroup": -7286288718856494813, + "runAsUser": -739484406984751446, + "runAsGroup": 1898367611285047958, "runAsNonRoot": true, "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "ʙ嫙\u0026" + "procMount": "籘Àǒɿʒ刽ʼn" }, "stdin": true, - "stdinOnce": true + "tty": true } ], "containers": [ { - "name": "219", - "image": "220", + "name": "215", + "image": "216", "command": [ - "221" + "217" ], "args": [ - "222" + "218" ], - "workingDir": "223", + "workingDir": "219", "ports": [ { - "name": "224", - "hostPort": 1944205014, - "containerPort": -2079582559, - "protocol": "K.Q貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲ", - "hostIP": "225" + "name": "220", + "hostPort": 622473257, + "containerPort": -966649167, + "protocol": "eLJèux榜VƋZ", + "hostIP": "221" } ], "envFrom": [ { - "prefix": "226", + "prefix": "222", "configMapRef": { - "name": "227", + "name": "223", "optional": true }, "secretRef": { - "name": "228", - "optional": false + "name": "224", + "optional": true } } ], "env": [ { - "name": "229", - "value": "230", + "name": "225", + "value": "226", "valueFrom": { "fieldRef": { - "apiVersion": "231", - "fieldPath": "232" + "apiVersion": "227", + "fieldPath": "228" }, "resourceFieldRef": { - "containerName": "233", - "resource": "234", - "divisor": "901" + "containerName": "229", + "resource": "230", + "divisor": "700" }, "configMapKeyRef": { - "name": "235", - "key": "236", - "optional": false + "name": "231", + "key": "232", + "optional": true }, "secretKeyRef": { - "name": "237", - "key": "238", + "name": "233", + "key": "234", "optional": false } } @@ -682,247 +692,258 @@ ], "resources": { "limits": { - "羭,铻OŤǢʭ嵔": "340" + "騀呣ǎfǣ萭旿@掇lNdǂ\u003e": "44" }, "requests": { - "TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜": "755" + "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫": "130" } }, + "resourcesAllocated": { + "Ȥ藠3.": "540" + }, + "resizePolicy": [ + { + "resourceName": "莭琽§ć\\ ïì«丯Ƙ枛牐ɺ", + "policy": "瘴I\\p[ħsĨɆâĺɗ" + } + ], "volumeMounts": [ { - "name": "239", - "mountPath": "240", - "subPath": "241", - "mountPropagation": "ʒ刽ʼn掏1ſ盷褎weLJèux榜", - "subPathExpr": "242" + "name": "235", + "readOnly": true, + "mountPath": "236", + "subPath": "237", + "mountPropagation": "S晒嶗UÐ_ƮA攤", + "subPathExpr": "238" } ], "volumeDevices": [ { - "name": "243", - "devicePath": "244" + "name": "239", + "devicePath": "240" } ], "livenessProbe": { "exec": { "command": [ - "245" + "241" ] }, "httpGet": { - "path": "246", - "port": "247", - "host": "248", - "scheme": "賃ɪ鐊瀑Ź9ǕLLȊ", + "path": "242", + "port": -670390306, + "host": "243", + "scheme": "\u003c鴒翁杙Ŧ癃8鸖ɱJȉ罴", "httpHeaders": [ { - "name": "249", - "value": "250" + "name": "244", + "value": "245" } ] }, "tcpSocket": { - "port": -26910286, - "host": "251" + "port": 1033766276, + "host": "246" }, - "initialDelaySeconds": 1214895765, - "timeoutSeconds": 1181519543, - "periodSeconds": 282592353, - "successThreshold": 377225334, - "failureThreshold": -1191434089 + "initialDelaySeconds": -1745509819, + "timeoutSeconds": -859135545, + "periodSeconds": -1543701088, + "successThreshold": 513341278, + "failureThreshold": 627713162 }, "readinessProbe": { "exec": { "command": [ - "252" + "247" ] }, "httpGet": { - "path": "253", - "port": "254", - "host": "255", + "path": "248", + "port": 267768240, + "host": "249", + "scheme": "ʎȺ眖R#", "httpHeaders": [ { - "name": "256", - "value": "257" + "name": "250", + "value": "251" } ] }, "tcpSocket": { - "port": "258", - "host": "259" + "port": "252", + "host": "253" }, - "initialDelaySeconds": -839281354, - "timeoutSeconds": 2035347577, - "periodSeconds": -819723498, - "successThreshold": -150133456, - "failureThreshold": 1507815593 + "initialDelaySeconds": -200461294, + "timeoutSeconds": -1791206950, + "periodSeconds": 1160477220, + "successThreshold": 1226391571, + "failureThreshold": 1477910551 }, "startupProbe": { "exec": { "command": [ - "260" + "254" ] }, "httpGet": { - "path": "261", - "port": 1684643131, - "host": "262", - "scheme": "飣奺Ȋ礶惇¸", + "path": "255", + "port": "256", + "host": "257", + "scheme": "跦Opwǩ曬逴褜1", "httpHeaders": [ { - "name": "263", - "value": "264" + "name": "258", + "value": "259" } ] }, "tcpSocket": { - "port": "265", - "host": "266" + "port": -1801140031, + "host": "260" }, - "initialDelaySeconds": -161753937, - "timeoutSeconds": -1578746609, - "periodSeconds": 1428207963, - "successThreshold": 790462391, - "failureThreshold": -822090785 + "initialDelaySeconds": -589000495, + "timeoutSeconds": -955773237, + "periodSeconds": 561988938, + "successThreshold": 1419770315, + "failureThreshold": 300356869 }, "lifecycle": { "postStart": { "exec": { "command": [ - "267" + "261" ] }, "httpGet": { - "path": "268", - "port": -421846800, - "host": "269", - "scheme": "zvt莭琽§", + "path": "262", + "port": "263", + "host": "264", + "scheme": "更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ", "httpHeaders": [ { - "name": "270", - "value": "271" + "name": "265", + "value": "266" } ] }, "tcpSocket": { - "port": -763687725, - "host": "272" + "port": 467291328, + "host": "267" } }, "preStop": { "exec": { "command": [ - "273" + "268" ] }, "httpGet": { - "path": "274", - "port": -1452676801, - "host": "275", - "scheme": "ȿ0矀Kʝ", + "path": "269", + "port": -434820661, + "host": "270", + "scheme": "r嚧", "httpHeaders": [ { - "name": "276", - "value": "277" + "name": "271", + "value": "272" } ] }, "tcpSocket": { - "port": "278", - "host": "279" + "port": 453108839, + "host": "273" } } }, - "terminationMessagePath": "280", - "terminationMessagePolicy": "\\p[", - "imagePullPolicy": "擓ƖHVe熼'FD剂讼ɓȌʟni酛", + "terminationMessagePath": "274", + "terminationMessagePolicy": "趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L*", + "imagePullPolicy": "Gƚ绤fʀļ腩墺Ò媁荭gw", "securityContext": { "capabilities": { "add": [ - "À*f\u003c鴒翁杙Ŧ癃8" + "E剒蔞" ], "drop": [ - "ɱJȉ罴" + "表徶đ寳议Ƭƶ氩Ȩ\u003c6鄰簳°Ļǟi\u0026皥" ] }, "privileged": false, "seLinuxOptions": { - "user": "281", - "role": "282", - "type": "283", - "level": "284" + "user": "275", + "role": "276", + "type": "277", + "level": "278" }, "windowsOptions": { - "gmsaCredentialSpecName": "285", - "gmsaCredentialSpec": "286", - "runAsUserName": "287" + "gmsaCredentialSpecName": "279", + "gmsaCredentialSpec": "280", + "runAsUserName": "281" }, - "runAsUser": -2706913289057230267, - "runAsGroup": -3689959065086680033, - "runAsNonRoot": false, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅" + "runAsUser": -3342656999442156006, + "runAsGroup": -5569844914519516591, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ" }, - "stdinOnce": true + "tty": true } ], "ephemeralContainers": [ { - "name": "288", - "image": "289", + "name": "282", + "image": "283", "command": [ - "290" + "284" ], "args": [ - "291" + "285" ], - "workingDir": "292", + "workingDir": "286", "ports": [ { - "name": "293", - "hostPort": 1853396726, - "containerPort": 1330271338, - "protocol": "逴", - "hostIP": "294" + "name": "287", + "hostPort": -185239148, + "containerPort": -1666319281, + "protocol": "ĠM蘇KŅ/»頸+SÄ蚃", + "hostIP": "288" } ], "envFrom": [ { - "prefix": "295", + "prefix": "289", "configMapRef": { - "name": "296", - "optional": true + "name": "290", + "optional": false }, "secretRef": { - "name": "297", + "name": "291", "optional": true } } ], "env": [ { - "name": "298", - "value": "299", + "name": "292", + "value": "293", "valueFrom": { "fieldRef": { - "apiVersion": "300", - "fieldPath": "301" + "apiVersion": "294", + "fieldPath": "295" }, "resourceFieldRef": { - "containerName": "302", - "resource": "303", - "divisor": "709" + "containerName": "296", + "resource": "297", + "divisor": "340" }, "configMapKeyRef": { - "name": "304", - "key": "305", - "optional": false + "name": "298", + "key": "299", + "optional": true }, "secretKeyRef": { - "name": "306", - "key": "307", + "name": "300", + "key": "301", "optional": false } } @@ -930,241 +951,248 @@ ], "resources": { "limits": { - "颐o": "230" + "_\u003cǬëJ橈'琕鶫:顇ə娯Ȱ": "561" }, "requests": { - "[+扴ȨŮ+朷Ǝ膯ljV": "728" + "ɐ鰥": "461" } }, + "resourcesAllocated": { + "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻": "23" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻" + } + ], "volumeMounts": [ { - "name": "308", - "mountPath": "309", - "subPath": "310", - "mountPropagation": "ŕ-Ɂ圯W:ĸ輦唊#v铿", - "subPathExpr": "311" + "name": "302", + "mountPath": "303", + "subPath": "304", + "mountPropagation": "ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS", + "subPathExpr": "305" } ], "volumeDevices": [ { - "name": "312", - "devicePath": "313" + "name": "306", + "devicePath": "307" } ], "livenessProbe": { "exec": { "command": [ - "314" + "308" ] }, "httpGet": { - "path": "315", - "port": "316", - "host": "317", - "scheme": "屡ʁ", + "path": "309", + "port": 1076497581, + "host": "310", + "scheme": "h4ɊHȖ|ʐ", "httpHeaders": [ { - "name": "318", - "value": "319" + "name": "311", + "value": "312" } ] }, "tcpSocket": { - "port": -1554559634, - "host": "320" + "port": 248533396, + "host": "313" }, - "initialDelaySeconds": 1718241831, - "timeoutSeconds": 550615941, - "periodSeconds": 1180971695, - "successThreshold": -1971944908, - "failureThreshold": 1742259603 + "initialDelaySeconds": -1835677314, + "timeoutSeconds": 199049889, + "periodSeconds": 1947032456, + "successThreshold": 1233904535, + "failureThreshold": -969533986 }, "readinessProbe": { "exec": { "command": [ - "321" + "314" ] }, "httpGet": { - "path": "322", - "port": -1620315711, - "host": "323", - "scheme": "ɐ扵", + "path": "315", + "port": "316", + "host": "317", "httpHeaders": [ { - "name": "324", - "value": "325" + "name": "318", + "value": "319" } ] }, "tcpSocket": { - "port": "326", - "host": "327" + "port": "320", + "host": "321" }, - "initialDelaySeconds": -1358663652, - "timeoutSeconds": 1543146222, - "periodSeconds": -527306221, - "successThreshold": 2098694289, - "failureThreshold": 1150925735 + "initialDelaySeconds": -1408385387, + "timeoutSeconds": -1225881740, + "periodSeconds": 1063054949, + "successThreshold": 172612011, + "failureThreshold": 646449677 }, "startupProbe": { "exec": { "command": [ - "328" + "322" ] }, "httpGet": { - "path": "329", - "port": "330", - "host": "331", - "scheme": "榝$î.Ȏ蝪ʜ5遰", + "path": "323", + "port": 2084371155, + "host": "324", + "scheme": "ɭɪǹ0衷,", "httpHeaders": [ { - "name": "332", - "value": "333" + "name": "325", + "value": "326" } ] }, "tcpSocket": { - "port": -1438286448, - "host": "334" + "port": 1692740191, + "host": "327" }, - "initialDelaySeconds": 834105836, - "timeoutSeconds": -1462219068, - "periodSeconds": -370386363, - "successThreshold": 1714588921, - "failureThreshold": -1246371817 + "initialDelaySeconds": -278396828, + "timeoutSeconds": 1497888778, + "periodSeconds": -1663818120, + "successThreshold": -211480108, + "failureThreshold": -200074798 }, "lifecycle": { "postStart": { "exec": { "command": [ - "335" + "328" ] }, "httpGet": { - "path": "336", - "port": "337", - "host": "338", - "scheme": "跩aŕ翑", + "path": "329", + "port": -302933400, + "host": "330", + "scheme": "眵笭/9崍h趭(娕uE增猍ǵ x", "httpHeaders": [ { - "name": "339", - "value": "340" + "name": "331", + "value": "332" } ] }, "tcpSocket": { - "port": "341", - "host": "342" + "port": "333", + "host": "334" } }, "preStop": { "exec": { "command": [ - "343" + "335" ] }, "httpGet": { - "path": "344", - "port": 1017803158, - "host": "345", - "scheme": "碔", + "path": "336", + "port": 1238925115, + "host": "337", + "scheme": "ɢX鰨松/Ȁĵ", "httpHeaders": [ { - "name": "346", - "value": "347" + "name": "338", + "value": "339" } ] }, "tcpSocket": { - "port": "348", - "host": "349" + "port": "340", + "host": "341" } } }, - "terminationMessagePath": "350", - "terminationMessagePolicy": "Kƙ順\\E¦队偯J僳徥淳4揻-$ɽ丟", - "imagePullPolicy": "拉Œɥ颶妧Ö闊 鰔澝qV訆", + "terminationMessagePath": "342", + "terminationMessagePolicy": "ȲǸ|蕎'佉賞ǧĒzŔ", + "imagePullPolicy": "ùfŭƽ", "securityContext": { "capabilities": { "add": [ - "ŧL²sNƗ¸gĩ餠籲磣Óƿ" + "æ盪泙若`l}Ñ蠂Ü" ], "drop": [ - "\"冓鍓贯澔 ƺ蛜6" + "ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I" ] }, "privileged": false, "seLinuxOptions": { - "user": "351", - "role": "352", - "type": "353", - "level": "354" + "user": "343", + "role": "344", + "type": "345", + "level": "346" }, "windowsOptions": { - "gmsaCredentialSpecName": "355", - "gmsaCredentialSpec": "356", - "runAsUserName": "357" + "gmsaCredentialSpecName": "347", + "gmsaCredentialSpec": "348", + "runAsUserName": "349" }, - "runAsUser": 4353696140684277635, - "runAsGroup": 6057650398488995896, - "runAsNonRoot": true, + "runAsUser": -7474879432414053077, + "runAsGroup": 373025114301996656, + "runAsNonRoot": false, "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "鰥Z龏´DÒȗ" + "allowPrivilegeEscalation": true, + "procMount": "y竬ʆɞȥ}礤铟怖ý萜Ǖc8" }, - "tty": true, - "targetContainerName": "358" + "targetContainerName": "350" } ], - "restartPolicy": "ɘɢ鬍熖B芭花ª瘡", - "terminationGracePeriodSeconds": 2666412258966278206, - "activeDeadlineSeconds": -8715915045560617563, - "dnsPolicy": "丆", + "restartPolicy": "Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ", + "terminationGracePeriodSeconds": 2424760700494115127, + "activeDeadlineSeconds": 8749598715214557239, "nodeSelector": { - "359": "360" + "351": "352" }, - "serviceAccountName": "361", - "serviceAccount": "362", + "serviceAccountName": "353", + "serviceAccount": "354", "automountServiceAccountToken": false, - "nodeName": "363", - "hostPID": true, + "nodeName": "355", + "hostNetwork": true, + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "364", - "role": "365", - "type": "366", - "level": "367" + "user": "356", + "role": "357", + "type": "358", + "level": "359" }, "windowsOptions": { - "gmsaCredentialSpecName": "368", - "gmsaCredentialSpec": "369", - "runAsUserName": "370" + "gmsaCredentialSpecName": "360", + "gmsaCredentialSpec": "361", + "runAsUserName": "362" }, - "runAsUser": 2179199799235189619, - "runAsGroup": -779972051078659613, + "runAsUser": -2056599486643434092, + "runAsGroup": -2605388897472681971, "runAsNonRoot": false, "supplementalGroups": [ - -7127205672279904050 + -6171436788982835150 ], - "fsGroup": 7124276984274024394, + "fsGroup": 3252248067742584460, "sysctls": [ { - "name": "371", - "value": "372" + "name": "363", + "value": "364" } ], - "fsGroupChangePolicy": "蹔ŧ" + "fsGroupChangePolicy": "裡×銵-紑浘牬釼" }, "imagePullSecrets": [ { - "name": "373" + "name": "365" } ], - "hostname": "374", - "subdomain": "375", + "hostname": "366", + "subdomain": "367", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1172,19 +1200,19 @@ { "matchExpressions": [ { - "key": "376", - "operator": "1sȣ±p鋄5", + "key": "368", + "operator": "槃JŵǤ桒ɴ鉂WJ", "values": [ - "377" + "369" ] } ], "matchFields": [ { - "key": "378", - "operator": "幩šeSvEȤƏ埮pɵ", + "key": "370", + "operator": "ƞʓ%ʝ`ǭ躌", "values": [ - "379" + "371" ] } ] @@ -1193,23 +1221,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1449289597, + "weight": -1312249623, "preference": { "matchExpressions": [ { - "key": "380", - "operator": "", + "key": "372", + "operator": "滿筇ȟP:/a殆", "values": [ - "381" + "373" ] } ], "matchFields": [ { - "key": "382", - "operator": "ş", + "key": "374", + "operator": "ȏâ磠", "values": [ - "383" + "375" ] } ] @@ -1222,46 +1250,43 @@ { "labelSelector": { "matchLabels": { - "3---93-2-23/8--21kF-c026.i": "9.M.134-5-.q6H_.--t" + "KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N": "8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf" }, "matchExpressions": [ { - "key": "7U_-m.-P.yP9S--858LI__.8U", - "operator": "NotIn", - "values": [ - "7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m" - ] + "key": "el--F.6", + "operator": "Exists" } ] }, "namespaces": [ - "390" + "382" ], - "topologyKey": "391" + "topologyKey": "383" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -280562323, + "weight": 1038187806, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5": "2w-o.8_WT-M.3_-1y_8DX" + "s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8": "l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D" }, "matchExpressions": [ { - "key": "z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11", - "operator": "NotIn", + "key": "21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u", + "operator": "In", "values": [ - "c-r.E__-.8_e_l2.._8s--7_3x_-J_....7" + "rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4" ] } ] }, "namespaces": [ - "398" + "390" ], - "topologyKey": "399" + "topologyKey": "391" } } ] @@ -1271,108 +1296,108 @@ { "labelSelector": { "matchLabels": { - "mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W": "7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu" + "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X": "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m" }, "matchExpressions": [ { - "key": "r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b", - "operator": "DoesNotExist" + "key": "Y.39g_.--_-_ve5.m_U", + "operator": "NotIn", + "values": [ + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + ] } ] }, "namespaces": [ - "406" + "398" ], - "topologyKey": "407" + "topologyKey": "399" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1934575848, + "weight": -1370389893, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV": "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + "622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4": "3_-_B" }, "matchExpressions": [ { - "key": "7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E", - "operator": "NotIn", - "values": [ - "ZI-_P..w-W_-nE...-V" - ] + "key": "f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU", + "operator": "Exists" } ] }, "namespaces": [ - "414" + "406" ], - "topologyKey": "415" + "topologyKey": "407" } } ] } }, - "schedulerName": "416", + "schedulerName": "408", "tolerations": [ { - "key": "417", - "operator": "ƴ磳藷曥摮Z Ǐg鲅", - "value": "418", - "effect": "癯頯aɴí(Ȟ9\"忕(", - "tolerationSeconds": 3807599400818393626 + "key": "409", + "operator": "Ǒȃ绡\u003e", + "value": "410", + "effect": "鳖üzÁ鍫Ǥ.", + "tolerationSeconds": 715786430081306206 } ], "hostAliases": [ { - "ip": "419", + "ip": "411", "hostnames": [ - "420" + "412" ] } ], - "priorityClassName": "421", - "priority": 1352980996, + "priorityClassName": "413", + "priority": -173761204, "dnsConfig": { "nameservers": [ - "422" + "414" ], "searches": [ - "423" + "415" ], "options": [ { - "name": "424", - "value": "425" + "name": "416", + "value": "417" } ] }, "readinessGates": [ { - "conditionType": "Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ" + "conditionType": "3荾;釋ƽ,ʢ刣ȱǍ" } ], - "runtimeClassName": "426", - "enableServiceLinks": false, - "preemptionPolicy": "鲛ô衞Ɵ鳝稃Ȍ液文?謮", + "runtimeClassName": "418", + "enableServiceLinks": true, + "preemptionPolicy": "縊CkǚŨ镦", "overhead": { - "Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲": "185" + "熴贤r心Ķ餍4": "127" }, "topologySpreadConstraints": [ { - "maxSkew": 547935694, - "topologyKey": "427", - "whenUnsatisfiable": "zŕƧ钖孝0蛮xAǫ\u0026tŧK剛Ʀ", + "maxSkew": -1458287077, + "topologyKey": "419", + "whenUnsatisfiable": "Ŋ)TiD¢ƿ媴h", "labelSelector": { "matchLabels": { - "za42o/Y-YD-Q9_-__..YNFu7Pg-.1": "tE" + "0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7": "" }, "matchExpressions": [ { - "key": "9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs", + "key": "07CY-_dc__G6N-_-o", "operator": "In", "values": [ - "7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I" + "2_D6_.d-n_9n.p.2-.-QwO" ] } ] @@ -1384,18 +1409,18 @@ } }, "status": { - "replicas": 1893057016, - "fullyLabeledReplicas": -2099726885, - "readyReplicas": -928976522, - "availableReplicas": -983106472, - "observedGeneration": 4693783954739913971, + "replicas": -335676228, + "fullyLabeledReplicas": -852640839, + "readyReplicas": 1322487368, + "availableReplicas": -444026457, + "observedGeneration": 5621295720173508467, "conditions": [ { - "type": "×軓鼐嵱宯ÙQ阉(闒ƈƳ萎Ŋ", - "status": "站畦f黹ʩ鹸ɷLȋ", - "lastTransitionTime": "2376-03-18T02:40:44Z", - "reason": "434", - "message": "435" + "type": "sǞÃ+?Ď筌ʨ:ÿ1諘蚿[ĵ", + "status": "Ǐ詁Ȟ鮩ĺJCuɖ", + "lastTransitionTime": "2535-08-03T05:32:32Z", + "reason": "426", + "message": "427" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb index fa8d968c6491b..032f23a38783f 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml index a8859370f0805..1c65376464eb9 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml @@ -71,449 +71,457 @@ spec: selfLink: "28" uid: ʬ spec: - activeDeadlineSeconds: -8715915045560617563 + activeDeadlineSeconds: 8749598715214557239 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "380" - operator: "" + - key: "372" + operator: 滿筇ȟP:/a殆 values: - - "381" + - "373" matchFields: - - key: "382" - operator: ş + - key: "374" + operator: ȏâ磠 values: - - "383" - weight: -1449289597 + - "375" + weight: -1312249623 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "376" - operator: 1sȣ±p鋄5 + - key: "368" + operator: 槃JŵǤ桒ɴ鉂WJ values: - - "377" + - "369" matchFields: - - key: "378" - operator: 幩šeSvEȤƏ埮pɵ + - key: "370" + operator: ƞʓ%ʝ`ǭ躌 values: - - "379" + - "371" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11 - operator: NotIn + - key: 21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u + operator: In values: - - c-r.E__-.8_e_l2.._8s--7_3x_-J_....7 + - rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4 matchLabels: - gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5: 2w-o.8_WT-M.3_-1y_8DX + s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8: l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D namespaces: - - "398" - topologyKey: "399" - weight: -280562323 + - "390" + topologyKey: "391" + weight: 1038187806 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 7U_-m.-P.yP9S--858LI__.8U - operator: NotIn - values: - - 7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m + - key: el--F.6 + operator: Exists matchLabels: - 3---93-2-23/8--21kF-c026.i: 9.M.134-5-.q6H_.--t + KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N: 8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf namespaces: - - "390" - topologyKey: "391" + - "382" + topologyKey: "383" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E - operator: NotIn - values: - - ZI-_P..w-W_-nE...-V + - key: f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU + operator: Exists matchLabels: - 72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV: nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 + 622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4: 3_-_B namespaces: - - "414" - topologyKey: "415" - weight: -1934575848 + - "406" + topologyKey: "407" + weight: -1370389893 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b - operator: DoesNotExist + - key: Y.39g_.--_-_ve5.m_U + operator: NotIn + values: + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W: 7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu + 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X: 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m namespaces: - - "406" - topologyKey: "407" + - "398" + topologyKey: "399" automountServiceAccountToken: false containers: - args: - - "222" + - "218" command: - - "221" + - "217" env: - - name: "229" - value: "230" + - name: "225" + value: "226" valueFrom: configMapKeyRef: - key: "236" - name: "235" - optional: false + key: "232" + name: "231" + optional: true fieldRef: - apiVersion: "231" - fieldPath: "232" + apiVersion: "227" + fieldPath: "228" resourceFieldRef: - containerName: "233" - divisor: "901" - resource: "234" + containerName: "229" + divisor: "700" + resource: "230" secretKeyRef: - key: "238" - name: "237" + key: "234" + name: "233" optional: false envFrom: - configMapRef: - name: "227" + name: "223" optional: true - prefix: "226" + prefix: "222" secretRef: - name: "228" - optional: false - image: "220" - imagePullPolicy: 擓ƖHVe熼'FD剂讼ɓȌʟni酛 + name: "224" + optional: true + image: "216" + imagePullPolicy: Gƚ绤fʀļ腩墺Ò媁荭gw lifecycle: postStart: exec: command: - - "267" + - "261" httpGet: - host: "269" + host: "264" httpHeaders: - - name: "270" - value: "271" - path: "268" - port: -421846800 - scheme: zvt莭琽§ + - name: "265" + value: "266" + path: "262" + port: "263" + scheme: 更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ tcpSocket: - host: "272" - port: -763687725 + host: "267" + port: 467291328 preStop: exec: command: - - "273" + - "268" httpGet: - host: "275" + host: "270" httpHeaders: - - name: "276" - value: "277" - path: "274" - port: -1452676801 - scheme: ȿ0矀Kʝ + - name: "271" + value: "272" + path: "269" + port: -434820661 + scheme: r嚧 tcpSocket: - host: "279" - port: "278" + host: "273" + port: 453108839 livenessProbe: exec: command: - - "245" - failureThreshold: -1191434089 + - "241" + failureThreshold: 627713162 httpGet: - host: "248" + host: "243" httpHeaders: - - name: "249" - value: "250" - path: "246" - port: "247" - scheme: 賃ɪ鐊瀑Ź9ǕLLȊ - initialDelaySeconds: 1214895765 - periodSeconds: 282592353 - successThreshold: 377225334 + - name: "244" + value: "245" + path: "242" + port: -670390306 + scheme: <鴒翁杙Ŧ癃8鸖ɱJȉ罴 + initialDelaySeconds: -1745509819 + periodSeconds: -1543701088 + successThreshold: 513341278 tcpSocket: - host: "251" - port: -26910286 - timeoutSeconds: 1181519543 - name: "219" + host: "246" + port: 1033766276 + timeoutSeconds: -859135545 + name: "215" ports: - - containerPort: -2079582559 - hostIP: "225" - hostPort: 1944205014 - name: "224" - protocol: K.Q貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲ + - containerPort: -966649167 + hostIP: "221" + hostPort: 622473257 + name: "220" + protocol: eLJèux榜VƋZ readinessProbe: exec: command: - - "252" - failureThreshold: 1507815593 + - "247" + failureThreshold: 1477910551 httpGet: - host: "255" + host: "249" httpHeaders: - - name: "256" - value: "257" - path: "253" - port: "254" - initialDelaySeconds: -839281354 - periodSeconds: -819723498 - successThreshold: -150133456 + - name: "250" + value: "251" + path: "248" + port: 267768240 + scheme: ʎȺ眖R# + initialDelaySeconds: -200461294 + periodSeconds: 1160477220 + successThreshold: 1226391571 tcpSocket: - host: "259" - port: "258" - timeoutSeconds: 2035347577 + host: "253" + port: "252" + timeoutSeconds: -1791206950 + resizePolicy: + - policy: 瘴I\p[ħsĨɆâĺɗ + resourceName: 莭琽§ć\ ïì«丯Ƙ枛牐ɺ resources: limits: - 羭,铻OŤǢʭ嵔: "340" + 騀呣ǎfǣ萭旿@掇lNdǂ>: "44" requests: - TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜: "755" + $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫: "130" + resourcesAllocated: + Ȥ藠3.: "540" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - À*f<鴒翁杙Ŧ癃8 + - E剒蔞 drop: - - ɱJȉ罴 + - 表徶đ寳议Ƭƶ氩Ȩ<6鄰簳°Ļǟi&皥 privileged: false - procMount: 棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅 - readOnlyRootFilesystem: false - runAsGroup: -3689959065086680033 - runAsNonRoot: false - runAsUser: -2706913289057230267 + procMount: ¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ + readOnlyRootFilesystem: true + runAsGroup: -5569844914519516591 + runAsNonRoot: true + runAsUser: -3342656999442156006 seLinuxOptions: - level: "284" - role: "282" - type: "283" - user: "281" + level: "278" + role: "276" + type: "277" + user: "275" windowsOptions: - gmsaCredentialSpec: "286" - gmsaCredentialSpecName: "285" - runAsUserName: "287" + gmsaCredentialSpec: "280" + gmsaCredentialSpecName: "279" + runAsUserName: "281" startupProbe: exec: command: - - "260" - failureThreshold: -822090785 + - "254" + failureThreshold: 300356869 httpGet: - host: "262" + host: "257" httpHeaders: - - name: "263" - value: "264" - path: "261" - port: 1684643131 - scheme: 飣奺Ȋ礶惇¸ - initialDelaySeconds: -161753937 - periodSeconds: 1428207963 - successThreshold: 790462391 + - name: "258" + value: "259" + path: "255" + port: "256" + scheme: 跦Opwǩ曬逴褜1 + initialDelaySeconds: -589000495 + periodSeconds: 561988938 + successThreshold: 1419770315 tcpSocket: - host: "266" - port: "265" - timeoutSeconds: -1578746609 - stdinOnce: true - terminationMessagePath: "280" - terminationMessagePolicy: \p[ + host: "260" + port: -1801140031 + timeoutSeconds: -955773237 + terminationMessagePath: "274" + terminationMessagePolicy: 趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L* + tty: true volumeDevices: - - devicePath: "244" - name: "243" - volumeMounts: - - mountPath: "240" - mountPropagation: ʒ刽ʼn掏1ſ盷褎weLJèux榜 + - devicePath: "240" name: "239" - subPath: "241" - subPathExpr: "242" - workingDir: "223" + volumeMounts: + - mountPath: "236" + mountPropagation: S晒嶗UÐ_ƮA攤 + name: "235" + readOnly: true + subPath: "237" + subPathExpr: "238" + workingDir: "219" dnsConfig: nameservers: - - "422" + - "414" options: - - name: "424" - value: "425" + - name: "416" + value: "417" searches: - - "423" - dnsPolicy: 丆 - enableServiceLinks: false + - "415" + enableServiceLinks: true ephemeralContainers: - args: - - "291" + - "285" command: - - "290" + - "284" env: - - name: "298" - value: "299" + - name: "292" + value: "293" valueFrom: configMapKeyRef: - key: "305" - name: "304" - optional: false + key: "299" + name: "298" + optional: true fieldRef: - apiVersion: "300" - fieldPath: "301" + apiVersion: "294" + fieldPath: "295" resourceFieldRef: - containerName: "302" - divisor: "709" - resource: "303" + containerName: "296" + divisor: "340" + resource: "297" secretKeyRef: - key: "307" - name: "306" + key: "301" + name: "300" optional: false envFrom: - configMapRef: - name: "296" - optional: true - prefix: "295" + name: "290" + optional: false + prefix: "289" secretRef: - name: "297" + name: "291" optional: true - image: "289" - imagePullPolicy: 拉Œɥ颶妧Ö闊 鰔澝qV訆 + image: "283" + imagePullPolicy: ùfŭƽ lifecycle: postStart: exec: command: - - "335" + - "328" httpGet: - host: "338" + host: "330" httpHeaders: - - name: "339" - value: "340" - path: "336" - port: "337" - scheme: 跩aŕ翑 + - name: "331" + value: "332" + path: "329" + port: -302933400 + scheme: 眵笭/9崍h趭(娕uE增猍ǵ x tcpSocket: - host: "342" - port: "341" + host: "334" + port: "333" preStop: exec: command: - - "343" + - "335" httpGet: - host: "345" + host: "337" httpHeaders: - - name: "346" - value: "347" - path: "344" - port: 1017803158 - scheme: 碔 + - name: "338" + value: "339" + path: "336" + port: 1238925115 + scheme: ɢX鰨松/Ȁĵ tcpSocket: - host: "349" - port: "348" + host: "341" + port: "340" livenessProbe: exec: command: - - "314" - failureThreshold: 1742259603 + - "308" + failureThreshold: -969533986 httpGet: - host: "317" + host: "310" httpHeaders: - - name: "318" - value: "319" - path: "315" - port: "316" - scheme: 屡ʁ - initialDelaySeconds: 1718241831 - periodSeconds: 1180971695 - successThreshold: -1971944908 + - name: "311" + value: "312" + path: "309" + port: 1076497581 + scheme: h4ɊHȖ|ʐ + initialDelaySeconds: -1835677314 + periodSeconds: 1947032456 + successThreshold: 1233904535 tcpSocket: - host: "320" - port: -1554559634 - timeoutSeconds: 550615941 - name: "288" + host: "313" + port: 248533396 + timeoutSeconds: 199049889 + name: "282" ports: - - containerPort: 1330271338 - hostIP: "294" - hostPort: 1853396726 - name: "293" - protocol: 逴 + - containerPort: -1666319281 + hostIP: "288" + hostPort: -185239148 + name: "287" + protocol: ĠM蘇KŅ/»頸+SÄ蚃 readinessProbe: exec: command: - - "321" - failureThreshold: 1150925735 + - "314" + failureThreshold: 646449677 httpGet: - host: "323" + host: "317" httpHeaders: - - name: "324" - value: "325" - path: "322" - port: -1620315711 - scheme: ɐ扵 - initialDelaySeconds: -1358663652 - periodSeconds: -527306221 - successThreshold: 2098694289 + - name: "318" + value: "319" + path: "315" + port: "316" + initialDelaySeconds: -1408385387 + periodSeconds: 1063054949 + successThreshold: 172612011 tcpSocket: - host: "327" - port: "326" - timeoutSeconds: 1543146222 + host: "321" + port: "320" + timeoutSeconds: -1225881740 + resizePolicy: + - policy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + resourceName: "" resources: limits: - 颐o: "230" + _<ǬëJ橈'琕鶫:顇ə娯Ȱ: "561" requests: - '[+扴ȨŮ+朷Ǝ膯ljV': "728" + ɐ鰥: "461" + resourcesAllocated: + ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻: "23" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - ŧL²sNƗ¸gĩ餠籲磣Óƿ + - æ盪泙若`l}Ñ蠂Ü drop: - - '"冓鍓贯澔 ƺ蛜6' + - ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I privileged: false - procMount: 鰥Z龏´DÒȗ + procMount: y竬ʆɞȥ}礤铟怖ý萜Ǖc8 readOnlyRootFilesystem: true - runAsGroup: 6057650398488995896 - runAsNonRoot: true - runAsUser: 4353696140684277635 + runAsGroup: 373025114301996656 + runAsNonRoot: false + runAsUser: -7474879432414053077 seLinuxOptions: - level: "354" - role: "352" - type: "353" - user: "351" + level: "346" + role: "344" + type: "345" + user: "343" windowsOptions: - gmsaCredentialSpec: "356" - gmsaCredentialSpecName: "355" - runAsUserName: "357" + gmsaCredentialSpec: "348" + gmsaCredentialSpecName: "347" + runAsUserName: "349" startupProbe: exec: command: - - "328" - failureThreshold: -1246371817 + - "322" + failureThreshold: -200074798 httpGet: - host: "331" + host: "324" httpHeaders: - - name: "332" - value: "333" - path: "329" - port: "330" - scheme: 榝$î.Ȏ蝪ʜ5遰 - initialDelaySeconds: 834105836 - periodSeconds: -370386363 - successThreshold: 1714588921 + - name: "325" + value: "326" + path: "323" + port: 2084371155 + scheme: ɭɪǹ0衷, + initialDelaySeconds: -278396828 + periodSeconds: -1663818120 + successThreshold: -211480108 tcpSocket: - host: "334" - port: -1438286448 - timeoutSeconds: -1462219068 - targetContainerName: "358" - terminationMessagePath: "350" - terminationMessagePolicy: Kƙ順\E¦队偯J僳徥淳4揻-$ɽ丟 - tty: true + host: "327" + port: 1692740191 + timeoutSeconds: 1497888778 + targetContainerName: "350" + terminationMessagePath: "342" + terminationMessagePolicy: ȲǸ|蕎'佉賞ǧĒzŔ volumeDevices: - - devicePath: "313" - name: "312" + - devicePath: "307" + name: "306" volumeMounts: - - mountPath: "309" - mountPropagation: ŕ-Ɂ圯W:ĸ輦唊#v铿 - name: "308" - subPath: "310" - subPathExpr: "311" - workingDir: "292" + - mountPath: "303" + mountPropagation: ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS + name: "302" + subPath: "304" + subPathExpr: "305" + workingDir: "286" hostAliases: - hostnames: - - "420" - ip: "419" - hostPID: true - hostname: "374" + - "412" + ip: "411" + hostIPC: true + hostNetwork: true + hostname: "366" imagePullSecrets: - - name: "373" + - name: "365" initContainers: - args: - "150" @@ -547,42 +555,43 @@ spec: name: "156" optional: false image: "148" - imagePullPolicy: k_瀹鞎sn芞QÄȻ + imagePullPolicy: ȹ嫰ƹǔw÷nI粛E煹ǐƲE lifecycle: postStart: exec: command: - - "196" + - "194" httpGet: - host: "198" + host: "197" httpHeaders: - - name: "199" - value: "200" - path: "197" - port: -1327537699 + - name: "198" + value: "199" + path: "195" + port: "196" + scheme: n芞QÄȻȊ+?ƭ峧Y栲茇竛 tcpSocket: - host: "202" - port: "201" + host: "200" + port: -592581809 preStop: exec: command: - - "203" + - "201" httpGet: - host: "206" + host: "203" httpHeaders: - - name: "207" - value: "208" - path: "204" - port: "205" - scheme: ĉş蝿ɖȃ賲鐅臬 + - name: "204" + value: "205" + path: "202" + port: 1702578303 + scheme: NŬɨǙÄr蛏豈ɃHŠơŴĿ tcpSocket: - host: "210" - port: "209" + host: "206" + port: -1047607622 livenessProbe: exec: command: - "173" - failureThreshold: 2053960192 + failureThreshold: 815401145 httpGet: host: "176" httpHeaders: @@ -590,14 +599,14 @@ spec: value: "178" path: "174" port: "175" - scheme: ƴy綸_Ú8參遼ūPH炮 - initialDelaySeconds: 741871873 - periodSeconds: -1987044888 - successThreshold: -1638339389 + scheme: H=å + initialDelaySeconds: -204658565 + periodSeconds: 1592637538 + successThreshold: -715357874 tcpSocket: host: "180" port: "179" - timeoutSeconds: 446829537 + timeoutSeconds: -498077886 name: "147" ports: - containerPort: 715087892 @@ -609,140 +618,145 @@ spec: exec: command: - "181" - failureThreshold: -57352147 + failureThreshold: -1064240304 httpGet: host: "183" httpHeaders: - name: "184" value: "185" path: "182" - port: -1903685915 - scheme: ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬 - initialDelaySeconds: 128019484 - periodSeconds: -2130554644 - successThreshold: 290736426 + port: 290736426 + scheme: ö + initialDelaySeconds: 322201525 + periodSeconds: 66472042 + successThreshold: 2130088978 tcpSocket: host: "187" port: "186" - timeoutSeconds: 431781335 + timeoutSeconds: -1784033404 + resizePolicy: + - policy: +ņ榱*Gưoɘ檲 + resourceName: y綸_Ú8參遼ū resources: limits: /擇ɦĽ胚O醔ɍ厶耈 T: "618" requests: á腿ħ缶.蒅!a坩O`涁İ而踪鄌eÞ: "372" + resourcesAllocated: + 栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼: "621" securityContext: allowPrivilegeEscalation: false capabilities: add: - - '?' + - þŹʣy豎@ɀ羭, drop: - - 峧Y栲茇竛吲蚛隖 + - OŤǢʭ嵔棂p儼Ƿ裚瓶釆Ɗ+ privileged: false - procMount: ʙ嫙& + procMount: 籘Àǒɿʒ刽ʼn readOnlyRootFilesystem: false - runAsGroup: -7286288718856494813 + runAsGroup: 1898367611285047958 runAsNonRoot: true - runAsUser: 7312518131318481396 + runAsUser: -739484406984751446 seLinuxOptions: - level: "215" - role: "213" - type: "214" - user: "212" + level: "211" + role: "209" + type: "210" + user: "208" windowsOptions: - gmsaCredentialSpec: "217" - gmsaCredentialSpecName: "216" - runAsUserName: "218" + gmsaCredentialSpec: "213" + gmsaCredentialSpecName: "212" + runAsUserName: "214" startupProbe: exec: command: - "188" - failureThreshold: 1133369651 + failureThreshold: -522126070 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" + - name: "191" + value: "192" path: "189" - port: "190" - scheme: 閝ȝ - initialDelaySeconds: -2142865739 - periodSeconds: 1434408532 - successThreshold: -566408554 + port: -566408554 + scheme: 劳&¼傭Ȟ1酃=6}ɡŇƉ立 + initialDelaySeconds: -1628697284 + periodSeconds: 354496320 + successThreshold: -418887496 tcpSocket: - host: "195" - port: "194" - timeoutSeconds: -1179067190 + host: "193" + port: -31530684 + timeoutSeconds: 843845736 stdin: true - stdinOnce: true - terminationMessagePath: "211" + terminationMessagePath: "207" + terminationMessagePolicy: ȉ彂 + tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: dʪīT捘ɍi縱ù墴1Rƥ + mountPropagation: 妰黖ȓƇ$缔獵偐ę name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "363" + nodeName: "355" nodeSelector: - "359": "360" + "351": "352" overhead: - Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲: "185" - preemptionPolicy: 鲛ô衞Ɵ鳝稃Ȍ液文?謮 - priority: 1352980996 - priorityClassName: "421" + 熴贤r心Ķ餍4: "127" + preemptionPolicy: 縊CkǚŨ镦 + priority: -173761204 + priorityClassName: "413" readinessGates: - - conditionType: Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ - restartPolicy: ɘɢ鬍熖B芭花ª瘡 - runtimeClassName: "426" - schedulerName: "416" + - conditionType: 3荾;釋ƽ,ʢ刣ȱǍ + restartPolicy: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + runtimeClassName: "418" + schedulerName: "408" securityContext: - fsGroup: 7124276984274024394 - fsGroupChangePolicy: 蹔ŧ - runAsGroup: -779972051078659613 + fsGroup: 3252248067742584460 + fsGroupChangePolicy: 裡×銵-紑浘牬釼 + runAsGroup: -2605388897472681971 runAsNonRoot: false - runAsUser: 2179199799235189619 + runAsUser: -2056599486643434092 seLinuxOptions: - level: "367" - role: "365" - type: "366" - user: "364" + level: "359" + role: "357" + type: "358" + user: "356" supplementalGroups: - - -7127205672279904050 + - -6171436788982835150 sysctls: - - name: "371" - value: "372" + - name: "363" + value: "364" windowsOptions: - gmsaCredentialSpec: "369" - gmsaCredentialSpecName: "368" - runAsUserName: "370" - serviceAccount: "362" - serviceAccountName: "361" + gmsaCredentialSpec: "361" + gmsaCredentialSpecName: "360" + runAsUserName: "362" + serviceAccount: "354" + serviceAccountName: "353" setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "375" - terminationGracePeriodSeconds: 2666412258966278206 + subdomain: "367" + terminationGracePeriodSeconds: 2424760700494115127 tolerations: - - effect: 癯頯aɴí(Ȟ9"忕( - key: "417" - operator: ƴ磳藷曥摮Z Ǐg鲅 - tolerationSeconds: 3807599400818393626 - value: "418" + - effect: 鳖üzÁ鍫Ǥ. + key: "409" + operator: Ǒȃ绡> + tolerationSeconds: 715786430081306206 + value: "410" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs + - key: 07CY-_dc__G6N-_-o operator: In values: - - 7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I + - 2_D6_.d-n_9n.p.2-.-QwO matchLabels: - za42o/Y-YD-Q9_-__..YNFu7Pg-.1: tE - maxSkew: 547935694 - topologyKey: "427" - whenUnsatisfiable: zŕƧ钖孝0蛮xAǫ&tŧK剛Ʀ + 0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7: "" + maxSkew: -1458287077 + topologyKey: "419" + whenUnsatisfiable: Ŋ)TiD¢ƿ媴h volumes: - awsElasticBlockStore: fsType: "47" @@ -942,14 +956,14 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -983106472 + availableReplicas: -444026457 conditions: - - lastTransitionTime: "2376-03-18T02:40:44Z" - message: "435" - reason: "434" - status: 站畦f黹ʩ鹸ɷLȋ - type: ×軓鼐嵱宯ÙQ阉(闒ƈƳ萎Ŋ - fullyLabeledReplicas: -2099726885 - observedGeneration: 4693783954739913971 - readyReplicas: -928976522 - replicas: 1893057016 + - lastTransitionTime: "2535-08-03T05:32:32Z" + message: "427" + reason: "426" + status: Ǐ詁Ȟ鮩ĺJCuɖ + type: sǞÃ+?Ď筌ʨ:ÿ1諘蚿[ĵ + fullyLabeledReplicas: -852640839 + observedGeneration: 5621295720173508467 + readyReplicas: 1322487368 + replicas: -335676228 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json index 13c03f295d272..3b635561b77ac 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1378,123 +1402,126 @@ "volumeClaimTemplates": [ { "metadata": { - "name": "426", - "generateName": "427", - "namespace": "428", - "selfLink": "429", - "uid": "瞯å檳ė\u003ec緍", - "resourceVersion": "8774564298362452033", - "generation": -4846338476256404591, + "name": "430", + "generateName": "431", + "namespace": "432", + "selfLink": "433", + "uid": "3Q蠯0ƍ\\溮Ŀ傜NZ!šZ_", + "resourceVersion": "6868396335712605135", + "generation": 4460932436309061502, "creationTimestamp": null, - "deletionGracePeriodSeconds": 6041236524714316269, + "deletionGracePeriodSeconds": -699777267386078993, "labels": { - "431": "432" + "435": "436" }, "annotations": { - "433": "434" + "437": "438" }, "ownerReferences": [ { - "apiVersion": "435", - "kind": "436", - "name": "437", - "uid": "ƄZ", - "controller": false, + "apiVersion": "439", + "kind": "440", + "name": "441", + "uid": "", + "controller": true, "blockOwnerDeletion": false } ], "finalizers": [ - "438" + "442" ], - "clusterName": "439", + "clusterName": "443", "managedFields": [ { - "manager": "440", - "operation": "ʘLD宊獟¡鯩WɓDɏ挭跡Ƅ抄", - "apiVersion": "441", - "fieldsType": "442" + "manager": "444", + "operation": "ȵ.Ȁ鎧Y冒ƖƦɼ", + "apiVersion": "445", + "fieldsType": "446" } ] }, "spec": { "accessModes": [ - "Ƣǟ½灶du汎mō6µɑ`ȗ\u003c8^翜T" + "ȶZy傦ɵNJ\"" ], "selector": { "matchLabels": { - "d-m._fN._k8__._ep21": "6_A_090ERG2nV.__p_Y-.2__a_dWU_VF" + "2.u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.w": "QCJ4a1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT2" }, "matchExpressions": [ { - "key": "oq0o90--g-09--d5ez1----b69x98--7g0e6-x5-7-a6434---7i-f-d014/6.T", - "operator": "DoesNotExist" + "key": "wc89k-0-57z4063---k1b6x91-0f-w8l--7c17j.n78aou-jf35-k7cr-mo-dz12----8q--n260pvo8-8---ln-9ei-vi9g-dn--q/4...rBQ.9-_.m7-Q____vSW_4-___-_--x", + "operator": "NotIn", + "values": [ + "81_---l_3_-_G-D....js--a---..6bD_M--c.0Q-2" + ] } ] }, "resources": { "limits": { - "蒸CƅR8ɷ|恫f籽": "139" + "Ǹz": "426" }, "requests": { - "": "380" + "ȉv5萓Ʀ鮶t\u003cŔ毇绊薆y蚁餋": "829" } }, - "volumeName": "449", - "storageClassName": "450", - "volumeMode": "ì淵歔", + "volumeName": "453", + "storageClassName": "454", + "volumeMode": "ǴȰ¤", "dataSource": { - "apiGroup": "451", - "kind": "452", - "name": "453" + "apiGroup": "455", + "kind": "456", + "name": "457" } }, "status": { - "phase": "d,", + "phase": "磕绘翁揌p:oŇE0Lj", "accessModes": [ - ";蛡媈U" + "\\屪kƱ" ], "capacity": { - "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:": "847" + "\"娥Qô!- å2:濕": "362" }, "conditions": [ { - "type": "Ɍ蚊ơ鎊t潑", - "status": "惃ȳTʬ戱P", - "lastProbeTime": "2237-12-11T16:15:26Z", - "lastTransitionTime": "2926-09-20T14:30:14Z", - "reason": "454", - "message": "455" + "type": "nj", + "status": "RY客\\ǯ'_", + "lastProbeTime": "2513-10-02T03:37:43Z", + "lastTransitionTime": "2172-12-06T22:36:31Z", + "reason": "458", + "message": "459" } ] } } ], - "serviceName": "456", - "podManagementPolicy": "冒ƖƦɼ橈\"Ĩ媻ʪdž澆", + "serviceName": "460", + "podManagementPolicy": "榭ș«lj}砵(ɋǬAÃɮǜ:ɐ", "updateStrategy": { - "type": "ƍ\\溮Ŀ傜NZ!šZ_", + "type": "瓘ȿ4", "rollingUpdate": { - "partition": -1774432721 + "partition": -1578718618 } }, - "revisionHistoryLimit": 51542630 + "revisionHistoryLimit": 1575668098 }, "status": { - "observedGeneration": 4970381117743528748, - "replicas": 1736529625, - "readyReplicas": 1972352681, - "currentReplicas": -727089824, - "updatedReplicas": -2068243724, - "currentRevision": "457", - "updateRevision": "458", - "collisionCount": -1807803289, + "observedGeneration": -2994706141758547943, + "replicas": -148329440, + "readyReplicas": -1823513364, + "currentReplicas": -981691190, + "updatedReplicas": 2069003631, + "currentRevision": "461", + "updateRevision": "462", + "collisionCount": -2044314719, "conditions": [ { - "type": "!轅諑", - "status": "YĹ爩", - "lastTransitionTime": "2544-05-05T21:53:33Z", - "reason": "459", - "message": "460" + "type": "GZ耏驧¹ƽɟ9ɭ锻ó/階ħ叟V", + "status": "x臥", + "lastTransitionTime": "2583-07-02T00:14:17Z", + "reason": "463", + "message": "464" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb index a14b0c4245134..dd78fcdb06ccb 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml index 4dbd77561b7b5..25ea3eecc4edc 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml @@ -30,16 +30,16 @@ metadata: selfLink: "5" uid: "7" spec: - podManagementPolicy: 冒ƖƦɼ橈"Ĩ媻ʪdž澆 + podManagementPolicy: 榭ș«lj}砵(ɋǬAÃɮǜ:ɐ replicas: 896585016 - revisionHistoryLimit: 51542630 + revisionHistoryLimit: 1575668098 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 operator: Exists matchLabels: 74404d5---g8c2-k-91e.y5-g--58----0683-b-w7ld-6cs06xj-x5yv0wm-k18/M_-Nx.N_6-___._-.-W._AAn---v_-5-_8LXj: 6-4_WE-_JTrcd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--1 - serviceName: "456" + serviceName: "460" template: metadata: annotations: @@ -71,446 +71,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -544,58 +555,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -606,141 +617,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -942,84 +956,86 @@ spec: volumePath: "101" updateStrategy: rollingUpdate: - partition: -1774432721 - type: ƍ\溮Ŀ傜NZ!šZ_ + partition: -1578718618 + type: 瓘ȿ4 volumeClaimTemplates: - metadata: annotations: - "433": "434" - clusterName: "439" + "437": "438" + clusterName: "443" creationTimestamp: null - deletionGracePeriodSeconds: 6041236524714316269 + deletionGracePeriodSeconds: -699777267386078993 finalizers: - - "438" - generateName: "427" - generation: -4846338476256404591 + - "442" + generateName: "431" + generation: 4460932436309061502 labels: - "431": "432" + "435": "436" managedFields: - - apiVersion: "441" - fieldsType: "442" - manager: "440" - operation: ʘLD宊獟¡鯩WɓDɏ挭跡Ƅ抄 - name: "426" - namespace: "428" + - apiVersion: "445" + fieldsType: "446" + manager: "444" + operation: ȵ.Ȁ鎧Y冒ƖƦɼ + name: "430" + namespace: "432" ownerReferences: - - apiVersion: "435" + - apiVersion: "439" blockOwnerDeletion: false - controller: false - kind: "436" - name: "437" - uid: ƄZ - resourceVersion: "8774564298362452033" - selfLink: "429" - uid: 瞯å檳ė>c緍 + controller: true + kind: "440" + name: "441" + uid: "" + resourceVersion: "6868396335712605135" + selfLink: "433" + uid: 3Q蠯0ƍ\溮Ŀ傜NZ!šZ_ spec: accessModes: - - Ƣǟ½灶du汎mō6µɑ`ȗ<8^翜T + - ȶZy傦ɵNJ" dataSource: - apiGroup: "451" - kind: "452" - name: "453" + apiGroup: "455" + kind: "456" + name: "457" resources: limits: - 蒸CƅR8ɷ|恫f籽: "139" + Ǹz: "426" requests: - "": "380" + ȉv5萓Ʀ鮶t<Ŕ毇绊薆y蚁餋: "829" selector: matchExpressions: - - key: oq0o90--g-09--d5ez1----b69x98--7g0e6-x5-7-a6434---7i-f-d014/6.T - operator: DoesNotExist + - key: wc89k-0-57z4063---k1b6x91-0f-w8l--7c17j.n78aou-jf35-k7cr-mo-dz12----8q--n260pvo8-8---ln-9ei-vi9g-dn--q/4...rBQ.9-_.m7-Q____vSW_4-___-_--x + operator: NotIn + values: + - 81_---l_3_-_G-D....js--a---..6bD_M--c.0Q-2 matchLabels: - d-m._fN._k8__._ep21: 6_A_090ERG2nV.__p_Y-.2__a_dWU_VF - storageClassName: "450" - volumeMode: ì淵歔 - volumeName: "449" + 2.u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.w: QCJ4a1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT2 + storageClassName: "454" + volumeMode: ǴȰ¤ + volumeName: "453" status: accessModes: - - ;蛡媈U + - \屪kƱ capacity: - 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:': "847" + '"娥Qô!- å2:濕': "362" conditions: - - lastProbeTime: "2237-12-11T16:15:26Z" - lastTransitionTime: "2926-09-20T14:30:14Z" - message: "455" - reason: "454" - status: 惃ȳTʬ戱P - type: Ɍ蚊ơ鎊t潑 - phase: d, + - lastProbeTime: "2513-10-02T03:37:43Z" + lastTransitionTime: "2172-12-06T22:36:31Z" + message: "459" + reason: "458" + status: RY客\ǯ'_ + type: nj + phase: 磕绘翁揌p:oŇE0Lj status: - collisionCount: -1807803289 + collisionCount: -2044314719 conditions: - - lastTransitionTime: "2544-05-05T21:53:33Z" - message: "460" - reason: "459" - status: YĹ爩 - type: '!轅諑' - currentReplicas: -727089824 - currentRevision: "457" - observedGeneration: 4970381117743528748 - readyReplicas: 1972352681 - replicas: 1736529625 - updateRevision: "458" - updatedReplicas: -2068243724 + - lastTransitionTime: "2583-07-02T00:14:17Z" + message: "464" + reason: "463" + status: x臥 + type: GZ耏驧¹ƽɟ9ɭ锻ó/階ħ叟V + currentReplicas: -981691190 + currentRevision: "461" + observedGeneration: -2994706141758547943 + readyReplicas: -1823513364 + replicas: -148329440 + updateRevision: "462" + updatedReplicas: 2069003631 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json index 49dec3e09e987..6097143e0d571 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1376,36 +1400,37 @@ } }, "strategy": { - "type": "ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ", + "type": ":犾ȩ纾SȞ+½剎惃ȳTʬ戱P", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": 696654600, - "revisionHistoryLimit": 407742062, + "minReadySeconds": 980041503, + "revisionHistoryLimit": -590976116, + "paused": true, "rollbackTo": { - "revision": -455484136992029462 + "revision": 2105216558382494434 }, - "progressDeadlineSeconds": -1450995995 + "progressDeadlineSeconds": -170312161 }, "status": { - "observedGeneration": 3883700826410970519, - "replicas": -449319810, - "updatedReplicas": 2063260600, - "readyReplicas": -729742317, - "availableReplicas": 294718341, - "unavailableReplicas": 867742020, + "observedGeneration": -6658302625584815411, + "replicas": -1229024305, + "updatedReplicas": 1052537448, + "readyReplicas": 68097840, + "availableReplicas": 1445092865, + "unavailableReplicas": 2078154240, "conditions": [ { - "type": "昞财Î嘝zʄ!ć惍Bi攵\u0026ý\"ʀ", + "type": "oPWkÄ", "status": "", - "lastUpdateTime": "2042-08-25T05:10:04Z", - "lastTransitionTime": "2097-04-15T07:29:40Z", - "reason": "426", - "message": "427" + "lastUpdateTime": "2533-10-23T17:42:37Z", + "lastTransitionTime": "2185-01-29T11:26:44Z", + "reason": "430", + "message": "431" } ], - "collisionCount": -2071091268 + "collisionCount": -1740014701 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb index e9414710a10f0..9f188b138234d 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml index ce83acde5a20f..22bd4e850092a 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml @@ -30,12 +30,13 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: 696654600 - progressDeadlineSeconds: -1450995995 + minReadySeconds: 980041503 + paused: true + progressDeadlineSeconds: -170312161 replicas: 896585016 - revisionHistoryLimit: 407742062 + revisionHistoryLimit: -590976116 rollbackTo: - revision: -455484136992029462 + revision: 2105216558382494434 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -46,7 +47,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ + type: :犾ȩ纾SȞ+½剎惃ȳTʬ戱P template: metadata: annotations: @@ -78,446 +79,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -551,58 +563,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -613,141 +625,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -948,17 +963,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: 294718341 - collisionCount: -2071091268 + availableReplicas: 1445092865 + collisionCount: -1740014701 conditions: - - lastTransitionTime: "2097-04-15T07:29:40Z" - lastUpdateTime: "2042-08-25T05:10:04Z" - message: "427" - reason: "426" + - lastTransitionTime: "2185-01-29T11:26:44Z" + lastUpdateTime: "2533-10-23T17:42:37Z" + message: "431" + reason: "430" status: "" - type: 昞财Î嘝zʄ!ć惍Bi攵&ý"ʀ - observedGeneration: 3883700826410970519 - readyReplicas: -729742317 - replicas: -449319810 - unavailableReplicas: 867742020 - updatedReplicas: 2063260600 + type: oPWkÄ + observedGeneration: -6658302625584815411 + readyReplicas: 68097840 + replicas: -1229024305 + unavailableReplicas: 2078154240 + updatedReplicas: 1052537448 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json index a323c6c434a51..996a72afcce05 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1378,123 +1402,126 @@ "volumeClaimTemplates": [ { "metadata": { - "name": "426", - "generateName": "427", - "namespace": "428", - "selfLink": "429", - "uid": "瞯å檳ė\u003ec緍", - "resourceVersion": "8774564298362452033", - "generation": -4846338476256404591, + "name": "430", + "generateName": "431", + "namespace": "432", + "selfLink": "433", + "uid": "3Q蠯0ƍ\\溮Ŀ傜NZ!šZ_", + "resourceVersion": "6868396335712605135", + "generation": 4460932436309061502, "creationTimestamp": null, - "deletionGracePeriodSeconds": 6041236524714316269, + "deletionGracePeriodSeconds": -699777267386078993, "labels": { - "431": "432" + "435": "436" }, "annotations": { - "433": "434" + "437": "438" }, "ownerReferences": [ { - "apiVersion": "435", - "kind": "436", - "name": "437", - "uid": "ƄZ", - "controller": false, + "apiVersion": "439", + "kind": "440", + "name": "441", + "uid": "", + "controller": true, "blockOwnerDeletion": false } ], "finalizers": [ - "438" + "442" ], - "clusterName": "439", + "clusterName": "443", "managedFields": [ { - "manager": "440", - "operation": "ʘLD宊獟¡鯩WɓDɏ挭跡Ƅ抄", - "apiVersion": "441", - "fieldsType": "442" + "manager": "444", + "operation": "ȵ.Ȁ鎧Y冒ƖƦɼ", + "apiVersion": "445", + "fieldsType": "446" } ] }, "spec": { "accessModes": [ - "Ƣǟ½灶du汎mō6µɑ`ȗ\u003c8^翜T" + "ȶZy傦ɵNJ\"" ], "selector": { "matchLabels": { - "d-m._fN._k8__._ep21": "6_A_090ERG2nV.__p_Y-.2__a_dWU_VF" + "2.u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.w": "QCJ4a1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT2" }, "matchExpressions": [ { - "key": "oq0o90--g-09--d5ez1----b69x98--7g0e6-x5-7-a6434---7i-f-d014/6.T", - "operator": "DoesNotExist" + "key": "wc89k-0-57z4063---k1b6x91-0f-w8l--7c17j.n78aou-jf35-k7cr-mo-dz12----8q--n260pvo8-8---ln-9ei-vi9g-dn--q/4...rBQ.9-_.m7-Q____vSW_4-___-_--x", + "operator": "NotIn", + "values": [ + "81_---l_3_-_G-D....js--a---..6bD_M--c.0Q-2" + ] } ] }, "resources": { "limits": { - "蒸CƅR8ɷ|恫f籽": "139" + "Ǹz": "426" }, "requests": { - "": "380" + "ȉv5萓Ʀ鮶t\u003cŔ毇绊薆y蚁餋": "829" } }, - "volumeName": "449", - "storageClassName": "450", - "volumeMode": "ì淵歔", + "volumeName": "453", + "storageClassName": "454", + "volumeMode": "ǴȰ¤", "dataSource": { - "apiGroup": "451", - "kind": "452", - "name": "453" + "apiGroup": "455", + "kind": "456", + "name": "457" } }, "status": { - "phase": "d,", + "phase": "磕绘翁揌p:oŇE0Lj", "accessModes": [ - ";蛡媈U" + "\\屪kƱ" ], "capacity": { - "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:": "847" + "\"娥Qô!- å2:濕": "362" }, "conditions": [ { - "type": "Ɍ蚊ơ鎊t潑", - "status": "惃ȳTʬ戱P", - "lastProbeTime": "2237-12-11T16:15:26Z", - "lastTransitionTime": "2926-09-20T14:30:14Z", - "reason": "454", - "message": "455" + "type": "nj", + "status": "RY客\\ǯ'_", + "lastProbeTime": "2513-10-02T03:37:43Z", + "lastTransitionTime": "2172-12-06T22:36:31Z", + "reason": "458", + "message": "459" } ] } } ], - "serviceName": "456", - "podManagementPolicy": "冒ƖƦɼ橈\"Ĩ媻ʪdž澆", + "serviceName": "460", + "podManagementPolicy": "榭ș«lj}砵(ɋǬAÃɮǜ:ɐ", "updateStrategy": { - "type": "ƍ\\溮Ŀ傜NZ!šZ_", + "type": "瓘ȿ4", "rollingUpdate": { - "partition": -1774432721 + "partition": -1578718618 } }, - "revisionHistoryLimit": 51542630 + "revisionHistoryLimit": 1575668098 }, "status": { - "observedGeneration": -2780555863272013359, - "replicas": -1607291056, - "readyReplicas": 1591188280, - "currentReplicas": 1562316216, - "updatedReplicas": -292741450, - "currentRevision": "457", - "updateRevision": "458", - "collisionCount": 1615616035, + "observedGeneration": 8488467370342917811, + "replicas": -1786394556, + "readyReplicas": -1633381902, + "currentReplicas": 125606756, + "updatedReplicas": 120643071, + "currentRevision": "461", + "updateRevision": "462", + "collisionCount": -126974464, "conditions": [ { - "type": "Ď眊:YĹ爩í鬯濴VǕ癶L浼", - "status": "@p$ÖTő净湅oĒ弦}C嚰s9", - "lastTransitionTime": "2668-07-22T09:34:16Z", - "reason": "459", - "message": "460" + "type": "5ƞɔJ灭ƳĽ", + "status": "ɭ锻ó/階", + "lastTransitionTime": "2478-01-26T13:55:29Z", + "reason": "463", + "message": "464" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb index 8ca4eae646963..f759e5f9febfc 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml index d9e479eb3ce27..b92aef406928f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml @@ -30,16 +30,16 @@ metadata: selfLink: "5" uid: "7" spec: - podManagementPolicy: 冒ƖƦɼ橈"Ĩ媻ʪdž澆 + podManagementPolicy: 榭ș«lj}砵(ɋǬAÃɮǜ:ɐ replicas: 896585016 - revisionHistoryLimit: 51542630 + revisionHistoryLimit: 1575668098 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 operator: Exists matchLabels: 74404d5---g8c2-k-91e.y5-g--58----0683-b-w7ld-6cs06xj-x5yv0wm-k18/M_-Nx.N_6-___._-.-W._AAn---v_-5-_8LXj: 6-4_WE-_JTrcd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--1 - serviceName: "456" + serviceName: "460" template: metadata: annotations: @@ -71,446 +71,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -544,58 +555,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -606,141 +617,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -942,84 +956,86 @@ spec: volumePath: "101" updateStrategy: rollingUpdate: - partition: -1774432721 - type: ƍ\溮Ŀ傜NZ!šZ_ + partition: -1578718618 + type: 瓘ȿ4 volumeClaimTemplates: - metadata: annotations: - "433": "434" - clusterName: "439" + "437": "438" + clusterName: "443" creationTimestamp: null - deletionGracePeriodSeconds: 6041236524714316269 + deletionGracePeriodSeconds: -699777267386078993 finalizers: - - "438" - generateName: "427" - generation: -4846338476256404591 + - "442" + generateName: "431" + generation: 4460932436309061502 labels: - "431": "432" + "435": "436" managedFields: - - apiVersion: "441" - fieldsType: "442" - manager: "440" - operation: ʘLD宊獟¡鯩WɓDɏ挭跡Ƅ抄 - name: "426" - namespace: "428" + - apiVersion: "445" + fieldsType: "446" + manager: "444" + operation: ȵ.Ȁ鎧Y冒ƖƦɼ + name: "430" + namespace: "432" ownerReferences: - - apiVersion: "435" + - apiVersion: "439" blockOwnerDeletion: false - controller: false - kind: "436" - name: "437" - uid: ƄZ - resourceVersion: "8774564298362452033" - selfLink: "429" - uid: 瞯å檳ė>c緍 + controller: true + kind: "440" + name: "441" + uid: "" + resourceVersion: "6868396335712605135" + selfLink: "433" + uid: 3Q蠯0ƍ\溮Ŀ傜NZ!šZ_ spec: accessModes: - - Ƣǟ½灶du汎mō6µɑ`ȗ<8^翜T + - ȶZy傦ɵNJ" dataSource: - apiGroup: "451" - kind: "452" - name: "453" + apiGroup: "455" + kind: "456" + name: "457" resources: limits: - 蒸CƅR8ɷ|恫f籽: "139" + Ǹz: "426" requests: - "": "380" + ȉv5萓Ʀ鮶t<Ŕ毇绊薆y蚁餋: "829" selector: matchExpressions: - - key: oq0o90--g-09--d5ez1----b69x98--7g0e6-x5-7-a6434---7i-f-d014/6.T - operator: DoesNotExist + - key: wc89k-0-57z4063---k1b6x91-0f-w8l--7c17j.n78aou-jf35-k7cr-mo-dz12----8q--n260pvo8-8---ln-9ei-vi9g-dn--q/4...rBQ.9-_.m7-Q____vSW_4-___-_--x + operator: NotIn + values: + - 81_---l_3_-_G-D....js--a---..6bD_M--c.0Q-2 matchLabels: - d-m._fN._k8__._ep21: 6_A_090ERG2nV.__p_Y-.2__a_dWU_VF - storageClassName: "450" - volumeMode: ì淵歔 - volumeName: "449" + 2.u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.w: QCJ4a1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT2 + storageClassName: "454" + volumeMode: ǴȰ¤ + volumeName: "453" status: accessModes: - - ;蛡媈U + - \屪kƱ capacity: - 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:': "847" + '"娥Qô!- å2:濕': "362" conditions: - - lastProbeTime: "2237-12-11T16:15:26Z" - lastTransitionTime: "2926-09-20T14:30:14Z" - message: "455" - reason: "454" - status: 惃ȳTʬ戱P - type: Ɍ蚊ơ鎊t潑 - phase: d, + - lastProbeTime: "2513-10-02T03:37:43Z" + lastTransitionTime: "2172-12-06T22:36:31Z" + message: "459" + reason: "458" + status: RY客\ǯ'_ + type: nj + phase: 磕绘翁揌p:oŇE0Lj status: - collisionCount: 1615616035 + collisionCount: -126974464 conditions: - - lastTransitionTime: "2668-07-22T09:34:16Z" - message: "460" - reason: "459" - status: '@p$ÖTő净湅oĒ弦}C嚰s9' - type: Ď眊:YĹ爩í鬯濴VǕ癶L浼 - currentReplicas: 1562316216 - currentRevision: "457" - observedGeneration: -2780555863272013359 - readyReplicas: 1591188280 - replicas: -1607291056 - updateRevision: "458" - updatedReplicas: -292741450 + - lastTransitionTime: "2478-01-26T13:55:29Z" + message: "464" + reason: "463" + status: ɭ锻ó/階 + type: 5ƞɔJ灭ƳĽ + currentReplicas: 125606756 + currentRevision: "461" + observedGeneration: 8488467370342917811 + readyReplicas: -1633381902 + replicas: -1786394556 + updateRevision: "462" + updatedReplicas: 120643071 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json index 3b96554e9c89b..fdc9c47d5870f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json @@ -438,13 +438,22 @@ "湨": "803" } }, + "resourcesAllocated": { + "鎷卩蝾H": "824" + }, + "resizePolicy": [ + { + "resourceName": "蕵ɢ", + "policy": "瓼猀2:öY鶪5w垁鷌辪" + } + ], "volumeMounts": [ { "name": "167", "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "卩蝾", + "mountPropagation": "珝Żwʮ馜ü", "subPathExpr": "170" } ], @@ -462,102 +471,102 @@ }, "httpGet": { "path": "174", - "port": "175", - "host": "176", + "port": 1427781619, + "host": "175", + "scheme": "}", "httpHeaders": [ { - "name": "177", - "value": "178" + "name": "176", + "value": "177" } ] }, "tcpSocket": { - "port": "179", - "host": "180" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1805144649, - "timeoutSeconds": -606111218, - "periodSeconds": 1403721475, - "successThreshold": 519906483, - "failureThreshold": 1466047181 + "initialDelaySeconds": 1030243869, + "timeoutSeconds": -1080853187, + "periodSeconds": -185042403, + "successThreshold": -374922344, + "failureThreshold": -31530684 }, "readinessProbe": { "exec": { "command": [ - "181" + "180" ] }, "httpGet": { - "path": "182", - "port": "183", - "host": "184", - "scheme": "w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ", + "path": "181", + "port": "182", + "host": "183", "httpHeaders": [ { - "name": "185", - "value": "186" + "name": "184", + "value": "185" } ] }, "tcpSocket": { - "port": -337353552, - "host": "187" + "port": -289900366, + "host": "186" }, - "initialDelaySeconds": -1724160601, - "timeoutSeconds": -1158840571, - "periodSeconds": 1435507444, - "successThreshold": -1430577593, - "failureThreshold": 524249411 + "initialDelaySeconds": 559781916, + "timeoutSeconds": -1703360754, + "periodSeconds": -1569009987, + "successThreshold": -1053603859, + "failureThreshold": 1471432155 }, "startupProbe": { "exec": { "command": [ - "188" + "187" ] }, "httpGet": { - "path": "189", - "port": "190", - "host": "191", - "scheme": "k_瀹鞎sn芞QÄȻ", + "path": "188", + "port": "189", + "host": "190", + "scheme": "Ȋ+?ƭ峧Y栲茇竛吲蚛", "httpHeaders": [ { - "name": "192", - "value": "193" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": "194", - "host": "195" + "port": "193", + "host": "194" }, - "initialDelaySeconds": 364013971, - "timeoutSeconds": 1596422492, - "periodSeconds": -1790124395, - "successThreshold": 1094670193, - "failureThreshold": 905846572 + "initialDelaySeconds": -138175394, + "timeoutSeconds": -1839582103, + "periodSeconds": 1054302708, + "successThreshold": -1696471293, + "failureThreshold": 1545364977 }, "lifecycle": { "postStart": { "exec": { "command": [ - "196" + "195" ] }, "httpGet": { - "path": "197", - "port": "198", - "host": "199", - "scheme": "蚛隖\u003cǶĬ4y£軶ǃ*ʙ嫙\u0026蒒5靇C'", + "path": "196", + "port": "197", + "host": "198", + "scheme": "ʙ嫙\u0026", "httpHeaders": [ { - "name": "200", - "value": "201" + "name": "199", + "value": "200" } ] }, "tcpSocket": { - "port": 2126876305, + "port": "201", "host": "202" } }, @@ -569,25 +578,25 @@ }, "httpGet": { "path": "204", - "port": "205", - "host": "206", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": 279808574, + "host": "205", + "scheme": "ǹ_Áȉ彂Ŵ廷s", "httpHeaders": [ { - "name": "207", - "value": "208" + "name": "206", + "value": "207" } ] }, "tcpSocket": { - "port": 406308963, + "port": "208", "host": "209" } } }, "terminationMessagePath": "210", - "terminationMessagePolicy": "ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0", - "imagePullPolicy": "ŤǢʭ嵔棂p儼Ƿ裚瓶", + "terminationMessagePolicy": "dz@ùƸʋŀ樺ȃv渟7¤7djƯĖ漘Z", + "imagePullPolicy": ",铻OŤǢʭ嵔棂p儼Ƿ裚瓶", "securityContext": { "capabilities": { "add": [ @@ -689,12 +698,21 @@ "ɺ皚|懥ƖN粕擓ƖHV": "962" } }, + "resourcesAllocated": { + "ɗ": "991" + }, + "resizePolicy": [ + { + "resourceName": "D剂讼ɓȌʟni酛3ƁÀ*", + "policy": "R§耶FfBls3!Zɾģ毋Ó" + } + ], "volumeMounts": [ { "name": "238", "mountPath": "239", "subPath": "240", - "mountPropagation": "Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ", + "mountPropagation": "娝嘚庎D}埽uʎȺ眖R#yV'", "subPathExpr": "241" } ], @@ -712,9 +730,9 @@ }, "httpGet": { "path": "245", - "port": -393291312, + "port": -1798849477, "host": "246", - "scheme": "Ŧ癃8鸖ɱJȉ罴ņ螡źȰ?", + "scheme": "Í勅跦Opwǩ曬逴褜1ØœȠƬ", "httpHeaders": [ { "name": "247", @@ -726,11 +744,11 @@ "port": "249", "host": "250" }, - "initialDelaySeconds": 627713162, - "timeoutSeconds": 1255312175, - "periodSeconds": -1740959124, - "successThreshold": 158280212, - "failureThreshold": -361442565 + "initialDelaySeconds": 1419770315, + "timeoutSeconds": 300356869, + "periodSeconds": 1830495826, + "successThreshold": 1102291854, + "failureThreshold": -241238495 }, "readinessProbe": { "exec": { @@ -740,9 +758,9 @@ }, "httpGet": { "path": "252", - "port": -2013568185, + "port": 972978563, "host": "253", - "scheme": "#yV'WKw(ğ儴Ůĺ}", + "scheme": "ȨŮ+朷Ǝ膯", "httpHeaders": [ { "name": "254", @@ -751,14 +769,14 @@ ] }, "tcpSocket": { - "port": -20130017, + "port": -1506633471, "host": "256" }, - "initialDelaySeconds": -1244623134, - "timeoutSeconds": -1334110502, - "periodSeconds": -398297599, - "successThreshold": 873056500, - "failureThreshold": -36782737 + "initialDelaySeconds": -249989919, + "timeoutSeconds": -171684192, + "periodSeconds": -602419938, + "successThreshold": 1040396664, + "failureThreshold": -979584143 }, "startupProbe": { "exec": { @@ -770,7 +788,7 @@ "path": "258", "port": "259", "host": "260", - "scheme": "Qg鄠[", + "scheme": "ĸ輦唊", "httpHeaders": [ { "name": "261", @@ -779,36 +797,36 @@ ] }, "tcpSocket": { - "port": -241238495, - "host": "263" + "port": "263", + "host": "264" }, - "initialDelaySeconds": -1556231754, - "timeoutSeconds": 461585849, - "periodSeconds": -321709789, - "successThreshold": -1463645123, - "failureThreshold": -1011390276 + "initialDelaySeconds": 1474943201, + "timeoutSeconds": -196963939, + "periodSeconds": 1584029564, + "successThreshold": -467985423, + "failureThreshold": 2058122084 }, "lifecycle": { "postStart": { "exec": { "command": [ - "264" + "265" ] }, "httpGet": { - "path": "265", - "port": "266", - "host": "267", - "scheme": "]佱¿\u003e犵殇ŕ-Ɂ圯W", + "path": "266", + "port": "267", + "host": "268", + "scheme": "ơŸ8T ", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "269", + "value": "270" } ] }, "tcpSocket": { - "port": "270", + "port": -1871050070, "host": "271" } }, @@ -820,32 +838,32 @@ }, "httpGet": { "path": "273", - "port": -1161649101, - "host": "274", - "scheme": "嚧ʣq埄", + "port": "274", + "host": "275", + "scheme": "*Z鐫û咡W\u003c敄lu|榝$î", "httpHeaders": [ { - "name": "275", - "value": "276" + "name": "276", + "value": "277" } ] }, "tcpSocket": { - "port": "277", + "port": -1008986249, "host": "278" } } }, "terminationMessagePath": "279", - "terminationMessagePolicy": "ʁ岼昕ĬÇ", - "imagePullPolicy": "T 苧yñKJɐ扵G", + "terminationMessagePolicy": "ʜ5遰=E埄Ȁ朦 wƯ貾坢'跩aŕ", + "imagePullPolicy": "Ļǟi\u0026", "securityContext": { "capabilities": { "add": [ - "fʀļ腩墺Ò媁荭gw忊" + "碔" ], "drop": [ - "E剒蔞" + "NKƙ順\\E¦队偯J僳徥淳4揻-$" ] }, "privileged": false, @@ -860,14 +878,14 @@ "gmsaCredentialSpec": "285", "runAsUserName": "286" }, - "runAsUser": -6177393256425700216, - "runAsGroup": 2001337664780390084, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "Ȩ\u003c6鄰簳°Ļǟi\u0026" + "runAsUser": -7971724279034955974, + "runAsGroup": 2011630253582325853, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": ",ŕ" }, - "stdin": true + "stdinOnce": true } ], "ephemeralContainers": [ @@ -884,8 +902,9 @@ "ports": [ { "name": "292", - "hostPort": 1313273370, - "containerPort": -1296830577, + "hostPort": 887319241, + "containerPort": 1559618829, + "protocol": "/»頸+SÄ蚃ɣľ)酊龨Î", "hostIP": "293" } ], @@ -894,7 +913,7 @@ "prefix": "294", "configMapRef": { "name": "295", - "optional": true + "optional": false }, "secretRef": { "name": "296", @@ -914,7 +933,7 @@ "resourceFieldRef": { "containerName": "301", "resource": "302", - "divisor": "3" + "divisor": "568" }, "configMapKeyRef": { "name": "303", @@ -924,26 +943,34 @@ "secretKeyRef": { "name": "305", "key": "306", - "optional": true + "optional": false } } } ], "resources": { "limits": { - "淳4揻-$ɽ丟×x锏ɟ": "178" + "'琕鶫:顇ə娯Ȱ囌{屿": "115" }, "requests": { - "Ö闊 鰔澝qV": "752" + "龏´DÒȗÔÂɘɢ鬍": "101" } }, + "resourcesAllocated": { + "ŕ璻Jih亏yƕ丆": "23" + }, + "resizePolicy": [ + { + "resourceName": "鯂²静", + "policy": "灩聋3趐囨鏻砅邻" + } + ], "volumeMounts": [ { "name": "307", - "readOnly": true, "mountPath": "308", "subPath": "309", - "mountPropagation": "/»頸+SÄ蚃ɣľ)酊龨Î", + "mountPropagation": "ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS", "subPathExpr": "310" } ], @@ -961,213 +988,210 @@ }, "httpGet": { "path": "314", - "port": "315", - "host": "316", - "scheme": "冓鍓贯", + "port": 1076497581, + "host": "315", + "scheme": "h4ɊHȖ|ʐ", "httpHeaders": [ { - "name": "317", - "value": "318" + "name": "316", + "value": "317" } ] }, "tcpSocket": { - "port": "319", - "host": "320" + "port": 248533396, + "host": "318" }, - "initialDelaySeconds": 1290950685, - "timeoutSeconds": 12533543, - "periodSeconds": 1058960779, - "successThreshold": -2133441986, - "failureThreshold": 472742933 + "initialDelaySeconds": -1835677314, + "timeoutSeconds": 199049889, + "periodSeconds": 1947032456, + "successThreshold": 1233904535, + "failureThreshold": -969533986 }, "readinessProbe": { "exec": { "command": [ - "321" + "319" ] }, "httpGet": { - "path": "322", - "port": 1332783160, - "host": "323", - "scheme": "Ȱ囌{屿oiɥ嵐sC8?Ǻ鱎ƙ;", + "path": "320", + "port": "321", + "host": "322", "httpHeaders": [ { - "name": "324", - "value": "325" + "name": "323", + "value": "324" } ] }, "tcpSocket": { - "port": "326", - "host": "327" + "port": "325", + "host": "326" }, - "initialDelaySeconds": -300247800, - "timeoutSeconds": 386804041, - "periodSeconds": -126958936, - "successThreshold": 186945072, - "failureThreshold": 620822482 + "initialDelaySeconds": -1408385387, + "timeoutSeconds": -1225881740, + "periodSeconds": 1063054949, + "successThreshold": 172612011, + "failureThreshold": 646449677 }, "startupProbe": { "exec": { "command": [ - "328" + "327" ] }, "httpGet": { - "path": "329", - "port": "330", - "host": "331", - "scheme": "鍏H鯂²", + "path": "328", + "port": 2084371155, + "host": "329", + "scheme": "ɭɪǹ0衷,", "httpHeaders": [ { - "name": "332", - "value": "333" + "name": "330", + "value": "331" } ] }, "tcpSocket": { - "port": -1187301925, - "host": "334" + "port": 1692740191, + "host": "332" }, - "initialDelaySeconds": -402384013, - "timeoutSeconds": -181601395, - "periodSeconds": -617381112, - "successThreshold": 1851229369, - "failureThreshold": -560238386 + "initialDelaySeconds": -278396828, + "timeoutSeconds": 1497888778, + "periodSeconds": -1663818120, + "successThreshold": -211480108, + "failureThreshold": -200074798 }, "lifecycle": { "postStart": { "exec": { "command": [ - "335" + "333" ] }, "httpGet": { - "path": "336", - "port": "337", - "host": "338", - "scheme": "C\"6x$1s", + "path": "334", + "port": -302933400, + "host": "335", + "scheme": "眵笭/9崍h趭(娕uE增猍ǵ x", "httpHeaders": [ { - "name": "339", - "value": "340" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "341", - "host": "342" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "343" + "340" ] }, "httpGet": { - "path": "344", - "port": -518160270, - "host": "345", - "scheme": "ɔ幩še", + "path": "341", + "port": 1238925115, + "host": "342", + "scheme": "ɢX鰨松/Ȁĵ", "httpHeaders": [ { - "name": "346", - "value": "347" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": 1956567721, - "host": "348" + "port": "345", + "host": "346" } } }, - "terminationMessagePath": "349", - "terminationMessagePolicy": "ȤƏ埮pɵ", + "terminationMessagePath": "347", + "terminationMessagePolicy": "ȲǸ|蕎'佉賞ǧĒzŔ", + "imagePullPolicy": "ùfŭƽ", "securityContext": { "capabilities": { "add": [ - "|ʐşƧ諔迮ƙIJ嘢" + "æ盪泙若`l}Ñ蠂Ü" ], "drop": [ - "ʗN" + "ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I" ] }, "privileged": false, "seLinuxOptions": { - "user": "350", - "role": "351", - "type": "352", - "level": "353" + "user": "348", + "role": "349", + "type": "350", + "level": "351" }, "windowsOptions": { - "gmsaCredentialSpecName": "354", - "gmsaCredentialSpec": "355", - "runAsUserName": "356" + "gmsaCredentialSpecName": "352", + "gmsaCredentialSpec": "353", + "runAsUserName": "354" }, - "runAsUser": -6048969174364431391, - "runAsGroup": 6726836758549163621, + "runAsUser": -7474879432414053077, + "runAsGroup": 373025114301996656, "runAsNonRoot": false, "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "" + "allowPrivilegeEscalation": true, + "procMount": "y竬ʆɞȥ}礤铟怖ý萜Ǖc8" }, - "stdin": true, - "stdinOnce": true, - "tty": true, - "targetContainerName": "357" + "targetContainerName": "355" } ], - "restartPolicy": "ɭɪǹ0衷,", - "terminationGracePeriodSeconds": -3039830979334099524, - "activeDeadlineSeconds": 7270263763744228913, - "dnsPolicy": "n(fǂǢ曣ŋayåe躒訙Ǫ", + "restartPolicy": "Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ", + "terminationGracePeriodSeconds": 2424760700494115127, + "activeDeadlineSeconds": 8749598715214557239, "nodeSelector": { - "358": "359" + "356": "357" }, - "serviceAccountName": "360", - "serviceAccount": "361", - "automountServiceAccountToken": true, - "nodeName": "362", + "serviceAccountName": "358", + "serviceAccount": "359", + "automountServiceAccountToken": false, + "nodeName": "360", "hostNetwork": true, + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "363", - "role": "364", - "type": "365", - "level": "366" + "user": "361", + "role": "362", + "type": "363", + "level": "364" }, "windowsOptions": { - "gmsaCredentialSpecName": "367", - "gmsaCredentialSpec": "368", - "runAsUserName": "369" + "gmsaCredentialSpecName": "365", + "gmsaCredentialSpec": "366", + "runAsUserName": "367" }, - "runAsUser": -5315960194881172085, - "runAsGroup": 6386250802140824739, + "runAsUser": -2056599486643434092, + "runAsGroup": -2605388897472681971, "runAsNonRoot": false, "supplementalGroups": [ - -4480129203693517072 + -6171436788982835150 ], - "fsGroup": 2585323675983182372, + "fsGroup": 3252248067742584460, "sysctls": [ { - "name": "370", - "value": "371" + "name": "368", + "value": "369" } ], - "fsGroupChangePolicy": "Ĕ\\ɢX鰨松/Ȁĵ鴁ĩȲǸ|蕎" + "fsGroupChangePolicy": "裡×銵-紑浘牬釼" }, "imagePullSecrets": [ { - "name": "372" + "name": "370" } ], - "hostname": "373", - "subdomain": "374", + "hostname": "371", + "subdomain": "372", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1175,19 +1199,19 @@ { "matchExpressions": [ { - "key": "375", - "operator": "Ǚ(", + "key": "373", + "operator": "槃JŵǤ桒ɴ鉂WJ", "values": [ - "376" + "374" ] } ], "matchFields": [ { - "key": "377", - "operator": "瘍Nʊ輔3璾ėȜv1b繐汚", + "key": "375", + "operator": "ƞʓ%ʝ`ǭ躌", "values": [ - "378" + "376" ] } ] @@ -1196,23 +1220,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 702968201, + "weight": -1312249623, "preference": { "matchExpressions": [ { - "key": "379", - "operator": "n覦灲閈誹ʅ蕉", + "key": "377", + "operator": "滿筇ȟP:/a殆", "values": [ - "380" + "378" ] } ], "matchFields": [ { - "key": "381", - "operator": "", + "key": "379", + "operator": "ȏâ磠", "values": [ - "382" + "380" ] } ] @@ -1225,43 +1249,43 @@ { "labelSelector": { "matchLabels": { - "lm-e46-r-g63--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-g/0p_3_J_SA995IKCR.s--f.-f.-zv._._.5-H.T.-.-.d": "b_9_1o.w_aI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7._l.I" + "KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N": "8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf" }, "matchExpressions": [ { - "key": "d----v8-4--558n1asz-r886x.2-cgr6---r58-e-l203-8sln7-x/k2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l", - "operator": "DoesNotExist" + "key": "el--F.6", + "operator": "Exists" } ] }, "namespaces": [ - "389" + "387" ], - "topologyKey": "390" + "topologyKey": "388" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1195176401, + "weight": 1038187806, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "Bk.j._g-G-7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_68": "Q4_.84.K_-_0_..u.F.pq..--Q" + "s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8": "l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D" }, "matchExpressions": [ { - "key": "8b-3-3b17cab-ppy5e--9p-61-2we16h--5-d-k-sm.2xv17r--32b-----4-670tfz-up3n/ov_Z--Zg-_Q", - "operator": "NotIn", + "key": "21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u", + "operator": "In", "values": [ - "0..KpiS.oK-.O--5-yp8q_s-L" + "rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4" ] } ] }, "namespaces": [ - "397" + "395" ], - "topologyKey": "398" + "topologyKey": "396" } } ] @@ -1271,143 +1295,143 @@ { "labelSelector": { "matchLabels": { - "H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_j": "35.40Rw4gD.._.-x6db-L7.-__-G_2kCpS_1" + "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X": "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m" }, "matchExpressions": [ { - "key": "d-XZ-x.__.Y_2-n_5023Xl-3Pw_-r7g", + "key": "Y.39g_.--_-_ve5.m_U", "operator": "NotIn", "values": [ - "VT3sn-0_.i__a.O2G_J" + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" ] } ] }, "namespaces": [ - "405" + "403" ], - "topologyKey": "406" + "topologyKey": "404" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1508769491, + "weight": -1370389893, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3--rgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--it6k47-7y1.h72n-cnp-75/c10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-3": "20_._.-_L-__bf_9_-C-PfNx__-U_.Pn-W23-_.z_.._s--_F-BR-.h_-2-.F" + "622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4": "3_-_B" }, "matchExpressions": [ { - "key": "p_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-e", - "operator": "In", - "values": [ - "" - ] + "key": "f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU", + "operator": "Exists" } ] }, "namespaces": [ - "413" + "411" ], - "topologyKey": "414" + "topologyKey": "412" } } ] } }, - "schedulerName": "415", + "schedulerName": "413", "tolerations": [ { - "key": "416", - "operator": "抄3昞财Î嘝zʄ!ć", - "value": "417", - "effect": "緍k¢茤", - "tolerationSeconds": 4096844323391966153 + "key": "414", + "operator": "Ǒȃ绡\u003e", + "value": "415", + "effect": "鳖üzÁ鍫Ǥ.", + "tolerationSeconds": 715786430081306206 } ], "hostAliases": [ { - "ip": "418", + "ip": "416", "hostnames": [ - "419" + "417" ] } ], - "priorityClassName": "420", - "priority": -1331113536, + "priorityClassName": "418", + "priority": -173761204, "dnsConfig": { "nameservers": [ - "421" + "419" ], "searches": [ - "422" + "420" ], "options": [ { - "name": "423", - "value": "424" + "name": "421", + "value": "422" } ] }, "readinessGates": [ { - "conditionType": "mō6µɑ`ȗ\u003c8^翜" + "conditionType": "3荾;釋ƽ,ʢ刣ȱǍ" } ], - "runtimeClassName": "425", - "enableServiceLinks": false, - "preemptionPolicy": "ý筞X", + "runtimeClassName": "423", + "enableServiceLinks": true, + "preemptionPolicy": "縊CkǚŨ镦", "overhead": { - "tHǽ÷閂抰^窄CǙķȈ": "97" + "熴贤r心Ķ餍4": "127" }, "topologySpreadConstraints": [ { - "maxSkew": 1956797678, - "topologyKey": "426", - "whenUnsatisfiable": "ƀ+瑏eCmAȥ睙", + "maxSkew": -1458287077, + "topologyKey": "424", + "whenUnsatisfiable": "Ŋ)TiD¢ƿ媴h", "labelSelector": { "matchLabels": { - "zp22o4a-w----11rqy3eo79p-f4r1--7p--053--suu--98.y1s8-j-6j4uvf1-sdg--132bid-7x0u738--7w-tdt-u-0--v/Ied-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV.9_G5": "x_.4dwFbuvEf55Y2k.F-4" + "0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7": "" }, "matchExpressions": [ { - "key": "88-i19.y-y7o-0-wq-zfdw73w0---4a18-f---ui6-48e-9-h4-w-qp25--7-n--kfk3g/1n1.--.._-x_4..u2-__3uM77U7._pz", - "operator": "DoesNotExist" + "key": "07CY-_dc__G6N-_-o", + "operator": "In", + "values": [ + "2_D6_.d-n_9n.p.2-.-QwO" + ] } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, "updateStrategy": { - "type": "))e×鄞閆N钮Ǒ", + "type": "苁_Ȧ4Á$议ĪS幻/饑Ȉ@|{t亪", "rollingUpdate": { "maxUnavailable": 2 } }, - "minReadySeconds": -1521312599, - "revisionHistoryLimit": 554881301 + "minReadySeconds": 126377129, + "revisionHistoryLimit": 1907333818 }, "status": { - "currentNumberScheduled": 687719923, - "numberMisscheduled": -1777921334, - "desiredNumberScheduled": -2022058870, - "numberReady": 283054026, - "observedGeneration": 9202522069332337259, - "updatedNumberScheduled": -691360969, - "numberAvailable": 1090884237, - "numberUnavailable": -1303432952, - "collisionCount": -434531243, + "currentNumberScheduled": 1943834326, + "numberMisscheduled": -1837907235, + "desiredNumberScheduled": 1851500857, + "numberReady": 765399390, + "observedGeneration": 1057281124077201391, + "updatedNumberScheduled": 1078397248, + "numberAvailable": -1146364789, + "numberUnavailable": -168110078, + "collisionCount": -855762010, "conditions": [ { - "type": "", - "status": "B/ü橚2ț}¹旛坷硂", - "lastTransitionTime": "2776-12-09T00:48:05Z", - "reason": "433", - "message": "434" + "type": "蒸CƅR8ɷ|恫f籽", + "status": "肆Ző:ijɲí_夦ŔßȊ嫎", + "lastTransitionTime": "2659-11-08T03:00:13Z", + "reason": "431", + "message": "432" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb index 3ef20a4e7d238..251edca49f4f5 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml index 84065713573b6..e8474d1348f4f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml @@ -30,8 +30,8 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -1521312599 - revisionHistoryLimit: 554881301 + minReadySeconds: 126377129 + revisionHistoryLimit: 1907333818 selector: matchExpressions: - key: p503---477-49p---o61---4fy--9---7--9-9s-0-u5lj2--10pq-0-7-9-2-0/fP81.-.9Vdx.TB_M-H_5_.t..bG0 @@ -71,87 +71,85 @@ spec: selfLink: "28" uid: TʡȂŏ{sǡƟ spec: - activeDeadlineSeconds: 7270263763744228913 + activeDeadlineSeconds: 8749598715214557239 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "379" - operator: n覦灲閈誹ʅ蕉 + - key: "377" + operator: 滿筇ȟP:/a殆 values: - - "380" + - "378" matchFields: - - key: "381" - operator: "" + - key: "379" + operator: ȏâ磠 values: - - "382" - weight: 702968201 + - "380" + weight: -1312249623 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "375" - operator: Ǚ( + - key: "373" + operator: 槃JŵǤ桒ɴ鉂WJ values: - - "376" + - "374" matchFields: - - key: "377" - operator: 瘍Nʊ輔3璾ėȜv1b繐汚 + - key: "375" + operator: ƞʓ%ʝ`ǭ躌 values: - - "378" + - "376" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8b-3-3b17cab-ppy5e--9p-61-2we16h--5-d-k-sm.2xv17r--32b-----4-670tfz-up3n/ov_Z--Zg-_Q - operator: NotIn + - key: 21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u + operator: In values: - - 0..KpiS.oK-.O--5-yp8q_s-L + - rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4 matchLabels: - Bk.j._g-G-7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_68: Q4_.84.K_-_0_..u.F.pq..--Q + s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8: l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D namespaces: - - "397" - topologyKey: "398" - weight: 1195176401 + - "395" + topologyKey: "396" + weight: 1038187806 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: d----v8-4--558n1asz-r886x.2-cgr6---r58-e-l203-8sln7-x/k2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l - operator: DoesNotExist + - key: el--F.6 + operator: Exists matchLabels: - lm-e46-r-g63--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-g/0p_3_J_SA995IKCR.s--f.-f.-zv._._.5-H.T.-.-.d: b_9_1o.w_aI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7._l.I + KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N: 8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf namespaces: - - "389" - topologyKey: "390" + - "387" + topologyKey: "388" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: p_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-e - operator: In - values: - - "" + - key: f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU + operator: Exists matchLabels: - 3--rgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--it6k47-7y1.h72n-cnp-75/c10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-3: 20_._.-_L-__bf_9_-C-PfNx__-U_.Pn-W23-_.z_.._s--_F-BR-.h_-2-.F + 622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4: 3_-_B namespaces: - - "413" - topologyKey: "414" - weight: -1508769491 + - "411" + topologyKey: "412" + weight: -1370389893 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: d-XZ-x.__.Y_2-n_5023Xl-3Pw_-r7g + - key: Y.39g_.--_-_ve5.m_U operator: NotIn values: - - VT3sn-0_.i__a.O2G_J + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_j: 35.40Rw4gD.._.-x6db-L7.-__-G_2kCpS_1 + 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X: 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m namespaces: - - "405" - topologyKey: "406" - automountServiceAccountToken: true + - "403" + topologyKey: "404" + automountServiceAccountToken: false containers: - args: - "221" @@ -185,58 +183,58 @@ spec: name: "227" optional: false image: "219" - imagePullPolicy: T 苧yñKJɐ扵G + imagePullPolicy: Ļǟi& lifecycle: postStart: exec: command: - - "264" + - "265" httpGet: - host: "267" + host: "268" httpHeaders: - - name: "268" - value: "269" - path: "265" - port: "266" - scheme: ']佱¿>犵殇ŕ-Ɂ圯W' + - name: "269" + value: "270" + path: "266" + port: "267" + scheme: 'ơŸ8T ' tcpSocket: host: "271" - port: "270" + port: -1871050070 preStop: exec: command: - "272" httpGet: - host: "274" + host: "275" httpHeaders: - - name: "275" - value: "276" + - name: "276" + value: "277" path: "273" - port: -1161649101 - scheme: 嚧ʣq埄 + port: "274" + scheme: '*Z鐫û咡W<敄lu|榝$î' tcpSocket: host: "278" - port: "277" + port: -1008986249 livenessProbe: exec: command: - "244" - failureThreshold: -361442565 + failureThreshold: -241238495 httpGet: host: "246" httpHeaders: - name: "247" value: "248" path: "245" - port: -393291312 - scheme: Ŧ癃8鸖ɱJȉ罴ņ螡źȰ? - initialDelaySeconds: 627713162 - periodSeconds: -1740959124 - successThreshold: 158280212 + port: -1798849477 + scheme: Í勅跦Opwǩ曬逴褜1ØœȠƬ + initialDelaySeconds: 1419770315 + periodSeconds: 1830495826 + successThreshold: 1102291854 tcpSocket: host: "250" port: "249" - timeoutSeconds: 1255312175 + timeoutSeconds: 300356869 name: "218" ports: - containerPort: -839281354 @@ -248,40 +246,45 @@ spec: exec: command: - "251" - failureThreshold: -36782737 + failureThreshold: -979584143 httpGet: host: "253" httpHeaders: - name: "254" value: "255" path: "252" - port: -2013568185 - scheme: '#yV''WKw(ğ儴Ůĺ}' - initialDelaySeconds: -1244623134 - periodSeconds: -398297599 - successThreshold: 873056500 + port: 972978563 + scheme: ȨŮ+朷Ǝ膯 + initialDelaySeconds: -249989919 + periodSeconds: -602419938 + successThreshold: 1040396664 tcpSocket: host: "256" - port: -20130017 - timeoutSeconds: -1334110502 + port: -1506633471 + timeoutSeconds: -171684192 + resizePolicy: + - policy: R§耶FfBls3!Zɾģ毋Ó + resourceName: D剂讼ɓȌʟni酛3ƁÀ* resources: limits: 藠3.v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0: "175" requests: ɺ皚|懥ƖN粕擓ƖHV: "962" + resourcesAllocated: + ɗ: "991" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - fʀļ腩墺Ò媁荭gw忊 + - 碔 drop: - - E剒蔞 + - NKƙ順\E¦队偯J僳徥淳4揻-$ privileged: false - procMount: Ȩ<6鄰簳°Ļǟi& - readOnlyRootFilesystem: true - runAsGroup: 2001337664780390084 - runAsNonRoot: true - runAsUser: -6177393256425700216 + procMount: ',ŕ' + readOnlyRootFilesystem: false + runAsGroup: 2011630253582325853 + runAsNonRoot: false + runAsUser: -7971724279034955974 seLinuxOptions: level: "283" role: "281" @@ -295,7 +298,7 @@ spec: exec: command: - "257" - failureThreshold: -1011390276 + failureThreshold: 2058122084 httpGet: host: "260" httpHeaders: @@ -303,37 +306,36 @@ spec: value: "262" path: "258" port: "259" - scheme: Qg鄠[ - initialDelaySeconds: -1556231754 - periodSeconds: -321709789 - successThreshold: -1463645123 + scheme: ĸ輦唊 + initialDelaySeconds: 1474943201 + periodSeconds: 1584029564 + successThreshold: -467985423 tcpSocket: - host: "263" - port: -241238495 - timeoutSeconds: 461585849 - stdin: true + host: "264" + port: "263" + timeoutSeconds: -196963939 + stdinOnce: true terminationMessagePath: "279" - terminationMessagePolicy: ʁ岼昕ĬÇ + terminationMessagePolicy: ʜ5遰=E埄Ȁ朦 wƯ貾坢'跩aŕ volumeDevices: - devicePath: "243" name: "242" volumeMounts: - mountPath: "239" - mountPropagation: 'Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ' + mountPropagation: 娝嘚庎D}埽uʎȺ眖R#yV' name: "238" subPath: "240" subPathExpr: "241" workingDir: "222" dnsConfig: nameservers: - - "421" + - "419" options: - - name: "423" - value: "424" + - name: "421" + value: "422" searches: - - "422" - dnsPolicy: n(fǂǢ曣ŋayåe躒訙Ǫ - enableServiceLinks: false + - "420" + enableServiceLinks: true ephemeralContainers: - args: - "290" @@ -352,170 +354,173 @@ spec: fieldPath: "300" resourceFieldRef: containerName: "301" - divisor: "3" + divisor: "568" resource: "302" secretKeyRef: key: "306" name: "305" - optional: true + optional: false envFrom: - configMapRef: name: "295" - optional: true + optional: false prefix: "294" secretRef: name: "296" optional: false image: "288" + imagePullPolicy: ùfŭƽ lifecycle: postStart: exec: command: - - "335" + - "333" httpGet: - host: "338" + host: "335" httpHeaders: - - name: "339" - value: "340" - path: "336" - port: "337" - scheme: C"6x$1s + - name: "336" + value: "337" + path: "334" + port: -302933400 + scheme: 眵笭/9崍h趭(娕uE增猍ǵ x tcpSocket: - host: "342" - port: "341" + host: "339" + port: "338" preStop: exec: command: - - "343" + - "340" httpGet: - host: "345" + host: "342" httpHeaders: - - name: "346" - value: "347" - path: "344" - port: -518160270 - scheme: ɔ幩še + - name: "343" + value: "344" + path: "341" + port: 1238925115 + scheme: ɢX鰨松/Ȁĵ tcpSocket: - host: "348" - port: 1956567721 + host: "346" + port: "345" livenessProbe: exec: command: - "313" - failureThreshold: 472742933 + failureThreshold: -969533986 httpGet: - host: "316" + host: "315" httpHeaders: - - name: "317" - value: "318" + - name: "316" + value: "317" path: "314" - port: "315" - scheme: 冓鍓贯 - initialDelaySeconds: 1290950685 - periodSeconds: 1058960779 - successThreshold: -2133441986 + port: 1076497581 + scheme: h4ɊHȖ|ʐ + initialDelaySeconds: -1835677314 + periodSeconds: 1947032456 + successThreshold: 1233904535 tcpSocket: - host: "320" - port: "319" - timeoutSeconds: 12533543 + host: "318" + port: 248533396 + timeoutSeconds: 199049889 name: "287" ports: - - containerPort: -1296830577 + - containerPort: 1559618829 hostIP: "293" - hostPort: 1313273370 + hostPort: 887319241 name: "292" + protocol: /»頸+SÄ蚃ɣľ)酊龨Î readinessProbe: exec: command: - - "321" - failureThreshold: 620822482 + - "319" + failureThreshold: 646449677 httpGet: - host: "323" + host: "322" httpHeaders: - - name: "324" - value: "325" - path: "322" - port: 1332783160 - scheme: Ȱ囌{屿oiɥ嵐sC8?Ǻ鱎ƙ; - initialDelaySeconds: -300247800 - periodSeconds: -126958936 - successThreshold: 186945072 + - name: "323" + value: "324" + path: "320" + port: "321" + initialDelaySeconds: -1408385387 + periodSeconds: 1063054949 + successThreshold: 172612011 tcpSocket: - host: "327" - port: "326" - timeoutSeconds: 386804041 + host: "326" + port: "325" + timeoutSeconds: -1225881740 + resizePolicy: + - policy: 灩聋3趐囨鏻砅邻 + resourceName: 鯂²静 resources: limits: - 淳4揻-$ɽ丟×x锏ɟ: "178" + '''琕鶫:顇ə娯Ȱ囌{屿': "115" requests: - Ö闊 鰔澝qV: "752" + 龏´DÒȗÔÂɘɢ鬍: "101" + resourcesAllocated: + ŕ璻Jih亏yƕ丆: "23" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - '|ʐşƧ諔迮ƙIJ嘢' + - æ盪泙若`l}Ñ蠂Ü drop: - - ʗN + - ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I privileged: false - procMount: "" + procMount: y竬ʆɞȥ}礤铟怖ý萜Ǖc8 readOnlyRootFilesystem: true - runAsGroup: 6726836758549163621 + runAsGroup: 373025114301996656 runAsNonRoot: false - runAsUser: -6048969174364431391 + runAsUser: -7474879432414053077 seLinuxOptions: - level: "353" - role: "351" - type: "352" - user: "350" + level: "351" + role: "349" + type: "350" + user: "348" windowsOptions: - gmsaCredentialSpec: "355" - gmsaCredentialSpecName: "354" - runAsUserName: "356" + gmsaCredentialSpec: "353" + gmsaCredentialSpecName: "352" + runAsUserName: "354" startupProbe: exec: command: - - "328" - failureThreshold: -560238386 + - "327" + failureThreshold: -200074798 httpGet: - host: "331" + host: "329" httpHeaders: - - name: "332" - value: "333" - path: "329" - port: "330" - scheme: 鍏H鯂² - initialDelaySeconds: -402384013 - periodSeconds: -617381112 - successThreshold: 1851229369 + - name: "330" + value: "331" + path: "328" + port: 2084371155 + scheme: ɭɪǹ0衷, + initialDelaySeconds: -278396828 + periodSeconds: -1663818120 + successThreshold: -211480108 tcpSocket: - host: "334" - port: -1187301925 - timeoutSeconds: -181601395 - stdin: true - stdinOnce: true - targetContainerName: "357" - terminationMessagePath: "349" - terminationMessagePolicy: ȤƏ埮pɵ - tty: true + host: "332" + port: 1692740191 + timeoutSeconds: 1497888778 + targetContainerName: "355" + terminationMessagePath: "347" + terminationMessagePolicy: ȲǸ|蕎'佉賞ǧĒzŔ volumeDevices: - devicePath: "312" name: "311" volumeMounts: - mountPath: "308" - mountPropagation: /»頸+SÄ蚃ɣľ)酊龨Î + mountPropagation: ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS name: "307" - readOnly: true subPath: "309" subPathExpr: "310" workingDir: "291" hostAliases: - hostnames: - - "419" - ip: "418" + - "417" + ip: "416" + hostIPC: true hostNetwork: true - hostname: "373" + hostname: "371" imagePullSecrets: - - name: "372" + - name: "370" initContainers: - args: - "150" @@ -549,57 +554,58 @@ spec: name: "156" optional: false image: "148" - imagePullPolicy: ŤǢʭ嵔棂p儼Ƿ裚瓶 + imagePullPolicy: ',铻OŤǢʭ嵔棂p儼Ƿ裚瓶' lifecycle: postStart: exec: command: - - "196" + - "195" httpGet: - host: "199" + host: "198" httpHeaders: - - name: "200" - value: "201" - path: "197" - port: "198" - scheme: 蚛隖<ǶĬ4y£軶ǃ*ʙ嫙&蒒5靇C' + - name: "199" + value: "200" + path: "196" + port: "197" + scheme: ʙ嫙& tcpSocket: host: "202" - port: 2126876305 + port: "201" preStop: exec: command: - "203" httpGet: - host: "206" + host: "205" httpHeaders: - - name: "207" - value: "208" + - name: "206" + value: "207" path: "204" - port: "205" - scheme: Ŵ廷s{Ⱦdz@ + port: 279808574 + scheme: ǹ_Áȉ彂Ŵ廷s tcpSocket: host: "209" - port: 406308963 + port: "208" livenessProbe: exec: command: - "173" - failureThreshold: 1466047181 + failureThreshold: -31530684 httpGet: - host: "176" + host: "175" httpHeaders: - - name: "177" - value: "178" + - name: "176" + value: "177" path: "174" - port: "175" - initialDelaySeconds: 1805144649 - periodSeconds: 1403721475 - successThreshold: 519906483 + port: 1427781619 + scheme: '}' + initialDelaySeconds: 1030243869 + periodSeconds: -185042403 + successThreshold: -374922344 tcpSocket: - host: "180" - port: "179" - timeoutSeconds: -606111218 + host: "179" + port: "178" + timeoutSeconds: -1080853187 name: "147" ports: - containerPort: 437857734 @@ -610,28 +616,32 @@ spec: readinessProbe: exec: command: - - "181" - failureThreshold: 524249411 + - "180" + failureThreshold: 1471432155 httpGet: - host: "184" + host: "183" httpHeaders: - - name: "185" - value: "186" - path: "182" - port: "183" - scheme: w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ - initialDelaySeconds: -1724160601 - periodSeconds: 1435507444 - successThreshold: -1430577593 + - name: "184" + value: "185" + path: "181" + port: "182" + initialDelaySeconds: 559781916 + periodSeconds: -1569009987 + successThreshold: -1053603859 tcpSocket: - host: "187" - port: -337353552 - timeoutSeconds: -1158840571 + host: "186" + port: -289900366 + timeoutSeconds: -1703360754 + resizePolicy: + - policy: 瓼猀2:öY鶪5w垁鷌辪 + resourceName: 蕵ɢ resources: limits: 檲ɨ銦妰黖ȓƇ$缔獵偐ę腬: "646" requests: 湨: "803" + resourcesAllocated: + 鎷卩蝾H: "824" securityContext: allowPrivilegeEscalation: true capabilities: @@ -657,95 +667,96 @@ spec: startupProbe: exec: command: - - "188" - failureThreshold: 905846572 + - "187" + failureThreshold: 1545364977 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" - path: "189" - port: "190" - scheme: k_瀹鞎sn芞QÄȻ - initialDelaySeconds: 364013971 - periodSeconds: -1790124395 - successThreshold: 1094670193 + - name: "191" + value: "192" + path: "188" + port: "189" + scheme: Ȋ+?ƭ峧Y栲茇竛吲蚛 + initialDelaySeconds: -138175394 + periodSeconds: 1054302708 + successThreshold: -1696471293 tcpSocket: - host: "195" - port: "194" - timeoutSeconds: 1596422492 + host: "194" + port: "193" + timeoutSeconds: -1839582103 stdin: true stdinOnce: true terminationMessagePath: "210" - terminationMessagePolicy: ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0 + terminationMessagePolicy: dz@ùƸʋŀ樺ȃv渟7¤7djƯĖ漘Z tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: 卩蝾 + mountPropagation: 珝Żwʮ馜ü name: "167" readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "362" + nodeName: "360" nodeSelector: - "358": "359" + "356": "357" overhead: - tHǽ÷閂抰^窄CǙķȈ: "97" - preemptionPolicy: ý筞X - priority: -1331113536 - priorityClassName: "420" + 熴贤r心Ķ餍4: "127" + preemptionPolicy: 縊CkǚŨ镦 + priority: -173761204 + priorityClassName: "418" readinessGates: - - conditionType: mō6µɑ`ȗ<8^翜 - restartPolicy: ɭɪǹ0衷, - runtimeClassName: "425" - schedulerName: "415" + - conditionType: 3荾;釋ƽ,ʢ刣ȱǍ + restartPolicy: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + runtimeClassName: "423" + schedulerName: "413" securityContext: - fsGroup: 2585323675983182372 - fsGroupChangePolicy: Ĕ\ɢX鰨松/Ȁĵ鴁ĩȲǸ|蕎 - runAsGroup: 6386250802140824739 + fsGroup: 3252248067742584460 + fsGroupChangePolicy: 裡×銵-紑浘牬釼 + runAsGroup: -2605388897472681971 runAsNonRoot: false - runAsUser: -5315960194881172085 + runAsUser: -2056599486643434092 seLinuxOptions: - level: "366" - role: "364" - type: "365" - user: "363" + level: "364" + role: "362" + type: "363" + user: "361" supplementalGroups: - - -4480129203693517072 + - -6171436788982835150 sysctls: - - name: "370" - value: "371" + - name: "368" + value: "369" windowsOptions: - gmsaCredentialSpec: "368" - gmsaCredentialSpecName: "367" - runAsUserName: "369" - serviceAccount: "361" - serviceAccountName: "360" - setHostnameAsFQDN: true + gmsaCredentialSpec: "366" + gmsaCredentialSpecName: "365" + runAsUserName: "367" + serviceAccount: "359" + serviceAccountName: "358" + setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "374" - terminationGracePeriodSeconds: -3039830979334099524 + subdomain: "372" + terminationGracePeriodSeconds: 2424760700494115127 tolerations: - - effect: 緍k¢茤 - key: "416" - operator: 抄3昞财Î嘝zʄ!ć - tolerationSeconds: 4096844323391966153 - value: "417" + - effect: 鳖üzÁ鍫Ǥ. + key: "414" + operator: Ǒȃ绡> + tolerationSeconds: 715786430081306206 + value: "415" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 88-i19.y-y7o-0-wq-zfdw73w0---4a18-f---ui6-48e-9-h4-w-qp25--7-n--kfk3g/1n1.--.._-x_4..u2-__3uM77U7._pz - operator: DoesNotExist + - key: 07CY-_dc__G6N-_-o + operator: In + values: + - 2_D6_.d-n_9n.p.2-.-QwO matchLabels: - ? zp22o4a-w----11rqy3eo79p-f4r1--7p--053--suu--98.y1s8-j-6j4uvf1-sdg--132bid-7x0u738--7w-tdt-u-0--v/Ied-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV.9_G5 - : x_.4dwFbuvEf55Y2k.F-4 - maxSkew: 1956797678 - topologyKey: "426" - whenUnsatisfiable: ƀ+瑏eCmAȥ睙 + 0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7: "" + maxSkew: -1458287077 + topologyKey: "424" + whenUnsatisfiable: Ŋ)TiD¢ƿ媴h volumes: - awsElasticBlockStore: fsType: "47" @@ -948,20 +959,20 @@ spec: updateStrategy: rollingUpdate: maxUnavailable: 2 - type: ))e×鄞閆N钮Ǒ + type: 苁_Ȧ4Á$议ĪS幻/饑Ȉ@|{t亪 status: - collisionCount: -434531243 + collisionCount: -855762010 conditions: - - lastTransitionTime: "2776-12-09T00:48:05Z" - message: "434" - reason: "433" - status: B/ü橚2ț}¹旛坷硂 - type: "" - currentNumberScheduled: 687719923 - desiredNumberScheduled: -2022058870 - numberAvailable: 1090884237 - numberMisscheduled: -1777921334 - numberReady: 283054026 - numberUnavailable: -1303432952 - observedGeneration: 9202522069332337259 - updatedNumberScheduled: -691360969 + - lastTransitionTime: "2659-11-08T03:00:13Z" + message: "432" + reason: "431" + status: 肆Ző:ijɲí_夦ŔßȊ嫎 + type: 蒸CƅR8ɷ|恫f籽 + currentNumberScheduled: 1943834326 + desiredNumberScheduled: 1851500857 + numberAvailable: -1146364789 + numberMisscheduled: -1837907235 + numberReady: 765399390 + numberUnavailable: -168110078 + observedGeneration: 1057281124077201391 + updatedNumberScheduled: 1078397248 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json index a2f89dc65d55d..193fca83afcaa 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1376,33 +1400,34 @@ } }, "strategy": { - "type": "ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ", + "type": ":犾ȩ纾SȞ+½剎惃ȳTʬ戱P", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": 696654600, - "revisionHistoryLimit": 407742062, - "progressDeadlineSeconds": 902022378 + "minReadySeconds": 980041503, + "revisionHistoryLimit": -590976116, + "paused": true, + "progressDeadlineSeconds": 1370010338 }, "status": { - "observedGeneration": -3992059348490463840, - "replicas": 904244563, - "updatedReplicas": -1245696932, - "readyReplicas": -1512660030, - "availableReplicas": -655315199, - "unavailableReplicas": -918184784, + "observedGeneration": 2419447315648966498, + "replicas": -1550256886, + "updatedReplicas": 1599173139, + "readyReplicas": 1789838950, + "availableReplicas": 1991327984, + "unavailableReplicas": 562618898, "conditions": [ { - "type": "oIǢ龞瞯å檳ė\u003ec緍k¢茤Ƣǟ½灶", - "status": "査Z綶ĀRġ磸", - "lastUpdateTime": "2631-04-27T22:00:28Z", - "lastTransitionTime": "2196-03-13T21:02:11Z", - "reason": "426", - "message": "427" + "type": "0ƍ\\溮Ŀ傜NZ", + "status": "Ű踚ĩ僙R岹ÿʼnx#綮ehɫ淫Ď", + "lastUpdateTime": "2512-02-22T10:46:17Z", + "lastTransitionTime": "2138-10-07T13:01:15Z", + "reason": "430", + "message": "431" } ], - "collisionCount": -1914221188 + "collisionCount": -1135505470 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb index 9f4b795d90229..60c2cd8523797 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml index 54cc06201ee50..ff02f08640168 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml @@ -30,10 +30,11 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: 696654600 - progressDeadlineSeconds: 902022378 + minReadySeconds: 980041503 + paused: true + progressDeadlineSeconds: 1370010338 replicas: 896585016 - revisionHistoryLimit: 407742062 + revisionHistoryLimit: -590976116 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -44,7 +45,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ + type: :犾ȩ纾SȞ+½剎惃ȳTʬ戱P template: metadata: annotations: @@ -76,446 +77,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -549,58 +561,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -611,141 +623,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -946,17 +961,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -655315199 - collisionCount: -1914221188 + availableReplicas: 1991327984 + collisionCount: -1135505470 conditions: - - lastTransitionTime: "2196-03-13T21:02:11Z" - lastUpdateTime: "2631-04-27T22:00:28Z" - message: "427" - reason: "426" - status: 査Z綶ĀRġ磸 - type: oIǢ龞瞯å檳ė>c緍k¢茤Ƣǟ½灶 - observedGeneration: -3992059348490463840 - readyReplicas: -1512660030 - replicas: 904244563 - unavailableReplicas: -918184784 - updatedReplicas: -1245696932 + - lastTransitionTime: "2138-10-07T13:01:15Z" + lastUpdateTime: "2512-02-22T10:46:17Z" + message: "431" + reason: "430" + status: Ű踚ĩ僙R岹ÿʼnx#綮ehɫ淫Ď + type: 0ƍ\溮Ŀ傜NZ + observedGeneration: 2419447315648966498 + readyReplicas: 1789838950 + replicas: -1550256886 + unavailableReplicas: 562618898 + updatedReplicas: 1599173139 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json index aaa80156a4a26..41b003a65599f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json @@ -439,13 +439,21 @@ "á腿ħ缶.蒅!a坩O`涁İ而踪鄌eÞ": "372" } }, + "resourcesAllocated": { + "栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼": "621" + }, + "resizePolicy": [ + { + "resourceName": "y綸_Ú8參遼ū", + "policy": "+ņ榱*Gưoɘ檲" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "dʪīT捘ɍi縱ù墴1Rƥ", + "mountPropagation": "妰黖ȓƇ$缔獵偐ę", "subPathExpr": "170" } ], @@ -465,7 +473,7 @@ "path": "174", "port": "175", "host": "176", - "scheme": "ƴy綸_Ú8參遼ūPH炮", + "scheme": "H=å", "httpHeaders": [ { "name": "177", @@ -477,11 +485,11 @@ "port": "179", "host": "180" }, - "initialDelaySeconds": 741871873, - "timeoutSeconds": 446829537, - "periodSeconds": -1987044888, - "successThreshold": -1638339389, - "failureThreshold": 2053960192 + "initialDelaySeconds": -204658565, + "timeoutSeconds": -498077886, + "periodSeconds": 1592637538, + "successThreshold": -715357874, + "failureThreshold": 815401145 }, "readinessProbe": { "exec": { @@ -491,9 +499,9 @@ }, "httpGet": { "path": "182", - "port": -1903685915, + "port": 290736426, "host": "183", - "scheme": "ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬", + "scheme": "ö", "httpHeaders": [ { "name": "184", @@ -505,11 +513,11 @@ "port": "186", "host": "187" }, - "initialDelaySeconds": 128019484, - "timeoutSeconds": 431781335, - "periodSeconds": -2130554644, - "successThreshold": 290736426, - "failureThreshold": -57352147 + "initialDelaySeconds": 322201525, + "timeoutSeconds": -1784033404, + "periodSeconds": 66472042, + "successThreshold": 2130088978, + "failureThreshold": -1064240304 }, "startupProbe": { "exec": { @@ -519,162 +527,164 @@ }, "httpGet": { "path": "189", - "port": "190", - "host": "191", - "scheme": "閝ȝ", + "port": -566408554, + "host": "190", + "scheme": "劳\u0026¼傭Ȟ1酃=6}ɡŇƉ立", "httpHeaders": [ { - "name": "192", - "value": "193" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": "194", - "host": "195" + "port": -31530684, + "host": "193" }, - "initialDelaySeconds": -2142865739, - "timeoutSeconds": -1179067190, - "periodSeconds": 1434408532, - "successThreshold": -566408554, - "failureThreshold": 1133369651 + "initialDelaySeconds": -1628697284, + "timeoutSeconds": 843845736, + "periodSeconds": 354496320, + "successThreshold": -418887496, + "failureThreshold": -522126070 }, "lifecycle": { "postStart": { "exec": { "command": [ - "196" + "194" ] }, "httpGet": { - "path": "197", - "port": -1327537699, - "host": "198", + "path": "195", + "port": "196", + "host": "197", + "scheme": "n芞QÄȻȊ+?ƭ峧Y栲茇竛", "httpHeaders": [ { - "name": "199", - "value": "200" + "name": "198", + "value": "199" } ] }, "tcpSocket": { - "port": "201", - "host": "202" + "port": -592581809, + "host": "200" } }, "preStop": { "exec": { "command": [ - "203" + "201" ] }, "httpGet": { - "path": "204", - "port": "205", - "host": "206", - "scheme": "ĉş蝿ɖȃ賲鐅臬", + "path": "202", + "port": 1702578303, + "host": "203", + "scheme": "NŬɨǙÄr蛏豈ɃHŠơŴĿ", "httpHeaders": [ { - "name": "207", - "value": "208" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "209", - "host": "210" + "port": -1047607622, + "host": "206" } } }, - "terminationMessagePath": "211", - "imagePullPolicy": "k_瀹鞎sn芞QÄȻ", + "terminationMessagePath": "207", + "terminationMessagePolicy": "ȉ彂", + "imagePullPolicy": "ȹ嫰ƹǔw÷nI粛E煹ǐƲE", "securityContext": { "capabilities": { "add": [ - "?" + "þŹʣy豎@ɀ羭," ], "drop": [ - "峧Y栲茇竛吲蚛隖" + "OŤǢʭ嵔棂p儼Ƿ裚瓶釆Ɗ+" ] }, "privileged": false, "seLinuxOptions": { - "user": "212", - "role": "213", - "type": "214", - "level": "215" + "user": "208", + "role": "209", + "type": "210", + "level": "211" }, "windowsOptions": { - "gmsaCredentialSpecName": "216", - "gmsaCredentialSpec": "217", - "runAsUserName": "218" + "gmsaCredentialSpecName": "212", + "gmsaCredentialSpec": "213", + "runAsUserName": "214" }, - "runAsUser": 7312518131318481396, - "runAsGroup": -7286288718856494813, + "runAsUser": -739484406984751446, + "runAsGroup": 1898367611285047958, "runAsNonRoot": true, "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "ʙ嫙\u0026" + "procMount": "籘Àǒɿʒ刽ʼn" }, "stdin": true, - "stdinOnce": true + "tty": true } ], "containers": [ { - "name": "219", - "image": "220", + "name": "215", + "image": "216", "command": [ - "221" + "217" ], "args": [ - "222" + "218" ], - "workingDir": "223", + "workingDir": "219", "ports": [ { - "name": "224", - "hostPort": 1944205014, - "containerPort": -2079582559, - "protocol": "K.Q貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲ", - "hostIP": "225" + "name": "220", + "hostPort": 622473257, + "containerPort": -966649167, + "protocol": "eLJèux榜VƋZ", + "hostIP": "221" } ], "envFrom": [ { - "prefix": "226", + "prefix": "222", "configMapRef": { - "name": "227", + "name": "223", "optional": true }, "secretRef": { - "name": "228", - "optional": false + "name": "224", + "optional": true } } ], "env": [ { - "name": "229", - "value": "230", + "name": "225", + "value": "226", "valueFrom": { "fieldRef": { - "apiVersion": "231", - "fieldPath": "232" + "apiVersion": "227", + "fieldPath": "228" }, "resourceFieldRef": { - "containerName": "233", - "resource": "234", - "divisor": "901" + "containerName": "229", + "resource": "230", + "divisor": "700" }, "configMapKeyRef": { - "name": "235", - "key": "236", - "optional": false + "name": "231", + "key": "232", + "optional": true }, "secretKeyRef": { - "name": "237", - "key": "238", + "name": "233", + "key": "234", "optional": false } } @@ -682,247 +692,258 @@ ], "resources": { "limits": { - "羭,铻OŤǢʭ嵔": "340" + "騀呣ǎfǣ萭旿@掇lNdǂ\u003e": "44" }, "requests": { - "TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜": "755" + "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫": "130" } }, + "resourcesAllocated": { + "Ȥ藠3.": "540" + }, + "resizePolicy": [ + { + "resourceName": "莭琽§ć\\ ïì«丯Ƙ枛牐ɺ", + "policy": "瘴I\\p[ħsĨɆâĺɗ" + } + ], "volumeMounts": [ { - "name": "239", - "mountPath": "240", - "subPath": "241", - "mountPropagation": "ʒ刽ʼn掏1ſ盷褎weLJèux榜", - "subPathExpr": "242" + "name": "235", + "readOnly": true, + "mountPath": "236", + "subPath": "237", + "mountPropagation": "S晒嶗UÐ_ƮA攤", + "subPathExpr": "238" } ], "volumeDevices": [ { - "name": "243", - "devicePath": "244" + "name": "239", + "devicePath": "240" } ], "livenessProbe": { "exec": { "command": [ - "245" + "241" ] }, "httpGet": { - "path": "246", - "port": "247", - "host": "248", - "scheme": "賃ɪ鐊瀑Ź9ǕLLȊ", + "path": "242", + "port": -670390306, + "host": "243", + "scheme": "\u003c鴒翁杙Ŧ癃8鸖ɱJȉ罴", "httpHeaders": [ { - "name": "249", - "value": "250" + "name": "244", + "value": "245" } ] }, "tcpSocket": { - "port": -26910286, - "host": "251" + "port": 1033766276, + "host": "246" }, - "initialDelaySeconds": 1214895765, - "timeoutSeconds": 1181519543, - "periodSeconds": 282592353, - "successThreshold": 377225334, - "failureThreshold": -1191434089 + "initialDelaySeconds": -1745509819, + "timeoutSeconds": -859135545, + "periodSeconds": -1543701088, + "successThreshold": 513341278, + "failureThreshold": 627713162 }, "readinessProbe": { "exec": { "command": [ - "252" + "247" ] }, "httpGet": { - "path": "253", - "port": "254", - "host": "255", + "path": "248", + "port": 267768240, + "host": "249", + "scheme": "ʎȺ眖R#", "httpHeaders": [ { - "name": "256", - "value": "257" + "name": "250", + "value": "251" } ] }, "tcpSocket": { - "port": "258", - "host": "259" + "port": "252", + "host": "253" }, - "initialDelaySeconds": -839281354, - "timeoutSeconds": 2035347577, - "periodSeconds": -819723498, - "successThreshold": -150133456, - "failureThreshold": 1507815593 + "initialDelaySeconds": -200461294, + "timeoutSeconds": -1791206950, + "periodSeconds": 1160477220, + "successThreshold": 1226391571, + "failureThreshold": 1477910551 }, "startupProbe": { "exec": { "command": [ - "260" + "254" ] }, "httpGet": { - "path": "261", - "port": 1684643131, - "host": "262", - "scheme": "飣奺Ȋ礶惇¸", + "path": "255", + "port": "256", + "host": "257", + "scheme": "跦Opwǩ曬逴褜1", "httpHeaders": [ { - "name": "263", - "value": "264" + "name": "258", + "value": "259" } ] }, "tcpSocket": { - "port": "265", - "host": "266" + "port": -1801140031, + "host": "260" }, - "initialDelaySeconds": -161753937, - "timeoutSeconds": -1578746609, - "periodSeconds": 1428207963, - "successThreshold": 790462391, - "failureThreshold": -822090785 + "initialDelaySeconds": -589000495, + "timeoutSeconds": -955773237, + "periodSeconds": 561988938, + "successThreshold": 1419770315, + "failureThreshold": 300356869 }, "lifecycle": { "postStart": { "exec": { "command": [ - "267" + "261" ] }, "httpGet": { - "path": "268", - "port": -421846800, - "host": "269", - "scheme": "zvt莭琽§", + "path": "262", + "port": "263", + "host": "264", + "scheme": "更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ", "httpHeaders": [ { - "name": "270", - "value": "271" + "name": "265", + "value": "266" } ] }, "tcpSocket": { - "port": -763687725, - "host": "272" + "port": 467291328, + "host": "267" } }, "preStop": { "exec": { "command": [ - "273" + "268" ] }, "httpGet": { - "path": "274", - "port": -1452676801, - "host": "275", - "scheme": "ȿ0矀Kʝ", + "path": "269", + "port": -434820661, + "host": "270", + "scheme": "r嚧", "httpHeaders": [ { - "name": "276", - "value": "277" + "name": "271", + "value": "272" } ] }, "tcpSocket": { - "port": "278", - "host": "279" + "port": 453108839, + "host": "273" } } }, - "terminationMessagePath": "280", - "terminationMessagePolicy": "\\p[", - "imagePullPolicy": "擓ƖHVe熼'FD剂讼ɓȌʟni酛", + "terminationMessagePath": "274", + "terminationMessagePolicy": "趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L*", + "imagePullPolicy": "Gƚ绤fʀļ腩墺Ò媁荭gw", "securityContext": { "capabilities": { "add": [ - "À*f\u003c鴒翁杙Ŧ癃8" + "E剒蔞" ], "drop": [ - "ɱJȉ罴" + "表徶đ寳议Ƭƶ氩Ȩ\u003c6鄰簳°Ļǟi\u0026皥" ] }, "privileged": false, "seLinuxOptions": { - "user": "281", - "role": "282", - "type": "283", - "level": "284" + "user": "275", + "role": "276", + "type": "277", + "level": "278" }, "windowsOptions": { - "gmsaCredentialSpecName": "285", - "gmsaCredentialSpec": "286", - "runAsUserName": "287" + "gmsaCredentialSpecName": "279", + "gmsaCredentialSpec": "280", + "runAsUserName": "281" }, - "runAsUser": -2706913289057230267, - "runAsGroup": -3689959065086680033, - "runAsNonRoot": false, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅" + "runAsUser": -3342656999442156006, + "runAsGroup": -5569844914519516591, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ" }, - "stdinOnce": true + "tty": true } ], "ephemeralContainers": [ { - "name": "288", - "image": "289", + "name": "282", + "image": "283", "command": [ - "290" + "284" ], "args": [ - "291" + "285" ], - "workingDir": "292", + "workingDir": "286", "ports": [ { - "name": "293", - "hostPort": 1853396726, - "containerPort": 1330271338, - "protocol": "逴", - "hostIP": "294" + "name": "287", + "hostPort": -185239148, + "containerPort": -1666319281, + "protocol": "ĠM蘇KŅ/»頸+SÄ蚃", + "hostIP": "288" } ], "envFrom": [ { - "prefix": "295", + "prefix": "289", "configMapRef": { - "name": "296", - "optional": true + "name": "290", + "optional": false }, "secretRef": { - "name": "297", + "name": "291", "optional": true } } ], "env": [ { - "name": "298", - "value": "299", + "name": "292", + "value": "293", "valueFrom": { "fieldRef": { - "apiVersion": "300", - "fieldPath": "301" + "apiVersion": "294", + "fieldPath": "295" }, "resourceFieldRef": { - "containerName": "302", - "resource": "303", - "divisor": "709" + "containerName": "296", + "resource": "297", + "divisor": "340" }, "configMapKeyRef": { - "name": "304", - "key": "305", - "optional": false + "name": "298", + "key": "299", + "optional": true }, "secretKeyRef": { - "name": "306", - "key": "307", + "name": "300", + "key": "301", "optional": false } } @@ -930,241 +951,248 @@ ], "resources": { "limits": { - "颐o": "230" + "_\u003cǬëJ橈'琕鶫:顇ə娯Ȱ": "561" }, "requests": { - "[+扴ȨŮ+朷Ǝ膯ljV": "728" + "ɐ鰥": "461" } }, + "resourcesAllocated": { + "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻": "23" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻" + } + ], "volumeMounts": [ { - "name": "308", - "mountPath": "309", - "subPath": "310", - "mountPropagation": "ŕ-Ɂ圯W:ĸ輦唊#v铿", - "subPathExpr": "311" + "name": "302", + "mountPath": "303", + "subPath": "304", + "mountPropagation": "ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS", + "subPathExpr": "305" } ], "volumeDevices": [ { - "name": "312", - "devicePath": "313" + "name": "306", + "devicePath": "307" } ], "livenessProbe": { "exec": { "command": [ - "314" + "308" ] }, "httpGet": { - "path": "315", - "port": "316", - "host": "317", - "scheme": "屡ʁ", + "path": "309", + "port": 1076497581, + "host": "310", + "scheme": "h4ɊHȖ|ʐ", "httpHeaders": [ { - "name": "318", - "value": "319" + "name": "311", + "value": "312" } ] }, "tcpSocket": { - "port": -1554559634, - "host": "320" + "port": 248533396, + "host": "313" }, - "initialDelaySeconds": 1718241831, - "timeoutSeconds": 550615941, - "periodSeconds": 1180971695, - "successThreshold": -1971944908, - "failureThreshold": 1742259603 + "initialDelaySeconds": -1835677314, + "timeoutSeconds": 199049889, + "periodSeconds": 1947032456, + "successThreshold": 1233904535, + "failureThreshold": -969533986 }, "readinessProbe": { "exec": { "command": [ - "321" + "314" ] }, "httpGet": { - "path": "322", - "port": -1620315711, - "host": "323", - "scheme": "ɐ扵", + "path": "315", + "port": "316", + "host": "317", "httpHeaders": [ { - "name": "324", - "value": "325" + "name": "318", + "value": "319" } ] }, "tcpSocket": { - "port": "326", - "host": "327" + "port": "320", + "host": "321" }, - "initialDelaySeconds": -1358663652, - "timeoutSeconds": 1543146222, - "periodSeconds": -527306221, - "successThreshold": 2098694289, - "failureThreshold": 1150925735 + "initialDelaySeconds": -1408385387, + "timeoutSeconds": -1225881740, + "periodSeconds": 1063054949, + "successThreshold": 172612011, + "failureThreshold": 646449677 }, "startupProbe": { "exec": { "command": [ - "328" + "322" ] }, "httpGet": { - "path": "329", - "port": "330", - "host": "331", - "scheme": "榝$î.Ȏ蝪ʜ5遰", + "path": "323", + "port": 2084371155, + "host": "324", + "scheme": "ɭɪǹ0衷,", "httpHeaders": [ { - "name": "332", - "value": "333" + "name": "325", + "value": "326" } ] }, "tcpSocket": { - "port": -1438286448, - "host": "334" + "port": 1692740191, + "host": "327" }, - "initialDelaySeconds": 834105836, - "timeoutSeconds": -1462219068, - "periodSeconds": -370386363, - "successThreshold": 1714588921, - "failureThreshold": -1246371817 + "initialDelaySeconds": -278396828, + "timeoutSeconds": 1497888778, + "periodSeconds": -1663818120, + "successThreshold": -211480108, + "failureThreshold": -200074798 }, "lifecycle": { "postStart": { "exec": { "command": [ - "335" + "328" ] }, "httpGet": { - "path": "336", - "port": "337", - "host": "338", - "scheme": "跩aŕ翑", + "path": "329", + "port": -302933400, + "host": "330", + "scheme": "眵笭/9崍h趭(娕uE增猍ǵ x", "httpHeaders": [ { - "name": "339", - "value": "340" + "name": "331", + "value": "332" } ] }, "tcpSocket": { - "port": "341", - "host": "342" + "port": "333", + "host": "334" } }, "preStop": { "exec": { "command": [ - "343" + "335" ] }, "httpGet": { - "path": "344", - "port": 1017803158, - "host": "345", - "scheme": "碔", + "path": "336", + "port": 1238925115, + "host": "337", + "scheme": "ɢX鰨松/Ȁĵ", "httpHeaders": [ { - "name": "346", - "value": "347" + "name": "338", + "value": "339" } ] }, "tcpSocket": { - "port": "348", - "host": "349" + "port": "340", + "host": "341" } } }, - "terminationMessagePath": "350", - "terminationMessagePolicy": "Kƙ順\\E¦队偯J僳徥淳4揻-$ɽ丟", - "imagePullPolicy": "拉Œɥ颶妧Ö闊 鰔澝qV訆", + "terminationMessagePath": "342", + "terminationMessagePolicy": "ȲǸ|蕎'佉賞ǧĒzŔ", + "imagePullPolicy": "ùfŭƽ", "securityContext": { "capabilities": { "add": [ - "ŧL²sNƗ¸gĩ餠籲磣Óƿ" + "æ盪泙若`l}Ñ蠂Ü" ], "drop": [ - "\"冓鍓贯澔 ƺ蛜6" + "ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I" ] }, "privileged": false, "seLinuxOptions": { - "user": "351", - "role": "352", - "type": "353", - "level": "354" + "user": "343", + "role": "344", + "type": "345", + "level": "346" }, "windowsOptions": { - "gmsaCredentialSpecName": "355", - "gmsaCredentialSpec": "356", - "runAsUserName": "357" + "gmsaCredentialSpecName": "347", + "gmsaCredentialSpec": "348", + "runAsUserName": "349" }, - "runAsUser": 4353696140684277635, - "runAsGroup": 6057650398488995896, - "runAsNonRoot": true, + "runAsUser": -7474879432414053077, + "runAsGroup": 373025114301996656, + "runAsNonRoot": false, "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "鰥Z龏´DÒȗ" + "allowPrivilegeEscalation": true, + "procMount": "y竬ʆɞȥ}礤铟怖ý萜Ǖc8" }, - "tty": true, - "targetContainerName": "358" + "targetContainerName": "350" } ], - "restartPolicy": "ɘɢ鬍熖B芭花ª瘡", - "terminationGracePeriodSeconds": 2666412258966278206, - "activeDeadlineSeconds": -8715915045560617563, - "dnsPolicy": "丆", + "restartPolicy": "Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ", + "terminationGracePeriodSeconds": 2424760700494115127, + "activeDeadlineSeconds": 8749598715214557239, "nodeSelector": { - "359": "360" + "351": "352" }, - "serviceAccountName": "361", - "serviceAccount": "362", + "serviceAccountName": "353", + "serviceAccount": "354", "automountServiceAccountToken": false, - "nodeName": "363", - "hostPID": true, + "nodeName": "355", + "hostNetwork": true, + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "364", - "role": "365", - "type": "366", - "level": "367" + "user": "356", + "role": "357", + "type": "358", + "level": "359" }, "windowsOptions": { - "gmsaCredentialSpecName": "368", - "gmsaCredentialSpec": "369", - "runAsUserName": "370" + "gmsaCredentialSpecName": "360", + "gmsaCredentialSpec": "361", + "runAsUserName": "362" }, - "runAsUser": 2179199799235189619, - "runAsGroup": -779972051078659613, + "runAsUser": -2056599486643434092, + "runAsGroup": -2605388897472681971, "runAsNonRoot": false, "supplementalGroups": [ - -7127205672279904050 + -6171436788982835150 ], - "fsGroup": 7124276984274024394, + "fsGroup": 3252248067742584460, "sysctls": [ { - "name": "371", - "value": "372" + "name": "363", + "value": "364" } ], - "fsGroupChangePolicy": "蹔ŧ" + "fsGroupChangePolicy": "裡×銵-紑浘牬釼" }, "imagePullSecrets": [ { - "name": "373" + "name": "365" } ], - "hostname": "374", - "subdomain": "375", + "hostname": "366", + "subdomain": "367", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1172,19 +1200,19 @@ { "matchExpressions": [ { - "key": "376", - "operator": "1sȣ±p鋄5", + "key": "368", + "operator": "槃JŵǤ桒ɴ鉂WJ", "values": [ - "377" + "369" ] } ], "matchFields": [ { - "key": "378", - "operator": "幩šeSvEȤƏ埮pɵ", + "key": "370", + "operator": "ƞʓ%ʝ`ǭ躌", "values": [ - "379" + "371" ] } ] @@ -1193,23 +1221,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1449289597, + "weight": -1312249623, "preference": { "matchExpressions": [ { - "key": "380", - "operator": "", + "key": "372", + "operator": "滿筇ȟP:/a殆", "values": [ - "381" + "373" ] } ], "matchFields": [ { - "key": "382", - "operator": "ş", + "key": "374", + "operator": "ȏâ磠", "values": [ - "383" + "375" ] } ] @@ -1222,46 +1250,43 @@ { "labelSelector": { "matchLabels": { - "3---93-2-23/8--21kF-c026.i": "9.M.134-5-.q6H_.--t" + "KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N": "8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf" }, "matchExpressions": [ { - "key": "7U_-m.-P.yP9S--858LI__.8U", - "operator": "NotIn", - "values": [ - "7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m" - ] + "key": "el--F.6", + "operator": "Exists" } ] }, "namespaces": [ - "390" + "382" ], - "topologyKey": "391" + "topologyKey": "383" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -280562323, + "weight": 1038187806, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5": "2w-o.8_WT-M.3_-1y_8DX" + "s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8": "l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D" }, "matchExpressions": [ { - "key": "z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11", - "operator": "NotIn", + "key": "21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u", + "operator": "In", "values": [ - "c-r.E__-.8_e_l2.._8s--7_3x_-J_....7" + "rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4" ] } ] }, "namespaces": [ - "398" + "390" ], - "topologyKey": "399" + "topologyKey": "391" } } ] @@ -1271,108 +1296,108 @@ { "labelSelector": { "matchLabels": { - "mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W": "7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu" + "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X": "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m" }, "matchExpressions": [ { - "key": "r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b", - "operator": "DoesNotExist" + "key": "Y.39g_.--_-_ve5.m_U", + "operator": "NotIn", + "values": [ + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + ] } ] }, "namespaces": [ - "406" + "398" ], - "topologyKey": "407" + "topologyKey": "399" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1934575848, + "weight": -1370389893, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV": "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + "622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4": "3_-_B" }, "matchExpressions": [ { - "key": "7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E", - "operator": "NotIn", - "values": [ - "ZI-_P..w-W_-nE...-V" - ] + "key": "f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU", + "operator": "Exists" } ] }, "namespaces": [ - "414" + "406" ], - "topologyKey": "415" + "topologyKey": "407" } } ] } }, - "schedulerName": "416", + "schedulerName": "408", "tolerations": [ { - "key": "417", - "operator": "ƴ磳藷曥摮Z Ǐg鲅", - "value": "418", - "effect": "癯頯aɴí(Ȟ9\"忕(", - "tolerationSeconds": 3807599400818393626 + "key": "409", + "operator": "Ǒȃ绡\u003e", + "value": "410", + "effect": "鳖üzÁ鍫Ǥ.", + "tolerationSeconds": 715786430081306206 } ], "hostAliases": [ { - "ip": "419", + "ip": "411", "hostnames": [ - "420" + "412" ] } ], - "priorityClassName": "421", - "priority": 1352980996, + "priorityClassName": "413", + "priority": -173761204, "dnsConfig": { "nameservers": [ - "422" + "414" ], "searches": [ - "423" + "415" ], "options": [ { - "name": "424", - "value": "425" + "name": "416", + "value": "417" } ] }, "readinessGates": [ { - "conditionType": "Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ" + "conditionType": "3荾;釋ƽ,ʢ刣ȱǍ" } ], - "runtimeClassName": "426", - "enableServiceLinks": false, - "preemptionPolicy": "鲛ô衞Ɵ鳝稃Ȍ液文?謮", + "runtimeClassName": "418", + "enableServiceLinks": true, + "preemptionPolicy": "縊CkǚŨ镦", "overhead": { - "Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲": "185" + "熴贤r心Ķ餍4": "127" }, "topologySpreadConstraints": [ { - "maxSkew": 547935694, - "topologyKey": "427", - "whenUnsatisfiable": "zŕƧ钖孝0蛮xAǫ\u0026tŧK剛Ʀ", + "maxSkew": -1458287077, + "topologyKey": "419", + "whenUnsatisfiable": "Ŋ)TiD¢ƿ媴h", "labelSelector": { "matchLabels": { - "za42o/Y-YD-Q9_-__..YNFu7Pg-.1": "tE" + "0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7": "" }, "matchExpressions": [ { - "key": "9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs", + "key": "07CY-_dc__G6N-_-o", "operator": "In", "values": [ - "7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I" + "2_D6_.d-n_9n.p.2-.-QwO" ] } ] @@ -1384,18 +1409,18 @@ } }, "status": { - "replicas": 1893057016, - "fullyLabeledReplicas": -2099726885, - "readyReplicas": -928976522, - "availableReplicas": -983106472, - "observedGeneration": 4693783954739913971, + "replicas": -335676228, + "fullyLabeledReplicas": -852640839, + "readyReplicas": 1322487368, + "availableReplicas": -444026457, + "observedGeneration": 5621295720173508467, "conditions": [ { - "type": "×軓鼐嵱宯ÙQ阉(闒ƈƳ萎Ŋ", - "status": "站畦f黹ʩ鹸ɷLȋ", - "lastTransitionTime": "2376-03-18T02:40:44Z", - "reason": "434", - "message": "435" + "type": "sǞÃ+?Ď筌ʨ:ÿ1諘蚿[ĵ", + "status": "Ǐ詁Ȟ鮩ĺJCuɖ", + "lastTransitionTime": "2535-08-03T05:32:32Z", + "reason": "426", + "message": "427" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb index f6cc8652cd767..98fd06b7b77e4 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml index 6c21fc0a027b8..d90946d116fa3 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml @@ -71,449 +71,457 @@ spec: selfLink: "28" uid: ʬ spec: - activeDeadlineSeconds: -8715915045560617563 + activeDeadlineSeconds: 8749598715214557239 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "380" - operator: "" + - key: "372" + operator: 滿筇ȟP:/a殆 values: - - "381" + - "373" matchFields: - - key: "382" - operator: ş + - key: "374" + operator: ȏâ磠 values: - - "383" - weight: -1449289597 + - "375" + weight: -1312249623 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "376" - operator: 1sȣ±p鋄5 + - key: "368" + operator: 槃JŵǤ桒ɴ鉂WJ values: - - "377" + - "369" matchFields: - - key: "378" - operator: 幩šeSvEȤƏ埮pɵ + - key: "370" + operator: ƞʓ%ʝ`ǭ躌 values: - - "379" + - "371" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11 - operator: NotIn + - key: 21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u + operator: In values: - - c-r.E__-.8_e_l2.._8s--7_3x_-J_....7 + - rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4 matchLabels: - gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5: 2w-o.8_WT-M.3_-1y_8DX + s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8: l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D namespaces: - - "398" - topologyKey: "399" - weight: -280562323 + - "390" + topologyKey: "391" + weight: 1038187806 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 7U_-m.-P.yP9S--858LI__.8U - operator: NotIn - values: - - 7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m + - key: el--F.6 + operator: Exists matchLabels: - 3---93-2-23/8--21kF-c026.i: 9.M.134-5-.q6H_.--t + KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N: 8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf namespaces: - - "390" - topologyKey: "391" + - "382" + topologyKey: "383" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E - operator: NotIn - values: - - ZI-_P..w-W_-nE...-V + - key: f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU + operator: Exists matchLabels: - 72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV: nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 + 622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4: 3_-_B namespaces: - - "414" - topologyKey: "415" - weight: -1934575848 + - "406" + topologyKey: "407" + weight: -1370389893 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b - operator: DoesNotExist + - key: Y.39g_.--_-_ve5.m_U + operator: NotIn + values: + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W: 7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu + 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X: 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m namespaces: - - "406" - topologyKey: "407" + - "398" + topologyKey: "399" automountServiceAccountToken: false containers: - args: - - "222" + - "218" command: - - "221" + - "217" env: - - name: "229" - value: "230" + - name: "225" + value: "226" valueFrom: configMapKeyRef: - key: "236" - name: "235" - optional: false + key: "232" + name: "231" + optional: true fieldRef: - apiVersion: "231" - fieldPath: "232" + apiVersion: "227" + fieldPath: "228" resourceFieldRef: - containerName: "233" - divisor: "901" - resource: "234" + containerName: "229" + divisor: "700" + resource: "230" secretKeyRef: - key: "238" - name: "237" + key: "234" + name: "233" optional: false envFrom: - configMapRef: - name: "227" + name: "223" optional: true - prefix: "226" + prefix: "222" secretRef: - name: "228" - optional: false - image: "220" - imagePullPolicy: 擓ƖHVe熼'FD剂讼ɓȌʟni酛 + name: "224" + optional: true + image: "216" + imagePullPolicy: Gƚ绤fʀļ腩墺Ò媁荭gw lifecycle: postStart: exec: command: - - "267" + - "261" httpGet: - host: "269" + host: "264" httpHeaders: - - name: "270" - value: "271" - path: "268" - port: -421846800 - scheme: zvt莭琽§ + - name: "265" + value: "266" + path: "262" + port: "263" + scheme: 更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ tcpSocket: - host: "272" - port: -763687725 + host: "267" + port: 467291328 preStop: exec: command: - - "273" + - "268" httpGet: - host: "275" + host: "270" httpHeaders: - - name: "276" - value: "277" - path: "274" - port: -1452676801 - scheme: ȿ0矀Kʝ + - name: "271" + value: "272" + path: "269" + port: -434820661 + scheme: r嚧 tcpSocket: - host: "279" - port: "278" + host: "273" + port: 453108839 livenessProbe: exec: command: - - "245" - failureThreshold: -1191434089 + - "241" + failureThreshold: 627713162 httpGet: - host: "248" + host: "243" httpHeaders: - - name: "249" - value: "250" - path: "246" - port: "247" - scheme: 賃ɪ鐊瀑Ź9ǕLLȊ - initialDelaySeconds: 1214895765 - periodSeconds: 282592353 - successThreshold: 377225334 + - name: "244" + value: "245" + path: "242" + port: -670390306 + scheme: <鴒翁杙Ŧ癃8鸖ɱJȉ罴 + initialDelaySeconds: -1745509819 + periodSeconds: -1543701088 + successThreshold: 513341278 tcpSocket: - host: "251" - port: -26910286 - timeoutSeconds: 1181519543 - name: "219" + host: "246" + port: 1033766276 + timeoutSeconds: -859135545 + name: "215" ports: - - containerPort: -2079582559 - hostIP: "225" - hostPort: 1944205014 - name: "224" - protocol: K.Q貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲ + - containerPort: -966649167 + hostIP: "221" + hostPort: 622473257 + name: "220" + protocol: eLJèux榜VƋZ readinessProbe: exec: command: - - "252" - failureThreshold: 1507815593 + - "247" + failureThreshold: 1477910551 httpGet: - host: "255" + host: "249" httpHeaders: - - name: "256" - value: "257" - path: "253" - port: "254" - initialDelaySeconds: -839281354 - periodSeconds: -819723498 - successThreshold: -150133456 + - name: "250" + value: "251" + path: "248" + port: 267768240 + scheme: ʎȺ眖R# + initialDelaySeconds: -200461294 + periodSeconds: 1160477220 + successThreshold: 1226391571 tcpSocket: - host: "259" - port: "258" - timeoutSeconds: 2035347577 + host: "253" + port: "252" + timeoutSeconds: -1791206950 + resizePolicy: + - policy: 瘴I\p[ħsĨɆâĺɗ + resourceName: 莭琽§ć\ ïì«丯Ƙ枛牐ɺ resources: limits: - 羭,铻OŤǢʭ嵔: "340" + 騀呣ǎfǣ萭旿@掇lNdǂ>: "44" requests: - TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜: "755" + $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫: "130" + resourcesAllocated: + Ȥ藠3.: "540" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - À*f<鴒翁杙Ŧ癃8 + - E剒蔞 drop: - - ɱJȉ罴 + - 表徶đ寳议Ƭƶ氩Ȩ<6鄰簳°Ļǟi&皥 privileged: false - procMount: 棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅 - readOnlyRootFilesystem: false - runAsGroup: -3689959065086680033 - runAsNonRoot: false - runAsUser: -2706913289057230267 + procMount: ¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ + readOnlyRootFilesystem: true + runAsGroup: -5569844914519516591 + runAsNonRoot: true + runAsUser: -3342656999442156006 seLinuxOptions: - level: "284" - role: "282" - type: "283" - user: "281" + level: "278" + role: "276" + type: "277" + user: "275" windowsOptions: - gmsaCredentialSpec: "286" - gmsaCredentialSpecName: "285" - runAsUserName: "287" + gmsaCredentialSpec: "280" + gmsaCredentialSpecName: "279" + runAsUserName: "281" startupProbe: exec: command: - - "260" - failureThreshold: -822090785 + - "254" + failureThreshold: 300356869 httpGet: - host: "262" + host: "257" httpHeaders: - - name: "263" - value: "264" - path: "261" - port: 1684643131 - scheme: 飣奺Ȋ礶惇¸ - initialDelaySeconds: -161753937 - periodSeconds: 1428207963 - successThreshold: 790462391 + - name: "258" + value: "259" + path: "255" + port: "256" + scheme: 跦Opwǩ曬逴褜1 + initialDelaySeconds: -589000495 + periodSeconds: 561988938 + successThreshold: 1419770315 tcpSocket: - host: "266" - port: "265" - timeoutSeconds: -1578746609 - stdinOnce: true - terminationMessagePath: "280" - terminationMessagePolicy: \p[ + host: "260" + port: -1801140031 + timeoutSeconds: -955773237 + terminationMessagePath: "274" + terminationMessagePolicy: 趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L* + tty: true volumeDevices: - - devicePath: "244" - name: "243" - volumeMounts: - - mountPath: "240" - mountPropagation: ʒ刽ʼn掏1ſ盷褎weLJèux榜 + - devicePath: "240" name: "239" - subPath: "241" - subPathExpr: "242" - workingDir: "223" + volumeMounts: + - mountPath: "236" + mountPropagation: S晒嶗UÐ_ƮA攤 + name: "235" + readOnly: true + subPath: "237" + subPathExpr: "238" + workingDir: "219" dnsConfig: nameservers: - - "422" + - "414" options: - - name: "424" - value: "425" + - name: "416" + value: "417" searches: - - "423" - dnsPolicy: 丆 - enableServiceLinks: false + - "415" + enableServiceLinks: true ephemeralContainers: - args: - - "291" + - "285" command: - - "290" + - "284" env: - - name: "298" - value: "299" + - name: "292" + value: "293" valueFrom: configMapKeyRef: - key: "305" - name: "304" - optional: false + key: "299" + name: "298" + optional: true fieldRef: - apiVersion: "300" - fieldPath: "301" + apiVersion: "294" + fieldPath: "295" resourceFieldRef: - containerName: "302" - divisor: "709" - resource: "303" + containerName: "296" + divisor: "340" + resource: "297" secretKeyRef: - key: "307" - name: "306" + key: "301" + name: "300" optional: false envFrom: - configMapRef: - name: "296" - optional: true - prefix: "295" + name: "290" + optional: false + prefix: "289" secretRef: - name: "297" + name: "291" optional: true - image: "289" - imagePullPolicy: 拉Œɥ颶妧Ö闊 鰔澝qV訆 + image: "283" + imagePullPolicy: ùfŭƽ lifecycle: postStart: exec: command: - - "335" + - "328" httpGet: - host: "338" + host: "330" httpHeaders: - - name: "339" - value: "340" - path: "336" - port: "337" - scheme: 跩aŕ翑 + - name: "331" + value: "332" + path: "329" + port: -302933400 + scheme: 眵笭/9崍h趭(娕uE增猍ǵ x tcpSocket: - host: "342" - port: "341" + host: "334" + port: "333" preStop: exec: command: - - "343" + - "335" httpGet: - host: "345" + host: "337" httpHeaders: - - name: "346" - value: "347" - path: "344" - port: 1017803158 - scheme: 碔 + - name: "338" + value: "339" + path: "336" + port: 1238925115 + scheme: ɢX鰨松/Ȁĵ tcpSocket: - host: "349" - port: "348" + host: "341" + port: "340" livenessProbe: exec: command: - - "314" - failureThreshold: 1742259603 + - "308" + failureThreshold: -969533986 httpGet: - host: "317" + host: "310" httpHeaders: - - name: "318" - value: "319" - path: "315" - port: "316" - scheme: 屡ʁ - initialDelaySeconds: 1718241831 - periodSeconds: 1180971695 - successThreshold: -1971944908 + - name: "311" + value: "312" + path: "309" + port: 1076497581 + scheme: h4ɊHȖ|ʐ + initialDelaySeconds: -1835677314 + periodSeconds: 1947032456 + successThreshold: 1233904535 tcpSocket: - host: "320" - port: -1554559634 - timeoutSeconds: 550615941 - name: "288" + host: "313" + port: 248533396 + timeoutSeconds: 199049889 + name: "282" ports: - - containerPort: 1330271338 - hostIP: "294" - hostPort: 1853396726 - name: "293" - protocol: 逴 + - containerPort: -1666319281 + hostIP: "288" + hostPort: -185239148 + name: "287" + protocol: ĠM蘇KŅ/»頸+SÄ蚃 readinessProbe: exec: command: - - "321" - failureThreshold: 1150925735 + - "314" + failureThreshold: 646449677 httpGet: - host: "323" + host: "317" httpHeaders: - - name: "324" - value: "325" - path: "322" - port: -1620315711 - scheme: ɐ扵 - initialDelaySeconds: -1358663652 - periodSeconds: -527306221 - successThreshold: 2098694289 + - name: "318" + value: "319" + path: "315" + port: "316" + initialDelaySeconds: -1408385387 + periodSeconds: 1063054949 + successThreshold: 172612011 tcpSocket: - host: "327" - port: "326" - timeoutSeconds: 1543146222 + host: "321" + port: "320" + timeoutSeconds: -1225881740 + resizePolicy: + - policy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + resourceName: "" resources: limits: - 颐o: "230" + _<ǬëJ橈'琕鶫:顇ə娯Ȱ: "561" requests: - '[+扴ȨŮ+朷Ǝ膯ljV': "728" + ɐ鰥: "461" + resourcesAllocated: + ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻: "23" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - ŧL²sNƗ¸gĩ餠籲磣Óƿ + - æ盪泙若`l}Ñ蠂Ü drop: - - '"冓鍓贯澔 ƺ蛜6' + - ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I privileged: false - procMount: 鰥Z龏´DÒȗ + procMount: y竬ʆɞȥ}礤铟怖ý萜Ǖc8 readOnlyRootFilesystem: true - runAsGroup: 6057650398488995896 - runAsNonRoot: true - runAsUser: 4353696140684277635 + runAsGroup: 373025114301996656 + runAsNonRoot: false + runAsUser: -7474879432414053077 seLinuxOptions: - level: "354" - role: "352" - type: "353" - user: "351" + level: "346" + role: "344" + type: "345" + user: "343" windowsOptions: - gmsaCredentialSpec: "356" - gmsaCredentialSpecName: "355" - runAsUserName: "357" + gmsaCredentialSpec: "348" + gmsaCredentialSpecName: "347" + runAsUserName: "349" startupProbe: exec: command: - - "328" - failureThreshold: -1246371817 + - "322" + failureThreshold: -200074798 httpGet: - host: "331" + host: "324" httpHeaders: - - name: "332" - value: "333" - path: "329" - port: "330" - scheme: 榝$î.Ȏ蝪ʜ5遰 - initialDelaySeconds: 834105836 - periodSeconds: -370386363 - successThreshold: 1714588921 + - name: "325" + value: "326" + path: "323" + port: 2084371155 + scheme: ɭɪǹ0衷, + initialDelaySeconds: -278396828 + periodSeconds: -1663818120 + successThreshold: -211480108 tcpSocket: - host: "334" - port: -1438286448 - timeoutSeconds: -1462219068 - targetContainerName: "358" - terminationMessagePath: "350" - terminationMessagePolicy: Kƙ順\E¦队偯J僳徥淳4揻-$ɽ丟 - tty: true + host: "327" + port: 1692740191 + timeoutSeconds: 1497888778 + targetContainerName: "350" + terminationMessagePath: "342" + terminationMessagePolicy: ȲǸ|蕎'佉賞ǧĒzŔ volumeDevices: - - devicePath: "313" - name: "312" + - devicePath: "307" + name: "306" volumeMounts: - - mountPath: "309" - mountPropagation: ŕ-Ɂ圯W:ĸ輦唊#v铿 - name: "308" - subPath: "310" - subPathExpr: "311" - workingDir: "292" + - mountPath: "303" + mountPropagation: ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS + name: "302" + subPath: "304" + subPathExpr: "305" + workingDir: "286" hostAliases: - hostnames: - - "420" - ip: "419" - hostPID: true - hostname: "374" + - "412" + ip: "411" + hostIPC: true + hostNetwork: true + hostname: "366" imagePullSecrets: - - name: "373" + - name: "365" initContainers: - args: - "150" @@ -547,42 +555,43 @@ spec: name: "156" optional: false image: "148" - imagePullPolicy: k_瀹鞎sn芞QÄȻ + imagePullPolicy: ȹ嫰ƹǔw÷nI粛E煹ǐƲE lifecycle: postStart: exec: command: - - "196" + - "194" httpGet: - host: "198" + host: "197" httpHeaders: - - name: "199" - value: "200" - path: "197" - port: -1327537699 + - name: "198" + value: "199" + path: "195" + port: "196" + scheme: n芞QÄȻȊ+?ƭ峧Y栲茇竛 tcpSocket: - host: "202" - port: "201" + host: "200" + port: -592581809 preStop: exec: command: - - "203" + - "201" httpGet: - host: "206" + host: "203" httpHeaders: - - name: "207" - value: "208" - path: "204" - port: "205" - scheme: ĉş蝿ɖȃ賲鐅臬 + - name: "204" + value: "205" + path: "202" + port: 1702578303 + scheme: NŬɨǙÄr蛏豈ɃHŠơŴĿ tcpSocket: - host: "210" - port: "209" + host: "206" + port: -1047607622 livenessProbe: exec: command: - "173" - failureThreshold: 2053960192 + failureThreshold: 815401145 httpGet: host: "176" httpHeaders: @@ -590,14 +599,14 @@ spec: value: "178" path: "174" port: "175" - scheme: ƴy綸_Ú8參遼ūPH炮 - initialDelaySeconds: 741871873 - periodSeconds: -1987044888 - successThreshold: -1638339389 + scheme: H=å + initialDelaySeconds: -204658565 + periodSeconds: 1592637538 + successThreshold: -715357874 tcpSocket: host: "180" port: "179" - timeoutSeconds: 446829537 + timeoutSeconds: -498077886 name: "147" ports: - containerPort: 715087892 @@ -609,140 +618,145 @@ spec: exec: command: - "181" - failureThreshold: -57352147 + failureThreshold: -1064240304 httpGet: host: "183" httpHeaders: - name: "184" value: "185" path: "182" - port: -1903685915 - scheme: ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬 - initialDelaySeconds: 128019484 - periodSeconds: -2130554644 - successThreshold: 290736426 + port: 290736426 + scheme: ö + initialDelaySeconds: 322201525 + periodSeconds: 66472042 + successThreshold: 2130088978 tcpSocket: host: "187" port: "186" - timeoutSeconds: 431781335 + timeoutSeconds: -1784033404 + resizePolicy: + - policy: +ņ榱*Gưoɘ檲 + resourceName: y綸_Ú8參遼ū resources: limits: /擇ɦĽ胚O醔ɍ厶耈 T: "618" requests: á腿ħ缶.蒅!a坩O`涁İ而踪鄌eÞ: "372" + resourcesAllocated: + 栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼: "621" securityContext: allowPrivilegeEscalation: false capabilities: add: - - '?' + - þŹʣy豎@ɀ羭, drop: - - 峧Y栲茇竛吲蚛隖 + - OŤǢʭ嵔棂p儼Ƿ裚瓶釆Ɗ+ privileged: false - procMount: ʙ嫙& + procMount: 籘Àǒɿʒ刽ʼn readOnlyRootFilesystem: false - runAsGroup: -7286288718856494813 + runAsGroup: 1898367611285047958 runAsNonRoot: true - runAsUser: 7312518131318481396 + runAsUser: -739484406984751446 seLinuxOptions: - level: "215" - role: "213" - type: "214" - user: "212" + level: "211" + role: "209" + type: "210" + user: "208" windowsOptions: - gmsaCredentialSpec: "217" - gmsaCredentialSpecName: "216" - runAsUserName: "218" + gmsaCredentialSpec: "213" + gmsaCredentialSpecName: "212" + runAsUserName: "214" startupProbe: exec: command: - "188" - failureThreshold: 1133369651 + failureThreshold: -522126070 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" + - name: "191" + value: "192" path: "189" - port: "190" - scheme: 閝ȝ - initialDelaySeconds: -2142865739 - periodSeconds: 1434408532 - successThreshold: -566408554 + port: -566408554 + scheme: 劳&¼傭Ȟ1酃=6}ɡŇƉ立 + initialDelaySeconds: -1628697284 + periodSeconds: 354496320 + successThreshold: -418887496 tcpSocket: - host: "195" - port: "194" - timeoutSeconds: -1179067190 + host: "193" + port: -31530684 + timeoutSeconds: 843845736 stdin: true - stdinOnce: true - terminationMessagePath: "211" + terminationMessagePath: "207" + terminationMessagePolicy: ȉ彂 + tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: dʪīT捘ɍi縱ù墴1Rƥ + mountPropagation: 妰黖ȓƇ$缔獵偐ę name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "363" + nodeName: "355" nodeSelector: - "359": "360" + "351": "352" overhead: - Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲: "185" - preemptionPolicy: 鲛ô衞Ɵ鳝稃Ȍ液文?謮 - priority: 1352980996 - priorityClassName: "421" + 熴贤r心Ķ餍4: "127" + preemptionPolicy: 縊CkǚŨ镦 + priority: -173761204 + priorityClassName: "413" readinessGates: - - conditionType: Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ - restartPolicy: ɘɢ鬍熖B芭花ª瘡 - runtimeClassName: "426" - schedulerName: "416" + - conditionType: 3荾;釋ƽ,ʢ刣ȱǍ + restartPolicy: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + runtimeClassName: "418" + schedulerName: "408" securityContext: - fsGroup: 7124276984274024394 - fsGroupChangePolicy: 蹔ŧ - runAsGroup: -779972051078659613 + fsGroup: 3252248067742584460 + fsGroupChangePolicy: 裡×銵-紑浘牬釼 + runAsGroup: -2605388897472681971 runAsNonRoot: false - runAsUser: 2179199799235189619 + runAsUser: -2056599486643434092 seLinuxOptions: - level: "367" - role: "365" - type: "366" - user: "364" + level: "359" + role: "357" + type: "358" + user: "356" supplementalGroups: - - -7127205672279904050 + - -6171436788982835150 sysctls: - - name: "371" - value: "372" + - name: "363" + value: "364" windowsOptions: - gmsaCredentialSpec: "369" - gmsaCredentialSpecName: "368" - runAsUserName: "370" - serviceAccount: "362" - serviceAccountName: "361" + gmsaCredentialSpec: "361" + gmsaCredentialSpecName: "360" + runAsUserName: "362" + serviceAccount: "354" + serviceAccountName: "353" setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "375" - terminationGracePeriodSeconds: 2666412258966278206 + subdomain: "367" + terminationGracePeriodSeconds: 2424760700494115127 tolerations: - - effect: 癯頯aɴí(Ȟ9"忕( - key: "417" - operator: ƴ磳藷曥摮Z Ǐg鲅 - tolerationSeconds: 3807599400818393626 - value: "418" + - effect: 鳖üzÁ鍫Ǥ. + key: "409" + operator: Ǒȃ绡> + tolerationSeconds: 715786430081306206 + value: "410" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs + - key: 07CY-_dc__G6N-_-o operator: In values: - - 7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I + - 2_D6_.d-n_9n.p.2-.-QwO matchLabels: - za42o/Y-YD-Q9_-__..YNFu7Pg-.1: tE - maxSkew: 547935694 - topologyKey: "427" - whenUnsatisfiable: zŕƧ钖孝0蛮xAǫ&tŧK剛Ʀ + 0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7: "" + maxSkew: -1458287077 + topologyKey: "419" + whenUnsatisfiable: Ŋ)TiD¢ƿ媴h volumes: - awsElasticBlockStore: fsType: "47" @@ -942,14 +956,14 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -983106472 + availableReplicas: -444026457 conditions: - - lastTransitionTime: "2376-03-18T02:40:44Z" - message: "435" - reason: "434" - status: 站畦f黹ʩ鹸ɷLȋ - type: ×軓鼐嵱宯ÙQ阉(闒ƈƳ萎Ŋ - fullyLabeledReplicas: -2099726885 - observedGeneration: 4693783954739913971 - readyReplicas: -928976522 - replicas: 1893057016 + - lastTransitionTime: "2535-08-03T05:32:32Z" + message: "427" + reason: "426" + status: Ǐ詁Ȟ鮩ĺJCuɖ + type: sǞÃ+?Ď筌ʨ:ÿ1諘蚿[ĵ + fullyLabeledReplicas: -852640839 + observedGeneration: 5621295720173508467 + readyReplicas: 1322487368 + replicas: -335676228 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json index 475cba435c6c2..c8d6e2da86a78 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1378,123 +1402,126 @@ "volumeClaimTemplates": [ { "metadata": { - "name": "426", - "generateName": "427", - "namespace": "428", - "selfLink": "429", - "uid": "瞯å檳ė\u003ec緍", - "resourceVersion": "8774564298362452033", - "generation": -4846338476256404591, + "name": "430", + "generateName": "431", + "namespace": "432", + "selfLink": "433", + "uid": "3Q蠯0ƍ\\溮Ŀ傜NZ!šZ_", + "resourceVersion": "6868396335712605135", + "generation": 4460932436309061502, "creationTimestamp": null, - "deletionGracePeriodSeconds": 6041236524714316269, + "deletionGracePeriodSeconds": -699777267386078993, "labels": { - "431": "432" + "435": "436" }, "annotations": { - "433": "434" + "437": "438" }, "ownerReferences": [ { - "apiVersion": "435", - "kind": "436", - "name": "437", - "uid": "ƄZ", - "controller": false, + "apiVersion": "439", + "kind": "440", + "name": "441", + "uid": "", + "controller": true, "blockOwnerDeletion": false } ], "finalizers": [ - "438" + "442" ], - "clusterName": "439", + "clusterName": "443", "managedFields": [ { - "manager": "440", - "operation": "ʘLD宊獟¡鯩WɓDɏ挭跡Ƅ抄", - "apiVersion": "441", - "fieldsType": "442" + "manager": "444", + "operation": "ȵ.Ȁ鎧Y冒ƖƦɼ", + "apiVersion": "445", + "fieldsType": "446" } ] }, "spec": { "accessModes": [ - "Ƣǟ½灶du汎mō6µɑ`ȗ\u003c8^翜T" + "ȶZy傦ɵNJ\"" ], "selector": { "matchLabels": { - "d-m._fN._k8__._ep21": "6_A_090ERG2nV.__p_Y-.2__a_dWU_VF" + "2.u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.w": "QCJ4a1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT2" }, "matchExpressions": [ { - "key": "oq0o90--g-09--d5ez1----b69x98--7g0e6-x5-7-a6434---7i-f-d014/6.T", - "operator": "DoesNotExist" + "key": "wc89k-0-57z4063---k1b6x91-0f-w8l--7c17j.n78aou-jf35-k7cr-mo-dz12----8q--n260pvo8-8---ln-9ei-vi9g-dn--q/4...rBQ.9-_.m7-Q____vSW_4-___-_--x", + "operator": "NotIn", + "values": [ + "81_---l_3_-_G-D....js--a---..6bD_M--c.0Q-2" + ] } ] }, "resources": { "limits": { - "蒸CƅR8ɷ|恫f籽": "139" + "Ǹz": "426" }, "requests": { - "": "380" + "ȉv5萓Ʀ鮶t\u003cŔ毇绊薆y蚁餋": "829" } }, - "volumeName": "449", - "storageClassName": "450", - "volumeMode": "ì淵歔", + "volumeName": "453", + "storageClassName": "454", + "volumeMode": "ǴȰ¤", "dataSource": { - "apiGroup": "451", - "kind": "452", - "name": "453" + "apiGroup": "455", + "kind": "456", + "name": "457" } }, "status": { - "phase": "d,", + "phase": "磕绘翁揌p:oŇE0Lj", "accessModes": [ - ";蛡媈U" + "\\屪kƱ" ], "capacity": { - "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:": "847" + "\"娥Qô!- å2:濕": "362" }, "conditions": [ { - "type": "Ɍ蚊ơ鎊t潑", - "status": "惃ȳTʬ戱P", - "lastProbeTime": "2237-12-11T16:15:26Z", - "lastTransitionTime": "2926-09-20T14:30:14Z", - "reason": "454", - "message": "455" + "type": "nj", + "status": "RY客\\ǯ'_", + "lastProbeTime": "2513-10-02T03:37:43Z", + "lastTransitionTime": "2172-12-06T22:36:31Z", + "reason": "458", + "message": "459" } ] } } ], - "serviceName": "456", - "podManagementPolicy": "冒ƖƦɼ橈\"Ĩ媻ʪdž澆", + "serviceName": "460", + "podManagementPolicy": "榭ș«lj}砵(ɋǬAÃɮǜ:ɐ", "updateStrategy": { - "type": "ƍ\\溮Ŀ傜NZ!šZ_", + "type": "瓘ȿ4", "rollingUpdate": { - "partition": -1774432721 + "partition": -1578718618 } }, - "revisionHistoryLimit": 51542630 + "revisionHistoryLimit": 1575668098 }, "status": { - "observedGeneration": 4970381117743528748, - "replicas": 1736529625, - "readyReplicas": 1972352681, - "currentReplicas": -727089824, - "updatedReplicas": -2068243724, - "currentRevision": "457", - "updateRevision": "458", - "collisionCount": -1807803289, + "observedGeneration": -2994706141758547943, + "replicas": -148329440, + "readyReplicas": -1823513364, + "currentReplicas": -981691190, + "updatedReplicas": 2069003631, + "currentRevision": "461", + "updateRevision": "462", + "collisionCount": -2044314719, "conditions": [ { - "type": "!轅諑", - "status": "YĹ爩", - "lastTransitionTime": "2544-05-05T21:53:33Z", - "reason": "459", - "message": "460" + "type": "GZ耏驧¹ƽɟ9ɭ锻ó/階ħ叟V", + "status": "x臥", + "lastTransitionTime": "2583-07-02T00:14:17Z", + "reason": "463", + "message": "464" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb index 8c95627ac1b38..c1d619d309548 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml index f8a08504845d4..0d4c45d6f59b1 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml @@ -30,16 +30,16 @@ metadata: selfLink: "5" uid: "7" spec: - podManagementPolicy: 冒ƖƦɼ橈"Ĩ媻ʪdž澆 + podManagementPolicy: 榭ș«lj}砵(ɋǬAÃɮǜ:ɐ replicas: 896585016 - revisionHistoryLimit: 51542630 + revisionHistoryLimit: 1575668098 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 operator: Exists matchLabels: 74404d5---g8c2-k-91e.y5-g--58----0683-b-w7ld-6cs06xj-x5yv0wm-k18/M_-Nx.N_6-___._-.-W._AAn---v_-5-_8LXj: 6-4_WE-_JTrcd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--1 - serviceName: "456" + serviceName: "460" template: metadata: annotations: @@ -71,446 +71,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -544,58 +555,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -606,141 +617,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -942,84 +956,86 @@ spec: volumePath: "101" updateStrategy: rollingUpdate: - partition: -1774432721 - type: ƍ\溮Ŀ傜NZ!šZ_ + partition: -1578718618 + type: 瓘ȿ4 volumeClaimTemplates: - metadata: annotations: - "433": "434" - clusterName: "439" + "437": "438" + clusterName: "443" creationTimestamp: null - deletionGracePeriodSeconds: 6041236524714316269 + deletionGracePeriodSeconds: -699777267386078993 finalizers: - - "438" - generateName: "427" - generation: -4846338476256404591 + - "442" + generateName: "431" + generation: 4460932436309061502 labels: - "431": "432" + "435": "436" managedFields: - - apiVersion: "441" - fieldsType: "442" - manager: "440" - operation: ʘLD宊獟¡鯩WɓDɏ挭跡Ƅ抄 - name: "426" - namespace: "428" + - apiVersion: "445" + fieldsType: "446" + manager: "444" + operation: ȵ.Ȁ鎧Y冒ƖƦɼ + name: "430" + namespace: "432" ownerReferences: - - apiVersion: "435" + - apiVersion: "439" blockOwnerDeletion: false - controller: false - kind: "436" - name: "437" - uid: ƄZ - resourceVersion: "8774564298362452033" - selfLink: "429" - uid: 瞯å檳ė>c緍 + controller: true + kind: "440" + name: "441" + uid: "" + resourceVersion: "6868396335712605135" + selfLink: "433" + uid: 3Q蠯0ƍ\溮Ŀ傜NZ!šZ_ spec: accessModes: - - Ƣǟ½灶du汎mō6µɑ`ȗ<8^翜T + - ȶZy傦ɵNJ" dataSource: - apiGroup: "451" - kind: "452" - name: "453" + apiGroup: "455" + kind: "456" + name: "457" resources: limits: - 蒸CƅR8ɷ|恫f籽: "139" + Ǹz: "426" requests: - "": "380" + ȉv5萓Ʀ鮶t<Ŕ毇绊薆y蚁餋: "829" selector: matchExpressions: - - key: oq0o90--g-09--d5ez1----b69x98--7g0e6-x5-7-a6434---7i-f-d014/6.T - operator: DoesNotExist + - key: wc89k-0-57z4063---k1b6x91-0f-w8l--7c17j.n78aou-jf35-k7cr-mo-dz12----8q--n260pvo8-8---ln-9ei-vi9g-dn--q/4...rBQ.9-_.m7-Q____vSW_4-___-_--x + operator: NotIn + values: + - 81_---l_3_-_G-D....js--a---..6bD_M--c.0Q-2 matchLabels: - d-m._fN._k8__._ep21: 6_A_090ERG2nV.__p_Y-.2__a_dWU_VF - storageClassName: "450" - volumeMode: ì淵歔 - volumeName: "449" + 2.u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.w: QCJ4a1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT2 + storageClassName: "454" + volumeMode: ǴȰ¤ + volumeName: "453" status: accessModes: - - ;蛡媈U + - \屪kƱ capacity: - 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:': "847" + '"娥Qô!- å2:濕': "362" conditions: - - lastProbeTime: "2237-12-11T16:15:26Z" - lastTransitionTime: "2926-09-20T14:30:14Z" - message: "455" - reason: "454" - status: 惃ȳTʬ戱P - type: Ɍ蚊ơ鎊t潑 - phase: d, + - lastProbeTime: "2513-10-02T03:37:43Z" + lastTransitionTime: "2172-12-06T22:36:31Z" + message: "459" + reason: "458" + status: RY客\ǯ'_ + type: nj + phase: 磕绘翁揌p:oŇE0Lj status: - collisionCount: -1807803289 + collisionCount: -2044314719 conditions: - - lastTransitionTime: "2544-05-05T21:53:33Z" - message: "460" - reason: "459" - status: YĹ爩 - type: '!轅諑' - currentReplicas: -727089824 - currentRevision: "457" - observedGeneration: 4970381117743528748 - readyReplicas: 1972352681 - replicas: 1736529625 - updateRevision: "458" - updatedReplicas: -2068243724 + - lastTransitionTime: "2583-07-02T00:14:17Z" + message: "464" + reason: "463" + status: x臥 + type: GZ耏驧¹ƽɟ9ɭ锻ó/階ħ叟V + currentReplicas: -981691190 + currentRevision: "461" + observedGeneration: -2994706141758547943 + readyReplicas: -1823513364 + replicas: -148329440 + updateRevision: "462" + updatedReplicas: 2069003631 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json index 6db811ac3cd50..428c9a16021d1 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json @@ -441,12 +441,22 @@ "/淹\\韲翁\u0026ʢsɜ曢\\%枅:=ǛƓ": "330" } }, + "resourcesAllocated": { + "Ǐ2啗塧ȱ蓿彭聡A3fƻfʣ": "115" + }, + "resizePolicy": [ + { + "resourceName": "^", + "policy": "ĦE勗E濞偘1" + } + ], "volumeMounts": [ { "name": "167", + "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "2啗塧ȱ蓿彭聡A3fƻfʣ繡楙¯ĦE勗", + "mountPropagation": "議Ǹ轺@)蓳嗘", "subPathExpr": "170" } ], @@ -466,7 +476,7 @@ "path": "174", "port": "175", "host": "176", - "scheme": "ȲϤĦʅ芝M", + "scheme": "猤痈C*ĕ", "httpHeaders": [ { "name": "177", @@ -475,26 +485,26 @@ ] }, "tcpSocket": { - "port": 1784914896, - "host": "179" + "port": "179", + "host": "180" }, - "initialDelaySeconds": 664393458, - "timeoutSeconds": -573382936, - "periodSeconds": 964433164, - "successThreshold": 679825403, - "failureThreshold": -20764200 + "initialDelaySeconds": -1258607232, + "timeoutSeconds": 1525389481, + "periodSeconds": 147264373, + "successThreshold": 441887498, + "failureThreshold": 1801487647 }, "readinessProbe": { "exec": { "command": [ - "180" + "181" ] }, "httpGet": { - "path": "181", - "port": "182", + "path": "182", + "port": -2039036935, "host": "183", - "scheme": "狩鴈o_", + "scheme": "Ř阌Ŗ怳冘HǺƶȤ^}穠C]躢|)黰", "httpHeaders": [ { "name": "184", @@ -503,42 +513,42 @@ ] }, "tcpSocket": { - "port": "186", - "host": "187" + "port": 868561690, + "host": "186" }, - "initialDelaySeconds": -1249460160, - "timeoutSeconds": -1027661779, - "periodSeconds": -1944279238, - "successThreshold": 1169718433, - "failureThreshold": -2039036935 + "initialDelaySeconds": -823262536, + "timeoutSeconds": -1592768397, + "periodSeconds": -1351421716, + "successThreshold": 798141673, + "failureThreshold": -1558831136 }, "startupProbe": { "exec": { "command": [ - "188" + "187" ] }, "httpGet": { - "path": "189", - "port": "190", - "host": "191", - "scheme": "ƅTG", + "path": "188", + "port": "189", + "host": "190", + "scheme": ")ÙæNǚ錯ƶRquA?瞲Ť倱", "httpHeaders": [ { - "name": "192", - "value": "193" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": -1629040033, + "port": "193", "host": "194" }, - "initialDelaySeconds": 1233814916, - "timeoutSeconds": 1632959949, - "periodSeconds": 487826951, - "successThreshold": 87018792, - "failureThreshold": -239847982 + "initialDelaySeconds": 1556981689, + "timeoutSeconds": 1288053477, + "periodSeconds": -163325250, + "successThreshold": 1607133856, + "failureThreshold": 1891896870 }, "lifecycle": { "postStart": { @@ -551,7 +561,7 @@ "path": "196", "port": "197", "host": "198", - "scheme": "ƭt?QȫşŇɜ", + "scheme": "ł/擇ɦĽ胚O醔ɍ厶", "httpHeaders": [ { "name": "199", @@ -560,44 +570,44 @@ ] }, "tcpSocket": { - "port": "201", - "host": "202" + "port": -2101285839, + "host": "201" } }, "preStop": { "exec": { "command": [ - "203" + "202" ] }, "httpGet": { - "path": "204", - "port": "205", - "host": "206", - "scheme": "抴ŨfZhUʎ浵ɲõ", + "path": "203", + "port": "204", + "host": "205", + "scheme": "腿ħ缶.蒅!a", "httpHeaders": [ { - "name": "207", - "value": "208" + "name": "206", + "value": "207" } ] }, "tcpSocket": { - "port": -1980941277, + "port": "208", "host": "209" } } }, "terminationMessagePath": "210", - "terminationMessagePolicy": "蕭k ź贩j", - "imagePullPolicy": "瑥A", + "terminationMessagePolicy": "`涁İ而踪鄌eÞ", + "imagePullPolicy": ";栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼", "securityContext": { "capabilities": { "add": [ - "Ɋł/擇ɦĽ胚O醔ɍ厶耈 " + "跾|@?鷅bȻN+ņ榱*" ], "drop": [ - "衧ȇe媹H" + "ưoɘ檲ɨ銦妰黖ȓƇ$缔獵偐ę腬" ] }, "privileged": false, @@ -612,13 +622,14 @@ "gmsaCredentialSpec": "216", "runAsUserName": "217" }, - "runAsUser": 7459999274215055423, - "runAsGroup": 2900848145000451690, + "runAsUser": 4601591146761894764, + "runAsGroup": -2680495615959706755, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "ĵ" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "寬娬ï瓼猀" }, + "stdin": true, "tty": true } ], @@ -636,9 +647,9 @@ "ports": [ { "name": "223", - "hostPort": -1477511050, - "containerPort": -1373541406, - "protocol": "栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼", + "hostPort": 1253093074, + "containerPort": 322201525, + "protocol": "w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ", "hostIP": "224" } ], @@ -651,7 +662,7 @@ }, "secretRef": { "name": "227", - "optional": false + "optional": true } } ], @@ -667,12 +678,12 @@ "resourceFieldRef": { "containerName": "232", "resource": "233", - "divisor": "233" + "divisor": "995" }, "configMapKeyRef": { "name": "234", "key": "235", - "optional": false + "optional": true }, "secretKeyRef": { "name": "236", @@ -684,18 +695,28 @@ ], "resources": { "limits": { - "+ņ榱*Gưoɘ檲": "340" + "": "948" }, "requests": { - "ʔŊƞ究:hoĂɋ瀐\u003cɉ湨H=å睫}堇": "690" + "_瀹鞎sn芞QÄȻȊ+?": "193" } }, + "resourcesAllocated": { + "@Ȗs«öʮĀ\u003cé瞾": "51" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "Ŭ" + } + ], "volumeMounts": [ { "name": "238", + "readOnly": true, "mountPath": "239", "subPath": "240", - "mountPropagation": "ï瓼猀2:öY鶪5w垁", + "mountPropagation": "", "subPathExpr": "241" } ], @@ -713,25 +734,25 @@ }, "httpGet": { "path": "245", - "port": 1434408532, - "host": "246", - "scheme": "`劳\u0026¼傭Ȟ1酃=6}ɡŇƉ立h", + "port": "246", + "host": "247", + "scheme": "\u0026蒒5靇C'ɵ", "httpHeaders": [ { - "name": "247", - "value": "248" + "name": "248", + "value": "249" } ] }, "tcpSocket": { - "port": "249", + "port": -2051962852, "host": "250" }, - "initialDelaySeconds": -1628697284, - "timeoutSeconds": 843845736, - "periodSeconds": 354496320, - "successThreshold": -418887496, - "failureThreshold": -522126070 + "initialDelaySeconds": 1768820087, + "timeoutSeconds": 471718695, + "periodSeconds": -1153851625, + "successThreshold": 1428858742, + "failureThreshold": -1169420648 }, "readinessProbe": { "exec": { @@ -741,9 +762,9 @@ }, "httpGet": { "path": "252", - "port": -1569009987, + "port": -1470854631, "host": "253", - "scheme": "ɢǵʭd鲡:贅wE@Ȗs«öʮĀ\u003c", + "scheme": "ùƸʋŀ樺ȃ", "httpHeaders": [ { "name": "254", @@ -752,14 +773,14 @@ ] }, "tcpSocket": { - "port": 1702578303, + "port": -270045321, "host": "256" }, - "initialDelaySeconds": -1565157256, - "timeoutSeconds": -1113628381, - "periodSeconds": -1385586997, - "successThreshold": 460997133, - "failureThreshold": -636855511 + "initialDelaySeconds": -1366875038, + "timeoutSeconds": -1188430996, + "periodSeconds": -2015604435, + "successThreshold": 576428641, + "failureThreshold": 1719293828 }, "startupProbe": { "exec": { @@ -769,275 +790,283 @@ }, "httpGet": { "path": "258", - "port": "259", - "host": "260", - "scheme": "\u0026蒒5靇C'ɵ", + "port": -103588794, + "host": "259", + "scheme": ",铻OŤǢʭ嵔棂p儼Ƿ裚瓶", "httpHeaders": [ { - "name": "261", - "value": "262" + "name": "260", + "value": "261" } ] }, "tcpSocket": { - "port": -2051962852, - "host": "263" + "port": -1549755975, + "host": "262" }, - "initialDelaySeconds": 1768820087, - "timeoutSeconds": 471718695, - "periodSeconds": -1153851625, - "successThreshold": 1428858742, - "failureThreshold": -1169420648 + "initialDelaySeconds": -1275947865, + "timeoutSeconds": -2112697830, + "periodSeconds": -560140039, + "successThreshold": -1933850966, + "failureThreshold": 441998152 }, "lifecycle": { "postStart": { "exec": { "command": [ - "264" + "263" ] }, "httpGet": { - "path": "265", - "port": 1923650413, - "host": "266", - "scheme": "I粛E煹ǐƲE'iþŹʣy", + "path": "264", + "port": 1024248645, + "host": "265", + "scheme": "籘Àǒɿʒ刽ʼn", "httpHeaders": [ { - "name": "267", - "value": "268" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": "269", - "host": "270" + "port": 1591029717, + "host": "268" } }, "preStop": { "exec": { "command": [ - "271" + "269" ] }, "httpGet": { - "path": "272", - "port": "273", - "host": "274", - "scheme": "敍0)鈼¬麄", + "path": "270", + "port": "271", + "host": "272", + "scheme": "[Řż丩", "httpHeaders": [ { - "name": "275", - "value": "276" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": -648954478, - "host": "277" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "278", - "imagePullPolicy": "Ƿ裚瓶釆Ɗ+j忊", + "terminationMessagePath": "277", + "imagePullPolicy": "VƋZ1Ůđ眊ľǎɳ,ǿ飏", "securityContext": { "capabilities": { "add": [ - "焗捏" + "ǎfǣ萭旿@掇" ], "drop": [ - "Fħ籘Àǒɿʒ刽ʼn掏1ſ盷褎" + "Ndǂ\u003e5姣\u003e懔%熷谟þ蛯ɰ" ] }, - "privileged": true, + "privileged": false, "seLinuxOptions": { - "user": "279", - "role": "280", - "type": "281", - "level": "282" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "283", - "gmsaCredentialSpec": "284", - "runAsUserName": "285" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": 1875040261412240501, - "runAsGroup": -3078742976292946468, + "runAsUser": 63880647284912382, + "runAsGroup": -5068408077954798106, "runAsNonRoot": false, - "readOnlyRootFilesystem": false, + "readOnlyRootFilesystem": true, "allowPrivilegeEscalation": false, - "procMount": "Z1Ůđ眊ľǎɳ,ǿ飏騀呣" + "procMount": "ĠLƐȤ藠3.v-鿧悮坮Ȣ幟ļ" }, "stdin": true, - "stdinOnce": true, "tty": true } ], "ephemeralContainers": [ { - "name": "286", - "image": "287", + "name": "285", + "image": "286", "command": [ - "288" + "287" ], "args": [ - "289" + "288" ], - "workingDir": "290", + "workingDir": "289", "ports": [ { - "name": "291", - "hostPort": -1343558801, - "containerPort": 284401429, - "protocol": "掇lN", - "hostIP": "292" + "name": "290", + "hostPort": -1336170981, + "containerPort": 1179132251, + "protocol": "Kʝ瘴I\\p[ħsĨɆâĺɗ", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "293", + "prefix": "292", "configMapRef": { - "name": "294", - "optional": false + "name": "293", + "optional": true }, "secretRef": { - "name": "295", - "optional": false + "name": "294", + "optional": true } } ], "env": [ { - "name": "296", - "value": "297", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "298", - "fieldPath": "299" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "300", - "resource": "301", - "divisor": "578" + "containerName": "299", + "resource": "300", + "divisor": "99" }, "configMapKeyRef": { - "name": "302", - "key": "303", + "name": "301", + "key": "302", "optional": false }, "secretKeyRef": { - "name": "304", - "key": "305", - "optional": true + "name": "303", + "key": "304", + "optional": false } } } ], "resources": { "limits": { - "þ蛯ɰ荶lj": "397" + "攤/ɸɎ R§耶FfBl": "326" }, "requests": { - "t颟.鵫ǚ灄鸫rʤî萨zvt莭": "453" + "ɱJȉ罴": "587" } }, + "resourcesAllocated": { + "Ó6dz娝嘚庎D}埽uʎȺ眖R#yV": "156" + }, + "resizePolicy": [ + { + "resourceName": "瘦ɖ緕ȚÍ勅跦Opwǩ曬逴", + "policy": "ȓ蹣ɐǛv+8Ƥ熪军" + } + ], "volumeMounts": [ { - "name": "306", - "mountPath": "307", - "subPath": "308", - "mountPropagation": "Ȣ幟ļ腻Ŭ", - "subPathExpr": "309" + "name": "305", + "readOnly": true, + "mountPath": "306", + "subPath": "307", + "mountPropagation": "", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "310", - "devicePath": "311" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "312" + "311" ] }, "httpGet": { - "path": "313", - "port": "314", - "host": "315", - "scheme": "牐ɺ皚|懥", + "path": "312", + "port": -1463645123, + "host": "313", + "scheme": "荙JLĹ]佱¿\u003e犵殇ŕ", "httpHeaders": [ { - "name": "316", - "value": "317" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": "318", - "host": "319" + "port": "316", + "host": "317" }, - "initialDelaySeconds": 1146016612, - "timeoutSeconds": 1495880465, - "periodSeconds": -1032967081, - "successThreshold": 59664438, - "failureThreshold": 958482756 + "initialDelaySeconds": -940414829, + "timeoutSeconds": -1257509355, + "periodSeconds": 467291328, + "successThreshold": -1664778008, + "failureThreshold": -1191528701 }, "readinessProbe": { "exec": { "command": [ - "320" + "318" ] }, "httpGet": { - "path": "321", - "port": -1983953959, - "host": "322", - "scheme": "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶", + "path": "319", + "port": -2034161591, + "host": "320", "httpHeaders": [ { - "name": "323", - "value": "324" + "name": "321", + "value": "322" } ] }, "tcpSocket": { - "port": -2107743490, - "host": "325" + "port": 453108839, + "host": "323" }, - "initialDelaySeconds": 1995332035, - "timeoutSeconds": 960499098, - "periodSeconds": -1020896847, - "successThreshold": 1074486306, - "failureThreshold": 630004123 + "initialDelaySeconds": 1748715911, + "timeoutSeconds": -888240870, + "periodSeconds": 508868877, + "successThreshold": 1043311000, + "failureThreshold": 102402611 }, "startupProbe": { "exec": { "command": [ - "326" + "324" ] }, "httpGet": { - "path": "327", - "port": 714088955, - "host": "328", - "scheme": "źȰ?$矡ȶ网棊ʢ=wǕɳ", + "path": "325", + "port": "326", + "host": "327", + "scheme": "T 苧yñKJɐ扵G", "httpHeaders": [ { - "name": "329", - "value": "330" + "name": "328", + "value": "329" } ] }, "tcpSocket": { - "port": 1752155096, + "port": "330", "host": "331" }, - "initialDelaySeconds": -1962065705, - "timeoutSeconds": 1701999128, - "periodSeconds": -1364571630, - "successThreshold": 1689978741, - "failureThreshold": -1423854443 + "initialDelaySeconds": 1543146222, + "timeoutSeconds": -527306221, + "periodSeconds": 2098694289, + "successThreshold": 1150925735, + "failureThreshold": -953295185 }, "lifecycle": { "postStart": { @@ -1050,7 +1079,7 @@ "path": "333", "port": "334", "host": "335", - "scheme": "跦Opwǩ曬逴褜1", + "scheme": "gw忊|E", "httpHeaders": [ { "name": "336", @@ -1059,7 +1088,7 @@ ] }, "tcpSocket": { - "port": -1801140031, + "port": -438588982, "host": "338" } }, @@ -1071,9 +1100,9 @@ }, "httpGet": { "path": "340", - "port": 785984384, + "port": 834105836, "host": "341", - "scheme": "熪军g\u003e郵[+扴ȨŮ+朷Ǝ膯ljVX", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { "name": "342", @@ -1088,15 +1117,14 @@ } }, "terminationMessagePath": "346", - "terminationMessagePolicy": "谇j爻ƙ", - "imagePullPolicy": ":", + "terminationMessagePolicy": "翑0展}硐庰%皧V垾", "securityContext": { "capabilities": { "add": [ - "唊#v铿" + "\\E¦队偯J僳徥淳" ], "drop": [ - "Ȃ4" + "揻-$ɽ丟×x" ] }, "privileged": false, @@ -1111,30 +1139,32 @@ "gmsaCredentialSpec": "352", "runAsUserName": "353" }, - "runAsUser": 4480986625444454685, - "runAsGroup": -2630324001819898514, + "runAsUser": -816831389119959689, + "runAsGroup": 8194791334069427324, "runAsNonRoot": false, "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": false, - "procMount": "苧yñKJɐ扵Gƚ绤fʀļ腩" + "allowPrivilegeEscalation": true, + "procMount": "M蘇KŅ/»頸+SÄ蚃ɣľ)酊龨δ" }, + "stdin": true, "tty": true, "targetContainerName": "354" } ], - "restartPolicy": "媁荭gw忊", - "terminationGracePeriodSeconds": -4333562938396485230, - "activeDeadlineSeconds": -7565148469525206101, - "dnsPolicy": "遰=E", + "restartPolicy": "ğ_", + "terminationGracePeriodSeconds": -248858064787887784, + "activeDeadlineSeconds": 5467238651449736882, + "dnsPolicy": "ƺ蛜6Ɖ飴ɎiǨź", "nodeSelector": { "355": "356" }, "serviceAccountName": "357", "serviceAccount": "358", - "automountServiceAccountToken": false, + "automountServiceAccountToken": true, "nodeName": "359", + "hostPID": true, "hostIPC": true, - "shareProcessNamespace": false, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { "user": "360", @@ -1147,20 +1177,20 @@ "gmsaCredentialSpec": "365", "runAsUserName": "366" }, - "runAsUser": 2651364835047718925, - "runAsGroup": 2695823502041400376, - "runAsNonRoot": false, + "runAsUser": 2706433733228765005, + "runAsGroup": -500234369132816308, + "runAsNonRoot": true, "supplementalGroups": [ - -2910346974754087949 + 3634773701753283428 ], - "fsGroup": -1212012606981050727, + "fsGroup": -3042614092601658792, "sysctls": [ { "name": "367", "value": "368" } ], - "fsGroupChangePolicy": "展}硐庰%皧V垾现葢ŵ橨鬶l獕;跣" + "fsGroupChangePolicy": "鬍熖B芭花ª瘡蟦JBʟ鍏H鯂²" }, "imagePullSecrets": [ { @@ -1177,7 +1207,7 @@ "matchExpressions": [ { "key": "372", - "operator": "揻-$ɽ丟×x", + "operator": "3", "values": [ "373" ] @@ -1186,7 +1216,7 @@ "matchFields": [ { "key": "374", - "operator": "颶妧Ö闊", + "operator": "8ŕİi騎C\"6x", "values": [ "375" ] @@ -1197,12 +1227,12 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1666319281, + "weight": 2129989022, "preference": { "matchExpressions": [ { "key": "376", - "operator": "", + "operator": "ȣ±p", "values": [ "377" ] @@ -1211,7 +1241,7 @@ "matchFields": [ { "key": "378", - "operator": "蘇KŅ/»頸+SÄ蚃", + "operator": "蜷ɔ幩", "values": [ "379" ] @@ -1226,15 +1256,12 @@ { "labelSelector": { "matchLabels": { - "2-_.uB-.--.gb_2_-8-----yJY.__-X_.8xN._-_-vv-Q2qz.W..4....-0": "5GgT7_7B_D-..-.k4u-zA_--_.-.6GA26C-s.Nj-d-4_4--.-_Z3" + "2k4u-zA_--_.-.6GA26C-s.Nj-d-4_4--.-_Z4.LA3HVG93_._.3": "S_-.0-z_z0sn_.hx_-a__0-8-.M0" }, "matchExpressions": [ { - "key": "y-9-te858----38----r-0.h-up52--sjo7799-skj5--9/H.I3.__-.0-z_z0sn_.hx_-a__0-8-.M-.7", - "operator": "In", - "values": [ - "q..csh-3--Z1Tvw39F_C-rtSY.gR" - ] + "key": "3-----995----5sumf7ef8jzv4-9-30.rt--6g1-2-73m-e46-r-g63--gt1--6mx-r-927--m6-g/4_.-_pP__up.2L_s-7", + "operator": "Exists" } ] }, @@ -1246,16 +1273,16 @@ ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -478839383, + "weight": -1312249623, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "e..Or_-.3OHgt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz_.g.w-o.8_Wf": "53_-1y_8D_XX" + "x---p-pdn1.x-271s-p9-8--m-cbck561-72-l84--6/1o.w_aI._31-_I-o": "u.nx.sEK4.B.__65m8_1-1.9_.-.Ms7_t.P_3" }, "matchExpressions": [ { - "key": "O._D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_1-1.99", - "operator": "Exists" + "key": "mcgr6---r58-e-l203-8sln7-3x-b--55037/1Z__Lv8_.O_..8n.--z_-..61", + "operator": "DoesNotExist" } ] }, @@ -1272,12 +1299,15 @@ { "labelSelector": { "matchLabels": { - "0--1----v8-4--558n1asz-r886-1--s/t": "r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5" + "t-_7_-Zp_._.-miJ4x-_0_5-_.73": "2_-_AmD-.0AP.-.C_--.F5_x.KNC0-r" }, "matchExpressions": [ { - "key": "67F3p2_-_AmD-.0P", - "operator": "DoesNotExist" + "key": "t-u-4----q-x3w3dn5-1rhm-5y--z---69o-9-69mxv17r--32b-----4-67t.qk5--f4e4--r1k278l-d-8o1-x-1wl-r/a6Sp_N-S..O-BZ..6-1.b", + "operator": "In", + "values": [ + "f3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx.0" + ] } ] }, @@ -1289,15 +1319,15 @@ ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1560706624, + "weight": -1488504814, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "x.KNC0-.-m_0-m-6Sp_N-S..O-BZ..6-5": "bB3_.b17ca-p" + "1p7--43nw-l-x18mtxb--kexr-1-o--g-1.5gp-c-coa--y--4-1204wrb---1024g-5-3v9-9jcz9f-64/sx6db-L7.-__-G_2kCpS__.39g_.--_-v": "GIT_B" }, "matchExpressions": [ { - "key": "1rhm-5y--z-0/5eQ9", + "key": "8-b6E_--Y_Dp8O_._e_3_.4_Wh", "operator": "DoesNotExist" } ] @@ -1315,9 +1345,10 @@ "tolerations": [ { "key": "413", + "operator": "Ȭ痍脉PPöƌ镳", "value": "414", - "effect": "ɂ挃Ū", - "tolerationSeconds": 4056431723868092838 + "effect": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "tolerationSeconds": 1936690195224605279 } ], "hostAliases": [ @@ -1329,7 +1360,7 @@ } ], "priorityClassName": "417", - "priority": -1965712376, + "priority": -190325707, "dnsConfig": { "nameservers": [ "418" @@ -1346,54 +1377,51 @@ }, "readinessGates": [ { - "conditionType": "沷¾!蘋`翾" + "conditionType": "/vɟ擅Ɇǥȼ" } ], "runtimeClassName": "422", "enableServiceLinks": true, - "preemptionPolicy": "Ŏ群E牬", + "preemptionPolicy": "oǰ'źĄ栧焷蜪sÛ°", "overhead": { - "颮6(|ǖûǭg怨彬ɈNƋl塠": "609" + "=掔廛ĤJŇv膈ǣʛ": "593" }, "topologySpreadConstraints": [ { - "maxSkew": 163034368, + "maxSkew": -2033799662, "topologyKey": "423", - "whenUnsatisfiable": "ĄÇ稕Eɒ杞¹t骳ɰɰUʜʔŜ0¢啥Ƶ", + "whenUnsatisfiable": "衞Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢", "labelSelector": { "matchLabels": { - "7p--3zm-lx300w-tj-5.a-50/Z659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4": "gD.._.-x6db-L7.-_m" + "8----9s39z--f-l67-9a-trt-03-7z2zy0e428-4-k-2-08vh.3---60zvoe7-7973b--7-n-34-5-yqu20-9105g4-edj0fi-z-s--8/h_-2-.s_6O-5_7_-0w_--5-_.3--_9QW2JkU27_.-4T-I.-..K.-.0_s": "V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9n.p.2-.-Qw__YT.1---e" }, "matchExpressions": [ { - "key": "Y.39g_.--_-_ve5.m_U", - "operator": "NotIn", - "values": [ - "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" - ] + "key": "r1W7", + "operator": "Exists" } ] } } ], - "setHostnameAsFQDN": false + "setHostnameAsFQDN": true } }, - "ttlSecondsAfterFinished": -95236670 + "ttlSecondsAfterFinished": -1837907235 }, "status": { "conditions": [ { - "type": "-ÚŜĂwǐ擨^幸$Ż料ȭz", - "status": "试揯遐e4'ď曕椐敛n", - "lastProbeTime": "2740-10-14T09:28:06Z", - "lastTransitionTime": "2133-04-18T01:37:37Z", + "type": "鮩ĺJCuɖcʃ", + "status": "CƅR8ɷ|恫f籽š莾簏ì淵歔ųd", + "lastProbeTime": "2116-04-10T07:45:31Z", + "lastTransitionTime": "2470-09-04T16:34:06Z", "reason": "430", "message": "431" } ], - "active": -68737405, - "succeeded": -150478704, - "failed": 315828133 + "active": -176177167, + "succeeded": -191416591, + "failed": -1983720493 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb index f95c1870d217b..d6eebded726c0 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb and b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml index e8a6e70f961ab..be3355dfb3a0f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml @@ -74,32 +74,32 @@ spec: selfLink: "28" uid: ɸ=ǤÆ碛,1 spec: - activeDeadlineSeconds: -7565148469525206101 + activeDeadlineSeconds: 5467238651449736882 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: "376" - operator: "" + operator: ȣ±p values: - "377" matchFields: - key: "378" - operator: 蘇KŅ/»頸+SÄ蚃 + operator: 蜷ɔ幩 values: - "379" - weight: -1666319281 + weight: 2129989022 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "372" - operator: 揻-$ɽ丟×x + operator: "3" values: - "373" matchFields: - key: "374" - operator: 颶妧Ö闊 + operator: 8ŕİi騎C"6x values: - "375" podAffinity: @@ -107,23 +107,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: O._D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_1-1.99 - operator: Exists + - key: mcgr6---r58-e-l203-8sln7-3x-b--55037/1Z__Lv8_.O_..8n.--z_-..61 + operator: DoesNotExist matchLabels: - e..Or_-.3OHgt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz_.g.w-o.8_Wf: 53_-1y_8D_XX + x---p-pdn1.x-271s-p9-8--m-cbck561-72-l84--6/1o.w_aI._31-_I-o: u.nx.sEK4.B.__65m8_1-1.9_.-.Ms7_t.P_3 namespaces: - "394" topologyKey: "395" - weight: -478839383 + weight: -1312249623 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: y-9-te858----38----r-0.h-up52--sjo7799-skj5--9/H.I3.__-.0-z_z0sn_.hx_-a__0-8-.M-.7 - operator: In - values: - - q..csh-3--Z1Tvw39F_C-rtSY.gR + - key: 3-----995----5sumf7ef8jzv4-9-30.rt--6g1-2-73m-e46-r-g63--gt1--6mx-r-927--m6-g/4_.-_pP__up.2L_s-7 + operator: Exists matchLabels: - 2-_.uB-.--.gb_2_-8-----yJY.__-X_.8xN._-_-vv-Q2qz.W..4....-0: 5GgT7_7B_D-..-.k4u-zA_--_.-.6GA26C-s.Nj-d-4_4--.-_Z3 + 2k4u-zA_--_.-.6GA26C-s.Nj-d-4_4--.-_Z4.LA3HVG93_._.3: S_-.0-z_z0sn_.hx_-a__0-8-.M0 namespaces: - "386" topologyKey: "387" @@ -132,25 +130,27 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 1rhm-5y--z-0/5eQ9 + - key: 8-b6E_--Y_Dp8O_._e_3_.4_Wh operator: DoesNotExist matchLabels: - x.KNC0-.-m_0-m-6Sp_N-S..O-BZ..6-5: bB3_.b17ca-p + 1p7--43nw-l-x18mtxb--kexr-1-o--g-1.5gp-c-coa--y--4-1204wrb---1024g-5-3v9-9jcz9f-64/sx6db-L7.-__-G_2kCpS__.39g_.--_-v: GIT_B namespaces: - "410" topologyKey: "411" - weight: -1560706624 + weight: -1488504814 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 67F3p2_-_AmD-.0P - operator: DoesNotExist + - key: t-u-4----q-x3w3dn5-1rhm-5y--z---69o-9-69mxv17r--32b-----4-67t.qk5--f4e4--r1k278l-d-8o1-x-1wl-r/a6Sp_N-S..O-BZ..6-1.b + operator: In + values: + - f3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx.0 matchLabels: - 0--1----v8-4--558n1asz-r886-1--s/t: r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5 + t-_7_-Zp_._.-miJ4x-_0_5-_.73: 2_-_AmD-.0AP.-.C_--.F5_x.KNC0-r namespaces: - "402" topologyKey: "403" - automountServiceAccountToken: false + automountServiceAccountToken: true containers: - args: - "221" @@ -163,13 +163,13 @@ spec: configMapKeyRef: key: "235" name: "234" - optional: false + optional: true fieldRef: apiVersion: "230" fieldPath: "231" resourceFieldRef: containerName: "232" - divisor: "233" + divisor: "995" resource: "233" secretKeyRef: key: "237" @@ -182,145 +182,150 @@ spec: prefix: "225" secretRef: name: "227" - optional: false + optional: true image: "219" - imagePullPolicy: Ƿ裚瓶釆Ɗ+j忊 + imagePullPolicy: VƋZ1Ůđ眊ľǎɳ,ǿ飏 lifecycle: postStart: exec: command: - - "264" + - "263" httpGet: - host: "266" + host: "265" httpHeaders: - - name: "267" - value: "268" - path: "265" - port: 1923650413 - scheme: I粛E煹ǐƲE'iþŹʣy + - name: "266" + value: "267" + path: "264" + port: 1024248645 + scheme: 籘Àǒɿʒ刽ʼn tcpSocket: - host: "270" - port: "269" + host: "268" + port: 1591029717 preStop: exec: command: - - "271" + - "269" httpGet: - host: "274" + host: "272" httpHeaders: - - name: "275" - value: "276" - path: "272" - port: "273" - scheme: 敍0)鈼¬麄 + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: '[Řż丩' tcpSocket: - host: "277" - port: -648954478 + host: "276" + port: "275" livenessProbe: exec: command: - "244" - failureThreshold: -522126070 + failureThreshold: -1169420648 httpGet: - host: "246" + host: "247" httpHeaders: - - name: "247" - value: "248" + - name: "248" + value: "249" path: "245" - port: 1434408532 - scheme: '`劳&¼傭Ȟ1酃=6}ɡŇƉ立h' - initialDelaySeconds: -1628697284 - periodSeconds: 354496320 - successThreshold: -418887496 + port: "246" + scheme: '&蒒5靇C''ɵ' + initialDelaySeconds: 1768820087 + periodSeconds: -1153851625 + successThreshold: 1428858742 tcpSocket: host: "250" - port: "249" - timeoutSeconds: 843845736 + port: -2051962852 + timeoutSeconds: 471718695 name: "218" ports: - - containerPort: -1373541406 + - containerPort: 322201525 hostIP: "224" - hostPort: -1477511050 + hostPort: 1253093074 name: "223" - protocol: 栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼 + protocol: w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ readinessProbe: exec: command: - "251" - failureThreshold: -636855511 + failureThreshold: 1719293828 httpGet: host: "253" httpHeaders: - name: "254" value: "255" path: "252" - port: -1569009987 - scheme: ɢǵʭd鲡:贅wE@Ȗs«öʮĀ< - initialDelaySeconds: -1565157256 - periodSeconds: -1385586997 - successThreshold: 460997133 + port: -1470854631 + scheme: ùƸʋŀ樺ȃ + initialDelaySeconds: -1366875038 + periodSeconds: -2015604435 + successThreshold: 576428641 tcpSocket: host: "256" - port: 1702578303 - timeoutSeconds: -1113628381 + port: -270045321 + timeoutSeconds: -1188430996 + resizePolicy: + - policy: Ŭ + resourceName: "" resources: limits: - +ņ榱*Gưoɘ檲: "340" + "": "948" requests: - ʔŊƞ究:hoĂɋ瀐<ɉ湨H=å睫}堇: "690" + _瀹鞎sn芞QÄȻȊ+?: "193" + resourcesAllocated: + '@Ȗs«öʮĀ<é瞾': "51" securityContext: allowPrivilegeEscalation: false capabilities: add: - - 焗捏 + - ǎfǣ萭旿@掇 drop: - - Fħ籘Àǒɿʒ刽ʼn掏1ſ盷褎 - privileged: true - procMount: Z1Ůđ眊ľǎɳ,ǿ飏騀呣 - readOnlyRootFilesystem: false - runAsGroup: -3078742976292946468 + - Ndǂ>5姣>懔%熷谟þ蛯ɰ + privileged: false + procMount: ĠLƐȤ藠3.v-鿧悮坮Ȣ幟ļ + readOnlyRootFilesystem: true + runAsGroup: -5068408077954798106 runAsNonRoot: false - runAsUser: 1875040261412240501 + runAsUser: 63880647284912382 seLinuxOptions: - level: "282" - role: "280" - type: "281" - user: "279" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "284" - gmsaCredentialSpecName: "283" - runAsUserName: "285" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - "257" - failureThreshold: -1169420648 + failureThreshold: 441998152 httpGet: - host: "260" + host: "259" httpHeaders: - - name: "261" - value: "262" + - name: "260" + value: "261" path: "258" - port: "259" - scheme: '&蒒5靇C''ɵ' - initialDelaySeconds: 1768820087 - periodSeconds: -1153851625 - successThreshold: 1428858742 + port: -103588794 + scheme: ',铻OŤǢʭ嵔棂p儼Ƿ裚瓶' + initialDelaySeconds: -1275947865 + periodSeconds: -560140039 + successThreshold: -1933850966 tcpSocket: - host: "263" - port: -2051962852 - timeoutSeconds: 471718695 + host: "262" + port: -1549755975 + timeoutSeconds: -2112697830 stdin: true - stdinOnce: true - terminationMessagePath: "278" + terminationMessagePath: "277" tty: true volumeDevices: - devicePath: "243" name: "242" volumeMounts: - mountPath: "239" - mountPropagation: ï瓼猀2:öY鶪5w垁 + mountPropagation: "" name: "238" + readOnly: true subPath: "240" subPathExpr: "241" workingDir: "222" @@ -332,42 +337,41 @@ spec: value: "421" searches: - "419" - dnsPolicy: 遰=E + dnsPolicy: ƺ蛜6Ɖ飴ɎiǨź enableServiceLinks: true ephemeralContainers: - args: - - "289" - command: - "288" + command: + - "287" env: - - name: "296" - value: "297" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "303" - name: "302" + key: "302" + name: "301" optional: false fieldRef: - apiVersion: "298" - fieldPath: "299" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "300" - divisor: "578" - resource: "301" + containerName: "299" + divisor: "99" + resource: "300" secretKeyRef: - key: "305" - name: "304" - optional: true + key: "304" + name: "303" + optional: false envFrom: - configMapRef: - name: "294" - optional: false - prefix: "293" + name: "293" + optional: true + prefix: "292" secretRef: - name: "295" - optional: false - image: "287" - imagePullPolicy: ':' + name: "294" + optional: true + image: "286" lifecycle: postStart: exec: @@ -380,10 +384,10 @@ spec: value: "337" path: "333" port: "334" - scheme: 跦Opwǩ曬逴褜1 + scheme: gw忊|E tcpSocket: host: "338" - port: -1801140031 + port: -438588982 preStop: exec: command: @@ -394,76 +398,80 @@ spec: - name: "342" value: "343" path: "340" - port: 785984384 - scheme: 熪军g>郵[+扴ȨŮ+朷Ǝ膯ljVX + port: 834105836 + scheme: 朦 wƯ貾坢'跩 tcpSocket: host: "345" port: "344" livenessProbe: exec: command: - - "312" - failureThreshold: 958482756 + - "311" + failureThreshold: -1191528701 httpGet: - host: "315" + host: "313" httpHeaders: - - name: "316" - value: "317" - path: "313" - port: "314" - scheme: 牐ɺ皚|懥 - initialDelaySeconds: 1146016612 - periodSeconds: -1032967081 - successThreshold: 59664438 + - name: "314" + value: "315" + path: "312" + port: -1463645123 + scheme: 荙JLĹ]佱¿>犵殇ŕ + initialDelaySeconds: -940414829 + periodSeconds: 467291328 + successThreshold: -1664778008 tcpSocket: - host: "319" - port: "318" - timeoutSeconds: 1495880465 - name: "286" + host: "317" + port: "316" + timeoutSeconds: -1257509355 + name: "285" ports: - - containerPort: 284401429 - hostIP: "292" - hostPort: -1343558801 - name: "291" - protocol: 掇lN + - containerPort: 1179132251 + hostIP: "291" + hostPort: -1336170981 + name: "290" + protocol: Kʝ瘴I\p[ħsĨɆâĺɗ readinessProbe: exec: command: - - "320" - failureThreshold: 630004123 + - "318" + failureThreshold: 102402611 httpGet: - host: "322" + host: "320" httpHeaders: - - name: "323" - value: "324" - path: "321" - port: -1983953959 - scheme: 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶 - initialDelaySeconds: 1995332035 - periodSeconds: -1020896847 - successThreshold: 1074486306 + - name: "321" + value: "322" + path: "319" + port: -2034161591 + initialDelaySeconds: 1748715911 + periodSeconds: 508868877 + successThreshold: 1043311000 tcpSocket: - host: "325" - port: -2107743490 - timeoutSeconds: 960499098 + host: "323" + port: 453108839 + timeoutSeconds: -888240870 + resizePolicy: + - policy: ȓ蹣ɐǛv+8Ƥ熪军 + resourceName: 瘦ɖ緕ȚÍ勅跦Opwǩ曬逴 resources: limits: - þ蛯ɰ荶lj: "397" + 攤/ɸɎ R§耶FfBl: "326" requests: - t颟.鵫ǚ灄鸫rʤî萨zvt莭: "453" + ɱJȉ罴: "587" + resourcesAllocated: + Ó6dz娝嘚庎D}埽uʎȺ眖R#yV: "156" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - 唊#v铿 + - \E¦队偯J僳徥淳 drop: - - Ȃ4 + - 揻-$ɽ丟×x privileged: false - procMount: 苧yñKJɐ扵Gƚ绤fʀļ腩 + procMount: M蘇KŅ/»頸+SÄ蚃ɣľ)酊龨δ readOnlyRootFilesystem: false - runAsGroup: -2630324001819898514 + runAsGroup: 8194791334069427324 runAsNonRoot: false - runAsUser: 4480986625444454685 + runAsUser: -816831389119959689 seLinuxOptions: level: "350" role: "348" @@ -476,42 +484,45 @@ spec: startupProbe: exec: command: - - "326" - failureThreshold: -1423854443 + - "324" + failureThreshold: -953295185 httpGet: - host: "328" + host: "327" httpHeaders: - - name: "329" - value: "330" - path: "327" - port: 714088955 - scheme: źȰ?$矡ȶ网棊ʢ=wǕɳ - initialDelaySeconds: -1962065705 - periodSeconds: -1364571630 - successThreshold: 1689978741 + - name: "328" + value: "329" + path: "325" + port: "326" + scheme: T 苧yñKJɐ扵G + initialDelaySeconds: 1543146222 + periodSeconds: 2098694289 + successThreshold: 1150925735 tcpSocket: host: "331" - port: 1752155096 - timeoutSeconds: 1701999128 + port: "330" + timeoutSeconds: -527306221 + stdin: true targetContainerName: "354" terminationMessagePath: "346" - terminationMessagePolicy: 谇j爻ƙ + terminationMessagePolicy: 翑0展}硐庰%皧V垾 tty: true volumeDevices: - - devicePath: "311" - name: "310" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "307" - mountPropagation: Ȣ幟ļ腻Ŭ - name: "306" - subPath: "308" - subPathExpr: "309" - workingDir: "290" + - mountPath: "306" + mountPropagation: "" + name: "305" + readOnly: true + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - "416" ip: "415" hostIPC: true + hostPID: true hostname: "370" imagePullSecrets: - name: "369" @@ -548,7 +559,7 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 瑥A + imagePullPolicy: ;栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼 lifecycle: postStart: exec: @@ -561,30 +572,30 @@ spec: value: "200" path: "196" port: "197" - scheme: ƭt?QȫşŇɜ + scheme: ł/擇ɦĽ胚O醔ɍ厶 tcpSocket: - host: "202" - port: "201" + host: "201" + port: -2101285839 preStop: exec: command: - - "203" + - "202" httpGet: - host: "206" + host: "205" httpHeaders: - - name: "207" - value: "208" - path: "204" - port: "205" - scheme: 抴ŨfZhUʎ浵ɲõ + - name: "206" + value: "207" + path: "203" + port: "204" + scheme: 腿ħ缶.蒅!a tcpSocket: host: "209" - port: -1980941277 + port: "208" livenessProbe: exec: command: - "173" - failureThreshold: -20764200 + failureThreshold: 1801487647 httpGet: host: "176" httpHeaders: @@ -592,14 +603,14 @@ spec: value: "178" path: "174" port: "175" - scheme: ȲϤĦʅ芝M - initialDelaySeconds: 664393458 - periodSeconds: 964433164 - successThreshold: 679825403 + scheme: 猤痈C*ĕ + initialDelaySeconds: -1258607232 + periodSeconds: 147264373 + successThreshold: 441887498 tcpSocket: - host: "179" - port: 1784914896 - timeoutSeconds: -573382936 + host: "180" + port: "179" + timeoutSeconds: 1525389481 name: "147" ports: - containerPort: 223177366 @@ -610,41 +621,46 @@ spec: readinessProbe: exec: command: - - "180" - failureThreshold: -2039036935 + - "181" + failureThreshold: -1558831136 httpGet: host: "183" httpHeaders: - name: "184" value: "185" - path: "181" - port: "182" - scheme: 狩鴈o_ - initialDelaySeconds: -1249460160 - periodSeconds: -1944279238 - successThreshold: 1169718433 + path: "182" + port: -2039036935 + scheme: Ř阌Ŗ怳冘HǺƶȤ^}穠C]躢|)黰 + initialDelaySeconds: -823262536 + periodSeconds: -1351421716 + successThreshold: 798141673 tcpSocket: - host: "187" - port: "186" - timeoutSeconds: -1027661779 + host: "186" + port: 868561690 + timeoutSeconds: -1592768397 + resizePolicy: + - policy: ĦE勗E濞偘1 + resourceName: ^ resources: limits: '&啞川J缮ǚbJ': "99" requests: /淹\韲翁&ʢsɜ曢\%枅:=ǛƓ: "330" + resourcesAllocated: + Ǐ2啗塧ȱ蓿彭聡A3fƻfʣ: "115" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - Ɋł/擇ɦĽ胚O醔ɍ厶耈  + - 跾|@?鷅bȻN+ņ榱* drop: - - 衧ȇe媹H + - ưoɘ檲ɨ銦妰黖ȓƇ$缔獵偐ę腬 privileged: false - procMount: ĵ - readOnlyRootFilesystem: true - runAsGroup: 2900848145000451690 + procMount: 寬娬ï瓼猀 + readOnlyRootFilesystem: false + runAsGroup: -2680495615959706755 runAsNonRoot: false - runAsUser: 7459999274215055423 + runAsUser: 4601591146761894764 seLinuxOptions: level: "214" role: "212" @@ -657,33 +673,35 @@ spec: startupProbe: exec: command: - - "188" - failureThreshold: -239847982 + - "187" + failureThreshold: 1891896870 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" - path: "189" - port: "190" - scheme: ƅTG - initialDelaySeconds: 1233814916 - periodSeconds: 487826951 - successThreshold: 87018792 + - name: "191" + value: "192" + path: "188" + port: "189" + scheme: )ÙæNǚ錯ƶRquA?瞲Ť倱 + initialDelaySeconds: 1556981689 + periodSeconds: -163325250 + successThreshold: 1607133856 tcpSocket: host: "194" - port: -1629040033 - timeoutSeconds: 1632959949 + port: "193" + timeoutSeconds: 1288053477 + stdin: true terminationMessagePath: "210" - terminationMessagePolicy: 蕭k ź贩j + terminationMessagePolicy: '`涁İ而踪鄌eÞ' tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: 2啗塧ȱ蓿彭聡A3fƻfʣ繡楙¯ĦE勗 + mountPropagation: 議Ǹ轺@)蓳嗘 name: "167" + readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" @@ -691,28 +709,28 @@ spec: nodeSelector: "355": "356" overhead: - 颮6(|ǖûǭg怨彬ɈNƋl塠: "609" - preemptionPolicy: Ŏ群E牬 - priority: -1965712376 + =掔廛ĤJŇv膈ǣʛ: "593" + preemptionPolicy: oǰ'źĄ栧焷蜪sÛ° + priority: -190325707 priorityClassName: "417" readinessGates: - - conditionType: 沷¾!蘋`翾 - restartPolicy: 媁荭gw忊 + - conditionType: /vɟ擅Ɇǥȼ + restartPolicy: ğ_ runtimeClassName: "422" schedulerName: "412" securityContext: - fsGroup: -1212012606981050727 - fsGroupChangePolicy: 展}硐庰%皧V垾现葢ŵ橨鬶l獕;跣 - runAsGroup: 2695823502041400376 - runAsNonRoot: false - runAsUser: 2651364835047718925 + fsGroup: -3042614092601658792 + fsGroupChangePolicy: 鬍熖B芭花ª瘡蟦JBʟ鍏H鯂² + runAsGroup: -500234369132816308 + runAsNonRoot: true + runAsUser: 2706433733228765005 seLinuxOptions: level: "363" role: "361" type: "362" user: "360" supplementalGroups: - - -2910346974754087949 + - 3634773701753283428 sysctls: - name: "367" value: "368" @@ -722,27 +740,27 @@ spec: runAsUserName: "366" serviceAccount: "358" serviceAccountName: "357" - setHostnameAsFQDN: false - shareProcessNamespace: false + setHostnameAsFQDN: true + shareProcessNamespace: true subdomain: "371" - terminationGracePeriodSeconds: -4333562938396485230 + terminationGracePeriodSeconds: -248858064787887784 tolerations: - - effect: ɂ挃Ū + - effect: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 key: "413" - tolerationSeconds: 4056431723868092838 + operator: Ȭ痍脉PPöƌ镳 + tolerationSeconds: 1936690195224605279 value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: Y.39g_.--_-_ve5.m_U - operator: NotIn - values: - - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 + - key: r1W7 + operator: Exists matchLabels: - 7p--3zm-lx300w-tj-5.a-50/Z659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4: gD.._.-x6db-L7.-_m - maxSkew: 163034368 + ? 8----9s39z--f-l67-9a-trt-03-7z2zy0e428-4-k-2-08vh.3---60zvoe7-7973b--7-n-34-5-yqu20-9105g4-edj0fi-z-s--8/h_-2-.s_6O-5_7_-0w_--5-_.3--_9QW2JkU27_.-4T-I.-..K.-.0_s + : V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9n.p.2-.-Qw__YT.1---e + maxSkew: -2033799662 topologyKey: "423" - whenUnsatisfiable: ĄÇ稕Eɒ杞¹t骳ɰɰUʜʔŜ0¢啥Ƶ + whenUnsatisfiable: 衞Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢 volumes: - awsElasticBlockStore: fsType: "47" @@ -940,15 +958,15 @@ spec: storagePolicyID: "104" storagePolicyName: "103" volumePath: "101" - ttlSecondsAfterFinished: -95236670 + ttlSecondsAfterFinished: -1837907235 status: - active: -68737405 + active: -176177167 conditions: - - lastProbeTime: "2740-10-14T09:28:06Z" - lastTransitionTime: "2133-04-18T01:37:37Z" + - lastProbeTime: "2116-04-10T07:45:31Z" + lastTransitionTime: "2470-09-04T16:34:06Z" message: "431" reason: "430" - status: 试揯遐e4'ď曕椐敛n - type: -ÚŜĂwǐ擨^幸$Ż料ȭz - failed: 315828133 - succeeded: -150478704 + status: CƅR8ɷ|恫f籽š莾簏ì淵歔ųd + type: 鮩ĺJCuɖcʃ + failed: -1983720493 + succeeded: -191416591 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json index f444a36ceefef..da94aa0496b6c 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json @@ -484,13 +484,22 @@ "To\u0026蕭k ź": "644" } }, + "resourcesAllocated": { + "朘瑥A徙ɶɊ": "742" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "擇ɦĽ胚O醔ɍ厶耈 T衧ȇe媹Hǝ呮}" + } + ], "volumeMounts": [ { "name": "185", "readOnly": true, "mountPath": "186", "subPath": "187", - "mountPropagation": "瑥A", + "mountPropagation": "ð»ųKĵ", "subPathExpr": "188" } ], @@ -508,142 +517,143 @@ }, "httpGet": { "path": "192", - "port": "193", - "host": "194", - "scheme": "0åȂ町恰nj揠8lj", + "port": 213614618, + "host": "193", + "scheme": "ȦY籎", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "194", + "value": "195" } ] }, "tcpSocket": { - "port": -2049272966, - "host": "197" + "port": -582473401, + "host": "196" }, - "initialDelaySeconds": -1188153605, - "timeoutSeconds": -427769948, - "periodSeconds": 912004803, - "successThreshold": -2098817064, - "failureThreshold": 1231820696 + "initialDelaySeconds": -1252931244, + "timeoutSeconds": 1569992019, + "periodSeconds": 1061537, + "successThreshold": 322666556, + "failureThreshold": -814446577 }, "readinessProbe": { "exec": { "command": [ - "198" + "197" ] }, "httpGet": { - "path": "199", - "port": "200", - "host": "201", + "path": "198", + "port": "199", + "host": "200", + "scheme": "Rƥ贫d飼$俊跾|@?鷅b", "httpHeaders": [ { - "name": "202", - "value": "203" + "name": "201", + "value": "202" } ] }, "tcpSocket": { - "port": 675406340, - "host": "204" + "port": 200992434, + "host": "203" }, - "initialDelaySeconds": 994527057, - "timeoutSeconds": -1482763519, - "periodSeconds": -1346458591, - "successThreshold": 1234551517, - "failureThreshold": -1618937335 + "initialDelaySeconds": 896368653, + "timeoutSeconds": -1167973499, + "periodSeconds": 692541847, + "successThreshold": 996680040, + "failureThreshold": 142244414 }, "startupProbe": { "exec": { "command": [ - "205" + "204" ] }, "httpGet": { - "path": "206", - "port": "207", - "host": "208", - "scheme": "eÞȦY籎顒", + "path": "205", + "port": "206", + "host": "207", + "scheme": "櫸eʔŊ", "httpHeaders": [ { - "name": "209", - "value": "210" + "name": "208", + "value": "209" } ] }, "tcpSocket": { - "port": "211", - "host": "212" + "port": 731879508, + "host": "210" }, - "initialDelaySeconds": -1252931244, - "timeoutSeconds": 1569992019, - "periodSeconds": 1061537, - "successThreshold": 322666556, - "failureThreshold": -814446577 + "initialDelaySeconds": 1705239007, + "timeoutSeconds": 1367201035, + "periodSeconds": 173030157, + "successThreshold": 1530176864, + "failureThreshold": 2057433923 }, "lifecycle": { "postStart": { "exec": { "command": [ - "213" + "211" ] }, "httpGet": { - "path": "214", - "port": -1171060347, - "host": "215", - "scheme": "咻痗ȡmƴy綸_Ú8參遼ūPH炮掊°", + "path": "212", + "port": "213", + "host": "214", + "scheme": "H=å", "httpHeaders": [ { - "name": "216", - "value": "217" + "name": "215", + "value": "216" } ] }, "tcpSocket": { - "port": "218", - "host": "219" + "port": "217", + "host": "218" } }, "preStop": { "exec": { "command": [ - "220" + "219" ] }, "httpGet": { - "path": "221", - "port": -1319998825, - "host": "222", - "scheme": "銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ", + "path": "220", + "port": -2035009296, + "host": "221", + "scheme": "ï瓼猀2:öY鶪5w垁", "httpHeaders": [ { - "name": "223", - "value": "224" + "name": "222", + "value": "223" } ] }, "tcpSocket": { - "port": 1180382332, + "port": "224", "host": "225" } } }, "terminationMessagePath": "226", - "terminationMessagePolicy": "H韹寬娬ï瓼猀2:öY鶪5w垁", - "imagePullPolicy": "儣廡ɑ龫`劳\u0026¼傭", + "terminationMessagePolicy": "虽U珝Żwʮ馜üNșƶ4ĩĉş蝿ɖȃ", + "imagePullPolicy": "dz緄", "securityContext": { "capabilities": { "add": [ - "酃=6}ɡŇƉ立hdz緄Ú|dk_瀹鞎" + "dk_" ], "drop": [ - "n芞QÄȻȊ+?ƭ峧Y栲茇竛" + "鞎sn芞QÄȻȊ+?ƭ峧Y栲茇竛吲蚛" ] }, - "privileged": true, + "privileged": false, "seLinuxOptions": { "user": "227", "role": "228", @@ -655,12 +665,12 @@ "gmsaCredentialSpec": "232", "runAsUserName": "233" }, - "runAsUser": 4875570291212151521, - "runAsGroup": -593458796014416333, + "runAsUser": -8450215029913275287, + "runAsGroup": 4528195653674047608, "runAsNonRoot": true, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "軶ǃ*ʙ嫙\u0026蒒5靇" + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "*ʙ嫙\u0026蒒5靇C'ɵK." }, "stdin": true, "stdinOnce": true @@ -680,9 +690,8 @@ "ports": [ { "name": "239", - "hostPort": 2126876305, - "containerPort": -2051962852, - "protocol": "貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲE'iþ", + "hostPort": 1428858742, + "containerPort": -1169420648, "hostIP": "240" } ], @@ -711,7 +720,7 @@ "resourceFieldRef": { "containerName": "248", "resource": "249", - "divisor": "109" + "divisor": "398" }, "configMapKeyRef": { "name": "250", @@ -728,18 +737,27 @@ ], "resources": { "limits": { - "ŤǢʭ嵔棂p儼Ƿ裚瓶": "806" + "E'iþŹʣy": "236" }, "requests": { - "ɩC": "766" + "漘Z剚敍0)": "908" } }, + "resourcesAllocated": { + "ʭ嵔棂p儼Ƿ裚瓶釆Ɗ+j忊Ŗ": "976" + }, + "resizePolicy": [ + { + "resourceName": "塓烀罁胾^拜Ȍzɟ踡肒Ao/樝f", + "policy": "weLJèux榜VƋ" + } + ], "volumeMounts": [ { "name": "254", "mountPath": "255", "subPath": "256", - "mountPropagation": "ȫ焗捏ĨFħ籘Àǒɿʒ刽", + "mountPropagation": "Ůđ眊ľǎɳ,ǿ飏騀呣ǎfǣ萭旿", "subPathExpr": "257" } ], @@ -757,219 +775,219 @@ }, "httpGet": { "path": "261", - "port": -342705708, - "host": "262", - "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", + "port": "262", + "host": "263", + "scheme": "İ榌U髷裎$MVȟ@", "httpHeaders": [ { - "name": "263", - "value": "264" + "name": "264", + "value": "265" } ] }, "tcpSocket": { - "port": 88483549, - "host": "265" + "port": 2134439962, + "host": "266" }, - "initialDelaySeconds": 364078113, - "timeoutSeconds": -181693648, - "periodSeconds": 828173251, - "successThreshold": -394397948, - "failureThreshold": 2040455355 + "initialDelaySeconds": -1916431706, + "timeoutSeconds": 1636034620, + "periodSeconds": 507824260, + "successThreshold": 14873372, + "failureThreshold": 1919527626 }, "readinessProbe": { "exec": { "command": [ - "266" + "267" ] }, "httpGet": { - "path": "267", - "port": 474119379, - "host": "268", - "scheme": "萭旿@掇lNdǂ\u003e5姣", + "path": "268", + "port": "269", + "host": "270", + "scheme": "嚏吐Ġ", "httpHeaders": [ { - "name": "269", - "value": "270" + "name": "271", + "value": "272" } ] }, "tcpSocket": { - "port": 1498833271, - "host": "271" + "port": "273", + "host": "274" }, - "initialDelaySeconds": 1505082076, - "timeoutSeconds": 1447898632, - "periodSeconds": 1602745893, - "successThreshold": 1599076900, - "failureThreshold": -1920661051 + "initialDelaySeconds": -850069363, + "timeoutSeconds": 918929368, + "periodSeconds": 1016277253, + "successThreshold": -1983795633, + "failureThreshold": 920126178 }, "startupProbe": { "exec": { "command": [ - "272" + "275" ] }, "httpGet": { - "path": "273", - "port": "274", - "host": "275", - "scheme": "¸", + "path": "276", + "port": 1182477686, + "host": "277", "httpHeaders": [ { - "name": "276", - "value": "277" + "name": "278", + "value": "279" } ] }, "tcpSocket": { - "port": "278", - "host": "279" + "port": -763687725, + "host": "280" }, - "initialDelaySeconds": -161753937, - "timeoutSeconds": -1578746609, - "periodSeconds": 1428207963, - "successThreshold": 790462391, - "failureThreshold": -822090785 + "initialDelaySeconds": -246563990, + "timeoutSeconds": 10098903, + "periodSeconds": 1095256400, + "successThreshold": 1761963371, + "failureThreshold": 645599318 }, "lifecycle": { "postStart": { "exec": { "command": [ - "280" + "281" ] }, "httpGet": { - "path": "281", - "port": -421846800, - "host": "282", - "scheme": "zvt莭琽§", + "path": "282", + "port": -517233792, + "host": "283", + "scheme": "|懥ƖN粕擓ƖHVe熼", "httpHeaders": [ { - "name": "283", - "value": "284" + "name": "284", + "value": "285" } ] }, "tcpSocket": { - "port": -763687725, - "host": "285" + "port": -327987957, + "host": "286" } }, "preStop": { "exec": { "command": [ - "286" + "287" ] }, "httpGet": { - "path": "287", - "port": -1452676801, - "host": "288", - "scheme": "ȿ0矀Kʝ", + "path": "288", + "port": "289", + "host": "290", + "scheme": "UÐ_ƮA攤/ɸɎ", "httpHeaders": [ { - "name": "289", - "value": "290" + "name": "291", + "value": "292" } ] }, "tcpSocket": { - "port": "291", - "host": "292" + "port": "293", + "host": "294" } } }, - "terminationMessagePath": "293", - "terminationMessagePolicy": "\\p[", - "imagePullPolicy": "擓ƖHVe熼'FD剂讼ɓȌʟni酛", + "terminationMessagePath": "295", + "terminationMessagePolicy": "§耶", + "imagePullPolicy": "杙Ŧ癃8鸖ɱJȉ", "securityContext": { "capabilities": { "add": [ - "À*f\u003c鴒翁杙Ŧ癃8" + "螡źȰ?$矡ȶ网棊ʢ=wǕɳ" ], "drop": [ - "ɱJȉ罴" + "9Ì" ] }, "privileged": false, "seLinuxOptions": { - "user": "294", - "role": "295", - "type": "296", - "level": "297" + "user": "296", + "role": "297", + "type": "298", + "level": "299" }, "windowsOptions": { - "gmsaCredentialSpecName": "298", - "gmsaCredentialSpec": "299", - "runAsUserName": "300" + "gmsaCredentialSpecName": "300", + "gmsaCredentialSpec": "301", + "runAsUserName": "302" }, - "runAsUser": -2706913289057230267, - "runAsGroup": -3689959065086680033, + "runAsUser": 4984211709342975861, + "runAsGroup": -6115408265471385577, "runAsNonRoot": false, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅" + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "Opwǩ曬逴褜1ØœȠƬQg鄠" }, - "stdinOnce": true + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "301", - "image": "302", + "name": "303", + "image": "304", "command": [ - "303" + "305" ], "args": [ - "304" + "306" ], - "workingDir": "305", + "workingDir": "307", "ports": [ { - "name": "306", - "hostPort": 1853396726, - "containerPort": 1330271338, - "protocol": "逴", - "hostIP": "307" + "name": "308", + "hostPort": -1556231754, + "containerPort": 461585849, + "protocol": "ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ", + "hostIP": "309" } ], "envFrom": [ { - "prefix": "308", + "prefix": "310", "configMapRef": { - "name": "309", + "name": "311", "optional": true }, "secretRef": { - "name": "310", - "optional": true + "name": "312", + "optional": false } } ], "env": [ { - "name": "311", - "value": "312", + "name": "313", + "value": "314", "valueFrom": { "fieldRef": { - "apiVersion": "313", - "fieldPath": "314" + "apiVersion": "315", + "fieldPath": "316" }, "resourceFieldRef": { - "containerName": "315", - "resource": "316", - "divisor": "709" + "containerName": "317", + "resource": "318", + "divisor": "421" }, "configMapKeyRef": { - "name": "317", - "key": "318", + "name": "319", + "key": "320", "optional": false }, "secretKeyRef": { - "name": "319", - "key": "320", + "name": "321", + "key": "322", "optional": false } } @@ -977,94 +995,103 @@ ], "resources": { "limits": { - "颐o": "230" + "Ȃ4": "239" }, "requests": { - "[+扴ȨŮ+朷Ǝ膯ljV": "728" + "ʁ岼昕ĬÇ": "758" } }, + "resourcesAllocated": { + " 苧yñKJɐ": "894" + }, + "resizePolicy": [ + { + "resourceName": "鐫û咡W\u003c敄lu|榝", + "policy": "gw忊|E" + } + ], "volumeMounts": [ { - "name": "321", - "mountPath": "322", - "subPath": "323", - "mountPropagation": "ŕ-Ɂ圯W:ĸ輦唊#v铿", - "subPathExpr": "324" + "name": "323", + "mountPath": "324", + "subPath": "325", + "mountPropagation": "|表徶đ", + "subPathExpr": "326" } ], "volumeDevices": [ { - "name": "325", - "devicePath": "326" + "name": "327", + "devicePath": "328" } ], "livenessProbe": { "exec": { "command": [ - "327" + "329" ] }, "httpGet": { - "path": "328", - "port": "329", - "host": "330", - "scheme": "屡ʁ", + "path": "330", + "port": -1246371817, + "host": "331", + "scheme": "貾坢'跩aŕ翑0", "httpHeaders": [ { - "name": "331", - "value": "332" + "name": "332", + "value": "333" } ] }, "tcpSocket": { - "port": -1554559634, - "host": "333" + "port": 1165327504, + "host": "334" }, - "initialDelaySeconds": 1718241831, - "timeoutSeconds": 550615941, - "periodSeconds": 1180971695, - "successThreshold": -1971944908, - "failureThreshold": 1742259603 + "initialDelaySeconds": -2165496, + "timeoutSeconds": -1778952574, + "periodSeconds": 1386255869, + "successThreshold": -778272981, + "failureThreshold": 2056774277 }, "readinessProbe": { "exec": { "command": [ - "334" + "335" ] }, "httpGet": { - "path": "335", - "port": -1620315711, - "host": "336", - "scheme": "ɐ扵", + "path": "336", + "port": -1928016742, + "host": "337", + "scheme": "E¦", "httpHeaders": [ { - "name": "337", - "value": "338" + "name": "338", + "value": "339" } ] }, "tcpSocket": { - "port": "339", - "host": "340" + "port": "340", + "host": "341" }, - "initialDelaySeconds": -1358663652, - "timeoutSeconds": 1543146222, - "periodSeconds": -527306221, - "successThreshold": 2098694289, - "failureThreshold": 1150925735 + "initialDelaySeconds": 1868887309, + "timeoutSeconds": -528664199, + "periodSeconds": -316996074, + "successThreshold": 1933968533, + "failureThreshold": 549215478 }, "startupProbe": { "exec": { "command": [ - "341" + "342" ] }, "httpGet": { - "path": "342", - "port": "343", + "path": "343", + "port": -374766088, "host": "344", - "scheme": "榝$î.Ȏ蝪ʜ5遰", + "scheme": "翜舞拉Œ", "httpHeaders": [ { "name": "345", @@ -1073,27 +1100,26 @@ ] }, "tcpSocket": { - "port": -1438286448, - "host": "347" + "port": "347", + "host": "348" }, - "initialDelaySeconds": 834105836, - "timeoutSeconds": -1462219068, - "periodSeconds": -370386363, - "successThreshold": 1714588921, - "failureThreshold": -1246371817 + "initialDelaySeconds": -190183379, + "timeoutSeconds": -940334911, + "periodSeconds": -341287812, + "successThreshold": 2030115750, + "failureThreshold": 1847163341 }, "lifecycle": { "postStart": { "exec": { "command": [ - "348" + "349" ] }, "httpGet": { - "path": "349", - "port": "350", + "path": "350", + "port": -816630929, "host": "351", - "scheme": "跩aŕ翑", "httpHeaders": [ { "name": "352", @@ -1102,21 +1128,21 @@ ] }, "tcpSocket": { - "port": "354", - "host": "355" + "port": 1965273344, + "host": "354" } }, "preStop": { "exec": { "command": [ - "356" + "355" ] }, "httpGet": { - "path": "357", - "port": 1017803158, + "path": "356", + "port": "357", "host": "358", - "scheme": "碔", + "scheme": "SÄ蚃ɣľ)酊龨δ摖ȱğ_\u003c", "httpHeaders": [ { "name": "359", @@ -1125,93 +1151,94 @@ ] }, "tcpSocket": { - "port": "361", - "host": "362" + "port": -385597677, + "host": "361" } } }, - "terminationMessagePath": "363", - "terminationMessagePolicy": "Kƙ順\\E¦队偯J僳徥淳4揻-$ɽ丟", - "imagePullPolicy": "拉Œɥ颶妧Ö闊 鰔澝qV訆", + "terminationMessagePath": "362", + "terminationMessagePolicy": "橈'", + "imagePullPolicy": "Ɖ飴ɎiǨ", "securityContext": { "capabilities": { "add": [ - "ŧL²sNƗ¸gĩ餠籲磣Óƿ" + "ǵɐ鰥Z" ], "drop": [ - "\"冓鍓贯澔 ƺ蛜6" + "´DÒȗÔÂɘɢ鬍熖B芭花ª瘡" ] }, "privileged": false, "seLinuxOptions": { - "user": "364", - "role": "365", - "type": "366", - "level": "367" + "user": "363", + "role": "364", + "type": "365", + "level": "366" }, "windowsOptions": { - "gmsaCredentialSpecName": "368", - "gmsaCredentialSpec": "369", - "runAsUserName": "370" + "gmsaCredentialSpecName": "367", + "gmsaCredentialSpec": "368", + "runAsUserName": "369" }, - "runAsUser": 4353696140684277635, - "runAsGroup": 6057650398488995896, - "runAsNonRoot": true, + "runAsUser": -1666202510534940446, + "runAsGroup": 2823592889848840099, + "runAsNonRoot": false, "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "鰥Z龏´DÒȗ" + "allowPrivilegeEscalation": true, + "procMount": "ƲǦŐnj汰" }, - "tty": true, - "targetContainerName": "371" + "stdin": true, + "targetContainerName": "370" } ], - "restartPolicy": "ɘɢ鬍熖B芭花ª瘡", - "terminationGracePeriodSeconds": 2666412258966278206, - "activeDeadlineSeconds": -8715915045560617563, - "dnsPolicy": "丆", + "restartPolicy": "İ", + "terminationGracePeriodSeconds": -7113907198031116027, + "activeDeadlineSeconds": -6937733263836228614, + "dnsPolicy": "OǨ繫ʎǑyZ", "nodeSelector": { - "372": "373" + "371": "372" }, - "serviceAccountName": "374", - "serviceAccount": "375", + "serviceAccountName": "373", + "serviceAccount": "374", "automountServiceAccountToken": false, - "nodeName": "376", + "nodeName": "375", "hostPID": true, + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "377", - "role": "378", - "type": "379", - "level": "380" + "user": "376", + "role": "377", + "type": "378", + "level": "379" }, "windowsOptions": { - "gmsaCredentialSpecName": "381", - "gmsaCredentialSpec": "382", - "runAsUserName": "383" + "gmsaCredentialSpecName": "380", + "gmsaCredentialSpec": "381", + "runAsUserName": "382" }, - "runAsUser": 2179199799235189619, - "runAsGroup": -779972051078659613, - "runAsNonRoot": false, + "runAsUser": 2064297229886854304, + "runAsGroup": -1909378223379552949, + "runAsNonRoot": true, "supplementalGroups": [ - -7127205672279904050 + 8403394374485358747 ], - "fsGroup": 7124276984274024394, + "fsGroup": -497502651173077685, "sysctls": [ { - "name": "384", - "value": "385" + "name": "383", + "value": "384" } ], - "fsGroupChangePolicy": "蹔ŧ" + "fsGroupChangePolicy": "pɵ{" }, "imagePullSecrets": [ { - "name": "386" + "name": "385" } ], - "hostname": "387", - "subdomain": "388", + "hostname": "386", + "subdomain": "387", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1219,19 +1246,19 @@ { "matchExpressions": [ { - "key": "389", - "operator": "1sȣ±p鋄5", + "key": "388", + "operator": "ş", "values": [ - "390" + "389" ] } ], "matchFields": [ { - "key": "391", - "operator": "幩šeSvEȤƏ埮pɵ", + "key": "390", + "operator": "ȭCV擭銆jʒǚ鍰\\縑ɀ撑¼蠾8餑噭", "values": [ - "392" + "391" ] } ] @@ -1240,23 +1267,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1449289597, + "weight": 403603802, "preference": { "matchExpressions": [ { - "key": "393", - "operator": "", + "key": "392", + "operator": "P)", "values": [ - "394" + "393" ] } ], "matchFields": [ { - "key": "395", - "operator": "ş", + "key": "394", + "operator": "ƷƣMț", "values": [ - "396" + "395" ] } ] @@ -1269,46 +1296,40 @@ { "labelSelector": { "matchLabels": { - "3---93-2-23/8--21kF-c026.i": "9.M.134-5-.q6H_.--t" + "VT--5mj_9.M.134-5-.q6H_.--_---.M.U_-m.-P.yP9S--858LI__.8_R": "rO-S-P_-...0c.-.p_3_J_SA995IKCR.s--f.-f.-zv._._.5-H.T.-.-.d" }, "matchExpressions": [ { - "key": "7U_-m.-P.yP9S--858LI__.8U", - "operator": "NotIn", - "values": [ - "7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m" - ] + "key": "7o_x3..-.8-Jp-94", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "403" + "402" ], - "topologyKey": "404" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -280562323, + "weight": 801902541, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5": "2w-o.8_WT-M.3_-1y_8DX" + "bx1y-8---3----p-pdn--j2---2--82--cj-1-s--op34-yy28-38xmu5nx4s-4/4b_9_1o.w_I": "x-_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_-l..-.DG7r-3.----.4" }, "matchExpressions": [ { - "key": "z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11", - "operator": "NotIn", - "values": [ - "c-r.E__-.8_e_l2.._8s--7_3x_-J_....7" - ] + "key": "3---g-----p8-d5-8-m8i--k0j5g.zrrw8-5ts-7-bp/6E__-.8_e_2", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "411" + "410" ], - "topologyKey": "412" + "topologyKey": "411" } } ] @@ -1318,108 +1339,108 @@ { "labelSelector": { "matchLabels": { - "mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W": "7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu" + "7F3p2_-_AmD-.0AP.1": "A--.F5_x.KNC0-.-m_0-m-6Sp_N-S..O-BZ..n" }, "matchExpressions": [ { - "key": "r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b", + "key": "QZ9p_6.C.e", "operator": "DoesNotExist" } ] }, "namespaces": [ - "419" + "418" ], - "topologyKey": "420" + "topologyKey": "419" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1934575848, + "weight": -1851436166, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV": "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + "6V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W8o._xJ1-lFA_X3": "V0H2-.zHw.H__V.VT" }, "matchExpressions": [ { - "key": "7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E", + "key": "0--0g-q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x8/Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4D", "operator": "NotIn", "values": [ - "ZI-_P..w-W_-nE...-V" + "txb__-ex-_1_-ODgC_1-_V" ] } ] }, "namespaces": [ - "427" + "426" ], - "topologyKey": "428" + "topologyKey": "427" } } ] } }, - "schedulerName": "429", + "schedulerName": "428", "tolerations": [ { - "key": "430", - "operator": "ƴ磳藷曥摮Z Ǐg鲅", - "value": "431", - "effect": "癯頯aɴí(Ȟ9\"忕(", - "tolerationSeconds": 3807599400818393626 + "key": "429", + "operator": "堺ʣ", + "value": "430", + "effect": "ŽɣB矗E¸乾", + "tolerationSeconds": -3532804738923434397 } ], "hostAliases": [ { - "ip": "432", + "ip": "431", "hostnames": [ - "433" + "432" ] } ], - "priorityClassName": "434", - "priority": 1352980996, + "priorityClassName": "433", + "priority": -1852730577, "dnsConfig": { "nameservers": [ - "435" + "434" ], "searches": [ - "436" + "435" ], "options": [ { - "name": "437", - "value": "438" + "name": "436", + "value": "437" } ] }, "readinessGates": [ { - "conditionType": "Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ" + "conditionType": "ź魊塾ɖ$rolȋɶuɋ5r儉ɩ柀ɨ鴅" } ], - "runtimeClassName": "439", + "runtimeClassName": "438", "enableServiceLinks": false, - "preemptionPolicy": "鲛ô衞Ɵ鳝稃Ȍ液文?謮", + "preemptionPolicy": "!ń1ċƹ|慼櫁色苆试揯遐", "overhead": { - "Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲": "185" + "4'ď曕椐敛n湙": "310" }, "topologySpreadConstraints": [ { - "maxSkew": 547935694, - "topologyKey": "440", - "whenUnsatisfiable": "zŕƧ钖孝0蛮xAǫ\u0026tŧK剛Ʀ", + "maxSkew": -150478704, + "topologyKey": "439", + "whenUnsatisfiable": ";鹡鑓侅闍ŏŃŋŏ}ŀ", "labelSelector": { "matchLabels": { - "za42o/Y-YD-Q9_-__..YNFu7Pg-.1": "tE" + "p2djmscp--ac8u23-k----26u5--72n-5.j8-0020-1-5/t5W_._._-2M2._i": "wvU" }, "matchExpressions": [ { - "key": "9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs", + "key": "4-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W", "operator": "In", "values": [ - "7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I" + "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" ] } ] @@ -1429,22 +1450,22 @@ "setHostnameAsFQDN": false } }, - "ttlSecondsAfterFinished": 1530007970 + "ttlSecondsAfterFinished": 233999136 } }, - "successfulJobsHistoryLimit": -928976522, - "failedJobsHistoryLimit": 1092856739 + "successfulJobsHistoryLimit": -1469601144, + "failedJobsHistoryLimit": -1670496118 }, "status": { "active": [ { - "kind": "447", - "namespace": "448", - "name": "449", - "uid": "?鮻ȧH僠 \u0026G凒罹ń賎Ȍű孖站", - "apiVersion": "450", - "resourceVersion": "451", - "fieldPath": "452" + "kind": "446", + "namespace": "447", + "name": "448", + "uid": ")TiD¢ƿ媴h5ƅȸȓɻ猶N嫡", + "apiVersion": "449", + "resourceVersion": "450", + "fieldPath": "451" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb index 24888033ff0d6..ca1e1756ba653 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb and b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml index 0f532cd90b1bc..d14bfc6b4fa65 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml @@ -31,7 +31,7 @@ metadata: uid: "7" spec: concurrencyPolicy: Hr鯹)晿5姣 - initialDelaySeconds: 1505082076 - periodSeconds: 1602745893 - successThreshold: 1599076900 + - name: "271" + value: "272" + path: "268" + port: "269" + scheme: 嚏吐Ġ + initialDelaySeconds: -850069363 + periodSeconds: 1016277253 + successThreshold: -1983795633 tcpSocket: - host: "271" - port: 1498833271 - timeoutSeconds: 1447898632 + host: "274" + port: "273" + timeoutSeconds: 918929368 + resizePolicy: + - policy: weLJèux榜VƋ + resourceName: 塓烀罁胾^拜Ȍzɟ踡肒Ao/樝f resources: limits: - ŤǢʭ嵔棂p儼Ƿ裚瓶: "806" + E'iþŹʣy: "236" requests: - ɩC: "766" + 漘Z剚敍0): "908" + resourcesAllocated: + ʭ嵔棂p儼Ƿ裚瓶釆Ɗ+j忊Ŗ: "976" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - À*f<鴒翁杙Ŧ癃8 + - 螡źȰ?$矡ȶ网棊ʢ=wǕɳ drop: - - ɱJȉ罴 + - 9Ì privileged: false - procMount: 棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅 - readOnlyRootFilesystem: false - runAsGroup: -3689959065086680033 + procMount: Opwǩ曬逴褜1ØœȠƬQg鄠 + readOnlyRootFilesystem: true + runAsGroup: -6115408265471385577 runAsNonRoot: false - runAsUser: -2706913289057230267 + runAsUser: 4984211709342975861 seLinuxOptions: - level: "297" - role: "295" - type: "296" - user: "294" + level: "299" + role: "297" + type: "298" + user: "296" windowsOptions: - gmsaCredentialSpec: "299" - gmsaCredentialSpecName: "298" - runAsUserName: "300" + gmsaCredentialSpec: "301" + gmsaCredentialSpecName: "300" + runAsUserName: "302" startupProbe: exec: command: - - "272" - failureThreshold: -822090785 + - "275" + failureThreshold: 645599318 httpGet: - host: "275" + host: "277" httpHeaders: - - name: "276" - value: "277" - path: "273" - port: "274" - scheme: ¸ - initialDelaySeconds: -161753937 - periodSeconds: 1428207963 - successThreshold: 790462391 + - name: "278" + value: "279" + path: "276" + port: 1182477686 + initialDelaySeconds: -246563990 + periodSeconds: 1095256400 + successThreshold: 1761963371 tcpSocket: - host: "279" - port: "278" - timeoutSeconds: -1578746609 + host: "280" + port: -763687725 + timeoutSeconds: 10098903 stdinOnce: true - terminationMessagePath: "293" - terminationMessagePolicy: \p[ + terminationMessagePath: "295" + terminationMessagePolicy: §耶 + tty: true volumeDevices: - devicePath: "259" name: "258" volumeMounts: - mountPath: "255" - mountPropagation: ȫ焗捏ĨFħ籘Àǒɿʒ刽 + mountPropagation: Ůđ眊ľǎɳ,ǿ飏騀呣ǎfǣ萭旿 name: "254" subPath: "256" subPathExpr: "257" workingDir: "238" dnsConfig: nameservers: - - "435" + - "434" options: - - name: "437" - value: "438" + - name: "436" + value: "437" searches: - - "436" - dnsPolicy: 丆 + - "435" + dnsPolicy: OǨ繫ʎǑyZ enableServiceLinks: false ephemeralContainers: - args: - - "304" + - "306" command: - - "303" + - "305" env: - - name: "311" - value: "312" + - name: "313" + value: "314" valueFrom: configMapKeyRef: - key: "318" - name: "317" + key: "320" + name: "319" optional: false fieldRef: - apiVersion: "313" - fieldPath: "314" + apiVersion: "315" + fieldPath: "316" resourceFieldRef: - containerName: "315" - divisor: "709" - resource: "316" + containerName: "317" + divisor: "421" + resource: "318" secretKeyRef: - key: "320" - name: "319" + key: "322" + name: "321" optional: false envFrom: - configMapRef: - name: "309" + name: "311" optional: true - prefix: "308" + prefix: "310" secretRef: - name: "310" - optional: true - image: "302" - imagePullPolicy: 拉Œɥ颶妧Ö闊 鰔澝qV訆 + name: "312" + optional: false + image: "304" + imagePullPolicy: Ɖ飴ɎiǨ lifecycle: postStart: exec: command: - - "348" + - "349" httpGet: host: "351" httpHeaders: - name: "352" value: "353" - path: "349" - port: "350" - scheme: 跩aŕ翑 + path: "350" + port: -816630929 tcpSocket: - host: "355" - port: "354" + host: "354" + port: 1965273344 preStop: exec: command: - - "356" + - "355" httpGet: host: "358" httpHeaders: - name: "359" value: "360" - path: "357" - port: 1017803158 - scheme: 碔 + path: "356" + port: "357" + scheme: SÄ蚃ɣľ)酊龨δ摖ȱğ_< tcpSocket: - host: "362" - port: "361" + host: "361" + port: -385597677 livenessProbe: exec: command: - - "327" - failureThreshold: 1742259603 + - "329" + failureThreshold: 2056774277 httpGet: - host: "330" + host: "331" httpHeaders: - - name: "331" - value: "332" - path: "328" - port: "329" - scheme: 屡ʁ - initialDelaySeconds: 1718241831 - periodSeconds: 1180971695 - successThreshold: -1971944908 + - name: "332" + value: "333" + path: "330" + port: -1246371817 + scheme: 貾坢'跩aŕ翑0 + initialDelaySeconds: -2165496 + periodSeconds: 1386255869 + successThreshold: -778272981 tcpSocket: - host: "333" - port: -1554559634 - timeoutSeconds: 550615941 - name: "301" + host: "334" + port: 1165327504 + timeoutSeconds: -1778952574 + name: "303" ports: - - containerPort: 1330271338 - hostIP: "307" - hostPort: 1853396726 - name: "306" - protocol: 逴 + - containerPort: 461585849 + hostIP: "309" + hostPort: -1556231754 + name: "308" + protocol: ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ readinessProbe: exec: command: - - "334" - failureThreshold: 1150925735 + - "335" + failureThreshold: 549215478 httpGet: - host: "336" + host: "337" httpHeaders: - - name: "337" - value: "338" - path: "335" - port: -1620315711 - scheme: ɐ扵 - initialDelaySeconds: -1358663652 - periodSeconds: -527306221 - successThreshold: 2098694289 + - name: "338" + value: "339" + path: "336" + port: -1928016742 + scheme: E¦ + initialDelaySeconds: 1868887309 + periodSeconds: -316996074 + successThreshold: 1933968533 tcpSocket: - host: "340" - port: "339" - timeoutSeconds: 1543146222 + host: "341" + port: "340" + timeoutSeconds: -528664199 + resizePolicy: + - policy: gw忊|E + resourceName: 鐫û咡W<敄lu|榝 resources: limits: - 颐o: "230" + Ȃ4: "239" requests: - '[+扴ȨŮ+朷Ǝ膯ljV': "728" + ʁ岼昕ĬÇ: "758" + resourcesAllocated: + ' 苧yñKJɐ': "894" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - ŧL²sNƗ¸gĩ餠籲磣Óƿ + - ǵɐ鰥Z drop: - - '"冓鍓贯澔 ƺ蛜6' + - ´DÒȗÔÂɘɢ鬍熖B芭花ª瘡 privileged: false - procMount: 鰥Z龏´DÒȗ + procMount: ƲǦŐnj汰 readOnlyRootFilesystem: true - runAsGroup: 6057650398488995896 - runAsNonRoot: true - runAsUser: 4353696140684277635 + runAsGroup: 2823592889848840099 + runAsNonRoot: false + runAsUser: -1666202510534940446 seLinuxOptions: - level: "367" - role: "365" - type: "366" - user: "364" + level: "366" + role: "364" + type: "365" + user: "363" windowsOptions: - gmsaCredentialSpec: "369" - gmsaCredentialSpecName: "368" - runAsUserName: "370" + gmsaCredentialSpec: "368" + gmsaCredentialSpecName: "367" + runAsUserName: "369" startupProbe: exec: command: - - "341" - failureThreshold: -1246371817 + - "342" + failureThreshold: 1847163341 httpGet: host: "344" httpHeaders: - name: "345" value: "346" - path: "342" - port: "343" - scheme: 榝$î.Ȏ蝪ʜ5遰 - initialDelaySeconds: 834105836 - periodSeconds: -370386363 - successThreshold: 1714588921 + path: "343" + port: -374766088 + scheme: 翜舞拉Œ + initialDelaySeconds: -190183379 + periodSeconds: -341287812 + successThreshold: 2030115750 tcpSocket: - host: "347" - port: -1438286448 - timeoutSeconds: -1462219068 - targetContainerName: "371" - terminationMessagePath: "363" - terminationMessagePolicy: Kƙ順\E¦队偯J僳徥淳4揻-$ɽ丟 - tty: true + host: "348" + port: "347" + timeoutSeconds: -940334911 + stdin: true + targetContainerName: "370" + terminationMessagePath: "362" + terminationMessagePolicy: 橈' volumeDevices: - - devicePath: "326" - name: "325" + - devicePath: "328" + name: "327" volumeMounts: - - mountPath: "322" - mountPropagation: ŕ-Ɂ圯W:ĸ輦唊#v铿 - name: "321" - subPath: "323" - subPathExpr: "324" - workingDir: "305" + - mountPath: "324" + mountPropagation: '|表徶đ' + name: "323" + subPath: "325" + subPathExpr: "326" + workingDir: "307" hostAliases: - hostnames: - - "433" - ip: "432" + - "432" + ip: "431" + hostIPC: true hostPID: true - hostname: "387" + hostname: "386" imagePullSecrets: - - name: "386" + - name: "385" initContainers: - args: - "168" @@ -582,58 +587,58 @@ spec: name: "174" optional: false image: "166" - imagePullPolicy: 儣廡ɑ龫`劳&¼傭 + imagePullPolicy: dz緄 lifecycle: postStart: exec: command: - - "213" + - "211" httpGet: - host: "215" + host: "214" httpHeaders: - - name: "216" - value: "217" - path: "214" - port: -1171060347 - scheme: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + - name: "215" + value: "216" + path: "212" + port: "213" + scheme: H=å tcpSocket: - host: "219" - port: "218" + host: "218" + port: "217" preStop: exec: command: - - "220" + - "219" httpGet: - host: "222" + host: "221" httpHeaders: - - name: "223" - value: "224" - path: "221" - port: -1319998825 - scheme: 銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ + - name: "222" + value: "223" + path: "220" + port: -2035009296 + scheme: ï瓼猀2:öY鶪5w垁 tcpSocket: host: "225" - port: 1180382332 + port: "224" livenessProbe: exec: command: - "191" - failureThreshold: 1231820696 + failureThreshold: -814446577 httpGet: - host: "194" + host: "193" httpHeaders: - - name: "195" - value: "196" + - name: "194" + value: "195" path: "192" - port: "193" - scheme: 0åȂ町恰nj揠8lj - initialDelaySeconds: -1188153605 - periodSeconds: 912004803 - successThreshold: -2098817064 + port: 213614618 + scheme: ȦY籎 + initialDelaySeconds: -1252931244 + periodSeconds: 1061537 + successThreshold: 322666556 tcpSocket: - host: "197" - port: -2049272966 - timeoutSeconds: -427769948 + host: "196" + port: -582473401 + timeoutSeconds: 1569992019 name: "165" ports: - containerPort: 487826951 @@ -644,40 +649,46 @@ spec: readinessProbe: exec: command: - - "198" - failureThreshold: -1618937335 + - "197" + failureThreshold: 142244414 httpGet: - host: "201" + host: "200" httpHeaders: - - name: "202" - value: "203" - path: "199" - port: "200" - initialDelaySeconds: 994527057 - periodSeconds: -1346458591 - successThreshold: 1234551517 + - name: "201" + value: "202" + path: "198" + port: "199" + scheme: Rƥ贫d飼$俊跾|@?鷅b + initialDelaySeconds: 896368653 + periodSeconds: 692541847 + successThreshold: 996680040 tcpSocket: - host: "204" - port: 675406340 - timeoutSeconds: -1482763519 + host: "203" + port: 200992434 + timeoutSeconds: -1167973499 + resizePolicy: + - policy: 擇ɦĽ胚O醔ɍ厶耈 T衧ȇe媹Hǝ呮} + resourceName: "" resources: limits: ÙæNǚ錯ƶRq: "575" requests: To&蕭k ź: "644" + resourcesAllocated: + 朘瑥A徙ɶɊ: "742" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - 酃=6}ɡŇƉ立hdz緄Ú|dk_瀹鞎 + - dk_ drop: - - n芞QÄȻȊ+?ƭ峧Y栲茇竛 - privileged: true - procMount: 軶ǃ*ʙ嫙&蒒5靇 - readOnlyRootFilesystem: false - runAsGroup: -593458796014416333 + - 鞎sn芞QÄȻȊ+?ƭ峧Y栲茇竛吲蚛 + privileged: false + procMount: '*ʙ嫙&蒒5靇C''ɵK.' + readOnlyRootFilesystem: true + runAsGroup: 4528195653674047608 runAsNonRoot: true - runAsUser: 4875570291212151521 + runAsUser: -8450215029913275287 seLinuxOptions: level: "230" role: "228" @@ -690,95 +701,95 @@ spec: startupProbe: exec: command: - - "205" - failureThreshold: -814446577 + - "204" + failureThreshold: 2057433923 httpGet: - host: "208" + host: "207" httpHeaders: - - name: "209" - value: "210" - path: "206" - port: "207" - scheme: eÞȦY籎顒 - initialDelaySeconds: -1252931244 - periodSeconds: 1061537 - successThreshold: 322666556 + - name: "208" + value: "209" + path: "205" + port: "206" + scheme: 櫸eʔŊ + initialDelaySeconds: 1705239007 + periodSeconds: 173030157 + successThreshold: 1530176864 tcpSocket: - host: "212" - port: "211" - timeoutSeconds: 1569992019 + host: "210" + port: 731879508 + timeoutSeconds: 1367201035 stdin: true stdinOnce: true terminationMessagePath: "226" - terminationMessagePolicy: H韹寬娬ï瓼猀2:öY鶪5w垁 + terminationMessagePolicy: 虽U珝Żwʮ馜üNșƶ4ĩĉş蝿ɖȃ volumeDevices: - devicePath: "190" name: "189" volumeMounts: - mountPath: "186" - mountPropagation: 瑥A + mountPropagation: ð»ųKĵ name: "185" readOnly: true subPath: "187" subPathExpr: "188" workingDir: "169" - nodeName: "376" + nodeName: "375" nodeSelector: - "372": "373" + "371": "372" overhead: - Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲: "185" - preemptionPolicy: 鲛ô衞Ɵ鳝稃Ȍ液文?謮 - priority: 1352980996 - priorityClassName: "434" + 4'ď曕椐敛n湙: "310" + preemptionPolicy: '!ń1ċƹ|慼櫁色苆试揯遐' + priority: -1852730577 + priorityClassName: "433" readinessGates: - - conditionType: Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ - restartPolicy: ɘɢ鬍熖B芭花ª瘡 - runtimeClassName: "439" - schedulerName: "429" + - conditionType: ź魊塾ɖ$rolȋɶuɋ5r儉ɩ柀ɨ鴅 + restartPolicy: İ + runtimeClassName: "438" + schedulerName: "428" securityContext: - fsGroup: 7124276984274024394 - fsGroupChangePolicy: 蹔ŧ - runAsGroup: -779972051078659613 - runAsNonRoot: false - runAsUser: 2179199799235189619 + fsGroup: -497502651173077685 + fsGroupChangePolicy: pɵ{ + runAsGroup: -1909378223379552949 + runAsNonRoot: true + runAsUser: 2064297229886854304 seLinuxOptions: - level: "380" - role: "378" - type: "379" - user: "377" + level: "379" + role: "377" + type: "378" + user: "376" supplementalGroups: - - -7127205672279904050 + - 8403394374485358747 sysctls: - - name: "384" - value: "385" + - name: "383" + value: "384" windowsOptions: - gmsaCredentialSpec: "382" - gmsaCredentialSpecName: "381" - runAsUserName: "383" - serviceAccount: "375" - serviceAccountName: "374" + gmsaCredentialSpec: "381" + gmsaCredentialSpecName: "380" + runAsUserName: "382" + serviceAccount: "374" + serviceAccountName: "373" setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "388" - terminationGracePeriodSeconds: 2666412258966278206 + subdomain: "387" + terminationGracePeriodSeconds: -7113907198031116027 tolerations: - - effect: 癯頯aɴí(Ȟ9"忕( - key: "430" - operator: ƴ磳藷曥摮Z Ǐg鲅 - tolerationSeconds: 3807599400818393626 - value: "431" + - effect: ŽɣB矗E¸乾 + key: "429" + operator: 堺ʣ + tolerationSeconds: -3532804738923434397 + value: "430" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs + - key: 4-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W operator: In values: - - 7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I + - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ matchLabels: - za42o/Y-YD-Q9_-__..YNFu7Pg-.1: tE - maxSkew: 547935694 - topologyKey: "440" - whenUnsatisfiable: zŕƧ钖孝0蛮xAǫ&tŧK剛Ʀ + p2djmscp--ac8u23-k----26u5--72n-5.j8-0020-1-5/t5W_._._-2M2._i: wvU + maxSkew: -150478704 + topologyKey: "439" + whenUnsatisfiable: ;鹡鑓侅闍ŏŃŋŏ}ŀ volumes: - awsElasticBlockStore: fsType: "65" @@ -977,17 +988,17 @@ spec: storagePolicyID: "122" storagePolicyName: "121" volumePath: "119" - ttlSecondsAfterFinished: 1530007970 + ttlSecondsAfterFinished: 233999136 schedule: "19" startingDeadlineSeconds: -2555947251840004808 - successfulJobsHistoryLimit: -928976522 + successfulJobsHistoryLimit: -1469601144 suspend: true status: active: - - apiVersion: "450" - fieldPath: "452" - kind: "447" - name: "449" - namespace: "448" - resourceVersion: "451" - uid: ?鮻ȧH僠 &G凒罹ń賎Ȍű孖站 + - apiVersion: "449" + fieldPath: "451" + kind: "446" + name: "448" + namespace: "447" + resourceVersion: "450" + uid: )TiD¢ƿ媴h5ƅȸȓɻ猶N嫡 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.json index af42ca2e091cf..debb655365f7e 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.json +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.json @@ -485,13 +485,21 @@ "T捘ɍi縱ù墴": "848" } }, + "resourcesAllocated": { + "#咻痗ȡmƴy綸": "420" + }, + "resizePolicy": [ + { + "resourceName": "?鷅bȻN", + "policy": "H炮掊°nʮ閼咎櫸eʔŊƞ究:ho" + } + ], "volumeMounts": [ { "name": "184", - "readOnly": true, "mountPath": "185", "subPath": "186", - "mountPropagation": "咻痗ȡmƴy綸_Ú8參遼ūPH炮掊°", + "mountPropagation": "瀐\u003cɉ湨H=å睫}堇硲", "subPathExpr": "187" } ], @@ -509,217 +517,219 @@ }, "httpGet": { "path": "191", - "port": -575512248, - "host": "192", - "scheme": "ɨ銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ", + "port": "192", + "host": "193", + "scheme": "猀2:ö", "httpHeaders": [ { - "name": "193", - "value": "194" + "name": "194", + "value": "195" } ] }, "tcpSocket": { - "port": 1180382332, - "host": "195" + "port": "196", + "host": "197" }, - "initialDelaySeconds": -1846991380, - "timeoutSeconds": 325236550, - "periodSeconds": -1398498492, - "successThreshold": -2035009296, - "failureThreshold": -559252309 + "initialDelaySeconds": 322201525, + "timeoutSeconds": -1784033404, + "periodSeconds": 66472042, + "successThreshold": 2130088978, + "failureThreshold": -1064240304 }, "readinessProbe": { "exec": { "command": [ - "196" + "198" ] }, "httpGet": { - "path": "197", - "port": 1403721475, - "host": "198", - "scheme": "ǰ溟ɴ扵閝ȝ鐵儣廡ɑ龫`劳", + "path": "199", + "port": -566408554, + "host": "200", + "scheme": "劳\u0026¼傭Ȟ1酃=6}ɡŇƉ立", "httpHeaders": [ { - "name": "199", - "value": "200" + "name": "201", + "value": "202" } ] }, "tcpSocket": { - "port": -2064174383, - "host": "201" + "port": -31530684, + "host": "203" }, - "initialDelaySeconds": -1327537699, - "timeoutSeconds": 483512911, - "periodSeconds": -1941847253, - "successThreshold": 1596028039, - "failureThreshold": 1427781619 + "initialDelaySeconds": -1628697284, + "timeoutSeconds": 843845736, + "periodSeconds": 354496320, + "successThreshold": -418887496, + "failureThreshold": -522126070 }, "startupProbe": { "exec": { "command": [ - "202" + "204" ] }, "httpGet": { - "path": "203", - "port": -337353552, - "host": "204", - "scheme": "ɖȃ賲鐅臬dH巧壚tC十Oɢ", + "path": "205", + "port": -1569009987, + "host": "206", + "scheme": "ɢǵʭd鲡:贅wE@Ȗs«öʮĀ\u003c", "httpHeaders": [ { - "name": "205", - "value": "206" + "name": "207", + "value": "208" } ] }, "tcpSocket": { - "port": -586068135, - "host": "207" + "port": 1702578303, + "host": "209" }, - "initialDelaySeconds": 1592489782, - "timeoutSeconds": 929367702, - "periodSeconds": -102814733, - "successThreshold": -152585895, - "failureThreshold": -2037320199 + "initialDelaySeconds": -1565157256, + "timeoutSeconds": -1113628381, + "periodSeconds": -1385586997, + "successThreshold": 460997133, + "failureThreshold": -636855511 }, "lifecycle": { "postStart": { "exec": { "command": [ - "208" + "210" ] }, "httpGet": { - "path": "209", - "port": 1381010768, - "host": "210", - "scheme": "ö", + "path": "211", + "port": "212", + "host": "213", + "scheme": "ɃHŠơŴĿǹ_Áȉ彂Ŵ廷", "httpHeaders": [ { - "name": "211", - "value": "212" + "name": "214", + "value": "215" } ] }, "tcpSocket": { - "port": 1135182169, - "host": "213" + "port": "216", + "host": "217" } }, "preStop": { "exec": { "command": [ - "214" + "218" ] }, "httpGet": { - "path": "215", - "port": 1054302708, - "host": "216", + "path": "219", + "port": 1923650413, + "host": "220", + "scheme": "I粛E煹ǐƲE'iþŹʣy", "httpHeaders": [ { - "name": "217", - "value": "218" + "name": "221", + "value": "222" } ] }, "tcpSocket": { - "port": "219", - "host": "220" + "port": "223", + "host": "224" } } }, - "terminationMessagePath": "221", - "terminationMessagePolicy": "軶ǃ*ʙ嫙\u0026蒒5靇", - "imagePullPolicy": "ŴĿ", + "terminationMessagePath": "225", + "terminationMessagePolicy": "ɀ羭,铻OŤǢʭ嵔棂p", "securityContext": { "capabilities": { "add": [ - "Áȉ彂Ŵ廷s{Ⱦdz@ùƸ" + "邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ" ], "drop": [ - "ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0" + "ɟ踡肒Ao/樝fw[Řż丩Ž" ] }, "privileged": true, "seLinuxOptions": { - "user": "222", - "role": "223", - "type": "224", - "level": "225" + "user": "226", + "role": "227", + "type": "228", + "level": "229" }, "windowsOptions": { - "gmsaCredentialSpecName": "226", - "gmsaCredentialSpec": "227", - "runAsUserName": "228" + "gmsaCredentialSpecName": "230", + "gmsaCredentialSpec": "231", + "runAsUserName": "232" }, - "runAsUser": 6116261698850084527, - "runAsGroup": -8724223413734010757, - "runAsNonRoot": true, - "readOnlyRootFilesystem": false, + "runAsUser": -4868342918997831990, + "runAsGroup": -7799096735007368868, + "runAsNonRoot": false, + "readOnlyRootFilesystem": true, "allowPrivilegeEscalation": true, - "procMount": "邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ" - } + "procMount": "Ź9ǕLLȊɞ-uƻ悖" + }, + "stdin": true, + "stdinOnce": true } ], "containers": [ { - "name": "229", - "image": "230", + "name": "233", + "image": "234", "command": [ - "231" + "235" ], "args": [ - "232" + "236" ], - "workingDir": "233", + "workingDir": "237", "ports": [ { - "name": "234", - "hostPort": 427196286, - "containerPort": 1048864116, - "protocol": "/樝fw[Řż丩ŽoǠŻʘY賃ɪ鐊", - "hostIP": "235" + "name": "238", + "hostPort": -950718788, + "containerPort": -1960299775, + "protocol": "榌", + "hostIP": "239" } ], "envFrom": [ { - "prefix": "236", + "prefix": "240", "configMapRef": { - "name": "237", - "optional": true + "name": "241", + "optional": false }, "secretRef": { - "name": "238", - "optional": false + "name": "242", + "optional": true } } ], "env": [ { - "name": "239", - "value": "240", + "name": "243", + "value": "244", "valueFrom": { "fieldRef": { - "apiVersion": "241", - "fieldPath": "242" + "apiVersion": "245", + "fieldPath": "246" }, "resourceFieldRef": { - "containerName": "243", - "resource": "244", - "divisor": "506" + "containerName": "247", + "resource": "248", + "divisor": "772" }, "configMapKeyRef": { - "name": "245", - "key": "246", + "name": "249", + "key": "250", "optional": true }, "secretKeyRef": { - "name": "247", - "key": "248", + "name": "251", + "key": "252", "optional": true } } @@ -727,248 +737,257 @@ ], "resources": { "limits": { - "ƻ悖ȩ0Ƹ[": "672" + "奺Ȋ礶惇¸t颟.鵫ǚ": "357" }, "requests": { - "": "988" + "LƐȤ藠3.v-鿧悮坮Ȣ幟ļ腻": "575" } }, + "resourcesAllocated": { + "丯Ƙ枛牐ɺ皚|": "933" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "N粕擓ƖHVe熼" + } + ], "volumeMounts": [ { - "name": "249", - "mountPath": "250", - "subPath": "251", - "mountPropagation": "髷裎$MVȟ@7飣奺Ȋ", - "subPathExpr": "252" + "name": "253", + "readOnly": true, + "mountPath": "254", + "subPath": "255", + "mountPropagation": "D剂讼ɓȌʟni酛3ƁÀ*", + "subPathExpr": "256" } ], "volumeDevices": [ { - "name": "253", - "devicePath": "254" + "name": "257", + "devicePath": "258" } ], "livenessProbe": { "exec": { "command": [ - "255" + "259" ] }, "httpGet": { - "path": "256", - "port": -1180080716, - "host": "257", - "scheme": "Ȍ脾嚏吐ĠLƐȤ藠3.v-鿧悮", + "path": "260", + "port": "261", + "host": "262", "httpHeaders": [ { - "name": "258", - "value": "259" + "name": "263", + "value": "264" } ] }, "tcpSocket": { - "port": -161485752, - "host": "260" + "port": -2107743490, + "host": "265" }, - "initialDelaySeconds": 1524276356, - "timeoutSeconds": -521487971, - "periodSeconds": -1561418761, - "successThreshold": -1452676801, - "failureThreshold": -1171167638 + "initialDelaySeconds": 1995332035, + "timeoutSeconds": 960499098, + "periodSeconds": -1020896847, + "successThreshold": 1074486306, + "failureThreshold": 630004123 }, "readinessProbe": { "exec": { "command": [ - "261" + "266" ] }, "httpGet": { - "path": "262", - "port": 2141389898, - "host": "263", - "scheme": "皚|", + "path": "267", + "port": 714088955, + "host": "268", + "scheme": "źȰ?$矡ȶ网棊ʢ=wǕɳ", "httpHeaders": [ { - "name": "264", - "value": "265" + "name": "269", + "value": "270" } ] }, "tcpSocket": { - "port": "266", - "host": "267" + "port": 1752155096, + "host": "271" }, - "initialDelaySeconds": 766864314, - "timeoutSeconds": 1146016612, - "periodSeconds": 1495880465, - "successThreshold": -1032967081, - "failureThreshold": 59664438 + "initialDelaySeconds": -1962065705, + "timeoutSeconds": 1701999128, + "periodSeconds": -1364571630, + "successThreshold": 1689978741, + "failureThreshold": -1423854443 }, "startupProbe": { "exec": { "command": [ - "268" + "272" ] }, "httpGet": { - "path": "269", - "port": 163512962, - "host": "270", - "scheme": "Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ", + "path": "273", + "port": -1109619518, + "host": "274", + "scheme": "ĺ}潷ʒ胵輓Ɔȓ蹣ɐǛv+8Ƥ熪", "httpHeaders": [ { - "name": "271", - "value": "272" + "name": "275", + "value": "276" } ] }, "tcpSocket": { - "port": "273", - "host": "274" + "port": "277", + "host": "278" }, - "initialDelaySeconds": 232569106, - "timeoutSeconds": -1150474479, - "periodSeconds": 744319626, - "successThreshold": -2107743490, - "failureThreshold": 1995332035 + "initialDelaySeconds": -820113531, + "timeoutSeconds": 622267234, + "periodSeconds": 410611837, + "successThreshold": 809006670, + "failureThreshold": 972978563 }, "lifecycle": { "postStart": { "exec": { "command": [ - "275" + "279" ] }, "httpGet": { - "path": "276", - "port": 630004123, - "host": "277", - "scheme": "ɾģ毋Ó6dz娝嘚", + "path": "280", + "port": "281", + "host": "282", + "scheme": "朷Ǝ膯ljVX1虊谇", "httpHeaders": [ { - "name": "278", - "value": "279" + "name": "283", + "value": "284" } ] }, "tcpSocket": { - "port": -1213051101, - "host": "280" + "port": -1748648882, + "host": "285" } }, "preStop": { "exec": { "command": [ - "281" + "286" ] }, "httpGet": { - "path": "282", - "port": -1905643191, - "host": "283", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "287", + "port": "288", + "host": "289", + "scheme": "輦唊#v铿ʩȂ4ē鐭", "httpHeaders": [ { - "name": "284", - "value": "285" + "name": "290", + "value": "291" } ] }, "tcpSocket": { - "port": "286", - "host": "287" + "port": "292", + "host": "293" } } }, - "terminationMessagePath": "288", - "terminationMessagePolicy": "勅跦Opwǩ曬逴褜1Ø", - "imagePullPolicy": "Ǜv+8Ƥ熪军g\u003e郵[+扴ȨŮ+", + "terminationMessagePath": "294", + "terminationMessagePolicy": "ơŸ8T ", "securityContext": { "capabilities": { "add": [ - "" + "ȑ6L*Z鐫û咡W\u003c敄lu" ], "drop": [ - "ljVX1虊谇j爻ƙt叀碧" + "榝$î.Ȏ蝪ʜ5遰" ] }, "privileged": true, "seLinuxOptions": { - "user": "289", - "role": "290", - "type": "291", - "level": "292" + "user": "295", + "role": "296", + "type": "297", + "level": "298" }, "windowsOptions": { - "gmsaCredentialSpecName": "293", - "gmsaCredentialSpec": "294", - "runAsUserName": "295" + "gmsaCredentialSpecName": "299", + "gmsaCredentialSpec": "300", + "runAsUserName": "301" }, - "runAsUser": 77796669038602313, - "runAsGroup": -6641599652770442851, - "runAsNonRoot": true, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "ʁ岼昕ĬÇ" + "runAsUser": 61436896663269868, + "runAsGroup": -6280183074137250229, + "runAsNonRoot": false, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "坢'跩aŕ翑0展}硐庰%皧V" }, - "stdinOnce": true + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "296", - "image": "297", + "name": "302", + "image": "303", "command": [ - "298" + "304" ], "args": [ - "299" + "305" ], - "workingDir": "300", + "workingDir": "306", "ports": [ { - "name": "301", - "hostPort": 2087800617, - "containerPort": -1491697472, - "protocol": "6", - "hostIP": "302" + "name": "307", + "hostPort": 1625542084, + "containerPort": -1554093462, + "protocol": "l獕;跣Hǝcw媀瓄", + "hostIP": "308" } ], "envFrom": [ { - "prefix": "303", + "prefix": "309", "configMapRef": { - "name": "304", - "optional": false + "name": "310", + "optional": true }, "secretRef": { - "name": "305", - "optional": true + "name": "311", + "optional": false } } ], "env": [ { - "name": "306", - "value": "307", + "name": "312", + "value": "313", "valueFrom": { "fieldRef": { - "apiVersion": "308", - "fieldPath": "309" + "apiVersion": "314", + "fieldPath": "315" }, "resourceFieldRef": { - "containerName": "310", - "resource": "311", - "divisor": "879" + "containerName": "316", + "resource": "317", + "divisor": "215" }, "configMapKeyRef": { - "name": "312", - "key": "313", - "optional": true + "name": "318", + "key": "319", + "optional": false }, "secretKeyRef": { - "name": "314", - "key": "315", + "name": "320", + "key": "321", "optional": false } } @@ -976,243 +995,252 @@ ], "resources": { "limits": { - "u|榝$î.Ȏ蝪ʜ5遰=E埄Ȁ": "114" + " 鰔澝qV訆ƎżŧL²": "195" }, "requests": { - "Ƭƶ氩Ȩ\u003c6": "446" + "Ä蚃ɣľ)酊龨δ摖ȱğ_\u003c": "118" } }, + "resourcesAllocated": { + " ƺ蛜6Ɖ飴Ɏ": "974" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "" + } + ], "volumeMounts": [ { - "name": "316", + "name": "322", "readOnly": true, - "mountPath": "317", - "subPath": "318", - "mountPropagation": "翑0展}硐庰%皧V垾", - "subPathExpr": "319" + "mountPath": "323", + "subPath": "324", + "mountPropagation": "ǵɐ鰥Z", + "subPathExpr": "325" } ], "volumeDevices": [ { - "name": "320", - "devicePath": "321" + "name": "326", + "devicePath": "327" } ], "livenessProbe": { "exec": { "command": [ - "322" + "328" ] }, "httpGet": { - "path": "323", - "port": "324", - "host": "325", - "scheme": "E¦", + "path": "329", + "port": "330", + "host": "331", + "scheme": "C8?Ǻ鱎ƙ;Nŕ璻Jih亏", "httpHeaders": [ { - "name": "326", - "value": "327" + "name": "332", + "value": "333" } ] }, "tcpSocket": { - "port": "328", - "host": "329" + "port": "334", + "host": "335" }, - "initialDelaySeconds": 1868887309, - "timeoutSeconds": -528664199, - "periodSeconds": -316996074, - "successThreshold": 1933968533, - "failureThreshold": 549215478 + "initialDelaySeconds": 902978249, + "timeoutSeconds": -171819101, + "periodSeconds": 1983546326, + "successThreshold": -1967425039, + "failureThreshold": -1562283537 }, "readinessProbe": { "exec": { "command": [ - "330" + "336" ] }, "httpGet": { - "path": "331", - "port": -374766088, - "host": "332", - "scheme": "翜舞拉Œ", + "path": "337", + "port": -402384013, + "host": "338", + "scheme": "nj汰8ŕİi騎C\"6x$1sȣ±p", "httpHeaders": [ { - "name": "333", - "value": "334" + "name": "339", + "value": "340" } ] }, "tcpSocket": { - "port": "335", - "host": "336" + "port": 1900201288, + "host": "341" }, - "initialDelaySeconds": -190183379, - "timeoutSeconds": -940334911, - "periodSeconds": -341287812, - "successThreshold": 2030115750, - "failureThreshold": 1847163341 + "initialDelaySeconds": -766915393, + "timeoutSeconds": 828305357, + "periodSeconds": -1170565984, + "successThreshold": -444561761, + "failureThreshold": -536848804 }, "startupProbe": { "exec": { "command": [ - "337" + "342" ] }, "httpGet": { - "path": "338", - "port": 567263590, - "host": "339", - "scheme": "KŅ/", + "path": "343", + "port": -2113700533, + "host": "344", + "scheme": "埮pɵ{WOŭW灬p", "httpHeaders": [ { - "name": "340", - "value": "341" + "name": "345", + "value": "346" } ] }, "tcpSocket": { - "port": "342", - "host": "343" + "port": -1607821167, + "host": "347" }, - "initialDelaySeconds": -1894250541, - "timeoutSeconds": 1962818731, - "periodSeconds": 1315054653, - "successThreshold": 711020087, - "failureThreshold": 1103049140 + "initialDelaySeconds": -667808868, + "timeoutSeconds": -1411971593, + "periodSeconds": -1952582931, + "successThreshold": -74827262, + "failureThreshold": 467105019 }, "lifecycle": { "postStart": { "exec": { "command": [ - "344" + "348" ] }, "httpGet": { - "path": "345", - "port": -2128108224, - "host": "346", - "scheme": "δ摖", + "path": "349", + "port": "350", + "host": "351", "httpHeaders": [ { - "name": "347", - "value": "348" + "name": "352", + "value": "353" } ] }, "tcpSocket": { - "port": "349", - "host": "350" + "port": "354", + "host": "355" } }, "preStop": { "exec": { "command": [ - "351" + "356" ] }, "httpGet": { - "path": "352", - "port": "353", - "host": "354", + "path": "357", + "port": "358", + "host": "359", + "scheme": "W賁Ěɭɪǹ0", "httpHeaders": [ { - "name": "355", - "value": "356" + "name": "360", + "value": "361" } ] }, "tcpSocket": { - "port": "357", - "host": "358" + "port": "362", + "host": "363" } } }, - "terminationMessagePath": "359", - "terminationMessagePolicy": "ƺ蛜6Ɖ飴ɎiǨź", - "imagePullPolicy": "囌{屿oiɥ嵐sC", + "terminationMessagePath": "364", + "terminationMessagePolicy": "ƷƣMț", + "imagePullPolicy": "(fǂǢ曣ŋayå", "securityContext": { "capabilities": { "add": [ - "Ǻ鱎ƙ;Nŕ" + "訙Ǫʓ)ǂť嗆u8晲T[ir" ], "drop": [ - "Jih亏yƕ丆録²" + "3Ĕ\\ɢX鰨松/Ȁĵ鴁" ] }, - "privileged": false, + "privileged": true, "seLinuxOptions": { - "user": "360", - "role": "361", - "type": "362", - "level": "363" + "user": "365", + "role": "366", + "type": "367", + "level": "368" }, "windowsOptions": { - "gmsaCredentialSpecName": "364", - "gmsaCredentialSpec": "365", - "runAsUserName": "366" + "gmsaCredentialSpecName": "369", + "gmsaCredentialSpec": "370", + "runAsUserName": "371" }, - "runAsUser": -607313695104609402, - "runAsGroup": 2179199799235189619, + "runAsUser": 5333033627167868167, + "runAsGroup": 6580335751302408293, "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "砅邻爥蹔ŧOǨ繫ʎǑyZ涬P­" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ĒzŔ瘍Nʊ" }, "stdin": true, "stdinOnce": true, - "targetContainerName": "367" + "tty": true, + "targetContainerName": "372" } ], - "restartPolicy": "幩šeSvEȤƏ埮pɵ", - "terminationGracePeriodSeconds": -3123571459188372202, - "activeDeadlineSeconds": 4755717378804967849, - "dnsPolicy": "ʐşƧ", + "restartPolicy": "璾ėȜv", + "terminationGracePeriodSeconds": 8557551499766807948, + "activeDeadlineSeconds": 2775124165238399450, + "dnsPolicy": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", "nodeSelector": { - "368": "369" + "373": "374" }, - "serviceAccountName": "370", - "serviceAccount": "371", + "serviceAccountName": "375", + "serviceAccount": "376", "automountServiceAccountToken": true, - "nodeName": "372", - "hostNetwork": true, - "hostPID": true, + "nodeName": "377", + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "373", - "role": "374", - "type": "375", - "level": "376" + "user": "378", + "role": "379", + "type": "380", + "level": "381" }, "windowsOptions": { - "gmsaCredentialSpecName": "377", - "gmsaCredentialSpec": "378", - "runAsUserName": "379" + "gmsaCredentialSpecName": "382", + "gmsaCredentialSpec": "383", + "runAsUserName": "384" }, - "runAsUser": 1287380841622288898, - "runAsGroup": 2006200781539567705, + "runAsUser": -458943834575608638, + "runAsGroup": 9087288446299226205, "runAsNonRoot": true, "supplementalGroups": [ - 6618112330449141397 + 3823478936947545930 ], - "fsGroup": -5265121980497361308, + "fsGroup": -1590873142860533099, "sysctls": [ { - "name": "380", - "value": "381" + "name": "385", + "value": "386" } ], - "fsGroupChangePolicy": "ɱďW賁Ě" + "fsGroupChangePolicy": "竬ʆɞȥ}礤铟怖ý萜Ǖ" }, "imagePullSecrets": [ { - "name": "382" + "name": "387" } ], - "hostname": "383", - "subdomain": "384", + "hostname": "388", + "subdomain": "389", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1220,19 +1248,19 @@ { "matchExpressions": [ { - "key": "385", - "operator": ")DŽ髐njʉBn(fǂ", + "key": "390", + "operator": "ĝ®EĨǔvÄÚ×p鬷", "values": [ - "386" + "391" ] } ], "matchFields": [ { - "key": "387", - "operator": "鑳w妕眵笭/9崍h趭", + "key": "392", + "operator": "鄧蜢暳ǽż", "values": [ - "388" + "393" ] } ] @@ -1241,23 +1269,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -17241638, + "weight": -1819021257, "preference": { "matchExpressions": [ { - "key": "389", - "operator": "E增猍", + "key": "394", + "operator": "xƂ9阠", "values": [ - "390" + "395" ] } ], "matchFields": [ { - "key": "391", - "operator": "[irȎ3Ĕ\\ɢX鰨松/Ȁĵ鴁ĩȲ", + "key": "396", + "operator": "桉桃喕蠲$ɛ溢臜裡×", "values": [ - "392" + "397" ] } ] @@ -1270,43 +1298,43 @@ { "labelSelector": { "matchLabels": { - "83980c7f0p-3-----995----5sumf7ef8jzv4-9-35o-1-5w5z3-d----0p--8.463--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-5g2wco28---fn/d.-.-8v-J1zET_..3dCv3j._.-_pH": "G31-_I-A-_3bz._8M0U1_-__.71-_-9_.X" + "8-m7---k8235--8--c83-4b-9-1o8w-a-6-31o/x_rC9..__6": "8D_X._B__-P---_H-.___._D8.TS-jJY" }, "matchExpressions": [ { - "key": "lk9-8609a-e0--1----v8-4--558n1asz-r886-1--0s-t1e--mv56.l203-8sln7-3x-b--55039780bdw0-9/7._l.._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mej", + "key": "4sE4", "operator": "In", "values": [ - "7-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-C" + "u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l" ] } ] }, "namespaces": [ - "399" + "404" ], - "topologyKey": "400" + "topologyKey": "405" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1792673033, + "weight": -281926929, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "dgr-y7nlp97v-0-1y-t3---2ga-v205p-26-u5wq.1--m-l80--5o1--cp6-5-x1---0w4rm-0uma6-p--d-t/K_XOnf_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--0": "x-Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW.9oE9_6.x" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", - "operator": "DoesNotExist" + "key": "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj", + "operator": "Exists" } ] }, "namespaces": [ - "407" + "412" ], - "topologyKey": "408" + "topologyKey": "413" } } ] @@ -1316,118 +1344,112 @@ { "labelSelector": { "matchLabels": { - "3-72q--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pu.exr-1-o--g--1l-8---3snw0-3i--a2/4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.U": "4wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m3" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "rN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-n8", - "operator": "NotIn", - "values": [ - "8u.._-__BM.6-.Y_72-_--pT751" - ] + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "415" + "420" ], - "topologyKey": "416" + "topologyKey": "421" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1229089770, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "j9-w-n-f-v.yoh782-u---76g---h-4-lx-0-2qg--4i/wwv3D": "s_6O-5_7a" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "fz2zy0e428-4-k-2-08vc--8/T9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-Q", - "operator": "NotIn", - "values": [ - "h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWUV" - ] + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "428" ], - "topologyKey": "424" + "topologyKey": "429" } } ] } }, - "schedulerName": "425", + "schedulerName": "430", "tolerations": [ { - "key": "426", - "operator": "ȧH僠", - "value": "427", - "effect": "ÙQ阉(闒ƈƳ萎Ŋ\u003ceÙ蝌铀í", - "tolerationSeconds": 4315581051482382801 + "key": "431", + "operator": "査Z綶ĀRġ磸", + "value": "432", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "428", + "ip": "433", "hostnames": [ - "429" + "434" ] } ], - "priorityClassName": "430", - "priority": 466142803, + "priorityClassName": "435", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "431" + "436" ], "searches": [ - "432" + "437" ], "options": [ { - "name": "433", - "value": "434" + "name": "438", + "value": "439" } ] }, "readinessGates": [ { - "conditionType": "帵(弬NĆɜɘ灢7ưg" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "435", - "enableServiceLinks": true, - "preemptionPolicy": "Lå\u003cƨ襌ę鶫礗渶刄[", + "runtimeClassName": "440", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "ŚȆĸs": "489" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -2146985013, - "topologyKey": "436", - "whenUnsatisfiable": "幻/饑Ȉ@|{t亪鸑躓1Ǐ詁Ȟ鮩ĺJ", + "maxSkew": -1404859721, + "topologyKey": "441", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "u--.K--g__..2bd": "7-0-...WE.-_tdt_-Z0T" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "lM.Y-nd_.b_-gL_1..5a-1-CdM._bk81S3.s_s_6.-_vX", + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", "operator": "DoesNotExist" } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, - "ttlSecondsAfterFinished": -82488142 + "ttlSecondsAfterFinished": -493346089 } } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.pb index 18945bea439ad..b5c8752612d27 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.pb and b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.yaml index 52297e9c3189e..3c5974b565cf8 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.JobTemplate.yaml @@ -104,453 +104,459 @@ template: selfLink: "45" uid: Ȗ脵鴈Ō spec: - activeDeadlineSeconds: 4755717378804967849 + activeDeadlineSeconds: 2775124165238399450 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "389" - operator: E增猍 + - key: "394" + operator: xƂ9阠 values: - - "390" + - "395" matchFields: - - key: "391" - operator: '[irȎ3Ĕ\ɢX鰨松/Ȁĵ鴁ĩȲ' + - key: "396" + operator: 桉桃喕蠲$ɛ溢臜裡× values: - - "392" - weight: -17241638 + - "397" + weight: -1819021257 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "385" - operator: )DŽ髐njʉBn(fǂ + - key: "390" + operator: ĝ®EĨǔvÄÚ×p鬷 values: - - "386" + - "391" matchFields: - - key: "387" - operator: 鑳w妕眵笭/9崍h趭 + - key: "392" + operator: 鄧蜢暳ǽż values: - - "388" + - "393" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 - operator: DoesNotExist + - key: 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj + operator: Exists matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + ? dgr-y7nlp97v-0-1y-t3---2ga-v205p-26-u5wq.1--m-l80--5o1--cp6-5-x1---0w4rm-0uma6-p--d-t/K_XOnf_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--0 + : x-Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW.9oE9_6.x namespaces: - - "407" - topologyKey: "408" - weight: 1792673033 + - "412" + topologyKey: "413" + weight: -281926929 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: lk9-8609a-e0--1----v8-4--558n1asz-r886-1--0s-t1e--mv56.l203-8sln7-3x-b--55039780bdw0-9/7._l.._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mej + - key: 4sE4 operator: In values: - - 7-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-C + - u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l matchLabels: - ? 83980c7f0p-3-----995----5sumf7ef8jzv4-9-35o-1-5w5z3-d----0p--8.463--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-5g2wco28---fn/d.-.-8v-J1zET_..3dCv3j._.-_pH - : G31-_I-A-_3bz._8M0U1_-__.71-_-9_.X + 8-m7---k8235--8--c83-4b-9-1o8w-a-6-31o/x_rC9..__6: 8D_X._B__-P---_H-.___._D8.TS-jJY namespaces: - - "399" - topologyKey: "400" + - "404" + topologyKey: "405" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: fz2zy0e428-4-k-2-08vc--8/T9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-Q - operator: NotIn - values: - - h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWUV + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - j9-w-n-f-v.yoh782-u---76g---h-4-lx-0-2qg--4i/wwv3D: s_6O-5_7a + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "423" - topologyKey: "424" - weight: -1229089770 + - "428" + topologyKey: "429" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: rN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-n8 - operator: NotIn - values: - - 8u.._-__BM.6-.Y_72-_--pT751 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr + operator: DoesNotExist matchLabels: - 3-72q--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pu.exr-1-o--g--1l-8---3snw0-3i--a2/4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.U: 4wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m3 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "415" - topologyKey: "416" + - "420" + topologyKey: "421" automountServiceAccountToken: true containers: - args: - - "232" + - "236" command: - - "231" + - "235" env: - - name: "239" - value: "240" + - name: "243" + value: "244" valueFrom: configMapKeyRef: - key: "246" - name: "245" + key: "250" + name: "249" optional: true fieldRef: - apiVersion: "241" - fieldPath: "242" + apiVersion: "245" + fieldPath: "246" resourceFieldRef: - containerName: "243" - divisor: "506" - resource: "244" + containerName: "247" + divisor: "772" + resource: "248" secretKeyRef: - key: "248" - name: "247" + key: "252" + name: "251" optional: true envFrom: - configMapRef: - name: "237" - optional: true - prefix: "236" - secretRef: - name: "238" + name: "241" optional: false - image: "230" - imagePullPolicy: Ǜv+8Ƥ熪军g>郵[+扴ȨŮ+ + prefix: "240" + secretRef: + name: "242" + optional: true + image: "234" lifecycle: postStart: exec: command: - - "275" + - "279" httpGet: - host: "277" + host: "282" httpHeaders: - - name: "278" - value: "279" - path: "276" - port: 630004123 - scheme: ɾģ毋Ó6dz娝嘚 + - name: "283" + value: "284" + path: "280" + port: "281" + scheme: 朷Ǝ膯ljVX1虊谇 tcpSocket: - host: "280" - port: -1213051101 + host: "285" + port: -1748648882 preStop: exec: command: - - "281" + - "286" httpGet: - host: "283" + host: "289" httpHeaders: - - name: "284" - value: "285" - path: "282" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 + - name: "290" + value: "291" + path: "287" + port: "288" + scheme: 輦唊#v铿ʩȂ4ē鐭 tcpSocket: - host: "287" - port: "286" + host: "293" + port: "292" livenessProbe: exec: command: - - "255" - failureThreshold: -1171167638 + - "259" + failureThreshold: 630004123 httpGet: - host: "257" + host: "262" httpHeaders: - - name: "258" - value: "259" - path: "256" - port: -1180080716 - scheme: Ȍ脾嚏吐ĠLƐȤ藠3.v-鿧悮 - initialDelaySeconds: 1524276356 - periodSeconds: -1561418761 - successThreshold: -1452676801 + - name: "263" + value: "264" + path: "260" + port: "261" + initialDelaySeconds: 1995332035 + periodSeconds: -1020896847 + successThreshold: 1074486306 tcpSocket: - host: "260" - port: -161485752 - timeoutSeconds: -521487971 - name: "229" + host: "265" + port: -2107743490 + timeoutSeconds: 960499098 + name: "233" ports: - - containerPort: 1048864116 - hostIP: "235" - hostPort: 427196286 - name: "234" - protocol: /樝fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + - containerPort: -1960299775 + hostIP: "239" + hostPort: -950718788 + name: "238" + protocol: 榌 readinessProbe: exec: command: - - "261" - failureThreshold: 59664438 + - "266" + failureThreshold: -1423854443 httpGet: - host: "263" + host: "268" httpHeaders: - - name: "264" - value: "265" - path: "262" - port: 2141389898 - scheme: 皚| - initialDelaySeconds: 766864314 - periodSeconds: 1495880465 - successThreshold: -1032967081 + - name: "269" + value: "270" + path: "267" + port: 714088955 + scheme: źȰ?$矡ȶ网棊ʢ=wǕɳ + initialDelaySeconds: -1962065705 + periodSeconds: -1364571630 + successThreshold: 1689978741 tcpSocket: - host: "267" - port: "266" - timeoutSeconds: 1146016612 + host: "271" + port: 1752155096 + timeoutSeconds: 1701999128 + resizePolicy: + - policy: N粕擓ƖHVe熼 + resourceName: "" resources: limits: - ƻ悖ȩ0Ƹ[: "672" + 奺Ȋ礶惇¸t颟.鵫ǚ: "357" requests: - "": "988" + LƐȤ藠3.v-鿧悮坮Ȣ幟ļ腻: "575" + resourcesAllocated: + 丯Ƙ枛牐ɺ皚|: "933" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - "" + - ȑ6L*Z鐫û咡W<敄lu drop: - - ljVX1虊谇j爻ƙt叀碧 + - 榝$î.Ȏ蝪ʜ5遰 privileged: true - procMount: ʁ岼昕ĬÇ - readOnlyRootFilesystem: false - runAsGroup: -6641599652770442851 - runAsNonRoot: true - runAsUser: 77796669038602313 + procMount: 坢'跩aŕ翑0展}硐庰%皧V + readOnlyRootFilesystem: true + runAsGroup: -6280183074137250229 + runAsNonRoot: false + runAsUser: 61436896663269868 seLinuxOptions: - level: "292" - role: "290" - type: "291" - user: "289" + level: "298" + role: "296" + type: "297" + user: "295" windowsOptions: - gmsaCredentialSpec: "294" - gmsaCredentialSpecName: "293" - runAsUserName: "295" + gmsaCredentialSpec: "300" + gmsaCredentialSpecName: "299" + runAsUserName: "301" startupProbe: exec: command: - - "268" - failureThreshold: 1995332035 + - "272" + failureThreshold: 972978563 httpGet: - host: "270" + host: "274" httpHeaders: - - name: "271" - value: "272" - path: "269" - port: 163512962 - scheme: 'Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ' - initialDelaySeconds: 232569106 - periodSeconds: 744319626 - successThreshold: -2107743490 + - name: "275" + value: "276" + path: "273" + port: -1109619518 + scheme: ĺ}潷ʒ胵輓Ɔȓ蹣ɐǛv+8Ƥ熪 + initialDelaySeconds: -820113531 + periodSeconds: 410611837 + successThreshold: 809006670 tcpSocket: - host: "274" - port: "273" - timeoutSeconds: -1150474479 + host: "278" + port: "277" + timeoutSeconds: 622267234 stdinOnce: true - terminationMessagePath: "288" - terminationMessagePolicy: 勅跦Opwǩ曬逴褜1Ø + terminationMessagePath: "294" + terminationMessagePolicy: 'ơŸ8T ' + tty: true volumeDevices: - - devicePath: "254" - name: "253" + - devicePath: "258" + name: "257" volumeMounts: - - mountPath: "250" - mountPropagation: 髷裎$MVȟ@7飣奺Ȋ - name: "249" - subPath: "251" - subPathExpr: "252" - workingDir: "233" + - mountPath: "254" + mountPropagation: D剂讼ɓȌʟni酛3ƁÀ* + name: "253" + readOnly: true + subPath: "255" + subPathExpr: "256" + workingDir: "237" dnsConfig: nameservers: - - "431" + - "436" options: - - name: "433" - value: "434" + - name: "438" + value: "439" searches: - - "432" - dnsPolicy: ʐşƧ - enableServiceLinks: true + - "437" + dnsPolicy: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + enableServiceLinks: false ephemeralContainers: - args: - - "299" + - "305" command: - - "298" + - "304" env: - - name: "306" - value: "307" + - name: "312" + value: "313" valueFrom: configMapKeyRef: - key: "313" - name: "312" - optional: true + key: "319" + name: "318" + optional: false fieldRef: - apiVersion: "308" - fieldPath: "309" + apiVersion: "314" + fieldPath: "315" resourceFieldRef: - containerName: "310" - divisor: "879" - resource: "311" + containerName: "316" + divisor: "215" + resource: "317" secretKeyRef: - key: "315" - name: "314" + key: "321" + name: "320" optional: false envFrom: - configMapRef: - name: "304" - optional: false - prefix: "303" - secretRef: - name: "305" + name: "310" optional: true - image: "297" - imagePullPolicy: 囌{屿oiɥ嵐sC + prefix: "309" + secretRef: + name: "311" + optional: false + image: "303" + imagePullPolicy: (fǂǢ曣ŋayå lifecycle: postStart: exec: command: - - "344" + - "348" httpGet: - host: "346" + host: "351" httpHeaders: - - name: "347" - value: "348" - path: "345" - port: -2128108224 - scheme: δ摖 + - name: "352" + value: "353" + path: "349" + port: "350" tcpSocket: - host: "350" - port: "349" + host: "355" + port: "354" preStop: exec: command: - - "351" + - "356" httpGet: - host: "354" + host: "359" httpHeaders: - - name: "355" - value: "356" - path: "352" - port: "353" + - name: "360" + value: "361" + path: "357" + port: "358" + scheme: W賁Ěɭɪǹ0 tcpSocket: - host: "358" - port: "357" + host: "363" + port: "362" livenessProbe: exec: command: - - "322" - failureThreshold: 549215478 + - "328" + failureThreshold: -1562283537 httpGet: - host: "325" + host: "331" httpHeaders: - - name: "326" - value: "327" - path: "323" - port: "324" - scheme: E¦ - initialDelaySeconds: 1868887309 - periodSeconds: -316996074 - successThreshold: 1933968533 + - name: "332" + value: "333" + path: "329" + port: "330" + scheme: C8?Ǻ鱎ƙ;Nŕ璻Jih亏 + initialDelaySeconds: 902978249 + periodSeconds: 1983546326 + successThreshold: -1967425039 tcpSocket: - host: "329" - port: "328" - timeoutSeconds: -528664199 - name: "296" + host: "335" + port: "334" + timeoutSeconds: -171819101 + name: "302" ports: - - containerPort: -1491697472 - hostIP: "302" - hostPort: 2087800617 - name: "301" - protocol: "6" + - containerPort: -1554093462 + hostIP: "308" + hostPort: 1625542084 + name: "307" + protocol: l獕;跣Hǝcw媀瓄 readinessProbe: exec: command: - - "330" - failureThreshold: 1847163341 + - "336" + failureThreshold: -536848804 httpGet: - host: "332" + host: "338" httpHeaders: - - name: "333" - value: "334" - path: "331" - port: -374766088 - scheme: 翜舞拉Œ - initialDelaySeconds: -190183379 - periodSeconds: -341287812 - successThreshold: 2030115750 + - name: "339" + value: "340" + path: "337" + port: -402384013 + scheme: nj汰8ŕİi騎C"6x$1sȣ±p + initialDelaySeconds: -766915393 + periodSeconds: -1170565984 + successThreshold: -444561761 tcpSocket: - host: "336" - port: "335" - timeoutSeconds: -940334911 + host: "341" + port: 1900201288 + timeoutSeconds: 828305357 + resizePolicy: + - policy: "" + resourceName: "" resources: limits: - u|榝$î.Ȏ蝪ʜ5遰=E埄Ȁ: "114" + ' 鰔澝qV訆ƎżŧL²': "195" requests: - Ƭƶ氩Ȩ<6: "446" + Ä蚃ɣľ)酊龨δ摖ȱğ_<: "118" + resourcesAllocated: + ' ƺ蛜6Ɖ飴Ɏ': "974" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - Ǻ鱎ƙ;Nŕ + - 訙Ǫʓ)ǂť嗆u8晲T[ir drop: - - Jih亏yƕ丆録² - privileged: false - procMount: 砅邻爥蹔ŧOǨ繫ʎǑyZ涬P­ - readOnlyRootFilesystem: true - runAsGroup: 2179199799235189619 + - 3Ĕ\ɢX鰨松/Ȁĵ鴁 + privileged: true + procMount: ĒzŔ瘍Nʊ + readOnlyRootFilesystem: false + runAsGroup: 6580335751302408293 runAsNonRoot: true - runAsUser: -607313695104609402 + runAsUser: 5333033627167868167 seLinuxOptions: - level: "363" - role: "361" - type: "362" - user: "360" + level: "368" + role: "366" + type: "367" + user: "365" windowsOptions: - gmsaCredentialSpec: "365" - gmsaCredentialSpecName: "364" - runAsUserName: "366" + gmsaCredentialSpec: "370" + gmsaCredentialSpecName: "369" + runAsUserName: "371" startupProbe: exec: command: - - "337" - failureThreshold: 1103049140 + - "342" + failureThreshold: 467105019 httpGet: - host: "339" + host: "344" httpHeaders: - - name: "340" - value: "341" - path: "338" - port: 567263590 - scheme: KŅ/ - initialDelaySeconds: -1894250541 - periodSeconds: 1315054653 - successThreshold: 711020087 + - name: "345" + value: "346" + path: "343" + port: -2113700533 + scheme: 埮pɵ{WOŭW灬p + initialDelaySeconds: -667808868 + periodSeconds: -1952582931 + successThreshold: -74827262 tcpSocket: - host: "343" - port: "342" - timeoutSeconds: 1962818731 + host: "347" + port: -1607821167 + timeoutSeconds: -1411971593 stdin: true stdinOnce: true - targetContainerName: "367" - terminationMessagePath: "359" - terminationMessagePolicy: ƺ蛜6Ɖ飴ɎiǨź + targetContainerName: "372" + terminationMessagePath: "364" + terminationMessagePolicy: ƷƣMț + tty: true volumeDevices: - - devicePath: "321" - name: "320" + - devicePath: "327" + name: "326" volumeMounts: - - mountPath: "317" - mountPropagation: 翑0展}硐庰%皧V垾 - name: "316" + - mountPath: "323" + mountPropagation: ǵɐ鰥Z + name: "322" readOnly: true - subPath: "318" - subPathExpr: "319" - workingDir: "300" + subPath: "324" + subPathExpr: "325" + workingDir: "306" hostAliases: - hostnames: - - "429" - ip: "428" - hostNetwork: true - hostPID: true - hostname: "383" + - "434" + ip: "433" + hostIPC: true + hostname: "388" imagePullSecrets: - - name: "382" + - name: "387" initContainers: - args: - "167" @@ -584,57 +590,57 @@ template: name: "173" optional: true image: "165" - imagePullPolicy: ŴĿ lifecycle: postStart: exec: command: - - "208" + - "210" httpGet: - host: "210" + host: "213" httpHeaders: - - name: "211" - value: "212" - path: "209" - port: 1381010768 - scheme: ö + - name: "214" + value: "215" + path: "211" + port: "212" + scheme: ɃHŠơŴĿǹ_Áȉ彂Ŵ廷 tcpSocket: - host: "213" - port: 1135182169 + host: "217" + port: "216" preStop: exec: command: - - "214" + - "218" httpGet: - host: "216" + host: "220" httpHeaders: - - name: "217" - value: "218" - path: "215" - port: 1054302708 + - name: "221" + value: "222" + path: "219" + port: 1923650413 + scheme: I粛E煹ǐƲE'iþŹʣy tcpSocket: - host: "220" - port: "219" + host: "224" + port: "223" livenessProbe: exec: command: - "190" - failureThreshold: -559252309 + failureThreshold: -1064240304 httpGet: - host: "192" + host: "193" httpHeaders: - - name: "193" - value: "194" + - name: "194" + value: "195" path: "191" - port: -575512248 - scheme: ɨ銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ - initialDelaySeconds: -1846991380 - periodSeconds: -1398498492 - successThreshold: -2035009296 + port: "192" + scheme: 猀2:ö + initialDelaySeconds: 322201525 + periodSeconds: 66472042 + successThreshold: 2130088978 tcpSocket: - host: "195" - port: 1180382332 - timeoutSeconds: 325236550 + host: "197" + port: "196" + timeoutSeconds: -1784033404 name: "164" ports: - containerPort: 38897467 @@ -645,138 +651,144 @@ template: readinessProbe: exec: command: - - "196" - failureThreshold: 1427781619 + - "198" + failureThreshold: -522126070 httpGet: - host: "198" + host: "200" httpHeaders: - - name: "199" - value: "200" - path: "197" - port: 1403721475 - scheme: ǰ溟ɴ扵閝ȝ鐵儣廡ɑ龫`劳 - initialDelaySeconds: -1327537699 - periodSeconds: -1941847253 - successThreshold: 1596028039 + - name: "201" + value: "202" + path: "199" + port: -566408554 + scheme: 劳&¼傭Ȟ1酃=6}ɡŇƉ立 + initialDelaySeconds: -1628697284 + periodSeconds: 354496320 + successThreshold: -418887496 tcpSocket: - host: "201" - port: -2064174383 - timeoutSeconds: 483512911 + host: "203" + port: -31530684 + timeoutSeconds: 843845736 + resizePolicy: + - policy: H炮掊°nʮ閼咎櫸eʔŊƞ究:ho + resourceName: ?鷅bȻN resources: limits: 缶.蒅!a坩O`涁İ而踪鄌eÞȦY籎顒: "45" requests: T捘ɍi縱ù墴: "848" + resourcesAllocated: + '#咻痗ȡmƴy綸': "420" securityContext: allowPrivilegeEscalation: true capabilities: add: - - Áȉ彂Ŵ廷s{Ⱦdz@ùƸ + - 邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ drop: - - ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0 + - ɟ踡肒Ao/樝fw[Řż丩Ž privileged: true - procMount: 邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ - readOnlyRootFilesystem: false - runAsGroup: -8724223413734010757 - runAsNonRoot: true - runAsUser: 6116261698850084527 + procMount: Ź9ǕLLȊɞ-uƻ悖 + readOnlyRootFilesystem: true + runAsGroup: -7799096735007368868 + runAsNonRoot: false + runAsUser: -4868342918997831990 seLinuxOptions: - level: "225" - role: "223" - type: "224" - user: "222" + level: "229" + role: "227" + type: "228" + user: "226" windowsOptions: - gmsaCredentialSpec: "227" - gmsaCredentialSpecName: "226" - runAsUserName: "228" + gmsaCredentialSpec: "231" + gmsaCredentialSpecName: "230" + runAsUserName: "232" startupProbe: exec: command: - - "202" - failureThreshold: -2037320199 + - "204" + failureThreshold: -636855511 httpGet: - host: "204" + host: "206" httpHeaders: - - name: "205" - value: "206" - path: "203" - port: -337353552 - scheme: ɖȃ賲鐅臬dH巧壚tC十Oɢ - initialDelaySeconds: 1592489782 - periodSeconds: -102814733 - successThreshold: -152585895 + - name: "207" + value: "208" + path: "205" + port: -1569009987 + scheme: ɢǵʭd鲡:贅wE@Ȗs«öʮĀ< + initialDelaySeconds: -1565157256 + periodSeconds: -1385586997 + successThreshold: 460997133 tcpSocket: - host: "207" - port: -586068135 - timeoutSeconds: 929367702 - terminationMessagePath: "221" - terminationMessagePolicy: 軶ǃ*ʙ嫙&蒒5靇 + host: "209" + port: 1702578303 + timeoutSeconds: -1113628381 + stdin: true + stdinOnce: true + terminationMessagePath: "225" + terminationMessagePolicy: ɀ羭,铻OŤǢʭ嵔棂p volumeDevices: - devicePath: "189" name: "188" volumeMounts: - mountPath: "185" - mountPropagation: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + mountPropagation: 瀐<ɉ湨H=å睫}堇硲 name: "184" - readOnly: true subPath: "186" subPathExpr: "187" workingDir: "168" - nodeName: "372" + nodeName: "377" nodeSelector: - "368": "369" + "373": "374" overhead: - ŚȆĸs: "489" - preemptionPolicy: Lå<ƨ襌ę鶫礗渶刄[ - priority: 466142803 - priorityClassName: "430" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "435" readinessGates: - - conditionType: 帵(弬NĆɜɘ灢7ưg - restartPolicy: 幩šeSvEȤƏ埮pɵ - runtimeClassName: "435" - schedulerName: "425" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: 璾ėȜv + runtimeClassName: "440" + schedulerName: "430" securityContext: - fsGroup: -5265121980497361308 - fsGroupChangePolicy: ɱďW賁Ě - runAsGroup: 2006200781539567705 + fsGroup: -1590873142860533099 + fsGroupChangePolicy: 竬ʆɞȥ}礤铟怖ý萜Ǖ + runAsGroup: 9087288446299226205 runAsNonRoot: true - runAsUser: 1287380841622288898 + runAsUser: -458943834575608638 seLinuxOptions: - level: "376" - role: "374" - type: "375" - user: "373" + level: "381" + role: "379" + type: "380" + user: "378" supplementalGroups: - - 6618112330449141397 + - 3823478936947545930 sysctls: - - name: "380" - value: "381" + - name: "385" + value: "386" windowsOptions: - gmsaCredentialSpec: "378" - gmsaCredentialSpecName: "377" - runAsUserName: "379" - serviceAccount: "371" - serviceAccountName: "370" - setHostnameAsFQDN: true + gmsaCredentialSpec: "383" + gmsaCredentialSpecName: "382" + runAsUserName: "384" + serviceAccount: "376" + serviceAccountName: "375" + setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "384" - terminationGracePeriodSeconds: -3123571459188372202 + subdomain: "389" + terminationGracePeriodSeconds: 8557551499766807948 tolerations: - - effect: ÙQ阉(闒ƈƳ萎Ŋ5姣 - initialDelaySeconds: 1505082076 - periodSeconds: 1602745893 - successThreshold: 1599076900 + - name: "271" + value: "272" + path: "268" + port: "269" + scheme: 嚏吐Ġ + initialDelaySeconds: -850069363 + periodSeconds: 1016277253 + successThreshold: -1983795633 tcpSocket: - host: "271" - port: 1498833271 - timeoutSeconds: 1447898632 + host: "274" + port: "273" + timeoutSeconds: 918929368 + resizePolicy: + - policy: weLJèux榜VƋ + resourceName: 塓烀罁胾^拜Ȍzɟ踡肒Ao/樝f resources: limits: - ŤǢʭ嵔棂p儼Ƿ裚瓶: "806" + E'iþŹʣy: "236" requests: - ɩC: "766" + 漘Z剚敍0): "908" + resourcesAllocated: + ʭ嵔棂p儼Ƿ裚瓶釆Ɗ+j忊Ŗ: "976" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - À*f<鴒翁杙Ŧ癃8 + - 螡źȰ?$矡ȶ网棊ʢ=wǕɳ drop: - - ɱJȉ罴 + - 9Ì privileged: false - procMount: 棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅 - readOnlyRootFilesystem: false - runAsGroup: -3689959065086680033 + procMount: Opwǩ曬逴褜1ØœȠƬQg鄠 + readOnlyRootFilesystem: true + runAsGroup: -6115408265471385577 runAsNonRoot: false - runAsUser: -2706913289057230267 + runAsUser: 4984211709342975861 seLinuxOptions: - level: "297" - role: "295" - type: "296" - user: "294" + level: "299" + role: "297" + type: "298" + user: "296" windowsOptions: - gmsaCredentialSpec: "299" - gmsaCredentialSpecName: "298" - runAsUserName: "300" + gmsaCredentialSpec: "301" + gmsaCredentialSpecName: "300" + runAsUserName: "302" startupProbe: exec: command: - - "272" - failureThreshold: -822090785 + - "275" + failureThreshold: 645599318 httpGet: - host: "275" + host: "277" httpHeaders: - - name: "276" - value: "277" - path: "273" - port: "274" - scheme: ¸ - initialDelaySeconds: -161753937 - periodSeconds: 1428207963 - successThreshold: 790462391 + - name: "278" + value: "279" + path: "276" + port: 1182477686 + initialDelaySeconds: -246563990 + periodSeconds: 1095256400 + successThreshold: 1761963371 tcpSocket: - host: "279" - port: "278" - timeoutSeconds: -1578746609 + host: "280" + port: -763687725 + timeoutSeconds: 10098903 stdinOnce: true - terminationMessagePath: "293" - terminationMessagePolicy: \p[ + terminationMessagePath: "295" + terminationMessagePolicy: §耶 + tty: true volumeDevices: - devicePath: "259" name: "258" volumeMounts: - mountPath: "255" - mountPropagation: ȫ焗捏ĨFħ籘Àǒɿʒ刽 + mountPropagation: Ůđ眊ľǎɳ,ǿ飏騀呣ǎfǣ萭旿 name: "254" subPath: "256" subPathExpr: "257" workingDir: "238" dnsConfig: nameservers: - - "435" + - "434" options: - - name: "437" - value: "438" + - name: "436" + value: "437" searches: - - "436" - dnsPolicy: 丆 + - "435" + dnsPolicy: OǨ繫ʎǑyZ enableServiceLinks: false ephemeralContainers: - args: - - "304" + - "306" command: - - "303" + - "305" env: - - name: "311" - value: "312" + - name: "313" + value: "314" valueFrom: configMapKeyRef: - key: "318" - name: "317" + key: "320" + name: "319" optional: false fieldRef: - apiVersion: "313" - fieldPath: "314" + apiVersion: "315" + fieldPath: "316" resourceFieldRef: - containerName: "315" - divisor: "709" - resource: "316" + containerName: "317" + divisor: "421" + resource: "318" secretKeyRef: - key: "320" - name: "319" + key: "322" + name: "321" optional: false envFrom: - configMapRef: - name: "309" + name: "311" optional: true - prefix: "308" + prefix: "310" secretRef: - name: "310" - optional: true - image: "302" - imagePullPolicy: 拉Œɥ颶妧Ö闊 鰔澝qV訆 + name: "312" + optional: false + image: "304" + imagePullPolicy: Ɖ飴ɎiǨ lifecycle: postStart: exec: command: - - "348" + - "349" httpGet: host: "351" httpHeaders: - name: "352" value: "353" - path: "349" - port: "350" - scheme: 跩aŕ翑 + path: "350" + port: -816630929 tcpSocket: - host: "355" - port: "354" + host: "354" + port: 1965273344 preStop: exec: command: - - "356" + - "355" httpGet: host: "358" httpHeaders: - name: "359" value: "360" - path: "357" - port: 1017803158 - scheme: 碔 + path: "356" + port: "357" + scheme: SÄ蚃ɣľ)酊龨δ摖ȱğ_< tcpSocket: - host: "362" - port: "361" + host: "361" + port: -385597677 livenessProbe: exec: command: - - "327" - failureThreshold: 1742259603 + - "329" + failureThreshold: 2056774277 httpGet: - host: "330" + host: "331" httpHeaders: - - name: "331" - value: "332" - path: "328" - port: "329" - scheme: 屡ʁ - initialDelaySeconds: 1718241831 - periodSeconds: 1180971695 - successThreshold: -1971944908 + - name: "332" + value: "333" + path: "330" + port: -1246371817 + scheme: 貾坢'跩aŕ翑0 + initialDelaySeconds: -2165496 + periodSeconds: 1386255869 + successThreshold: -778272981 tcpSocket: - host: "333" - port: -1554559634 - timeoutSeconds: 550615941 - name: "301" + host: "334" + port: 1165327504 + timeoutSeconds: -1778952574 + name: "303" ports: - - containerPort: 1330271338 - hostIP: "307" - hostPort: 1853396726 - name: "306" - protocol: 逴 + - containerPort: 461585849 + hostIP: "309" + hostPort: -1556231754 + name: "308" + protocol: ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ readinessProbe: exec: command: - - "334" - failureThreshold: 1150925735 + - "335" + failureThreshold: 549215478 httpGet: - host: "336" + host: "337" httpHeaders: - - name: "337" - value: "338" - path: "335" - port: -1620315711 - scheme: ɐ扵 - initialDelaySeconds: -1358663652 - periodSeconds: -527306221 - successThreshold: 2098694289 + - name: "338" + value: "339" + path: "336" + port: -1928016742 + scheme: E¦ + initialDelaySeconds: 1868887309 + periodSeconds: -316996074 + successThreshold: 1933968533 tcpSocket: - host: "340" - port: "339" - timeoutSeconds: 1543146222 + host: "341" + port: "340" + timeoutSeconds: -528664199 + resizePolicy: + - policy: gw忊|E + resourceName: 鐫û咡W<敄lu|榝 resources: limits: - 颐o: "230" + Ȃ4: "239" requests: - '[+扴ȨŮ+朷Ǝ膯ljV': "728" + ʁ岼昕ĬÇ: "758" + resourcesAllocated: + ' 苧yñKJɐ': "894" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - ŧL²sNƗ¸gĩ餠籲磣Óƿ + - ǵɐ鰥Z drop: - - '"冓鍓贯澔 ƺ蛜6' + - ´DÒȗÔÂɘɢ鬍熖B芭花ª瘡 privileged: false - procMount: 鰥Z龏´DÒȗ + procMount: ƲǦŐnj汰 readOnlyRootFilesystem: true - runAsGroup: 6057650398488995896 - runAsNonRoot: true - runAsUser: 4353696140684277635 + runAsGroup: 2823592889848840099 + runAsNonRoot: false + runAsUser: -1666202510534940446 seLinuxOptions: - level: "367" - role: "365" - type: "366" - user: "364" + level: "366" + role: "364" + type: "365" + user: "363" windowsOptions: - gmsaCredentialSpec: "369" - gmsaCredentialSpecName: "368" - runAsUserName: "370" + gmsaCredentialSpec: "368" + gmsaCredentialSpecName: "367" + runAsUserName: "369" startupProbe: exec: command: - - "341" - failureThreshold: -1246371817 + - "342" + failureThreshold: 1847163341 httpGet: host: "344" httpHeaders: - name: "345" value: "346" - path: "342" - port: "343" - scheme: 榝$î.Ȏ蝪ʜ5遰 - initialDelaySeconds: 834105836 - periodSeconds: -370386363 - successThreshold: 1714588921 + path: "343" + port: -374766088 + scheme: 翜舞拉Œ + initialDelaySeconds: -190183379 + periodSeconds: -341287812 + successThreshold: 2030115750 tcpSocket: - host: "347" - port: -1438286448 - timeoutSeconds: -1462219068 - targetContainerName: "371" - terminationMessagePath: "363" - terminationMessagePolicy: Kƙ順\E¦队偯J僳徥淳4揻-$ɽ丟 - tty: true + host: "348" + port: "347" + timeoutSeconds: -940334911 + stdin: true + targetContainerName: "370" + terminationMessagePath: "362" + terminationMessagePolicy: 橈' volumeDevices: - - devicePath: "326" - name: "325" + - devicePath: "328" + name: "327" volumeMounts: - - mountPath: "322" - mountPropagation: ŕ-Ɂ圯W:ĸ輦唊#v铿 - name: "321" - subPath: "323" - subPathExpr: "324" - workingDir: "305" + - mountPath: "324" + mountPropagation: '|表徶đ' + name: "323" + subPath: "325" + subPathExpr: "326" + workingDir: "307" hostAliases: - hostnames: - - "433" - ip: "432" + - "432" + ip: "431" + hostIPC: true hostPID: true - hostname: "387" + hostname: "386" imagePullSecrets: - - name: "386" + - name: "385" initContainers: - args: - "168" @@ -582,58 +587,58 @@ spec: name: "174" optional: false image: "166" - imagePullPolicy: 儣廡ɑ龫`劳&¼傭 + imagePullPolicy: dz緄 lifecycle: postStart: exec: command: - - "213" + - "211" httpGet: - host: "215" + host: "214" httpHeaders: - - name: "216" - value: "217" - path: "214" - port: -1171060347 - scheme: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + - name: "215" + value: "216" + path: "212" + port: "213" + scheme: H=å tcpSocket: - host: "219" - port: "218" + host: "218" + port: "217" preStop: exec: command: - - "220" + - "219" httpGet: - host: "222" + host: "221" httpHeaders: - - name: "223" - value: "224" - path: "221" - port: -1319998825 - scheme: 銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ + - name: "222" + value: "223" + path: "220" + port: -2035009296 + scheme: ï瓼猀2:öY鶪5w垁 tcpSocket: host: "225" - port: 1180382332 + port: "224" livenessProbe: exec: command: - "191" - failureThreshold: 1231820696 + failureThreshold: -814446577 httpGet: - host: "194" + host: "193" httpHeaders: - - name: "195" - value: "196" + - name: "194" + value: "195" path: "192" - port: "193" - scheme: 0åȂ町恰nj揠8lj - initialDelaySeconds: -1188153605 - periodSeconds: 912004803 - successThreshold: -2098817064 + port: 213614618 + scheme: ȦY籎 + initialDelaySeconds: -1252931244 + periodSeconds: 1061537 + successThreshold: 322666556 tcpSocket: - host: "197" - port: -2049272966 - timeoutSeconds: -427769948 + host: "196" + port: -582473401 + timeoutSeconds: 1569992019 name: "165" ports: - containerPort: 487826951 @@ -644,40 +649,46 @@ spec: readinessProbe: exec: command: - - "198" - failureThreshold: -1618937335 + - "197" + failureThreshold: 142244414 httpGet: - host: "201" + host: "200" httpHeaders: - - name: "202" - value: "203" - path: "199" - port: "200" - initialDelaySeconds: 994527057 - periodSeconds: -1346458591 - successThreshold: 1234551517 + - name: "201" + value: "202" + path: "198" + port: "199" + scheme: Rƥ贫d飼$俊跾|@?鷅b + initialDelaySeconds: 896368653 + periodSeconds: 692541847 + successThreshold: 996680040 tcpSocket: - host: "204" - port: 675406340 - timeoutSeconds: -1482763519 + host: "203" + port: 200992434 + timeoutSeconds: -1167973499 + resizePolicy: + - policy: 擇ɦĽ胚O醔ɍ厶耈 T衧ȇe媹Hǝ呮} + resourceName: "" resources: limits: ÙæNǚ錯ƶRq: "575" requests: To&蕭k ź: "644" + resourcesAllocated: + 朘瑥A徙ɶɊ: "742" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - 酃=6}ɡŇƉ立hdz緄Ú|dk_瀹鞎 + - dk_ drop: - - n芞QÄȻȊ+?ƭ峧Y栲茇竛 - privileged: true - procMount: 軶ǃ*ʙ嫙&蒒5靇 - readOnlyRootFilesystem: false - runAsGroup: -593458796014416333 + - 鞎sn芞QÄȻȊ+?ƭ峧Y栲茇竛吲蚛 + privileged: false + procMount: '*ʙ嫙&蒒5靇C''ɵK.' + readOnlyRootFilesystem: true + runAsGroup: 4528195653674047608 runAsNonRoot: true - runAsUser: 4875570291212151521 + runAsUser: -8450215029913275287 seLinuxOptions: level: "230" role: "228" @@ -690,95 +701,95 @@ spec: startupProbe: exec: command: - - "205" - failureThreshold: -814446577 + - "204" + failureThreshold: 2057433923 httpGet: - host: "208" + host: "207" httpHeaders: - - name: "209" - value: "210" - path: "206" - port: "207" - scheme: eÞȦY籎顒 - initialDelaySeconds: -1252931244 - periodSeconds: 1061537 - successThreshold: 322666556 + - name: "208" + value: "209" + path: "205" + port: "206" + scheme: 櫸eʔŊ + initialDelaySeconds: 1705239007 + periodSeconds: 173030157 + successThreshold: 1530176864 tcpSocket: - host: "212" - port: "211" - timeoutSeconds: 1569992019 + host: "210" + port: 731879508 + timeoutSeconds: 1367201035 stdin: true stdinOnce: true terminationMessagePath: "226" - terminationMessagePolicy: H韹寬娬ï瓼猀2:öY鶪5w垁 + terminationMessagePolicy: 虽U珝Żwʮ馜üNșƶ4ĩĉş蝿ɖȃ volumeDevices: - devicePath: "190" name: "189" volumeMounts: - mountPath: "186" - mountPropagation: 瑥A + mountPropagation: ð»ųKĵ name: "185" readOnly: true subPath: "187" subPathExpr: "188" workingDir: "169" - nodeName: "376" + nodeName: "375" nodeSelector: - "372": "373" + "371": "372" overhead: - Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲: "185" - preemptionPolicy: 鲛ô衞Ɵ鳝稃Ȍ液文?謮 - priority: 1352980996 - priorityClassName: "434" + 4'ď曕椐敛n湙: "310" + preemptionPolicy: '!ń1ċƹ|慼櫁色苆试揯遐' + priority: -1852730577 + priorityClassName: "433" readinessGates: - - conditionType: Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ - restartPolicy: ɘɢ鬍熖B芭花ª瘡 - runtimeClassName: "439" - schedulerName: "429" + - conditionType: ź魊塾ɖ$rolȋɶuɋ5r儉ɩ柀ɨ鴅 + restartPolicy: İ + runtimeClassName: "438" + schedulerName: "428" securityContext: - fsGroup: 7124276984274024394 - fsGroupChangePolicy: 蹔ŧ - runAsGroup: -779972051078659613 - runAsNonRoot: false - runAsUser: 2179199799235189619 + fsGroup: -497502651173077685 + fsGroupChangePolicy: pɵ{ + runAsGroup: -1909378223379552949 + runAsNonRoot: true + runAsUser: 2064297229886854304 seLinuxOptions: - level: "380" - role: "378" - type: "379" - user: "377" + level: "379" + role: "377" + type: "378" + user: "376" supplementalGroups: - - -7127205672279904050 + - 8403394374485358747 sysctls: - - name: "384" - value: "385" + - name: "383" + value: "384" windowsOptions: - gmsaCredentialSpec: "382" - gmsaCredentialSpecName: "381" - runAsUserName: "383" - serviceAccount: "375" - serviceAccountName: "374" + gmsaCredentialSpec: "381" + gmsaCredentialSpecName: "380" + runAsUserName: "382" + serviceAccount: "374" + serviceAccountName: "373" setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "388" - terminationGracePeriodSeconds: 2666412258966278206 + subdomain: "387" + terminationGracePeriodSeconds: -7113907198031116027 tolerations: - - effect: 癯頯aɴí(Ȟ9"忕( - key: "430" - operator: ƴ磳藷曥摮Z Ǐg鲅 - tolerationSeconds: 3807599400818393626 - value: "431" + - effect: ŽɣB矗E¸乾 + key: "429" + operator: 堺ʣ + tolerationSeconds: -3532804738923434397 + value: "430" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs + - key: 4-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W operator: In values: - - 7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I + - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ matchLabels: - za42o/Y-YD-Q9_-__..YNFu7Pg-.1: tE - maxSkew: 547935694 - topologyKey: "440" - whenUnsatisfiable: zŕƧ钖孝0蛮xAǫ&tŧK剛Ʀ + p2djmscp--ac8u23-k----26u5--72n-5.j8-0020-1-5/t5W_._._-2M2._i: wvU + maxSkew: -150478704 + topologyKey: "439" + whenUnsatisfiable: ;鹡鑓侅闍ŏŃŋŏ}ŀ volumes: - awsElasticBlockStore: fsType: "65" @@ -977,17 +988,17 @@ spec: storagePolicyID: "122" storagePolicyName: "121" volumePath: "119" - ttlSecondsAfterFinished: 1530007970 + ttlSecondsAfterFinished: 233999136 schedule: "19" startingDeadlineSeconds: -2555947251840004808 - successfulJobsHistoryLimit: -928976522 + successfulJobsHistoryLimit: -1469601144 suspend: true status: active: - - apiVersion: "450" - fieldPath: "452" - kind: "447" - name: "449" - namespace: "448" - resourceVersion: "451" - uid: ?鮻ȧH僠 &G凒罹ń賎Ȍű孖站 + - apiVersion: "449" + fieldPath: "451" + kind: "446" + name: "448" + namespace: "447" + resourceVersion: "450" + uid: )TiD¢ƿ媴h5ƅȸȓɻ猶N嫡 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json index 6de235196e139..44e849f4b5c82 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json @@ -485,13 +485,21 @@ "T捘ɍi縱ù墴": "848" } }, + "resourcesAllocated": { + "#咻痗ȡmƴy綸": "420" + }, + "resizePolicy": [ + { + "resourceName": "?鷅bȻN", + "policy": "H炮掊°nʮ閼咎櫸eʔŊƞ究:ho" + } + ], "volumeMounts": [ { "name": "184", - "readOnly": true, "mountPath": "185", "subPath": "186", - "mountPropagation": "咻痗ȡmƴy綸_Ú8參遼ūPH炮掊°", + "mountPropagation": "瀐\u003cɉ湨H=å睫}堇硲", "subPathExpr": "187" } ], @@ -509,217 +517,219 @@ }, "httpGet": { "path": "191", - "port": -575512248, - "host": "192", - "scheme": "ɨ銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ", + "port": "192", + "host": "193", + "scheme": "猀2:ö", "httpHeaders": [ { - "name": "193", - "value": "194" + "name": "194", + "value": "195" } ] }, "tcpSocket": { - "port": 1180382332, - "host": "195" + "port": "196", + "host": "197" }, - "initialDelaySeconds": -1846991380, - "timeoutSeconds": 325236550, - "periodSeconds": -1398498492, - "successThreshold": -2035009296, - "failureThreshold": -559252309 + "initialDelaySeconds": 322201525, + "timeoutSeconds": -1784033404, + "periodSeconds": 66472042, + "successThreshold": 2130088978, + "failureThreshold": -1064240304 }, "readinessProbe": { "exec": { "command": [ - "196" + "198" ] }, "httpGet": { - "path": "197", - "port": 1403721475, - "host": "198", - "scheme": "ǰ溟ɴ扵閝ȝ鐵儣廡ɑ龫`劳", + "path": "199", + "port": -566408554, + "host": "200", + "scheme": "劳\u0026¼傭Ȟ1酃=6}ɡŇƉ立", "httpHeaders": [ { - "name": "199", - "value": "200" + "name": "201", + "value": "202" } ] }, "tcpSocket": { - "port": -2064174383, - "host": "201" + "port": -31530684, + "host": "203" }, - "initialDelaySeconds": -1327537699, - "timeoutSeconds": 483512911, - "periodSeconds": -1941847253, - "successThreshold": 1596028039, - "failureThreshold": 1427781619 + "initialDelaySeconds": -1628697284, + "timeoutSeconds": 843845736, + "periodSeconds": 354496320, + "successThreshold": -418887496, + "failureThreshold": -522126070 }, "startupProbe": { "exec": { "command": [ - "202" + "204" ] }, "httpGet": { - "path": "203", - "port": -337353552, - "host": "204", - "scheme": "ɖȃ賲鐅臬dH巧壚tC十Oɢ", + "path": "205", + "port": -1569009987, + "host": "206", + "scheme": "ɢǵʭd鲡:贅wE@Ȗs«öʮĀ\u003c", "httpHeaders": [ { - "name": "205", - "value": "206" + "name": "207", + "value": "208" } ] }, "tcpSocket": { - "port": -586068135, - "host": "207" + "port": 1702578303, + "host": "209" }, - "initialDelaySeconds": 1592489782, - "timeoutSeconds": 929367702, - "periodSeconds": -102814733, - "successThreshold": -152585895, - "failureThreshold": -2037320199 + "initialDelaySeconds": -1565157256, + "timeoutSeconds": -1113628381, + "periodSeconds": -1385586997, + "successThreshold": 460997133, + "failureThreshold": -636855511 }, "lifecycle": { "postStart": { "exec": { "command": [ - "208" + "210" ] }, "httpGet": { - "path": "209", - "port": 1381010768, - "host": "210", - "scheme": "ö", + "path": "211", + "port": "212", + "host": "213", + "scheme": "ɃHŠơŴĿǹ_Áȉ彂Ŵ廷", "httpHeaders": [ { - "name": "211", - "value": "212" + "name": "214", + "value": "215" } ] }, "tcpSocket": { - "port": 1135182169, - "host": "213" + "port": "216", + "host": "217" } }, "preStop": { "exec": { "command": [ - "214" + "218" ] }, "httpGet": { - "path": "215", - "port": 1054302708, - "host": "216", + "path": "219", + "port": 1923650413, + "host": "220", + "scheme": "I粛E煹ǐƲE'iþŹʣy", "httpHeaders": [ { - "name": "217", - "value": "218" + "name": "221", + "value": "222" } ] }, "tcpSocket": { - "port": "219", - "host": "220" + "port": "223", + "host": "224" } } }, - "terminationMessagePath": "221", - "terminationMessagePolicy": "軶ǃ*ʙ嫙\u0026蒒5靇", - "imagePullPolicy": "ŴĿ", + "terminationMessagePath": "225", + "terminationMessagePolicy": "ɀ羭,铻OŤǢʭ嵔棂p", "securityContext": { "capabilities": { "add": [ - "Áȉ彂Ŵ廷s{Ⱦdz@ùƸ" + "邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ" ], "drop": [ - "ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0" + "ɟ踡肒Ao/樝fw[Řż丩Ž" ] }, "privileged": true, "seLinuxOptions": { - "user": "222", - "role": "223", - "type": "224", - "level": "225" + "user": "226", + "role": "227", + "type": "228", + "level": "229" }, "windowsOptions": { - "gmsaCredentialSpecName": "226", - "gmsaCredentialSpec": "227", - "runAsUserName": "228" + "gmsaCredentialSpecName": "230", + "gmsaCredentialSpec": "231", + "runAsUserName": "232" }, - "runAsUser": 6116261698850084527, - "runAsGroup": -8724223413734010757, - "runAsNonRoot": true, - "readOnlyRootFilesystem": false, + "runAsUser": -4868342918997831990, + "runAsGroup": -7799096735007368868, + "runAsNonRoot": false, + "readOnlyRootFilesystem": true, "allowPrivilegeEscalation": true, - "procMount": "邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ" - } + "procMount": "Ź9ǕLLȊɞ-uƻ悖" + }, + "stdin": true, + "stdinOnce": true } ], "containers": [ { - "name": "229", - "image": "230", + "name": "233", + "image": "234", "command": [ - "231" + "235" ], "args": [ - "232" + "236" ], - "workingDir": "233", + "workingDir": "237", "ports": [ { - "name": "234", - "hostPort": 427196286, - "containerPort": 1048864116, - "protocol": "/樝fw[Řż丩ŽoǠŻʘY賃ɪ鐊", - "hostIP": "235" + "name": "238", + "hostPort": -950718788, + "containerPort": -1960299775, + "protocol": "榌", + "hostIP": "239" } ], "envFrom": [ { - "prefix": "236", + "prefix": "240", "configMapRef": { - "name": "237", - "optional": true + "name": "241", + "optional": false }, "secretRef": { - "name": "238", - "optional": false + "name": "242", + "optional": true } } ], "env": [ { - "name": "239", - "value": "240", + "name": "243", + "value": "244", "valueFrom": { "fieldRef": { - "apiVersion": "241", - "fieldPath": "242" + "apiVersion": "245", + "fieldPath": "246" }, "resourceFieldRef": { - "containerName": "243", - "resource": "244", - "divisor": "506" + "containerName": "247", + "resource": "248", + "divisor": "772" }, "configMapKeyRef": { - "name": "245", - "key": "246", + "name": "249", + "key": "250", "optional": true }, "secretKeyRef": { - "name": "247", - "key": "248", + "name": "251", + "key": "252", "optional": true } } @@ -727,248 +737,257 @@ ], "resources": { "limits": { - "ƻ悖ȩ0Ƹ[": "672" + "奺Ȋ礶惇¸t颟.鵫ǚ": "357" }, "requests": { - "": "988" + "LƐȤ藠3.v-鿧悮坮Ȣ幟ļ腻": "575" } }, + "resourcesAllocated": { + "丯Ƙ枛牐ɺ皚|": "933" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "N粕擓ƖHVe熼" + } + ], "volumeMounts": [ { - "name": "249", - "mountPath": "250", - "subPath": "251", - "mountPropagation": "髷裎$MVȟ@7飣奺Ȋ", - "subPathExpr": "252" + "name": "253", + "readOnly": true, + "mountPath": "254", + "subPath": "255", + "mountPropagation": "D剂讼ɓȌʟni酛3ƁÀ*", + "subPathExpr": "256" } ], "volumeDevices": [ { - "name": "253", - "devicePath": "254" + "name": "257", + "devicePath": "258" } ], "livenessProbe": { "exec": { "command": [ - "255" + "259" ] }, "httpGet": { - "path": "256", - "port": -1180080716, - "host": "257", - "scheme": "Ȍ脾嚏吐ĠLƐȤ藠3.v-鿧悮", + "path": "260", + "port": "261", + "host": "262", "httpHeaders": [ { - "name": "258", - "value": "259" + "name": "263", + "value": "264" } ] }, "tcpSocket": { - "port": -161485752, - "host": "260" + "port": -2107743490, + "host": "265" }, - "initialDelaySeconds": 1524276356, - "timeoutSeconds": -521487971, - "periodSeconds": -1561418761, - "successThreshold": -1452676801, - "failureThreshold": -1171167638 + "initialDelaySeconds": 1995332035, + "timeoutSeconds": 960499098, + "periodSeconds": -1020896847, + "successThreshold": 1074486306, + "failureThreshold": 630004123 }, "readinessProbe": { "exec": { "command": [ - "261" + "266" ] }, "httpGet": { - "path": "262", - "port": 2141389898, - "host": "263", - "scheme": "皚|", + "path": "267", + "port": 714088955, + "host": "268", + "scheme": "źȰ?$矡ȶ网棊ʢ=wǕɳ", "httpHeaders": [ { - "name": "264", - "value": "265" + "name": "269", + "value": "270" } ] }, "tcpSocket": { - "port": "266", - "host": "267" + "port": 1752155096, + "host": "271" }, - "initialDelaySeconds": 766864314, - "timeoutSeconds": 1146016612, - "periodSeconds": 1495880465, - "successThreshold": -1032967081, - "failureThreshold": 59664438 + "initialDelaySeconds": -1962065705, + "timeoutSeconds": 1701999128, + "periodSeconds": -1364571630, + "successThreshold": 1689978741, + "failureThreshold": -1423854443 }, "startupProbe": { "exec": { "command": [ - "268" + "272" ] }, "httpGet": { - "path": "269", - "port": 163512962, - "host": "270", - "scheme": "Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ", + "path": "273", + "port": -1109619518, + "host": "274", + "scheme": "ĺ}潷ʒ胵輓Ɔȓ蹣ɐǛv+8Ƥ熪", "httpHeaders": [ { - "name": "271", - "value": "272" + "name": "275", + "value": "276" } ] }, "tcpSocket": { - "port": "273", - "host": "274" + "port": "277", + "host": "278" }, - "initialDelaySeconds": 232569106, - "timeoutSeconds": -1150474479, - "periodSeconds": 744319626, - "successThreshold": -2107743490, - "failureThreshold": 1995332035 + "initialDelaySeconds": -820113531, + "timeoutSeconds": 622267234, + "periodSeconds": 410611837, + "successThreshold": 809006670, + "failureThreshold": 972978563 }, "lifecycle": { "postStart": { "exec": { "command": [ - "275" + "279" ] }, "httpGet": { - "path": "276", - "port": 630004123, - "host": "277", - "scheme": "ɾģ毋Ó6dz娝嘚", + "path": "280", + "port": "281", + "host": "282", + "scheme": "朷Ǝ膯ljVX1虊谇", "httpHeaders": [ { - "name": "278", - "value": "279" + "name": "283", + "value": "284" } ] }, "tcpSocket": { - "port": -1213051101, - "host": "280" + "port": -1748648882, + "host": "285" } }, "preStop": { "exec": { "command": [ - "281" + "286" ] }, "httpGet": { - "path": "282", - "port": -1905643191, - "host": "283", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "287", + "port": "288", + "host": "289", + "scheme": "輦唊#v铿ʩȂ4ē鐭", "httpHeaders": [ { - "name": "284", - "value": "285" + "name": "290", + "value": "291" } ] }, "tcpSocket": { - "port": "286", - "host": "287" + "port": "292", + "host": "293" } } }, - "terminationMessagePath": "288", - "terminationMessagePolicy": "勅跦Opwǩ曬逴褜1Ø", - "imagePullPolicy": "Ǜv+8Ƥ熪军g\u003e郵[+扴ȨŮ+", + "terminationMessagePath": "294", + "terminationMessagePolicy": "ơŸ8T ", "securityContext": { "capabilities": { "add": [ - "" + "ȑ6L*Z鐫û咡W\u003c敄lu" ], "drop": [ - "ljVX1虊谇j爻ƙt叀碧" + "榝$î.Ȏ蝪ʜ5遰" ] }, "privileged": true, "seLinuxOptions": { - "user": "289", - "role": "290", - "type": "291", - "level": "292" + "user": "295", + "role": "296", + "type": "297", + "level": "298" }, "windowsOptions": { - "gmsaCredentialSpecName": "293", - "gmsaCredentialSpec": "294", - "runAsUserName": "295" + "gmsaCredentialSpecName": "299", + "gmsaCredentialSpec": "300", + "runAsUserName": "301" }, - "runAsUser": 77796669038602313, - "runAsGroup": -6641599652770442851, - "runAsNonRoot": true, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "ʁ岼昕ĬÇ" + "runAsUser": 61436896663269868, + "runAsGroup": -6280183074137250229, + "runAsNonRoot": false, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "坢'跩aŕ翑0展}硐庰%皧V" }, - "stdinOnce": true + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "296", - "image": "297", + "name": "302", + "image": "303", "command": [ - "298" + "304" ], "args": [ - "299" + "305" ], - "workingDir": "300", + "workingDir": "306", "ports": [ { - "name": "301", - "hostPort": 2087800617, - "containerPort": -1491697472, - "protocol": "6", - "hostIP": "302" + "name": "307", + "hostPort": 1625542084, + "containerPort": -1554093462, + "protocol": "l獕;跣Hǝcw媀瓄", + "hostIP": "308" } ], "envFrom": [ { - "prefix": "303", + "prefix": "309", "configMapRef": { - "name": "304", - "optional": false + "name": "310", + "optional": true }, "secretRef": { - "name": "305", - "optional": true + "name": "311", + "optional": false } } ], "env": [ { - "name": "306", - "value": "307", + "name": "312", + "value": "313", "valueFrom": { "fieldRef": { - "apiVersion": "308", - "fieldPath": "309" + "apiVersion": "314", + "fieldPath": "315" }, "resourceFieldRef": { - "containerName": "310", - "resource": "311", - "divisor": "879" + "containerName": "316", + "resource": "317", + "divisor": "215" }, "configMapKeyRef": { - "name": "312", - "key": "313", - "optional": true + "name": "318", + "key": "319", + "optional": false }, "secretKeyRef": { - "name": "314", - "key": "315", + "name": "320", + "key": "321", "optional": false } } @@ -976,243 +995,252 @@ ], "resources": { "limits": { - "u|榝$î.Ȏ蝪ʜ5遰=E埄Ȁ": "114" + " 鰔澝qV訆ƎżŧL²": "195" }, "requests": { - "Ƭƶ氩Ȩ\u003c6": "446" + "Ä蚃ɣľ)酊龨δ摖ȱğ_\u003c": "118" } }, + "resourcesAllocated": { + " ƺ蛜6Ɖ飴Ɏ": "974" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "" + } + ], "volumeMounts": [ { - "name": "316", + "name": "322", "readOnly": true, - "mountPath": "317", - "subPath": "318", - "mountPropagation": "翑0展}硐庰%皧V垾", - "subPathExpr": "319" + "mountPath": "323", + "subPath": "324", + "mountPropagation": "ǵɐ鰥Z", + "subPathExpr": "325" } ], "volumeDevices": [ { - "name": "320", - "devicePath": "321" + "name": "326", + "devicePath": "327" } ], "livenessProbe": { "exec": { "command": [ - "322" + "328" ] }, "httpGet": { - "path": "323", - "port": "324", - "host": "325", - "scheme": "E¦", + "path": "329", + "port": "330", + "host": "331", + "scheme": "C8?Ǻ鱎ƙ;Nŕ璻Jih亏", "httpHeaders": [ { - "name": "326", - "value": "327" + "name": "332", + "value": "333" } ] }, "tcpSocket": { - "port": "328", - "host": "329" + "port": "334", + "host": "335" }, - "initialDelaySeconds": 1868887309, - "timeoutSeconds": -528664199, - "periodSeconds": -316996074, - "successThreshold": 1933968533, - "failureThreshold": 549215478 + "initialDelaySeconds": 902978249, + "timeoutSeconds": -171819101, + "periodSeconds": 1983546326, + "successThreshold": -1967425039, + "failureThreshold": -1562283537 }, "readinessProbe": { "exec": { "command": [ - "330" + "336" ] }, "httpGet": { - "path": "331", - "port": -374766088, - "host": "332", - "scheme": "翜舞拉Œ", + "path": "337", + "port": -402384013, + "host": "338", + "scheme": "nj汰8ŕİi騎C\"6x$1sȣ±p", "httpHeaders": [ { - "name": "333", - "value": "334" + "name": "339", + "value": "340" } ] }, "tcpSocket": { - "port": "335", - "host": "336" + "port": 1900201288, + "host": "341" }, - "initialDelaySeconds": -190183379, - "timeoutSeconds": -940334911, - "periodSeconds": -341287812, - "successThreshold": 2030115750, - "failureThreshold": 1847163341 + "initialDelaySeconds": -766915393, + "timeoutSeconds": 828305357, + "periodSeconds": -1170565984, + "successThreshold": -444561761, + "failureThreshold": -536848804 }, "startupProbe": { "exec": { "command": [ - "337" + "342" ] }, "httpGet": { - "path": "338", - "port": 567263590, - "host": "339", - "scheme": "KŅ/", + "path": "343", + "port": -2113700533, + "host": "344", + "scheme": "埮pɵ{WOŭW灬p", "httpHeaders": [ { - "name": "340", - "value": "341" + "name": "345", + "value": "346" } ] }, "tcpSocket": { - "port": "342", - "host": "343" + "port": -1607821167, + "host": "347" }, - "initialDelaySeconds": -1894250541, - "timeoutSeconds": 1962818731, - "periodSeconds": 1315054653, - "successThreshold": 711020087, - "failureThreshold": 1103049140 + "initialDelaySeconds": -667808868, + "timeoutSeconds": -1411971593, + "periodSeconds": -1952582931, + "successThreshold": -74827262, + "failureThreshold": 467105019 }, "lifecycle": { "postStart": { "exec": { "command": [ - "344" + "348" ] }, "httpGet": { - "path": "345", - "port": -2128108224, - "host": "346", - "scheme": "δ摖", + "path": "349", + "port": "350", + "host": "351", "httpHeaders": [ { - "name": "347", - "value": "348" + "name": "352", + "value": "353" } ] }, "tcpSocket": { - "port": "349", - "host": "350" + "port": "354", + "host": "355" } }, "preStop": { "exec": { "command": [ - "351" + "356" ] }, "httpGet": { - "path": "352", - "port": "353", - "host": "354", + "path": "357", + "port": "358", + "host": "359", + "scheme": "W賁Ěɭɪǹ0", "httpHeaders": [ { - "name": "355", - "value": "356" + "name": "360", + "value": "361" } ] }, "tcpSocket": { - "port": "357", - "host": "358" + "port": "362", + "host": "363" } } }, - "terminationMessagePath": "359", - "terminationMessagePolicy": "ƺ蛜6Ɖ飴ɎiǨź", - "imagePullPolicy": "囌{屿oiɥ嵐sC", + "terminationMessagePath": "364", + "terminationMessagePolicy": "ƷƣMț", + "imagePullPolicy": "(fǂǢ曣ŋayå", "securityContext": { "capabilities": { "add": [ - "Ǻ鱎ƙ;Nŕ" + "訙Ǫʓ)ǂť嗆u8晲T[ir" ], "drop": [ - "Jih亏yƕ丆録²" + "3Ĕ\\ɢX鰨松/Ȁĵ鴁" ] }, - "privileged": false, + "privileged": true, "seLinuxOptions": { - "user": "360", - "role": "361", - "type": "362", - "level": "363" + "user": "365", + "role": "366", + "type": "367", + "level": "368" }, "windowsOptions": { - "gmsaCredentialSpecName": "364", - "gmsaCredentialSpec": "365", - "runAsUserName": "366" + "gmsaCredentialSpecName": "369", + "gmsaCredentialSpec": "370", + "runAsUserName": "371" }, - "runAsUser": -607313695104609402, - "runAsGroup": 2179199799235189619, + "runAsUser": 5333033627167868167, + "runAsGroup": 6580335751302408293, "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "砅邻爥蹔ŧOǨ繫ʎǑyZ涬P­" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ĒzŔ瘍Nʊ" }, "stdin": true, "stdinOnce": true, - "targetContainerName": "367" + "tty": true, + "targetContainerName": "372" } ], - "restartPolicy": "幩šeSvEȤƏ埮pɵ", - "terminationGracePeriodSeconds": -3123571459188372202, - "activeDeadlineSeconds": 4755717378804967849, - "dnsPolicy": "ʐşƧ", + "restartPolicy": "璾ėȜv", + "terminationGracePeriodSeconds": 8557551499766807948, + "activeDeadlineSeconds": 2775124165238399450, + "dnsPolicy": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", "nodeSelector": { - "368": "369" + "373": "374" }, - "serviceAccountName": "370", - "serviceAccount": "371", + "serviceAccountName": "375", + "serviceAccount": "376", "automountServiceAccountToken": true, - "nodeName": "372", - "hostNetwork": true, - "hostPID": true, + "nodeName": "377", + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "373", - "role": "374", - "type": "375", - "level": "376" + "user": "378", + "role": "379", + "type": "380", + "level": "381" }, "windowsOptions": { - "gmsaCredentialSpecName": "377", - "gmsaCredentialSpec": "378", - "runAsUserName": "379" + "gmsaCredentialSpecName": "382", + "gmsaCredentialSpec": "383", + "runAsUserName": "384" }, - "runAsUser": 1287380841622288898, - "runAsGroup": 2006200781539567705, + "runAsUser": -458943834575608638, + "runAsGroup": 9087288446299226205, "runAsNonRoot": true, "supplementalGroups": [ - 6618112330449141397 + 3823478936947545930 ], - "fsGroup": -5265121980497361308, + "fsGroup": -1590873142860533099, "sysctls": [ { - "name": "380", - "value": "381" + "name": "385", + "value": "386" } ], - "fsGroupChangePolicy": "ɱďW賁Ě" + "fsGroupChangePolicy": "竬ʆɞȥ}礤铟怖ý萜Ǖ" }, "imagePullSecrets": [ { - "name": "382" + "name": "387" } ], - "hostname": "383", - "subdomain": "384", + "hostname": "388", + "subdomain": "389", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1220,19 +1248,19 @@ { "matchExpressions": [ { - "key": "385", - "operator": ")DŽ髐njʉBn(fǂ", + "key": "390", + "operator": "ĝ®EĨǔvÄÚ×p鬷", "values": [ - "386" + "391" ] } ], "matchFields": [ { - "key": "387", - "operator": "鑳w妕眵笭/9崍h趭", + "key": "392", + "operator": "鄧蜢暳ǽż", "values": [ - "388" + "393" ] } ] @@ -1241,23 +1269,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -17241638, + "weight": -1819021257, "preference": { "matchExpressions": [ { - "key": "389", - "operator": "E增猍", + "key": "394", + "operator": "xƂ9阠", "values": [ - "390" + "395" ] } ], "matchFields": [ { - "key": "391", - "operator": "[irȎ3Ĕ\\ɢX鰨松/Ȁĵ鴁ĩȲ", + "key": "396", + "operator": "桉桃喕蠲$ɛ溢臜裡×", "values": [ - "392" + "397" ] } ] @@ -1270,43 +1298,43 @@ { "labelSelector": { "matchLabels": { - "83980c7f0p-3-----995----5sumf7ef8jzv4-9-35o-1-5w5z3-d----0p--8.463--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-5g2wco28---fn/d.-.-8v-J1zET_..3dCv3j._.-_pH": "G31-_I-A-_3bz._8M0U1_-__.71-_-9_.X" + "8-m7---k8235--8--c83-4b-9-1o8w-a-6-31o/x_rC9..__6": "8D_X._B__-P---_H-.___._D8.TS-jJY" }, "matchExpressions": [ { - "key": "lk9-8609a-e0--1----v8-4--558n1asz-r886-1--0s-t1e--mv56.l203-8sln7-3x-b--55039780bdw0-9/7._l.._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mej", + "key": "4sE4", "operator": "In", "values": [ - "7-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-C" + "u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l" ] } ] }, "namespaces": [ - "399" + "404" ], - "topologyKey": "400" + "topologyKey": "405" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1792673033, + "weight": -281926929, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "dgr-y7nlp97v-0-1y-t3---2ga-v205p-26-u5wq.1--m-l80--5o1--cp6-5-x1---0w4rm-0uma6-p--d-t/K_XOnf_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--0": "x-Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW.9oE9_6.x" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", - "operator": "DoesNotExist" + "key": "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj", + "operator": "Exists" } ] }, "namespaces": [ - "407" + "412" ], - "topologyKey": "408" + "topologyKey": "413" } } ] @@ -1316,118 +1344,112 @@ { "labelSelector": { "matchLabels": { - "3-72q--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pu.exr-1-o--g--1l-8---3snw0-3i--a2/4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.U": "4wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m3" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "rN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-n8", - "operator": "NotIn", - "values": [ - "8u.._-__BM.6-.Y_72-_--pT751" - ] + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "415" + "420" ], - "topologyKey": "416" + "topologyKey": "421" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1229089770, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "j9-w-n-f-v.yoh782-u---76g---h-4-lx-0-2qg--4i/wwv3D": "s_6O-5_7a" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "fz2zy0e428-4-k-2-08vc--8/T9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-Q", - "operator": "NotIn", - "values": [ - "h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWUV" - ] + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "428" ], - "topologyKey": "424" + "topologyKey": "429" } } ] } }, - "schedulerName": "425", + "schedulerName": "430", "tolerations": [ { - "key": "426", - "operator": "ȧH僠", - "value": "427", - "effect": "ÙQ阉(闒ƈƳ萎Ŋ\u003ceÙ蝌铀í", - "tolerationSeconds": 4315581051482382801 + "key": "431", + "operator": "査Z綶ĀRġ磸", + "value": "432", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "428", + "ip": "433", "hostnames": [ - "429" + "434" ] } ], - "priorityClassName": "430", - "priority": 466142803, + "priorityClassName": "435", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "431" + "436" ], "searches": [ - "432" + "437" ], "options": [ { - "name": "433", - "value": "434" + "name": "438", + "value": "439" } ] }, "readinessGates": [ { - "conditionType": "帵(弬NĆɜɘ灢7ưg" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "435", - "enableServiceLinks": true, - "preemptionPolicy": "Lå\u003cƨ襌ę鶫礗渶刄[", + "runtimeClassName": "440", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "ŚȆĸs": "489" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -2146985013, - "topologyKey": "436", - "whenUnsatisfiable": "幻/饑Ȉ@|{t亪鸑躓1Ǐ詁Ȟ鮩ĺJ", + "maxSkew": -1404859721, + "topologyKey": "441", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "u--.K--g__..2bd": "7-0-...WE.-_tdt_-Z0T" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "lM.Y-nd_.b_-gL_1..5a-1-CdM._bk81S3.s_s_6.-_vX", + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", "operator": "DoesNotExist" } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, - "ttlSecondsAfterFinished": -82488142 + "ttlSecondsAfterFinished": -493346089 } } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb index 512807a86a353..6bd72ed50c29f 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb and b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml index 424034385f010..152e82884e706 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml @@ -104,453 +104,459 @@ template: selfLink: "45" uid: Ȗ脵鴈Ō spec: - activeDeadlineSeconds: 4755717378804967849 + activeDeadlineSeconds: 2775124165238399450 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "389" - operator: E增猍 + - key: "394" + operator: xƂ9阠 values: - - "390" + - "395" matchFields: - - key: "391" - operator: '[irȎ3Ĕ\ɢX鰨松/Ȁĵ鴁ĩȲ' + - key: "396" + operator: 桉桃喕蠲$ɛ溢臜裡× values: - - "392" - weight: -17241638 + - "397" + weight: -1819021257 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "385" - operator: )DŽ髐njʉBn(fǂ + - key: "390" + operator: ĝ®EĨǔvÄÚ×p鬷 values: - - "386" + - "391" matchFields: - - key: "387" - operator: 鑳w妕眵笭/9崍h趭 + - key: "392" + operator: 鄧蜢暳ǽż values: - - "388" + - "393" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 - operator: DoesNotExist + - key: 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj + operator: Exists matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + ? dgr-y7nlp97v-0-1y-t3---2ga-v205p-26-u5wq.1--m-l80--5o1--cp6-5-x1---0w4rm-0uma6-p--d-t/K_XOnf_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--0 + : x-Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW.9oE9_6.x namespaces: - - "407" - topologyKey: "408" - weight: 1792673033 + - "412" + topologyKey: "413" + weight: -281926929 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: lk9-8609a-e0--1----v8-4--558n1asz-r886-1--0s-t1e--mv56.l203-8sln7-3x-b--55039780bdw0-9/7._l.._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hu-k-_-0-T1mej + - key: 4sE4 operator: In values: - - 7-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-C + - u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l matchLabels: - ? 83980c7f0p-3-----995----5sumf7ef8jzv4-9-35o-1-5w5z3-d----0p--8.463--gt1--6mx-r-927--m6-k8-c2---2etfh41ca-z-5g2wco28---fn/d.-.-8v-J1zET_..3dCv3j._.-_pH - : G31-_I-A-_3bz._8M0U1_-__.71-_-9_.X + 8-m7---k8235--8--c83-4b-9-1o8w-a-6-31o/x_rC9..__6: 8D_X._B__-P---_H-.___._D8.TS-jJY namespaces: - - "399" - topologyKey: "400" + - "404" + topologyKey: "405" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: fz2zy0e428-4-k-2-08vc--8/T9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-Q - operator: NotIn - values: - - h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWUV + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - j9-w-n-f-v.yoh782-u---76g---h-4-lx-0-2qg--4i/wwv3D: s_6O-5_7a + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "423" - topologyKey: "424" - weight: -1229089770 + - "428" + topologyKey: "429" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: rN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-n8 - operator: NotIn - values: - - 8u.._-__BM.6-.Y_72-_--pT751 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr + operator: DoesNotExist matchLabels: - 3-72q--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pu.exr-1-o--g--1l-8---3snw0-3i--a2/4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.U: 4wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m3 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "415" - topologyKey: "416" + - "420" + topologyKey: "421" automountServiceAccountToken: true containers: - args: - - "232" + - "236" command: - - "231" + - "235" env: - - name: "239" - value: "240" + - name: "243" + value: "244" valueFrom: configMapKeyRef: - key: "246" - name: "245" + key: "250" + name: "249" optional: true fieldRef: - apiVersion: "241" - fieldPath: "242" + apiVersion: "245" + fieldPath: "246" resourceFieldRef: - containerName: "243" - divisor: "506" - resource: "244" + containerName: "247" + divisor: "772" + resource: "248" secretKeyRef: - key: "248" - name: "247" + key: "252" + name: "251" optional: true envFrom: - configMapRef: - name: "237" - optional: true - prefix: "236" - secretRef: - name: "238" + name: "241" optional: false - image: "230" - imagePullPolicy: Ǜv+8Ƥ熪军g>郵[+扴ȨŮ+ + prefix: "240" + secretRef: + name: "242" + optional: true + image: "234" lifecycle: postStart: exec: command: - - "275" + - "279" httpGet: - host: "277" + host: "282" httpHeaders: - - name: "278" - value: "279" - path: "276" - port: 630004123 - scheme: ɾģ毋Ó6dz娝嘚 + - name: "283" + value: "284" + path: "280" + port: "281" + scheme: 朷Ǝ膯ljVX1虊谇 tcpSocket: - host: "280" - port: -1213051101 + host: "285" + port: -1748648882 preStop: exec: command: - - "281" + - "286" httpGet: - host: "283" + host: "289" httpHeaders: - - name: "284" - value: "285" - path: "282" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 + - name: "290" + value: "291" + path: "287" + port: "288" + scheme: 輦唊#v铿ʩȂ4ē鐭 tcpSocket: - host: "287" - port: "286" + host: "293" + port: "292" livenessProbe: exec: command: - - "255" - failureThreshold: -1171167638 + - "259" + failureThreshold: 630004123 httpGet: - host: "257" + host: "262" httpHeaders: - - name: "258" - value: "259" - path: "256" - port: -1180080716 - scheme: Ȍ脾嚏吐ĠLƐȤ藠3.v-鿧悮 - initialDelaySeconds: 1524276356 - periodSeconds: -1561418761 - successThreshold: -1452676801 + - name: "263" + value: "264" + path: "260" + port: "261" + initialDelaySeconds: 1995332035 + periodSeconds: -1020896847 + successThreshold: 1074486306 tcpSocket: - host: "260" - port: -161485752 - timeoutSeconds: -521487971 - name: "229" + host: "265" + port: -2107743490 + timeoutSeconds: 960499098 + name: "233" ports: - - containerPort: 1048864116 - hostIP: "235" - hostPort: 427196286 - name: "234" - protocol: /樝fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + - containerPort: -1960299775 + hostIP: "239" + hostPort: -950718788 + name: "238" + protocol: 榌 readinessProbe: exec: command: - - "261" - failureThreshold: 59664438 + - "266" + failureThreshold: -1423854443 httpGet: - host: "263" + host: "268" httpHeaders: - - name: "264" - value: "265" - path: "262" - port: 2141389898 - scheme: 皚| - initialDelaySeconds: 766864314 - periodSeconds: 1495880465 - successThreshold: -1032967081 + - name: "269" + value: "270" + path: "267" + port: 714088955 + scheme: źȰ?$矡ȶ网棊ʢ=wǕɳ + initialDelaySeconds: -1962065705 + periodSeconds: -1364571630 + successThreshold: 1689978741 tcpSocket: - host: "267" - port: "266" - timeoutSeconds: 1146016612 + host: "271" + port: 1752155096 + timeoutSeconds: 1701999128 + resizePolicy: + - policy: N粕擓ƖHVe熼 + resourceName: "" resources: limits: - ƻ悖ȩ0Ƹ[: "672" + 奺Ȋ礶惇¸t颟.鵫ǚ: "357" requests: - "": "988" + LƐȤ藠3.v-鿧悮坮Ȣ幟ļ腻: "575" + resourcesAllocated: + 丯Ƙ枛牐ɺ皚|: "933" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - "" + - ȑ6L*Z鐫û咡W<敄lu drop: - - ljVX1虊谇j爻ƙt叀碧 + - 榝$î.Ȏ蝪ʜ5遰 privileged: true - procMount: ʁ岼昕ĬÇ - readOnlyRootFilesystem: false - runAsGroup: -6641599652770442851 - runAsNonRoot: true - runAsUser: 77796669038602313 + procMount: 坢'跩aŕ翑0展}硐庰%皧V + readOnlyRootFilesystem: true + runAsGroup: -6280183074137250229 + runAsNonRoot: false + runAsUser: 61436896663269868 seLinuxOptions: - level: "292" - role: "290" - type: "291" - user: "289" + level: "298" + role: "296" + type: "297" + user: "295" windowsOptions: - gmsaCredentialSpec: "294" - gmsaCredentialSpecName: "293" - runAsUserName: "295" + gmsaCredentialSpec: "300" + gmsaCredentialSpecName: "299" + runAsUserName: "301" startupProbe: exec: command: - - "268" - failureThreshold: 1995332035 + - "272" + failureThreshold: 972978563 httpGet: - host: "270" + host: "274" httpHeaders: - - name: "271" - value: "272" - path: "269" - port: 163512962 - scheme: 'Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ' - initialDelaySeconds: 232569106 - periodSeconds: 744319626 - successThreshold: -2107743490 + - name: "275" + value: "276" + path: "273" + port: -1109619518 + scheme: ĺ}潷ʒ胵輓Ɔȓ蹣ɐǛv+8Ƥ熪 + initialDelaySeconds: -820113531 + periodSeconds: 410611837 + successThreshold: 809006670 tcpSocket: - host: "274" - port: "273" - timeoutSeconds: -1150474479 + host: "278" + port: "277" + timeoutSeconds: 622267234 stdinOnce: true - terminationMessagePath: "288" - terminationMessagePolicy: 勅跦Opwǩ曬逴褜1Ø + terminationMessagePath: "294" + terminationMessagePolicy: 'ơŸ8T ' + tty: true volumeDevices: - - devicePath: "254" - name: "253" + - devicePath: "258" + name: "257" volumeMounts: - - mountPath: "250" - mountPropagation: 髷裎$MVȟ@7飣奺Ȋ - name: "249" - subPath: "251" - subPathExpr: "252" - workingDir: "233" + - mountPath: "254" + mountPropagation: D剂讼ɓȌʟni酛3ƁÀ* + name: "253" + readOnly: true + subPath: "255" + subPathExpr: "256" + workingDir: "237" dnsConfig: nameservers: - - "431" + - "436" options: - - name: "433" - value: "434" + - name: "438" + value: "439" searches: - - "432" - dnsPolicy: ʐşƧ - enableServiceLinks: true + - "437" + dnsPolicy: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + enableServiceLinks: false ephemeralContainers: - args: - - "299" + - "305" command: - - "298" + - "304" env: - - name: "306" - value: "307" + - name: "312" + value: "313" valueFrom: configMapKeyRef: - key: "313" - name: "312" - optional: true + key: "319" + name: "318" + optional: false fieldRef: - apiVersion: "308" - fieldPath: "309" + apiVersion: "314" + fieldPath: "315" resourceFieldRef: - containerName: "310" - divisor: "879" - resource: "311" + containerName: "316" + divisor: "215" + resource: "317" secretKeyRef: - key: "315" - name: "314" + key: "321" + name: "320" optional: false envFrom: - configMapRef: - name: "304" - optional: false - prefix: "303" - secretRef: - name: "305" + name: "310" optional: true - image: "297" - imagePullPolicy: 囌{屿oiɥ嵐sC + prefix: "309" + secretRef: + name: "311" + optional: false + image: "303" + imagePullPolicy: (fǂǢ曣ŋayå lifecycle: postStart: exec: command: - - "344" + - "348" httpGet: - host: "346" + host: "351" httpHeaders: - - name: "347" - value: "348" - path: "345" - port: -2128108224 - scheme: δ摖 + - name: "352" + value: "353" + path: "349" + port: "350" tcpSocket: - host: "350" - port: "349" + host: "355" + port: "354" preStop: exec: command: - - "351" + - "356" httpGet: - host: "354" + host: "359" httpHeaders: - - name: "355" - value: "356" - path: "352" - port: "353" + - name: "360" + value: "361" + path: "357" + port: "358" + scheme: W賁Ěɭɪǹ0 tcpSocket: - host: "358" - port: "357" + host: "363" + port: "362" livenessProbe: exec: command: - - "322" - failureThreshold: 549215478 + - "328" + failureThreshold: -1562283537 httpGet: - host: "325" + host: "331" httpHeaders: - - name: "326" - value: "327" - path: "323" - port: "324" - scheme: E¦ - initialDelaySeconds: 1868887309 - periodSeconds: -316996074 - successThreshold: 1933968533 + - name: "332" + value: "333" + path: "329" + port: "330" + scheme: C8?Ǻ鱎ƙ;Nŕ璻Jih亏 + initialDelaySeconds: 902978249 + periodSeconds: 1983546326 + successThreshold: -1967425039 tcpSocket: - host: "329" - port: "328" - timeoutSeconds: -528664199 - name: "296" + host: "335" + port: "334" + timeoutSeconds: -171819101 + name: "302" ports: - - containerPort: -1491697472 - hostIP: "302" - hostPort: 2087800617 - name: "301" - protocol: "6" + - containerPort: -1554093462 + hostIP: "308" + hostPort: 1625542084 + name: "307" + protocol: l獕;跣Hǝcw媀瓄 readinessProbe: exec: command: - - "330" - failureThreshold: 1847163341 + - "336" + failureThreshold: -536848804 httpGet: - host: "332" + host: "338" httpHeaders: - - name: "333" - value: "334" - path: "331" - port: -374766088 - scheme: 翜舞拉Œ - initialDelaySeconds: -190183379 - periodSeconds: -341287812 - successThreshold: 2030115750 + - name: "339" + value: "340" + path: "337" + port: -402384013 + scheme: nj汰8ŕİi騎C"6x$1sȣ±p + initialDelaySeconds: -766915393 + periodSeconds: -1170565984 + successThreshold: -444561761 tcpSocket: - host: "336" - port: "335" - timeoutSeconds: -940334911 + host: "341" + port: 1900201288 + timeoutSeconds: 828305357 + resizePolicy: + - policy: "" + resourceName: "" resources: limits: - u|榝$î.Ȏ蝪ʜ5遰=E埄Ȁ: "114" + ' 鰔澝qV訆ƎżŧL²': "195" requests: - Ƭƶ氩Ȩ<6: "446" + Ä蚃ɣľ)酊龨δ摖ȱğ_<: "118" + resourcesAllocated: + ' ƺ蛜6Ɖ飴Ɏ': "974" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - Ǻ鱎ƙ;Nŕ + - 訙Ǫʓ)ǂť嗆u8晲T[ir drop: - - Jih亏yƕ丆録² - privileged: false - procMount: 砅邻爥蹔ŧOǨ繫ʎǑyZ涬P­ - readOnlyRootFilesystem: true - runAsGroup: 2179199799235189619 + - 3Ĕ\ɢX鰨松/Ȁĵ鴁 + privileged: true + procMount: ĒzŔ瘍Nʊ + readOnlyRootFilesystem: false + runAsGroup: 6580335751302408293 runAsNonRoot: true - runAsUser: -607313695104609402 + runAsUser: 5333033627167868167 seLinuxOptions: - level: "363" - role: "361" - type: "362" - user: "360" + level: "368" + role: "366" + type: "367" + user: "365" windowsOptions: - gmsaCredentialSpec: "365" - gmsaCredentialSpecName: "364" - runAsUserName: "366" + gmsaCredentialSpec: "370" + gmsaCredentialSpecName: "369" + runAsUserName: "371" startupProbe: exec: command: - - "337" - failureThreshold: 1103049140 + - "342" + failureThreshold: 467105019 httpGet: - host: "339" + host: "344" httpHeaders: - - name: "340" - value: "341" - path: "338" - port: 567263590 - scheme: KŅ/ - initialDelaySeconds: -1894250541 - periodSeconds: 1315054653 - successThreshold: 711020087 + - name: "345" + value: "346" + path: "343" + port: -2113700533 + scheme: 埮pɵ{WOŭW灬p + initialDelaySeconds: -667808868 + periodSeconds: -1952582931 + successThreshold: -74827262 tcpSocket: - host: "343" - port: "342" - timeoutSeconds: 1962818731 + host: "347" + port: -1607821167 + timeoutSeconds: -1411971593 stdin: true stdinOnce: true - targetContainerName: "367" - terminationMessagePath: "359" - terminationMessagePolicy: ƺ蛜6Ɖ飴ɎiǨź + targetContainerName: "372" + terminationMessagePath: "364" + terminationMessagePolicy: ƷƣMț + tty: true volumeDevices: - - devicePath: "321" - name: "320" + - devicePath: "327" + name: "326" volumeMounts: - - mountPath: "317" - mountPropagation: 翑0展}硐庰%皧V垾 - name: "316" + - mountPath: "323" + mountPropagation: ǵɐ鰥Z + name: "322" readOnly: true - subPath: "318" - subPathExpr: "319" - workingDir: "300" + subPath: "324" + subPathExpr: "325" + workingDir: "306" hostAliases: - hostnames: - - "429" - ip: "428" - hostNetwork: true - hostPID: true - hostname: "383" + - "434" + ip: "433" + hostIPC: true + hostname: "388" imagePullSecrets: - - name: "382" + - name: "387" initContainers: - args: - "167" @@ -584,57 +590,57 @@ template: name: "173" optional: true image: "165" - imagePullPolicy: ŴĿ lifecycle: postStart: exec: command: - - "208" + - "210" httpGet: - host: "210" + host: "213" httpHeaders: - - name: "211" - value: "212" - path: "209" - port: 1381010768 - scheme: ö + - name: "214" + value: "215" + path: "211" + port: "212" + scheme: ɃHŠơŴĿǹ_Áȉ彂Ŵ廷 tcpSocket: - host: "213" - port: 1135182169 + host: "217" + port: "216" preStop: exec: command: - - "214" + - "218" httpGet: - host: "216" + host: "220" httpHeaders: - - name: "217" - value: "218" - path: "215" - port: 1054302708 + - name: "221" + value: "222" + path: "219" + port: 1923650413 + scheme: I粛E煹ǐƲE'iþŹʣy tcpSocket: - host: "220" - port: "219" + host: "224" + port: "223" livenessProbe: exec: command: - "190" - failureThreshold: -559252309 + failureThreshold: -1064240304 httpGet: - host: "192" + host: "193" httpHeaders: - - name: "193" - value: "194" + - name: "194" + value: "195" path: "191" - port: -575512248 - scheme: ɨ銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ - initialDelaySeconds: -1846991380 - periodSeconds: -1398498492 - successThreshold: -2035009296 + port: "192" + scheme: 猀2:ö + initialDelaySeconds: 322201525 + periodSeconds: 66472042 + successThreshold: 2130088978 tcpSocket: - host: "195" - port: 1180382332 - timeoutSeconds: 325236550 + host: "197" + port: "196" + timeoutSeconds: -1784033404 name: "164" ports: - containerPort: 38897467 @@ -645,138 +651,144 @@ template: readinessProbe: exec: command: - - "196" - failureThreshold: 1427781619 + - "198" + failureThreshold: -522126070 httpGet: - host: "198" + host: "200" httpHeaders: - - name: "199" - value: "200" - path: "197" - port: 1403721475 - scheme: ǰ溟ɴ扵閝ȝ鐵儣廡ɑ龫`劳 - initialDelaySeconds: -1327537699 - periodSeconds: -1941847253 - successThreshold: 1596028039 + - name: "201" + value: "202" + path: "199" + port: -566408554 + scheme: 劳&¼傭Ȟ1酃=6}ɡŇƉ立 + initialDelaySeconds: -1628697284 + periodSeconds: 354496320 + successThreshold: -418887496 tcpSocket: - host: "201" - port: -2064174383 - timeoutSeconds: 483512911 + host: "203" + port: -31530684 + timeoutSeconds: 843845736 + resizePolicy: + - policy: H炮掊°nʮ閼咎櫸eʔŊƞ究:ho + resourceName: ?鷅bȻN resources: limits: 缶.蒅!a坩O`涁İ而踪鄌eÞȦY籎顒: "45" requests: T捘ɍi縱ù墴: "848" + resourcesAllocated: + '#咻痗ȡmƴy綸': "420" securityContext: allowPrivilegeEscalation: true capabilities: add: - - Áȉ彂Ŵ廷s{Ⱦdz@ùƸ + - 邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ drop: - - ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0 + - ɟ踡肒Ao/樝fw[Řż丩Ž privileged: true - procMount: 邪匾mɩC[ó瓧嫭塓烀罁胾^拜Ȍ - readOnlyRootFilesystem: false - runAsGroup: -8724223413734010757 - runAsNonRoot: true - runAsUser: 6116261698850084527 + procMount: Ź9ǕLLȊɞ-uƻ悖 + readOnlyRootFilesystem: true + runAsGroup: -7799096735007368868 + runAsNonRoot: false + runAsUser: -4868342918997831990 seLinuxOptions: - level: "225" - role: "223" - type: "224" - user: "222" + level: "229" + role: "227" + type: "228" + user: "226" windowsOptions: - gmsaCredentialSpec: "227" - gmsaCredentialSpecName: "226" - runAsUserName: "228" + gmsaCredentialSpec: "231" + gmsaCredentialSpecName: "230" + runAsUserName: "232" startupProbe: exec: command: - - "202" - failureThreshold: -2037320199 + - "204" + failureThreshold: -636855511 httpGet: - host: "204" + host: "206" httpHeaders: - - name: "205" - value: "206" - path: "203" - port: -337353552 - scheme: ɖȃ賲鐅臬dH巧壚tC十Oɢ - initialDelaySeconds: 1592489782 - periodSeconds: -102814733 - successThreshold: -152585895 + - name: "207" + value: "208" + path: "205" + port: -1569009987 + scheme: ɢǵʭd鲡:贅wE@Ȗs«öʮĀ< + initialDelaySeconds: -1565157256 + periodSeconds: -1385586997 + successThreshold: 460997133 tcpSocket: - host: "207" - port: -586068135 - timeoutSeconds: 929367702 - terminationMessagePath: "221" - terminationMessagePolicy: 軶ǃ*ʙ嫙&蒒5靇 + host: "209" + port: 1702578303 + timeoutSeconds: -1113628381 + stdin: true + stdinOnce: true + terminationMessagePath: "225" + terminationMessagePolicy: ɀ羭,铻OŤǢʭ嵔棂p volumeDevices: - devicePath: "189" name: "188" volumeMounts: - mountPath: "185" - mountPropagation: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + mountPropagation: 瀐<ɉ湨H=å睫}堇硲 name: "184" - readOnly: true subPath: "186" subPathExpr: "187" workingDir: "168" - nodeName: "372" + nodeName: "377" nodeSelector: - "368": "369" + "373": "374" overhead: - ŚȆĸs: "489" - preemptionPolicy: Lå<ƨ襌ę鶫礗渶刄[ - priority: 466142803 - priorityClassName: "430" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "435" readinessGates: - - conditionType: 帵(弬NĆɜɘ灢7ưg - restartPolicy: 幩šeSvEȤƏ埮pɵ - runtimeClassName: "435" - schedulerName: "425" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: 璾ėȜv + runtimeClassName: "440" + schedulerName: "430" securityContext: - fsGroup: -5265121980497361308 - fsGroupChangePolicy: ɱďW賁Ě - runAsGroup: 2006200781539567705 + fsGroup: -1590873142860533099 + fsGroupChangePolicy: 竬ʆɞȥ}礤铟怖ý萜Ǖ + runAsGroup: 9087288446299226205 runAsNonRoot: true - runAsUser: 1287380841622288898 + runAsUser: -458943834575608638 seLinuxOptions: - level: "376" - role: "374" - type: "375" - user: "373" + level: "381" + role: "379" + type: "380" + user: "378" supplementalGroups: - - 6618112330449141397 + - 3823478936947545930 sysctls: - - name: "380" - value: "381" + - name: "385" + value: "386" windowsOptions: - gmsaCredentialSpec: "378" - gmsaCredentialSpecName: "377" - runAsUserName: "379" - serviceAccount: "371" - serviceAccountName: "370" - setHostnameAsFQDN: true + gmsaCredentialSpec: "383" + gmsaCredentialSpecName: "382" + runAsUserName: "384" + serviceAccount: "376" + serviceAccountName: "375" + setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "384" - terminationGracePeriodSeconds: -3123571459188372202 + subdomain: "389" + terminationGracePeriodSeconds: 8557551499766807948 tolerations: - - effect: ÙQ阉(闒ƈƳ萎Ŋ郵[+ + - key: "354" + operator: '*Z鐫û咡W<敄lu|榝$î' values: - - "351" + - "355" matchFields: - - key: "352" - operator: 荙JLĹ]佱¿>犵殇ŕ + - key: "356" + operator: '|E剒蔞|表徶đ寳议Ƭƶ氩' values: - - "353" + - "357" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 3--j2---2--82--cj-1-s--op34-yw/A-_3bz._M - operator: Exists + - key: 0--z-o-3bz6-2/6Or_-.3OHgt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz_.g.w-o.8_WT-M.B + operator: In + values: + - U1_-__.71-_-9_._X-D---k..1Q7.l matchLabels: - 3-----995----5sumf7ef8jzv4-9-30.rt--6g1-2-73m-e46-r-g63--gt1--6mx-r-927--m6-g/J0-8-.M-.-.-8v-J1zET_..3dCv3j._.-_pP__up.2L_s-7: m.__G-8...__.Q_c8.G.b_9_1o.w_aI._1 + 1/dCv3j._.-_pP__up.2L_s-o7: k-5___-Qq..csh-3--Z1Tvw3F namespaces: - - "372" - topologyKey: "373" - weight: -1058923098 + - "376" + topologyKey: "377" + weight: -531787516 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: ao26--26-hs5-jedse.7vc0260ni-l11q5--uk5mj-94-8134i5kq/aWx.2aM214_.-N_g-..__._____K_g1cXfr.4_.-_-_-...1py_8-3..s._.x2 - operator: Exists + - key: A3HVG93_._.I3.__-.0-z_z0sn_.hx_-a__0-8-.M-.-p + operator: DoesNotExist matchLabels: - A_k_K5._..O_.J_-G_--V-42E_--o90G_A4..-L..L: 0N_N.O30-_u._-2hT.-z-._7-5lL..-_--.VEa-_gn.8-c.C3_F._oX-9 + 4f1gb-2-o8sdezpy--8--i--28x-8-p-lvvm-2qz2.g1c-fr34-4j-l-c7181py-8t379s3-8x32--2qu0/y2hT.-z-._7-5lL..-_--.VEa-_gn.8-c.C3_6: 26C-s.Nj-s namespaces: - - "364" - topologyKey: "365" + - "368" + topologyKey: "369" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C - operator: In - values: - - p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw + - key: 0l_.23--_6l.-5_BZk5v3U + operator: DoesNotExist matchLabels: - x-3/6-.7D.3_KPgL: d._.Um.-__k.5 + t-u-4----q-x3w3dn5-1rhm-5y--z---69o-9-69mxv17r--32b-----4-67t.qk5--f4e4--r1k278l-d-8o1-x-1wl-r/a6Sp_N-S..O-BZ..6-1.b: L_gw_-z6 namespaces: - - "388" - topologyKey: "389" - weight: -168773629 + - "392" + topologyKey: "393" + weight: -1139477828 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: v8_.O_..8n.--z_-..6W.K - operator: Exists + - key: 37zzgy3-4----nf---3a-cgr6---r58-e-l203-8sln7-3x-b--550397801/1.k9M86.9a_-0R_.Z__v + operator: NotIn + values: + - 0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-.Cc matchLabels: - sEK4.B.__65m8_x: 29_.-.Ms7_t.P_3..H..k9M86.9a_-0R1 + 4.B.__6m: J1-1.9_.-.Ms7_tP namespaces: - - "380" - topologyKey: "381" - automountServiceAccountToken: false + - "384" + topologyKey: "385" + automountServiceAccountToken: true containers: - args: - - "195" + - "198" command: - - "194" + - "197" env: - - name: "202" - value: "203" + - name: "205" + value: "206" valueFrom: configMapKeyRef: - key: "209" - name: "208" + key: "212" + name: "211" optional: false fieldRef: - apiVersion: "204" - fieldPath: "205" + apiVersion: "207" + fieldPath: "208" resourceFieldRef: - containerName: "206" - divisor: "177" - resource: "207" + containerName: "209" + divisor: "912" + resource: "210" secretKeyRef: - key: "211" - name: "210" - optional: false + key: "214" + name: "213" + optional: true envFrom: - configMapRef: - name: "200" - optional: false - prefix: "199" + name: "203" + optional: true + prefix: "202" secretRef: - name: "201" + name: "204" optional: true - image: "193" - imagePullPolicy: ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬 + image: "196" + imagePullPolicy: 垁鷌辪 lifecycle: postStart: exec: command: - - "239" + - "244" httpGet: - host: "242" + host: "247" httpHeaders: - - name: "243" - value: "244" - path: "240" - port: "241" - scheme: '%:;栍dʪīT捘ɍi' + - name: "248" + value: "249" + path: "245" + port: "246" + scheme: 銦妰黖ȓƇ$缔獵偐ę腬瓷碑=ɉ tcpSocket: - host: "246" - port: "245" + host: "250" + port: 1180382332 preStop: exec: command: - - "247" + - "251" httpGet: - host: "249" + host: "254" httpHeaders: - - name: "250" - value: "251" - path: "248" - port: -1171060347 - scheme: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + - name: "255" + value: "256" + path: "252" + port: "253" + scheme: 蕵ɢ tcpSocket: - host: "253" - port: "252" + host: "258" + port: "257" livenessProbe: exec: command: - - "218" - failureThreshold: -1321131665 + - "221" + failureThreshold: -540225644 httpGet: - host: "220" - httpHeaders: - - name: "221" - value: "222" - path: "219" - port: -144591150 - scheme: ƛƟ)ÙæNǚ錯ƶRquA?瞲Ť倱< - initialDelaySeconds: 1288053477 - periodSeconds: 1607133856 - successThreshold: 1891896870 - tcpSocket: host: "224" + httpHeaders: + - name: "225" + value: "226" + path: "222" port: "223" - timeoutSeconds: -163325250 - name: "192" + scheme: O醔ɍ厶耈 T衧ȇe媹Hǝ呮}臷Ľð + initialDelaySeconds: 1234551517 + periodSeconds: -1902521464 + successThreshold: -275618361 + tcpSocket: + host: "228" + port: "227" + timeoutSeconds: -1618937335 + name: "195" ports: - - containerPort: -539733119 - hostIP: "198" - hostPort: -632157481 - name: "197" - protocol: 楙¯ĦE勗E + - containerPort: -155814081 + hostIP: "201" + hostPort: -2068962521 + name: "200" + protocol: ɩÅ議Ǹ轺@)蓳嗘TʡȂ readinessProbe: exec: command: - - "225" - failureThreshold: 1231820696 + - "229" + failureThreshold: -940380830 httpGet: - host: "228" + host: "232" httpHeaders: - - name: "229" - value: "230" - path: "226" - port: "227" - scheme: 0åȂ町恰nj揠8lj - initialDelaySeconds: -1188153605 - periodSeconds: 912004803 - successThreshold: -2098817064 + - name: "233" + value: "234" + path: "230" + port: "231" + scheme: Y籎顒ǥŴ + initialDelaySeconds: 322666556 + periodSeconds: -1740986684 + successThreshold: -252664583 tcpSocket: - host: "231" - port: -2049272966 - timeoutSeconds: -427769948 + host: "235" + port: 1061537 + timeoutSeconds: -814446577 + resizePolicy: + - policy: VzÏ抴ŨfZhUʎ浵ɲõ + resourceName: "" resources: limits: - 蓳嗘TʡȂŏ{sǡƟ狩鴈o_: "445" + ɹ坼É/pȿ: "804" requests: - ǘ"^饣Vȿ: "900" + 妻ƅTGS5Ǎ: "526" + resourcesAllocated: + '}穠C]躢|)黰eȪ嵛4$%': "980" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - 瓼猀2:öY鶪5w垁鷌辪 + - 珝Żwʮ馜ü drop: - - U珝Żwʮ馜üNșƶ4ĩĉ - privileged: false - procMount: "" - readOnlyRootFilesystem: false - runAsGroup: 6165457529064596376 + - șƶ4ĩĉş蝿ɖȃ賲鐅臬dH巧 + privileged: true + procMount: '鲡:' + readOnlyRootFilesystem: true + runAsGroup: -6738846580626183558 runAsNonRoot: false - runAsUser: -4642229086806245627 + runAsUser: -2402724957580114162 seLinuxOptions: - level: "258" - role: "256" - type: "257" - user: "255" + level: "263" + role: "261" + type: "262" + user: "260" windowsOptions: - gmsaCredentialSpec: "260" - gmsaCredentialSpecName: "259" - runAsUserName: "261" + gmsaCredentialSpec: "265" + gmsaCredentialSpecName: "264" + runAsUserName: "266" startupProbe: exec: command: - - "232" - failureThreshold: -1618937335 + - "236" + failureThreshold: 520176612 httpGet: - host: "235" + host: "239" httpHeaders: - - name: "236" - value: "237" - path: "233" - port: "234" - initialDelaySeconds: 994527057 - periodSeconds: -1346458591 - successThreshold: 1234551517 + - name: "240" + value: "241" + path: "237" + port: "238" + scheme: d飼$俊跾|@?鷅bȻN + initialDelaySeconds: -1167973499 + periodSeconds: 996680040 + successThreshold: 142244414 tcpSocket: - host: "238" - port: 675406340 - timeoutSeconds: -1482763519 - stdinOnce: true - terminationMessagePath: "254" - terminationMessagePolicy: 閼咎櫸eʔŊ + host: "243" + port: "242" + timeoutSeconds: 692541847 + stdin: true + terminationMessagePath: "259" + terminationMessagePolicy: ńMǰ溟ɴ扵閝 tty: true volumeDevices: - - devicePath: "217" - name: "216" + - devicePath: "220" + name: "219" volumeMounts: - - mountPath: "213" - mountPropagation: 怳冘HǺƶȤ^}穠C]躢|)黰eȪ嵛4 - name: "212" - subPath: "214" - subPathExpr: "215" - workingDir: "196" + - mountPath: "216" + mountPropagation: '&蕭k ź贩j瀉ǚrǜnh0å' + name: "215" + subPath: "217" + subPathExpr: "218" + workingDir: "199" dnsConfig: nameservers: - - "396" + - "400" options: - - name: "398" - value: "399" + - name: "402" + value: "403" searches: - - "397" - dnsPolicy: 8鸖ɱJȉ罴ņ螡źȰ?$矡ȶ网棊ʢ + - "401" + dnsPolicy: ȠƬQg鄠[颐o啛更偢ɇ卷荙JLĹ] enableServiceLinks: false ephemeralContainers: - args: - - "265" + - "270" command: - - "264" + - "269" env: - - name: "272" - value: "273" + - name: "277" + value: "278" valueFrom: configMapKeyRef: - key: "279" - name: "278" + key: "284" + name: "283" optional: false fieldRef: - apiVersion: "274" - fieldPath: "275" + apiVersion: "279" + fieldPath: "280" resourceFieldRef: - containerName: "276" - divisor: "405" - resource: "277" + containerName: "281" + divisor: "431" + resource: "282" secretKeyRef: - key: "281" - name: "280" - optional: false + key: "286" + name: "285" + optional: true envFrom: - configMapRef: - name: "270" - optional: true - prefix: "269" - secretRef: - name: "271" + name: "275" optional: false - image: "263" - imagePullPolicy: ʁ揆ɘȌ脾嚏吐ĠLƐ + prefix: "274" + secretRef: + name: "276" + optional: true + image: "268" + imagePullPolicy: A lifecycle: postStart: exec: command: - - "309" + - "313" httpGet: - host: "311" + host: "316" httpHeaders: - - name: "312" - value: "313" - path: "310" - port: -1589303862 - scheme: ľǎɳ,ǿ飏騀呣ǎ + - name: "317" + value: "318" + path: "314" + port: "315" tcpSocket: - host: "315" - port: "314" + host: "320" + port: "319" preStop: exec: command: - - "316" + - "321" httpGet: - host: "319" + host: "323" httpHeaders: - - name: "320" - value: "321" - path: "317" - port: "318" - scheme: Ƹ[Ęİ榌U髷裎$MVȟ@7 + - name: "324" + value: "325" + path: "322" + port: 59664438 + scheme: Ve tcpSocket: - host: "323" - port: "322" + host: "327" + port: "326" livenessProbe: exec: command: - - "288" - failureThreshold: -1131820775 + - "293" + failureThreshold: -1694108493 httpGet: - host: "291" + host: "295" httpHeaders: - - name: "292" - value: "293" - path: "289" - port: "290" - scheme: Źʣy豎@ɀ羭,铻O - initialDelaySeconds: 1424053148 - periodSeconds: 859639931 - successThreshold: -1663149700 + - name: "296" + value: "297" + path: "294" + port: 1515010893 + scheme: 飏騀呣ǎf + initialDelaySeconds: 284401429 + periodSeconds: -1531296760 + successThreshold: 70206540 tcpSocket: - host: "295" - port: "294" - timeoutSeconds: 747521320 - name: "262" + host: "298" + port: -1343558801 + timeoutSeconds: 1427600698 + name: "267" ports: - - containerPort: -1569009987 - hostIP: "268" - hostPort: -1703360754 - name: "267" - protocol: ɢǵʭd鲡:贅wE@Ȗs«öʮĀ< + - containerPort: 393169267 + hostIP: "273" + hostPort: 1487007476 + name: "272" + protocol: «öʮĀ<é瞾ʀNŬɨǙÄr蛏豈ɃHŠ readinessProbe: exec: command: - - "296" - failureThreshold: -233378149 + - "299" + failureThreshold: -389501466 httpGet: - host: "298" + host: "302" httpHeaders: - - name: "299" - value: "300" - path: "297" - port: -1710454086 - scheme: mɩC[ó瓧 - initialDelaySeconds: 915577348 - periodSeconds: -1386967282 - successThreshold: -2030286732 + - name: "303" + value: "304" + path: "300" + port: "301" + scheme: 裎$MVȟ@7飣 + initialDelaySeconds: 1636034620 + periodSeconds: 14873372 + successThreshold: 1919527626 tcpSocket: - host: "301" - port: -122979840 - timeoutSeconds: -590798124 + host: "306" + port: "305" + timeoutSeconds: 507824260 + resizePolicy: + - policy: w[Řż丩ŽoǠ + resourceName: ɿʒ刽ʼn掏1ſ盷 resources: limits: - 豈ɃHŠơŴĿǹ_Áȉ彂Ŵ廷: "948" + s{Ⱦdz@ùƸʋŀ樺ȃ: "395" requests: - "": "83" + '''iþŹʣy豎@ɀ羭,铻OŤǢʭ嵔': "340" + resourcesAllocated: + TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜: "755" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - 3.v-鿧悮坮Ȣ + - ɸɎ R§耶FfBls3!Zɾ drop: - - ļ腻ŬƩȿ + - 毋 privileged: false - procMount: ħsĨɆâĺ + procMount: uʎȺ眖R# readOnlyRootFilesystem: false - runAsGroup: 241615716805649441 + runAsGroup: -3576872420275325090 runAsNonRoot: true - runAsUser: 9197199583783594492 + runAsUser: -3689959065086680033 seLinuxOptions: - level: "328" - role: "326" - type: "327" - user: "325" + level: "332" + role: "330" + type: "331" + user: "329" windowsOptions: - gmsaCredentialSpec: "330" - gmsaCredentialSpecName: "329" - runAsUserName: "331" + gmsaCredentialSpec: "334" + gmsaCredentialSpecName: "333" + runAsUserName: "335" startupProbe: exec: command: - - "302" - failureThreshold: 486195690 + - "307" + failureThreshold: -406148612 httpGet: - host: "304" + host: "309" httpHeaders: - - name: "305" - value: "306" - path: "303" - port: -495373547 - scheme: ʼn掏1ſ盷褎weLJ - initialDelaySeconds: -929354164 - periodSeconds: 1582773079 - successThreshold: -1133499416 + - name: "310" + value: "311" + path: "308" + port: 306814120 + scheme: ĠLƐȤ藠3.v-鿧悮坮Ȣ幟ļ + initialDelaySeconds: -1171167638 + periodSeconds: 1179132251 + successThreshold: -2123728714 tcpSocket: - host: "308" - port: "307" - timeoutSeconds: 1972119760 + host: "312" + port: -1452676801 + timeoutSeconds: -1336170981 stdin: true - targetContainerName: "332" - terminationMessagePath: "324" - terminationMessagePolicy: Ȋ礶 - tty: true + stdinOnce: true + targetContainerName: "336" + terminationMessagePath: "328" + terminationMessagePolicy: FD剂讼ɓȌʟn volumeDevices: - - devicePath: "287" - name: "286" + - devicePath: "292" + name: "291" volumeMounts: - - mountPath: "283" - mountPropagation: '@ùƸʋŀ樺ȃv' - name: "282" - subPath: "284" - subPathExpr: "285" - workingDir: "266" + - mountPath: "288" + mountPropagation: Y賃ɪ鐊瀑 + name: "287" + readOnly: true + subPath: "289" + subPathExpr: "290" + workingDir: "271" hostAliases: - hostnames: - - "394" - ip: "393" - hostIPC: true + - "398" + ip: "397" hostNetwork: true - hostPID: true - hostname: "348" + hostname: "352" imagePullSecrets: - - name: "347" + - name: "351" initContainers: - args: - "127" @@ -506,58 +517,57 @@ spec: name: "133" optional: true image: "125" - imagePullPolicy: TwMȗ礼2ħ籦ö嗏ʑ>季 + imagePullPolicy: 啞川J缮ǚb lifecycle: postStart: exec: command: - - "171" + - "172" httpGet: host: "174" httpHeaders: - name: "175" value: "176" - path: "172" - port: "173" - scheme: 荎僋bŭDz鯰硰{舁吉蓨 + path: "173" + port: 1553072701 + scheme: wMȗ礼2ħ籦ö tcpSocket: - host: "177" - port: -662805900 + host: "178" + port: "177" preStop: exec: command: - - "178" + - "179" httpGet: - host: "180" + host: "182" httpHeaders: - - name: "181" - value: "182" - path: "179" - port: 249891070 - scheme: ɹ7\弌Þ帺萸Do©Ǿt'容柚ʕIã陫 + - name: "183" + value: "184" + path: "180" + port: "181" tcpSocket: - host: "183" - port: 266070687 + host: "186" + port: "185" livenessProbe: exec: command: - "150" - failureThreshold: 990374141 + failureThreshold: -375094516 httpGet: - host: "152" + host: "153" httpHeaders: - - name: "153" - value: "154" + - name: "154" + value: "155" path: "151" - port: -1123620985 - scheme: l恕ɍȇ廄裭4懙鏮嵒 - initialDelaySeconds: -1177836822 - periodSeconds: 1149075888 - successThreshold: 1156607667 + port: "152" + scheme: İ笓珣筩ƐP_痸荎僋bŭDz鯰硰{ + initialDelaySeconds: 894475595 + periodSeconds: -1339070922 + successThreshold: -662805900 tcpSocket: - host: "156" - port: "155" - timeoutSeconds: 1822289444 + host: "157" + port: "156" + timeoutSeconds: 614353626 name: "124" ports: - containerPort: -2040518604 @@ -567,141 +577,145 @@ spec: readinessProbe: exec: command: - - "157" - failureThreshold: -1904823509 + - "158" + failureThreshold: -1202485369 httpGet: host: "160" httpHeaders: - name: "161" value: "162" - path: "158" - port: "159" - scheme: Ü郀 - initialDelaySeconds: -144625578 - periodSeconds: 694611906 - successThreshold: -1888506207 + path: "159" + port: 1949855595 + scheme: 7\ + initialDelaySeconds: -1090010237 + periodSeconds: 264405762 + successThreshold: -1006328793 tcpSocket: - host: "163" - port: 1184528004 - timeoutSeconds: -101708658 + host: "164" + port: "163" + timeoutSeconds: -2064088433 + resizePolicy: + - policy: 雼浢Ü礽绅{囥"ŵw + resourceName: ĭÐl恕ɍȇ廄裭4懙 resources: limits: ŨȈ>Ņ£趕ã/鈱$-议: "963" requests: 鄸靇杧ž譋娲瘹ɭȊɚɎ(dɅ囥糷磩窮秳: "781" + resourcesAllocated: + ȿQZ{ʁgɸ=ǤÆ碛: "19" securityContext: allowPrivilegeEscalation: true capabilities: add: - - 畬x骀Šĸů湙騘& + - ʬ drop: - - 川J缮ǚbJ5ʬ - privileged: true - procMount: '`诫z徃鷢6ȥ啕禗Ǐ2啗塧ȱ蓿彭聡A' - readOnlyRootFilesystem: false - runAsGroup: -7029550403667587439 + - ʞĹ鑑6NJPM饣`诫z徃鷢6ȥ啕禗Ǐ + privileged: false + procMount: fƻfʣ繡楙¯Ħ + readOnlyRootFilesystem: true + runAsGroup: 8400763836388347832 runAsNonRoot: false - runAsUser: 570299180913049309 + runAsUser: -1492841452396704228 seLinuxOptions: - level: "188" - role: "186" - type: "187" - user: "185" + level: "191" + role: "189" + type: "190" + user: "188" windowsOptions: - gmsaCredentialSpec: "190" - gmsaCredentialSpecName: "189" - runAsUserName: "191" + gmsaCredentialSpec: "193" + gmsaCredentialSpecName: "192" + runAsUserName: "194" startupProbe: exec: command: - - "164" - failureThreshold: 1247862962 + - "165" + failureThreshold: 587975894 httpGet: - host: "166" + host: "168" httpHeaders: - - name: "167" - value: "168" - path: "165" - port: 1693510057 - scheme: =y钡 - initialDelaySeconds: -529495213 - periodSeconds: 1727149457 - successThreshold: 1407547486 + - name: "169" + value: "170" + path: "166" + port: "167" + scheme: ʊʓ誒j + initialDelaySeconds: -1337362498 + periodSeconds: -2012833725 + successThreshold: 872208244 tcpSocket: - host: "170" - port: "169" - timeoutSeconds: 23025317 + host: "171" + port: 534060202 + timeoutSeconds: -1884322607 + stdin: true stdinOnce: true - terminationMessagePath: "184" - terminationMessagePolicy: '")珷<º' + terminationMessagePath: "187" + terminationMessagePolicy: ìƅS·Õüe0 volumeDevices: - devicePath: "149" name: "148" volumeMounts: - mountPath: "145" - mountPropagation: QZ{ʁgɸ=ǤÆ + mountPropagation: 郀叚Fi皬择,Q捇ȸ{+ɸ殁 name: "144" - readOnly: true subPath: "146" subPathExpr: "147" workingDir: "128" - nodeName: "337" + nodeName: "341" nodeSelector: - "333": "334" + "337": "338" overhead: - ɮ6): "299" - preemptionPolicy: 怨彬ɈNƋl塠傫ü - priority: -1286809305 - priorityClassName: "395" + U凮: "684" + preemptionPolicy: 忖p様 + priority: -1576968453 + priorityClassName: "399" readinessGates: - - conditionType: ųŎ群E牬庘颮6(|ǖû - restartPolicy: 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶 - runtimeClassName: "400" - schedulerName: "390" + - conditionType: v + restartPolicy: '''WKw(ğ儴Ůĺ}潷ʒ胵輓Ɔ' + runtimeClassName: "404" + schedulerName: "394" securityContext: - fsGroup: 6347577485454457915 - fsGroupChangePolicy: 勅跦Opwǩ曬逴褜1Ø - runAsGroup: -860974700141841896 + fsGroup: -6090661315121334525 + fsGroupChangePolicy: '#v铿ʩȂ4ē鐭#嬀ơŸ8T 苧y' + runAsGroup: -4207281854510634861 runAsNonRoot: true - runAsUser: 7525448836100188460 + runAsUser: 3785971062093853048 seLinuxOptions: - level: "341" - role: "339" - type: "340" - user: "338" + level: "345" + role: "343" + type: "344" + user: "342" supplementalGroups: - - 7258403424756645907 + - 2007000972845989054 sysctls: - - name: "345" - value: "346" + - name: "349" + value: "350" windowsOptions: - gmsaCredentialSpec: "343" - gmsaCredentialSpecName: "342" - runAsUserName: "344" - serviceAccount: "336" - serviceAccountName: "335" + gmsaCredentialSpec: "347" + gmsaCredentialSpecName: "346" + runAsUserName: "348" + serviceAccount: "340" + serviceAccountName: "339" setHostnameAsFQDN: true shareProcessNamespace: false - subdomain: "349" - terminationGracePeriodSeconds: -1689173322096612726 + subdomain: "353" + terminationGracePeriodSeconds: -2843001099033917196 tolerations: - - effect: ŪǗȦɆ悼j蛑q - key: "391" - operator: 栣险¹贮獘薟8Mĕ霉 - tolerationSeconds: 4375148957048018073 - value: "392" + - effect: Ġ滔xvŗÑ"虆k遚釾ʼn{朣Jɩɼ + key: "395" + operator: '[L' + tolerationSeconds: 4456040724914385859 + value: "396" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A - operator: In - values: - - 7M7y-Dy__3wc.q.8_00.0_._.-_L-__bf_9_-C-Pfx + - key: gi--7-nt-23h-4z-21-sap--h--qh.l4-03a68u7-l---8x7-l--b-9-u--17---u7-gl7814ei-07shtq-p/4D-r.-B + operator: DoesNotExist matchLabels: - o--5r-v-5-e-m78o-6-s.4-7--i1-8miw-7a-2408m-0--5--2-5----00/l_.23--_l: b-L7.-__-G_2kCpS__.3g - maxSkew: -554557703 - topologyKey: "401" - whenUnsatisfiable: ¹t骳ɰɰUʜʔŜ0¢ + ? nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/kCpS__.39g_.--_-_ve5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A + : BM.6-.Y_72-_--p7 + maxSkew: -782776982 + topologyKey: "405" + whenUnsatisfiable: 鈀 volumes: - awsElasticBlockStore: fsType: "24" @@ -899,125 +913,141 @@ spec: volumePath: "78" status: conditions: - - lastProbeTime: "2645-05-22T09:25:47Z" - lastTransitionTime: "2090-10-18T11:24:27Z" - message: "409" - reason: "408" - status: pɉ驻(+ - type: ė[BN柌ë娒汙查o + - lastProbeTime: "2694-01-20T06:32:57Z" + lastTransitionTime: "2513-10-21T14:28:21Z" + message: "413" + reason: "412" + status: 惍Bi攵&ý"ʀ废査Z綶 + type: 龞瞯å檳ė> containerStatuses: - - containerID: "443" - image: "441" - imageID: "442" + - containerID: "447" + image: "445" + imageID: "446" lastState: running: - startedAt: "2553-08-13T19:38:34Z" + startedAt: "2603-05-05T12:56:46Z" terminated: - containerID: "440" - exitCode: 1702640464 - finishedAt: "2837-10-14T23:23:27Z" - message: "439" - reason: "438" - signal: -1569123121 - startedAt: "2208-06-28T06:16:27Z" + containerID: "444" + exitCode: 1048207445 + finishedAt: "2761-05-02T21:05:20Z" + message: "443" + reason: "442" + signal: 1704922150 + startedAt: "2920-03-03T07:44:28Z" waiting: - message: "437" - reason: "436" - name: "430" - ready: true - restartCount: 718205480 - started: true + message: "441" + reason: "440" + name: "434" + ready: false + resources: + limits: + 搧菸Fǥ楶4驦訨ʣ囨汙Ȗ><僚徘ó蒿¶: "236" + requests: + "": "772" + restartCount: -1993697685 + started: false state: running: - startedAt: "2947-07-29T10:08:50Z" + startedAt: "2601-09-30T10:51:11Z" terminated: - containerID: "435" - exitCode: 1783825641 - finishedAt: "2270-12-17T08:26:56Z" - message: "434" - reason: "433" - signal: -173761204 - startedAt: "2522-07-19T12:32:16Z" + containerID: "439" + exitCode: -1005429684 + finishedAt: "2615-04-16T15:08:34Z" + message: "438" + reason: "437" + signal: -1399236189 + startedAt: "2526-05-09T21:06:11Z" waiting: - message: "432" - reason: "431" + message: "436" + reason: "435" ephemeralContainerStatuses: - - containerID: "457" - image: "455" - imageID: "456" + - containerID: "461" + image: "459" + imageID: "460" lastState: running: - startedAt: "2911-12-04T12:23:46Z" + startedAt: "2606-05-01T09:09:27Z" terminated: - containerID: "454" - exitCode: 1555151820 - finishedAt: "2412-02-08T17:08:41Z" - message: "453" - reason: "452" - signal: -1757808404 - startedAt: "2599-12-06T02:53:25Z" + containerID: "458" + exitCode: 1872092644 + finishedAt: "2886-06-13T02:31:19Z" + message: "457" + reason: "456" + signal: -513111795 + startedAt: "2335-07-27T10:33:56Z" waiting: - message: "451" - reason: "450" - name: "444" + message: "455" + reason: "454" + name: "448" ready: true - restartCount: 1615460891 - started: true + resources: + limits: + Lȋw`揄戀Ž彙pg稠氦ŅsƄƜ: "537" + requests: + fL: "337" + restartCount: 1825913492 + started: false state: running: - startedAt: "2046-11-30T08:06:33Z" + startedAt: "2124-09-25T07:43:20Z" terminated: - containerID: "449" - exitCode: -1784164316 - finishedAt: "2231-01-26T17:02:10Z" - message: "448" - reason: "447" - signal: -732390892 - startedAt: "2406-01-16T02:14:15Z" + containerID: "453" + exitCode: 523183979 + finishedAt: "1972-05-31T08:51:32Z" + message: "452" + reason: "451" + signal: 220233254 + startedAt: "2147-03-11T07:32:51Z" waiting: - message: "446" - reason: "445" - hostIP: "413" + message: "450" + reason: "449" + hostIP: "417" initContainerStatuses: - - containerID: "429" - image: "427" - imageID: "428" + - containerID: "433" + image: "431" + imageID: "432" lastState: running: - startedAt: "2162-06-26T19:07:06Z" + startedAt: "2960-08-12T14:49:12Z" terminated: - containerID: "426" - exitCode: -710202728 - finishedAt: "2507-11-24T14:34:53Z" - message: "425" - reason: "424" - signal: -545370104 - startedAt: "2714-05-29T12:47:22Z" + containerID: "430" + exitCode: 1275997000 + finishedAt: "2415-05-15T00:26:56Z" + message: "429" + reason: "428" + signal: 1252613845 + startedAt: "2188-09-01T04:13:44Z" waiting: - message: "423" - reason: "422" - name: "416" + message: "427" + reason: "426" + name: "420" ready: false - restartCount: -802664960 + resources: + limits: + 銲tHǽ÷閂抰^窄CǙķȈĐI梞ū: "807" + requests: + eCmAȥ睙蜵: "706" + restartCount: 131291419 started: false state: running: - startedAt: "2048-05-20T12:15:51Z" + startedAt: "2729-01-01T11:01:01Z" terminated: - containerID: "421" - exitCode: 115522160 - finishedAt: "2741-03-13T06:24:49Z" - message: "420" - reason: "419" - signal: -1817503524 - startedAt: "2219-02-28T09:09:45Z" + containerID: "425" + exitCode: -1634318050 + finishedAt: "2220-09-23T23:16:51Z" + message: "424" + reason: "423" + signal: 104836892 + startedAt: "2435-10-22T21:28:44Z" waiting: - message: "418" - reason: "417" - message: "410" - nominatedNodeName: "412" - phase: l - podIP: "414" + message: "422" + reason: "421" + message: "414" + nominatedNodeName: "416" + phase: Ǻ潑鶋洅啶'ƈoI + podIP: "418" podIPs: - - ip: "415" - reason: "411" + - ip: "419" + qosClass: ɦ?鮻ȧH僠 &G + reason: "415" diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.json b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.json index 2322dba693dfc..24c73a14d5bee 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.json +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.json @@ -106,7 +106,15 @@ "image": "38", "imageID": "39", "containerID": "40", - "started": false + "started": false, + "resources": { + "limits": { + "狞夌碕ʂɭ": "166" + }, + "requests": { + "": "929" + } + } } ], "containerStatuses": [ @@ -118,15 +126,15 @@ "message": "43" }, "running": { - "startedAt": "2943-08-01T13:09:15Z" + "startedAt": "2103-08-02T14:34:54Z" }, "terminated": { - "exitCode": 523306325, - "signal": -1639873916, + "exitCode": -345316957, + "signal": 1747524933, "reason": "44", "message": "45", - "startedAt": "2680-06-15T09:55:37Z", - "finishedAt": "2320-11-04T10:48:57Z", + "startedAt": "2017-07-05T09:59:20Z", + "finishedAt": "2059-10-03T11:19:35Z", "containerID": "46" } }, @@ -136,27 +144,35 @@ "message": "48" }, "running": { - "startedAt": "2283-08-16T02:57:13Z" + "startedAt": "2548-02-13T06:21:25Z" }, "terminated": { - "exitCode": -1876826602, - "signal": -1134418089, + "exitCode": -102729740, + "signal": 165528693, "reason": "49", "message": "50", - "startedAt": "2103-08-02T14:34:54Z", - "finishedAt": "2485-12-31T11:06:30Z", + "startedAt": "2538-07-30T21:50:49Z", + "finishedAt": "2339-08-25T14:46:58Z", "containerID": "51" } }, "ready": true, - "restartCount": 1366345526, + "restartCount": -907310967, "image": "52", "imageID": "53", "containerID": "54", - "started": false + "started": true, + "resources": { + "limits": { + "樅尷ȸd賑'üA謥ǣ偐圠=l畣潁谯耨V": "741" + }, + "requests": { + "Ď儇击3ƆìQ喞艋涽託仭w-檮Ǣ": "465" + } + } } ], - "qosClass": "励鹗塢ē ", + "qosClass": "ž琔n宂¬轚9Ȏ瀮昃2Ō¾\\Ē", "ephemeralContainerStatuses": [ { "name": "55", @@ -166,15 +182,15 @@ "message": "57" }, "running": { - "startedAt": "2442-02-07T10:23:02Z" + "startedAt": "1984-10-19T03:37:57Z" }, "terminated": { - "exitCode": -1395989138, - "signal": 1995971729, + "exitCode": 33624773, + "signal": 654894632, "reason": "58", "message": "59", - "startedAt": "1982-02-22T15:48:54Z", - "finishedAt": "2843-03-23T07:04:39Z", + "startedAt": "2756-04-13T11:48:33Z", + "finishedAt": "2396-08-01T14:05:03Z", "containerID": "60" } }, @@ -184,24 +200,32 @@ "message": "62" }, "running": { - "startedAt": "2809-10-24T21:55:41Z" + "startedAt": "2861-07-14T14:48:11Z" }, "terminated": { - "exitCode": 1192771347, - "signal": -1737266499, + "exitCode": 1258015454, + "signal": 1256919710, "reason": "63", "message": "64", - "startedAt": "2256-09-10T15:38:25Z", - "finishedAt": "2907-09-12T12:00:36Z", + "startedAt": "2523-06-13T07:53:00Z", + "finishedAt": "2458-10-10T03:25:11Z", "containerID": "65" } }, - "ready": false, - "restartCount": 552512122, + "ready": true, + "restartCount": -2139279061, "image": "66", "imageID": "67", "containerID": "68", - "started": true + "started": false, + "resources": { + "limits": { + "Ʌ囥糷磩窮秳ķ蟒苾h^樅燴壩卄蓨MĮ?": "478" + }, + "requests": { + "ZƜ/C龷ȪÆl殛瓷雼浢Ü礽绅{囥": "721" + } + } } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.pb b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.pb index 06d4fde83e81b..3a31b30de0170 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.pb and b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.yaml b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.yaml index d805ba80139f5..e10aff69d7924 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodStatusResult.yaml @@ -43,33 +43,38 @@ status: imageID: "53" lastState: running: - startedAt: "2283-08-16T02:57:13Z" + startedAt: "2548-02-13T06:21:25Z" terminated: containerID: "51" - exitCode: -1876826602 - finishedAt: "2485-12-31T11:06:30Z" + exitCode: -102729740 + finishedAt: "2339-08-25T14:46:58Z" message: "50" reason: "49" - signal: -1134418089 - startedAt: "2103-08-02T14:34:54Z" + signal: 165528693 + startedAt: "2538-07-30T21:50:49Z" waiting: message: "48" reason: "47" name: "41" ready: true - restartCount: 1366345526 - started: false + resources: + limits: + 樅尷ȸd賑'üA謥ǣ偐圠=l畣潁谯耨V: "741" + requests: + Ď儇击3ƆìQ喞艋涽託仭w-檮Ǣ: "465" + restartCount: -907310967 + started: true state: running: - startedAt: "2943-08-01T13:09:15Z" + startedAt: "2103-08-02T14:34:54Z" terminated: containerID: "46" - exitCode: 523306325 - finishedAt: "2320-11-04T10:48:57Z" + exitCode: -345316957 + finishedAt: "2059-10-03T11:19:35Z" message: "45" reason: "44" - signal: -1639873916 - startedAt: "2680-06-15T09:55:37Z" + signal: 1747524933 + startedAt: "2017-07-05T09:59:20Z" waiting: message: "43" reason: "42" @@ -79,33 +84,38 @@ status: imageID: "67" lastState: running: - startedAt: "2809-10-24T21:55:41Z" + startedAt: "2861-07-14T14:48:11Z" terminated: containerID: "65" - exitCode: 1192771347 - finishedAt: "2907-09-12T12:00:36Z" + exitCode: 1258015454 + finishedAt: "2458-10-10T03:25:11Z" message: "64" reason: "63" - signal: -1737266499 - startedAt: "2256-09-10T15:38:25Z" + signal: 1256919710 + startedAt: "2523-06-13T07:53:00Z" waiting: message: "62" reason: "61" name: "55" - ready: false - restartCount: 552512122 - started: true + ready: true + resources: + limits: + Ʌ囥糷磩窮秳ķ蟒苾h^樅燴壩卄蓨MĮ?: "478" + requests: + ZƜ/C龷ȪÆl殛瓷雼浢Ü礽绅{囥: "721" + restartCount: -2139279061 + started: false state: running: - startedAt: "2442-02-07T10:23:02Z" + startedAt: "1984-10-19T03:37:57Z" terminated: containerID: "60" - exitCode: -1395989138 - finishedAt: "2843-03-23T07:04:39Z" + exitCode: 33624773 + finishedAt: "2396-08-01T14:05:03Z" message: "59" reason: "58" - signal: 1995971729 - startedAt: "1982-02-22T15:48:54Z" + signal: 654894632 + startedAt: "2756-04-13T11:48:33Z" waiting: message: "57" reason: "56" @@ -130,6 +140,11 @@ status: reason: "33" name: "27" ready: true + resources: + limits: + 狞夌碕ʂɭ: "166" + requests: + "": "929" restartCount: -734360256 started: false state: @@ -152,5 +167,5 @@ status: podIP: "25" podIPs: - ip: "26" - qosClass: '励鹗塢ē ' + qosClass: ž琔n宂¬轚9Ȏ瀮昃2Ō¾\Ē reason: "22" diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json index 11ce75871e404..376a2acd068d5 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json @@ -421,13 +421,21 @@ "": "609" } }, + "resourcesAllocated": { + "碛,1ZƜ/C龷ȪÆl殛": "671" + }, + "resizePolicy": [ + { + "resourceName": "嵒ƫS捕ɷD¡轫n", + "policy": "^Ü郀叚" + } + ], "volumeMounts": [ { "name": "161", - "readOnly": true, "mountPath": "162", "subPath": "163", - "mountPropagation": ",1ZƜ/C龷ȪÆ", + "mountPropagation": "皬择", "subPathExpr": "164" } ], @@ -445,259 +453,267 @@ }, "httpGet": { "path": "168", - "port": 126800818, - "host": "169", - "scheme": "ƫS捕ɷ", + "port": "169", + "host": "170", + "scheme": "訩塶\"=y钡n)İ笓珣筩Ɛ", "httpHeaders": [ { - "name": "170", - "value": "171" + "name": "171", + "value": "172" } ] }, "tcpSocket": { - "port": 990374141, - "host": "172" + "port": -990413003, + "host": "173" }, - "initialDelaySeconds": 1673568505, - "timeoutSeconds": 1665622609, - "periodSeconds": -972874331, - "successThreshold": 860842148, - "failureThreshold": -1373481716 + "initialDelaySeconds": 1331601508, + "timeoutSeconds": -802089648, + "periodSeconds": -1341615783, + "successThreshold": 528528093, + "failureThreshold": 1408805313 }, "readinessProbe": { "exec": { "command": [ - "173" + "174" ] }, "httpGet": { - "path": "174", - "port": -144625578, - "host": "175", - "scheme": "择,Q捇ȸ{+", + "path": "175", + "port": 459991461, + "host": "176", + "scheme": "绺Lɋ聻", "httpHeaders": [ { - "name": "176", - "value": "177" + "name": "177", + "value": "178" } ] }, "tcpSocket": { - "port": 1130962147, - "host": "178" + "port": "179", + "host": "180" }, - "initialDelaySeconds": 358822621, - "timeoutSeconds": 1946649472, - "periodSeconds": 327574193, - "successThreshold": 1718125857, - "failureThreshold": -366263237 + "initialDelaySeconds": -137847772, + "timeoutSeconds": 2115094729, + "periodSeconds": 249891070, + "successThreshold": 1949855595, + "failureThreshold": 2105583493 }, "startupProbe": { "exec": { "command": [ - "179" + "181" ] }, "httpGet": { - "path": "180", - "port": "181", - "host": "182", - "scheme": "P_痸", + "path": "182", + "port": -878518576, + "host": "183", + "scheme": "Ğİ*洣炽A@ʊʓ", "httpHeaders": [ { - "name": "183", - "value": "184" + "name": "184", + "value": "185" } ] }, "tcpSocket": { - "port": -1341615783, - "host": "185" + "port": -675641027, + "host": "186" }, - "initialDelaySeconds": 528528093, - "timeoutSeconds": 1408805313, - "periodSeconds": -2078905463, - "successThreshold": 1603139327, - "failureThreshold": 1050218190 + "initialDelaySeconds": -1788918988, + "timeoutSeconds": 534060202, + "periodSeconds": -1337362498, + "successThreshold": -1884322607, + "failureThreshold": -2012833725 }, "lifecycle": { "postStart": { "exec": { "command": [ - "186" + "187" ] }, "httpGet": { - "path": "187", - "port": "188", - "host": "189", - "scheme": "O澘銈e棈_Ĭ艥\u003c檔", + "path": "188", + "port": "189", + "host": "190", + "scheme": "Ɋ捵TwMȗ礼2ħ籦ö嗏ʑ", "httpHeaders": [ { - "name": "190", - "value": "191" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": "192", - "host": "193" + "port": "193", + "host": "194" } }, "preStop": { "exec": { "command": [ - "194" + "195" ] }, "httpGet": { - "path": "195", - "port": -1006328793, - "host": "196", - "scheme": "©Ǿt'", + "path": "196", + "port": "197", + "host": "198", + "scheme": "ìƅS·Õüe0", "httpHeaders": [ { - "name": "197", - "value": "198" + "name": "199", + "value": "200" } ] }, "tcpSocket": { - "port": "199", - "host": "200" + "port": -1178220527, + "host": "201" } } }, - "terminationMessagePath": "201", - "terminationMessagePolicy": "ʕIã陫ʋsş\")珷\u003cºɖ", - "imagePullPolicy": "wMȗ礼2ħ籦ö", + "terminationMessagePath": "202", + "terminationMessagePolicy": "鴈Ōƾ焁yǠ/淹\\韲翁\u0026ʢsɜ曢\\%枅", + "imagePullPolicy": "鷢6ȥ啕禗Ǐ2啗塧ȱ蓿彭聡A3fƻf", "securityContext": { "capabilities": { "add": [ - "\u003e季Cʖ畬x骀Šĸů湙騘\u0026啞川J缮" + "楙¯ĦE勗E" ], "drop": [ - "bJ5ʬ昹ʞĹ鑑6NJPM饣`" + "偘1ɩÅ議Ǹ轺@)蓳嗘TʡȂŏ{s" ] }, "privileged": false, "seLinuxOptions": { - "user": "202", - "role": "203", - "type": "204", - "level": "205" + "user": "203", + "role": "204", + "type": "205", + "level": "206" }, "windowsOptions": { - "gmsaCredentialSpecName": "206", - "gmsaCredentialSpec": "207", - "runAsUserName": "208" + "gmsaCredentialSpecName": "207", + "gmsaCredentialSpec": "208", + "runAsUserName": "209" }, - "runAsUser": 6821913012222657579, - "runAsGroup": -5811430020199686393, + "runAsUser": -3364238227152605716, + "runAsGroup": 7940107288692075904, "runAsNonRoot": true, "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "2啗塧ȱ蓿彭聡A3fƻfʣ繡楙¯ĦE勗" + "procMount": "É/p" }, - "stdinOnce": true, - "tty": true + "stdinOnce": true } ], "containers": [ { - "name": "209", - "image": "210", + "name": "210", + "image": "211", "command": [ - "211" + "212" ], "args": [ - "212" + "213" ], - "workingDir": "213", + "workingDir": "214", "ports": [ { - "name": "214", - "hostPort": 744106683, - "containerPort": 1083816849, - "protocol": "議Ǹ轺@)蓳嗘", - "hostIP": "215" + "name": "215", + "hostPort": -1777721688, + "containerPort": -599608368, + "protocol": "HǺƶȤ^}穠", + "hostIP": "216" } ], "envFrom": [ { - "prefix": "216", + "prefix": "217", "configMapRef": { - "name": "217", - "optional": false - }, - "secretRef": { "name": "218", "optional": true + }, + "secretRef": { + "name": "219", + "optional": false } } ], "env": [ { - "name": "219", - "value": "220", + "name": "220", + "value": "221", "valueFrom": { "fieldRef": { - "apiVersion": "221", - "fieldPath": "222" + "apiVersion": "222", + "fieldPath": "223" }, "resourceFieldRef": { - "containerName": "223", - "resource": "224", - "divisor": "179" + "containerName": "224", + "resource": "225", + "divisor": "725" }, "configMapKeyRef": { - "name": "225", - "key": "226", - "optional": false + "name": "226", + "key": "227", + "optional": true }, "secretKeyRef": { - "name": "227", - "key": "228", - "optional": false + "name": "228", + "key": "229", + "optional": true } } } ], "resources": { "limits": { - "o_鹈ɹ坼É/pȿŘ阌Ŗ怳冘HǺƶ": "364" + "$": "118" }, "requests": { - "ǝ鿟ldg滠鼍ƭt?QȫşŇɜ": "211" + "a頢ƛƟ)ÙæNǚ錯ƶRquA?": "561" } }, + "resourcesAllocated": { + "蕭k ź贩j": "695" + }, + "resizePolicy": [ + { + "resourceName": "A徙ɶɊł/擇ɦĽ胚", + "policy": "揠8lj黳鈫ʕ禒Ƙá腿ħ缶.蒅!a坩O" + } + ], "volumeMounts": [ { - "name": "229", - "mountPath": "230", - "subPath": "231", - "mountPropagation": "zÏ抴ŨfZhUʎ浵ɲõTo\u0026", - "subPathExpr": "232" + "name": "230", + "mountPath": "231", + "subPath": "232", + "mountPropagation": "İ而踪鄌eÞȦY籎顒ǥŴ唼Ģ猇õǶț", + "subPathExpr": "233" } ], "volumeDevices": [ { - "name": "233", - "devicePath": "234" + "name": "234", + "devicePath": "235" } ], "livenessProbe": { "exec": { "command": [ - "235" + "236" ] }, "httpGet": { - "path": "236", - "port": "237", + "path": "237", + "port": 195263908, "host": "238", - "scheme": "Xŋ朘瑥A徙ɶɊł/擇ɦĽ胚O醔ɍ厶耈", + "scheme": "d飼$俊跾|@?鷅bȻN", "httpHeaders": [ { "name": "239", @@ -706,149 +722,149 @@ ] }, "tcpSocket": { - "port": 2064656704, - "host": "241" + "port": "241", + "host": "242" }, - "initialDelaySeconds": -1940723300, - "timeoutSeconds": 749147575, - "periodSeconds": 496226800, - "successThreshold": 84444678, - "failureThreshold": -547518679 + "initialDelaySeconds": -1167973499, + "timeoutSeconds": 692541847, + "periodSeconds": 996680040, + "successThreshold": 142244414, + "failureThreshold": 520176612 }, "readinessProbe": { "exec": { "command": [ - "242" + "243" ] }, "httpGet": { - "path": "243", - "port": 1322581021, - "host": "244", - "scheme": "坩O`涁İ而踪鄌eÞ", + "path": "244", + "port": "245", + "host": "246", + "scheme": "eʔŊƞ究:hoĂɋ瀐\u003cɉ湨H", "httpHeaders": [ { - "name": "245", - "value": "246" + "name": "247", + "value": "248" } ] }, "tcpSocket": { - "port": -1319491110, - "host": "247" + "port": 609274415, + "host": "249" }, - "initialDelaySeconds": 565789036, - "timeoutSeconds": -1572269414, - "periodSeconds": -582473401, - "successThreshold": -1252931244, - "failureThreshold": 1569992019 + "initialDelaySeconds": 581816190, + "timeoutSeconds": -204658565, + "periodSeconds": -498077886, + "successThreshold": 1592637538, + "failureThreshold": -715357874 }, "startupProbe": { "exec": { "command": [ - "248" + "250" ] }, "httpGet": { - "path": "249", - "port": 870237686, - "host": "250", - "scheme": "墴1Rƥ贫d", + "path": "251", + "port": -2130554644, + "host": "252", + "scheme": ":öY鶪5w垁鷌辪虽U珝Żwʮ馜ü", "httpHeaders": [ { - "name": "251", - "value": "252" + "name": "253", + "value": "254" } ] }, "tcpSocket": { - "port": -33154680, - "host": "253" + "port": 1940619008, + "host": "255" }, - "initialDelaySeconds": -709825668, - "timeoutSeconds": -1144400181, - "periodSeconds": -379514302, - "successThreshold": 173916181, - "failureThreshold": -813624408 + "initialDelaySeconds": -772147636, + "timeoutSeconds": -1872407654, + "periodSeconds": 32378685, + "successThreshold": 1463207240, + "failureThreshold": -337353552 }, "lifecycle": { "postStart": { "exec": { "command": [ - "254" + "256" ] }, "httpGet": { - "path": "255", - "port": 200992434, - "host": "256", - "scheme": "ņ榱*Gưoɘ檲ɨ銦妰黖ȓ", + "path": "257", + "port": "258", + "host": "259", + "scheme": "鐅臬dH巧壚tC十Oɢǵʭd鲡:", "httpHeaders": [ { - "name": "257", - "value": "258" + "name": "260", + "value": "261" } ] }, "tcpSocket": { - "port": "259", - "host": "260" + "port": -2037320199, + "host": "262" } }, "preStop": { "exec": { "command": [ - "261" + "263" ] }, "httpGet": { - "path": "262", - "port": "263", - "host": "264", - "scheme": "ɋ瀐\u003cɉ", + "path": "264", + "port": "265", + "host": "266", + "scheme": "茇竛吲蚛隖\u003cǶĬ4y£軶ǃ", "httpHeaders": [ { - "name": "265", - "value": "266" + "name": "267", + "value": "268" } ] }, "tcpSocket": { - "port": -1334904807, - "host": "267" + "port": "269", + "host": "270" } } }, - "terminationMessagePath": "268", - "terminationMessagePolicy": "å睫}堇硲蕵ɢ苆", - "imagePullPolicy": "猀2:ö", + "terminationMessagePath": "271", + "terminationMessagePolicy": "嫙\u0026蒒5靇C'ɵK.Q貇", + "imagePullPolicy": "Ŵ廷s{Ⱦdz@", "securityContext": { "capabilities": { "add": [ - "5w垁鷌辪虽U珝Żwʮ馜üNșƶ" + "ʋŀ樺ȃv渟7¤7d" ], "drop": [ - "ĩĉş蝿ɖȃ賲鐅臬" + "ƯĖ漘Z剚敍0)鈼¬麄p呝T" ] }, - "privileged": false, + "privileged": true, "seLinuxOptions": { - "user": "269", - "role": "270", - "type": "271", - "level": "272" + "user": "272", + "role": "273", + "type": "274", + "level": "275" }, "windowsOptions": { - "gmsaCredentialSpecName": "273", - "gmsaCredentialSpec": "274", - "runAsUserName": "275" + "gmsaCredentialSpecName": "276", + "gmsaCredentialSpec": "277", + "runAsUserName": "278" }, - "runAsUser": -1799108093609470992, - "runAsGroup": -1245112587824234591, + "runAsUser": 4181787587415673530, + "runAsGroup": 825262458636305509, "runAsNonRoot": true, - "readOnlyRootFilesystem": false, + "readOnlyRootFilesystem": true, "allowPrivilegeEscalation": true, - "procMount": "ǵʭd鲡:贅wE@Ȗs«öʮ" + "procMount": "瓧嫭塓烀罁胾^拜" }, "stdin": true, "stdinOnce": true @@ -856,229 +872,238 @@ ], "ephemeralContainers": [ { - "name": "276", - "image": "277", + "name": "279", + "image": "280", "command": [ - "278" + "281" ], "args": [ - "279" + "282" ], - "workingDir": "280", + "workingDir": "283", "ports": [ { - "name": "281", - "hostPort": 1702578303, - "containerPort": -1565157256, - "protocol": "Ŭ", - "hostIP": "282" + "name": "284", + "hostPort": 1385030458, + "containerPort": 427196286, + "protocol": "o/樝fw[Řż丩Ž", + "hostIP": "285" } ], "envFrom": [ { - "prefix": "283", + "prefix": "286", "configMapRef": { - "name": "284", - "optional": true + "name": "287", + "optional": false }, "secretRef": { - "name": "285", - "optional": false + "name": "288", + "optional": true } } ], "env": [ { - "name": "286", - "value": "287", + "name": "289", + "value": "290", "valueFrom": { "fieldRef": { - "apiVersion": "288", - "fieldPath": "289" + "apiVersion": "291", + "fieldPath": "292" }, "resourceFieldRef": { - "containerName": "290", - "resource": "291", - "divisor": "157" + "containerName": "293", + "resource": "294", + "divisor": "932" }, "configMapKeyRef": { - "name": "292", - "key": "293", - "optional": true + "name": "295", + "key": "296", + "optional": false }, "secretKeyRef": { - "name": "294", - "key": "295", - "optional": false + "name": "297", + "key": "298", + "optional": true } } } ], "resources": { "limits": { - "ŴĿ": "377" + "9ǕLLȊɞ-uƻ悖ȩ0Ƹ[Ę": "638" }, "requests": { - ".Q貇£ȹ嫰ƹǔw÷nI": "718" + "ǂ\u003e5姣\u003e懔%熷": "440" } }, + "resourcesAllocated": { + "飣奺Ȋ礶惇¸": "771" + }, + "resizePolicy": [ + { + "resourceName": "Ȍ脾嚏吐ĠLƐȤ藠3.v-鿧悮", + "policy": "" + } + ], "volumeMounts": [ { - "name": "296", - "mountPath": "297", - "subPath": "298", - "mountPropagation": "樺ȃ", - "subPathExpr": "299" + "name": "299", + "readOnly": true, + "mountPath": "300", + "subPath": "301", + "mountPropagation": " ïì«丯Ƙ枛牐ɺ皚|懥", + "subPathExpr": "302" } ], "volumeDevices": [ { - "name": "300", - "devicePath": "301" + "name": "303", + "devicePath": "304" } ], "livenessProbe": { "exec": { "command": [ - "302" + "305" ] }, "httpGet": { - "path": "303", - "port": -88173241, - "host": "304", - "scheme": "Źʣy豎@ɀ羭,铻O", + "path": "306", + "port": 538852927, + "host": "307", + "scheme": "ĨɆâĺɗŹ倗", "httpHeaders": [ { - "name": "305", - "value": "306" + "name": "308", + "value": "309" } ] }, "tcpSocket": { - "port": "307", - "host": "308" + "port": 1623772781, + "host": "310" }, - "initialDelaySeconds": 1424053148, - "timeoutSeconds": 747521320, - "periodSeconds": 859639931, - "successThreshold": -1663149700, - "failureThreshold": -1131820775 + "initialDelaySeconds": 932904270, + "timeoutSeconds": 1810980158, + "periodSeconds": 100356493, + "successThreshold": -110792150, + "failureThreshold": 1255258741 }, "readinessProbe": { "exec": { "command": [ - "309" + "311" ] }, "httpGet": { - "path": "310", - "port": -1710454086, - "host": "311", - "scheme": "mɩC[ó瓧", + "path": "312", + "port": 1087851818, + "host": "313", "httpHeaders": [ { - "name": "312", - "value": "313" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -122979840, - "host": "314" + "port": "316", + "host": "317" }, - "initialDelaySeconds": 915577348, - "timeoutSeconds": -590798124, - "periodSeconds": -1386967282, - "successThreshold": -2030286732, - "failureThreshold": -233378149 + "initialDelaySeconds": -2036074491, + "timeoutSeconds": -148216266, + "periodSeconds": 165047920, + "successThreshold": -393291312, + "failureThreshold": -93157681 }, "startupProbe": { "exec": { "command": [ - "315" + "318" ] }, "httpGet": { - "path": "316", - "port": -495373547, - "host": "317", - "scheme": "ʼn掏1ſ盷褎weLJ", + "path": "319", + "port": "320", + "host": "321", + "scheme": "3!Zɾģ毋Ó6", "httpHeaders": [ { - "name": "318", - "value": "319" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "320", - "host": "321" + "port": -832805508, + "host": "324" }, - "initialDelaySeconds": -929354164, - "timeoutSeconds": 1972119760, - "periodSeconds": 1582773079, - "successThreshold": -1133499416, - "failureThreshold": 486195690 + "initialDelaySeconds": -228822833, + "timeoutSeconds": -970312425, + "periodSeconds": -1213051101, + "successThreshold": 1451056156, + "failureThreshold": 267768240 }, "lifecycle": { "postStart": { "exec": { "command": [ - "322" + "325" ] }, "httpGet": { - "path": "323", - "port": -1589303862, - "host": "324", - "scheme": "ľǎɳ,ǿ飏騀呣ǎ", + "path": "326", + "port": -2013568185, + "host": "327", + "scheme": "#yV'WKw(ğ儴Ůĺ}", "httpHeaders": [ { - "name": "325", - "value": "326" + "name": "328", + "value": "329" } ] }, "tcpSocket": { - "port": "327", - "host": "328" + "port": -20130017, + "host": "330" } }, "preStop": { "exec": { "command": [ - "329" + "331" ] }, "httpGet": { - "path": "330", - "port": "331", - "host": "332", - "scheme": "Ƹ[Ęİ榌U髷裎$MVȟ@7", + "path": "332", + "port": -661937776, + "host": "333", + "scheme": "ØœȠƬQg鄠[颐o", "httpHeaders": [ { - "name": "333", - "value": "334" + "name": "334", + "value": "335" } ] }, "tcpSocket": { - "port": "335", + "port": 461585849, "host": "336" } } }, "terminationMessagePath": "337", - "terminationMessagePolicy": "Ȋ礶", - "imagePullPolicy": "ʁ揆ɘȌ脾嚏吐ĠLƐ", + "terminationMessagePolicy": "ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ", + "imagePullPolicy": "ƙt叀碧闳ȩr嚧ʣq埄趛屡", "securityContext": { "capabilities": { "add": [ - "3.v-鿧悮坮Ȣ" + "昕Ĭ" ], "drop": [ - "ļ腻ŬƩȿ" + "ó藢xɮĵȑ6L*" ] }, "privileged": false, @@ -1093,30 +1118,28 @@ "gmsaCredentialSpec": "343", "runAsUserName": "344" }, - "runAsUser": 9197199583783594492, - "runAsGroup": 241615716805649441, - "runAsNonRoot": true, + "runAsUser": -5835415947553716289, + "runAsGroup": 2540215688947167763, + "runAsNonRoot": false, "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "ħsĨɆâĺ" + "procMount": "|榝$î.Ȏ蝪ʜ5遰=E埄Ȁ朦 w" }, - "stdin": true, "tty": true, "targetContainerName": "345" } ], - "restartPolicy": "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶", - "terminationGracePeriodSeconds": -1689173322096612726, - "activeDeadlineSeconds": -9052689354742694982, - "dnsPolicy": "8鸖ɱJȉ罴ņ螡źȰ?$矡ȶ网棊ʢ", + "restartPolicy": "坢'跩aŕ翑0展}硐庰%皧V", + "terminationGracePeriodSeconds": -5569844914519516591, + "activeDeadlineSeconds": -1117820874616112287, + "dnsPolicy": "\\E¦队偯J僳徥淳", "nodeSelector": { "346": "347" }, "serviceAccountName": "348", "serviceAccount": "349", - "automountServiceAccountToken": false, + "automountServiceAccountToken": true, "nodeName": "350", - "hostNetwork": true, "hostPID": true, "hostIPC": true, "shareProcessNamespace": false, @@ -1132,20 +1155,20 @@ "gmsaCredentialSpec": "356", "runAsUserName": "357" }, - "runAsUser": 7525448836100188460, - "runAsGroup": -860974700141841896, + "runAsUser": 5307265951662522113, + "runAsGroup": 8025933883888025358, "runAsNonRoot": true, "supplementalGroups": [ - 7258403424756645907 + 6410850623145248813 ], - "fsGroup": 6347577485454457915, + "fsGroup": -4038707688124072116, "sysctls": [ { "name": "358", "value": "359" } ], - "fsGroupChangePolicy": "勅跦Opwǩ曬逴褜1Ø" + "fsGroupChangePolicy": "ŕĪĠM蘇KŅ/»頸+SÄ蚃ɣ" }, "imagePullSecrets": [ { @@ -1162,7 +1185,7 @@ "matchExpressions": [ { "key": "363", - "operator": "8Ƥ熪军g\u003e郵[+", + "operator": "磣Óƿ頀\"冓鍓贯澔 ƺ蛜6Ɖ飴Ɏ", "values": [ "364" ] @@ -1171,7 +1194,7 @@ "matchFields": [ { "key": "365", - "operator": "荙JLĹ]佱¿\u003e犵殇ŕ", + "operator": "", "values": [ "366" ] @@ -1182,12 +1205,12 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -979584143, + "weight": 1401790459, "preference": { "matchExpressions": [ { "key": "367", - "operator": "W:ĸ輦唊#v", + "operator": "{屿oiɥ嵐sC8?Ǻ", "values": [ "368" ] @@ -1196,7 +1219,7 @@ "matchFields": [ { "key": "369", - "operator": "q埄趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L*", + "operator": "鬍熖B芭花ª瘡蟦JBʟ鍏H鯂²", "values": [ "370" ] @@ -1211,12 +1234,15 @@ { "labelSelector": { "matchLabels": { - "A_k_K5._..O_.J_-G_--V-42E_--o90G_A4..-L..L": "0N_N.O30-_u._-2hT.-z-._7-5lL..-_--.VEa-_gn.8-c.C3_F._oX-9" + "K_g1cXfr.4_.-_-_-...1py_8-3..s._.x.2K_2qu_0S-CqW.D_8--1": "F-c026.-iTl.1-.VT--5mj_4" }, "matchExpressions": [ { - "key": "ao26--26-hs5-jedse.7vc0260ni-l11q5--uk5mj-94-8134i5kq/aWx.2aM214_.-N_g-..__._____K_g1cXfr.4_.-_-_-...1py_8-3..s._.x2", - "operator": "Exists" + "key": "iskj5---8.55sumf7ef8jzv4-9-35o-1-5w5z39/X.--_---.M.U_-m.-P.yP9S--858LI__.8____rO-S-P_-...0c.-.T", + "operator": "In", + "values": [ + "WD_0-K_A-9" + ] } ] }, @@ -1228,16 +1254,16 @@ ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1058923098, + "weight": -902839620, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-----995----5sumf7ef8jzv4-9-30.rt--6g1-2-73m-e46-r-g63--gt1--6mx-r-927--m6-g/J0-8-.M-.-.-8v-J1zET_..3dCv3j._.-_pP__up.2L_s-7": "m.__G-8...__.Q_c8.G.b_9_1o.w_aI._1" + "x3..-.8-Jp-9-4-Tm.Y": "k8...__.Q_c8.G.b_9_1o.w_aI._31-_I-A-_3bz._8M01" }, "matchExpressions": [ { - "key": "3--j2---2--82--cj-1-s--op34-yw/A-_3bz._M", - "operator": "Exists" + "key": "w9-9d8-s7t/ZX-D---k..1Q7._l.._Q.6.I--2_9.v.--_.--4QQo", + "operator": "DoesNotExist" } ] }, @@ -1254,12 +1280,15 @@ { "labelSelector": { "matchLabels": { - "sEK4.B.__65m8_x": "29_.-.Ms7_t.P_3..H..k9M86.9a_-0R1" + "7-3x-3/9a_-0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_P": "d._.Um.-__k.5" }, "matchExpressions": [ { - "key": "v8_.O_..8n.--z_-..6W.K", - "operator": "Exists" + "key": "1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C", + "operator": "In", + "values": [ + "p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw" + ] } ] }, @@ -1271,18 +1300,18 @@ ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -168773629, + "weight": 1505385143, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "x-3/6-.7D.3_KPgL": "d._.Um.-__k.5" + "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81": "o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS_1" }, "matchExpressions": [ { - "key": "1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C", - "operator": "In", + "key": "d-XZ-x.__.Y_2-n_5023Xl-3Pw_-r7g", + "operator": "NotIn", "values": [ - "p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw" + "VT3sn-0_.i__a.O2G_J" ] } ] @@ -1300,10 +1329,10 @@ "tolerations": [ { "key": "404", - "operator": "栣险¹贮獘薟8Mĕ霉", + "operator": "抷qTfZȻ干m謆7", "value": "405", - "effect": "ŪǗȦɆ悼j蛑q", - "tolerationSeconds": 4375148957048018073 + "effect": "儉ɩ柀", + "tolerationSeconds": -7411984641310969236 } ], "hostAliases": [ @@ -1315,7 +1344,7 @@ } ], "priorityClassName": "408", - "priority": -1286809305, + "priority": -895317190, "dnsConfig": { "nameservers": [ "409" @@ -1332,37 +1361,34 @@ }, "readinessGates": [ { - "conditionType": "ųŎ群E牬庘颮6(|ǖû" + "conditionType": "ċƹ|慼櫁色苆试揯遐e4'ď曕椐敛n" } ], "runtimeClassName": "413", - "enableServiceLinks": false, - "preemptionPolicy": "怨彬ɈNƋl塠傫ü", + "enableServiceLinks": true, + "preemptionPolicy": "qiǙĞǠ", "overhead": { - "ɮ6)": "299" + "锒鿦Ršțb贇髪č": "840" }, "topologySpreadConstraints": [ { - "maxSkew": -554557703, + "maxSkew": 44905239, "topologyKey": "414", - "whenUnsatisfiable": "¹t骳ɰɰUʜʔŜ0¢", + "whenUnsatisfiable": "NRNJ丧鴻ĿW癜鞤A馱z芀¿l磶Bb偃", "labelSelector": { "matchLabels": { - "o--5r-v-5-e-m78o-6-s.4-7--i1-8miw-7a-2408m-0--5--2-5----00/l_.23--_l": "b-L7.-__-G_2kCpS__.3g" + "54-br5r---r8oh782-u---76g---h-4-lx-0-2qg-4.94s-6-k57/8..-__--.k47M7y-Dy__3wc.q.8_00.0_._.-_L-_b": "E_8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Qa" }, "matchExpressions": [ { - "key": "nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A", - "operator": "In", - "values": [ - "7M7y-Dy__3wc.q.8_00.0_._.-_L-__bf_9_-C-Pfx" - ] + "key": "34-5-yqu20-9105g4-edj0fh/8C4_-_2G0.-c_C.G.h--m._fN._k8__._p", + "operator": "DoesNotExist" } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb index 7fa7c39f11608..dafe588e2d218 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb and b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml index fab6f3779b3cf..9fee07513a97c 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml @@ -60,32 +60,32 @@ template: selfLink: "22" uid: SǡƏ spec: - activeDeadlineSeconds: -9052689354742694982 + activeDeadlineSeconds: -1117820874616112287 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: "367" - operator: W:ĸ輦唊#v + operator: '{屿oiɥ嵐sC8?Ǻ' values: - "368" matchFields: - key: "369" - operator: q埄趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L* + operator: 鬍熖B芭花ª瘡蟦JBʟ鍏H鯂² values: - "370" - weight: -979584143 + weight: 1401790459 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "363" - operator: 8Ƥ熪军g>郵[+ + operator: 磣Óƿ頀"冓鍓贯澔 ƺ蛜6Ɖ飴Ɏ values: - "364" matchFields: - key: "365" - operator: 荙JLĹ]佱¿>犵殇ŕ + operator: "" values: - "366" podAffinity: @@ -93,21 +93,23 @@ template: - podAffinityTerm: labelSelector: matchExpressions: - - key: 3--j2---2--82--cj-1-s--op34-yw/A-_3bz._M - operator: Exists + - key: w9-9d8-s7t/ZX-D---k..1Q7._l.._Q.6.I--2_9.v.--_.--4QQo + operator: DoesNotExist matchLabels: - 3-----995----5sumf7ef8jzv4-9-30.rt--6g1-2-73m-e46-r-g63--gt1--6mx-r-927--m6-g/J0-8-.M-.-.-8v-J1zET_..3dCv3j._.-_pP__up.2L_s-7: m.__G-8...__.Q_c8.G.b_9_1o.w_aI._1 + x3..-.8-Jp-9-4-Tm.Y: k8...__.Q_c8.G.b_9_1o.w_aI._31-_I-A-_3bz._8M01 namespaces: - "385" topologyKey: "386" - weight: -1058923098 + weight: -902839620 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: ao26--26-hs5-jedse.7vc0260ni-l11q5--uk5mj-94-8134i5kq/aWx.2aM214_.-N_g-..__._____K_g1cXfr.4_.-_-_-...1py_8-3..s._.x2 - operator: Exists + - key: iskj5---8.55sumf7ef8jzv4-9-35o-1-5w5z39/X.--_---.M.U_-m.-P.yP9S--858LI__.8____rO-S-P_-...0c.-.T + operator: In + values: + - WD_0-K_A-9 matchLabels: - A_k_K5._..O_.J_-G_--V-42E_--o90G_A4..-L..L: 0N_N.O30-_u._-2hT.-z-._7-5lL..-_--.VEa-_gn.8-c.C3_F._oX-9 + K_g1cXfr.4_.-_-_-...1py_8-3..s._.x.2K_2qu_0S-CqW.D_8--1: F-c026.-iTl.1-.VT--5mj_4 namespaces: - "377" topologyKey: "378" @@ -116,200 +118,207 @@ template: - podAffinityTerm: labelSelector: matchExpressions: - - key: 1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C - operator: In + - key: d-XZ-x.__.Y_2-n_5023Xl-3Pw_-r7g + operator: NotIn values: - - p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw + - VT3sn-0_.i__a.O2G_J matchLabels: - x-3/6-.7D.3_KPgL: d._.Um.-__k.5 + yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81: o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS_1 namespaces: - "401" topologyKey: "402" - weight: -168773629 + weight: 1505385143 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: v8_.O_..8n.--z_-..6W.K - operator: Exists + - key: 1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C + operator: In + values: + - p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw matchLabels: - sEK4.B.__65m8_x: 29_.-.Ms7_t.P_3..H..k9M86.9a_-0R1 + 7-3x-3/9a_-0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_P: d._.Um.-__k.5 namespaces: - "393" topologyKey: "394" - automountServiceAccountToken: false + automountServiceAccountToken: true containers: - args: - - "212" + - "213" command: - - "211" + - "212" env: - - name: "219" - value: "220" + - name: "220" + value: "221" valueFrom: configMapKeyRef: - key: "226" - name: "225" - optional: false + key: "227" + name: "226" + optional: true fieldRef: - apiVersion: "221" - fieldPath: "222" + apiVersion: "222" + fieldPath: "223" resourceFieldRef: - containerName: "223" - divisor: "179" - resource: "224" + containerName: "224" + divisor: "725" + resource: "225" secretKeyRef: - key: "228" - name: "227" - optional: false + key: "229" + name: "228" + optional: true envFrom: - configMapRef: - name: "217" - optional: false - prefix: "216" - secretRef: name: "218" optional: true - image: "210" - imagePullPolicy: 猀2:ö + prefix: "217" + secretRef: + name: "219" + optional: false + image: "211" + imagePullPolicy: Ŵ廷s{Ⱦdz@ lifecycle: postStart: exec: command: - - "254" + - "256" httpGet: - host: "256" + host: "259" httpHeaders: - - name: "257" - value: "258" - path: "255" - port: 200992434 - scheme: ņ榱*Gưoɘ檲ɨ銦妰黖ȓ + - name: "260" + value: "261" + path: "257" + port: "258" + scheme: '鐅臬dH巧壚tC十Oɢǵʭd鲡:' tcpSocket: - host: "260" - port: "259" + host: "262" + port: -2037320199 preStop: exec: command: - - "261" + - "263" httpGet: - host: "264" + host: "266" httpHeaders: - - name: "265" - value: "266" - path: "262" - port: "263" - scheme: ɋ瀐<ɉ + - name: "267" + value: "268" + path: "264" + port: "265" + scheme: 茇竛吲蚛隖<ǶĬ4y£軶ǃ tcpSocket: - host: "267" - port: -1334904807 + host: "270" + port: "269" livenessProbe: exec: command: - - "235" - failureThreshold: -547518679 + - "236" + failureThreshold: 520176612 httpGet: host: "238" httpHeaders: - name: "239" value: "240" - path: "236" - port: "237" - scheme: Xŋ朘瑥A徙ɶɊł/擇ɦĽ胚O醔ɍ厶耈 - initialDelaySeconds: -1940723300 - periodSeconds: 496226800 - successThreshold: 84444678 + path: "237" + port: 195263908 + scheme: d飼$俊跾|@?鷅bȻN + initialDelaySeconds: -1167973499 + periodSeconds: 996680040 + successThreshold: 142244414 tcpSocket: - host: "241" - port: 2064656704 - timeoutSeconds: 749147575 - name: "209" + host: "242" + port: "241" + timeoutSeconds: 692541847 + name: "210" ports: - - containerPort: 1083816849 - hostIP: "215" - hostPort: 744106683 - name: "214" - protocol: 議Ǹ轺@)蓳嗘 + - containerPort: -599608368 + hostIP: "216" + hostPort: -1777721688 + name: "215" + protocol: HǺƶȤ^}穠 readinessProbe: exec: command: - - "242" - failureThreshold: 1569992019 + - "243" + failureThreshold: -715357874 httpGet: - host: "244" + host: "246" httpHeaders: - - name: "245" - value: "246" - path: "243" - port: 1322581021 - scheme: 坩O`涁İ而踪鄌eÞ - initialDelaySeconds: 565789036 - periodSeconds: -582473401 - successThreshold: -1252931244 + - name: "247" + value: "248" + path: "244" + port: "245" + scheme: eʔŊƞ究:hoĂɋ瀐<ɉ湨H + initialDelaySeconds: 581816190 + periodSeconds: -498077886 + successThreshold: 1592637538 tcpSocket: - host: "247" - port: -1319491110 - timeoutSeconds: -1572269414 + host: "249" + port: 609274415 + timeoutSeconds: -204658565 + resizePolicy: + - policy: 揠8lj黳鈫ʕ禒Ƙá腿ħ缶.蒅!a坩O + resourceName: A徙ɶɊł/擇ɦĽ胚 resources: limits: - o_鹈ɹ坼É/pȿŘ阌Ŗ怳冘HǺƶ: "364" + $: "118" requests: - ǝ鿟ldg滠鼍ƭt?QȫşŇɜ: "211" + a頢ƛƟ)ÙæNǚ錯ƶRquA?: "561" + resourcesAllocated: + 蕭k ź贩j: "695" securityContext: allowPrivilegeEscalation: true capabilities: add: - - 5w垁鷌辪虽U珝Żwʮ馜üNșƶ + - ʋŀ樺ȃv渟7¤7d drop: - - ĩĉş蝿ɖȃ賲鐅臬 - privileged: false - procMount: ǵʭd鲡:贅wE@Ȗs«öʮ - readOnlyRootFilesystem: false - runAsGroup: -1245112587824234591 + - ƯĖ漘Z剚敍0)鈼¬麄p呝T + privileged: true + procMount: 瓧嫭塓烀罁胾^拜 + readOnlyRootFilesystem: true + runAsGroup: 825262458636305509 runAsNonRoot: true - runAsUser: -1799108093609470992 + runAsUser: 4181787587415673530 seLinuxOptions: - level: "272" - role: "270" - type: "271" - user: "269" + level: "275" + role: "273" + type: "274" + user: "272" windowsOptions: - gmsaCredentialSpec: "274" - gmsaCredentialSpecName: "273" - runAsUserName: "275" + gmsaCredentialSpec: "277" + gmsaCredentialSpecName: "276" + runAsUserName: "278" startupProbe: exec: command: - - "248" - failureThreshold: -813624408 + - "250" + failureThreshold: -337353552 httpGet: - host: "250" + host: "252" httpHeaders: - - name: "251" - value: "252" - path: "249" - port: 870237686 - scheme: 墴1Rƥ贫d - initialDelaySeconds: -709825668 - periodSeconds: -379514302 - successThreshold: 173916181 + - name: "253" + value: "254" + path: "251" + port: -2130554644 + scheme: :öY鶪5w垁鷌辪虽U珝Żwʮ馜ü + initialDelaySeconds: -772147636 + periodSeconds: 32378685 + successThreshold: 1463207240 tcpSocket: - host: "253" - port: -33154680 - timeoutSeconds: -1144400181 + host: "255" + port: 1940619008 + timeoutSeconds: -1872407654 stdin: true stdinOnce: true - terminationMessagePath: "268" - terminationMessagePolicy: å睫}堇硲蕵ɢ苆 + terminationMessagePath: "271" + terminationMessagePolicy: 嫙&蒒5靇C'ɵK.Q貇 volumeDevices: - - devicePath: "234" - name: "233" + - devicePath: "235" + name: "234" volumeMounts: - - mountPath: "230" - mountPropagation: zÏ抴ŨfZhUʎ浵ɲõTo& - name: "229" - subPath: "231" - subPathExpr: "232" - workingDir: "213" + - mountPath: "231" + mountPropagation: İ而踪鄌eÞȦY籎顒ǥŴ唼Ģ猇õǶț + name: "230" + subPath: "232" + subPathExpr: "233" + workingDir: "214" dnsConfig: nameservers: - "409" @@ -318,138 +327,142 @@ template: value: "412" searches: - "410" - dnsPolicy: 8鸖ɱJȉ罴ņ螡źȰ?$矡ȶ网棊ʢ - enableServiceLinks: false + dnsPolicy: \E¦队偯J僳徥淳 + enableServiceLinks: true ephemeralContainers: - args: - - "279" + - "282" command: - - "278" + - "281" env: - - name: "286" - value: "287" + - name: "289" + value: "290" valueFrom: configMapKeyRef: - key: "293" - name: "292" - optional: true + key: "296" + name: "295" + optional: false fieldRef: - apiVersion: "288" - fieldPath: "289" + apiVersion: "291" + fieldPath: "292" resourceFieldRef: - containerName: "290" - divisor: "157" - resource: "291" + containerName: "293" + divisor: "932" + resource: "294" secretKeyRef: - key: "295" - name: "294" - optional: false + key: "298" + name: "297" + optional: true envFrom: - configMapRef: - name: "284" - optional: true - prefix: "283" - secretRef: - name: "285" + name: "287" optional: false - image: "277" - imagePullPolicy: ʁ揆ɘȌ脾嚏吐ĠLƐ + prefix: "286" + secretRef: + name: "288" + optional: true + image: "280" + imagePullPolicy: ƙt叀碧闳ȩr嚧ʣq埄趛屡 lifecycle: postStart: exec: command: - - "322" + - "325" httpGet: - host: "324" + host: "327" httpHeaders: - - name: "325" - value: "326" - path: "323" - port: -1589303862 - scheme: ľǎɳ,ǿ飏騀呣ǎ + - name: "328" + value: "329" + path: "326" + port: -2013568185 + scheme: '#yV''WKw(ğ儴Ůĺ}' tcpSocket: - host: "328" - port: "327" + host: "330" + port: -20130017 preStop: exec: command: - - "329" + - "331" httpGet: - host: "332" + host: "333" httpHeaders: - - name: "333" - value: "334" - path: "330" - port: "331" - scheme: Ƹ[Ęİ榌U髷裎$MVȟ@7 + - name: "334" + value: "335" + path: "332" + port: -661937776 + scheme: ØœȠƬQg鄠[颐o tcpSocket: host: "336" - port: "335" + port: 461585849 livenessProbe: exec: command: - - "302" - failureThreshold: -1131820775 + - "305" + failureThreshold: 1255258741 httpGet: - host: "304" + host: "307" httpHeaders: - - name: "305" - value: "306" - path: "303" - port: -88173241 - scheme: Źʣy豎@ɀ羭,铻O - initialDelaySeconds: 1424053148 - periodSeconds: 859639931 - successThreshold: -1663149700 + - name: "308" + value: "309" + path: "306" + port: 538852927 + scheme: ĨɆâĺɗŹ倗 + initialDelaySeconds: 932904270 + periodSeconds: 100356493 + successThreshold: -110792150 tcpSocket: - host: "308" - port: "307" - timeoutSeconds: 747521320 - name: "276" + host: "310" + port: 1623772781 + timeoutSeconds: 1810980158 + name: "279" ports: - - containerPort: -1565157256 - hostIP: "282" - hostPort: 1702578303 - name: "281" - protocol: Ŭ + - containerPort: 427196286 + hostIP: "285" + hostPort: 1385030458 + name: "284" + protocol: o/樝fw[Řż丩Ž readinessProbe: exec: command: - - "309" - failureThreshold: -233378149 + - "311" + failureThreshold: -93157681 httpGet: - host: "311" + host: "313" httpHeaders: - - name: "312" - value: "313" - path: "310" - port: -1710454086 - scheme: mɩC[ó瓧 - initialDelaySeconds: 915577348 - periodSeconds: -1386967282 - successThreshold: -2030286732 + - name: "314" + value: "315" + path: "312" + port: 1087851818 + initialDelaySeconds: -2036074491 + periodSeconds: 165047920 + successThreshold: -393291312 tcpSocket: - host: "314" - port: -122979840 - timeoutSeconds: -590798124 + host: "317" + port: "316" + timeoutSeconds: -148216266 + resizePolicy: + - policy: "" + resourceName: Ȍ脾嚏吐ĠLƐȤ藠3.v-鿧悮 resources: limits: - ŴĿ: "377" + 9ǕLLȊɞ-uƻ悖ȩ0Ƹ[Ę: "638" requests: - .Q貇£ȹ嫰ƹǔw÷nI: "718" + ǂ>5姣>懔%熷: "440" + resourcesAllocated: + 飣奺Ȋ礶惇¸: "771" securityContext: allowPrivilegeEscalation: false capabilities: add: - - 3.v-鿧悮坮Ȣ + - 昕Ĭ drop: - - ļ腻ŬƩȿ + - ó藢xɮĵȑ6L* privileged: false - procMount: ħsĨɆâĺ + procMount: '|榝$î.Ȏ蝪ʜ5遰=E埄Ȁ朦 w' readOnlyRootFilesystem: false - runAsGroup: 241615716805649441 - runAsNonRoot: true - runAsUser: 9197199583783594492 + runAsGroup: 2540215688947167763 + runAsNonRoot: false + runAsUser: -5835415947553716289 seLinuxOptions: level: "341" role: "339" @@ -462,44 +475,43 @@ template: startupProbe: exec: command: - - "315" - failureThreshold: 486195690 + - "318" + failureThreshold: 267768240 httpGet: - host: "317" - httpHeaders: - - name: "318" - value: "319" - path: "316" - port: -495373547 - scheme: ʼn掏1ſ盷褎weLJ - initialDelaySeconds: -929354164 - periodSeconds: 1582773079 - successThreshold: -1133499416 - tcpSocket: host: "321" + httpHeaders: + - name: "322" + value: "323" + path: "319" port: "320" - timeoutSeconds: 1972119760 - stdin: true + scheme: 3!Zɾģ毋Ó6 + initialDelaySeconds: -228822833 + periodSeconds: -1213051101 + successThreshold: 1451056156 + tcpSocket: + host: "324" + port: -832805508 + timeoutSeconds: -970312425 targetContainerName: "345" terminationMessagePath: "337" - terminationMessagePolicy: Ȋ礶 + terminationMessagePolicy: ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ tty: true volumeDevices: - - devicePath: "301" - name: "300" + - devicePath: "304" + name: "303" volumeMounts: - - mountPath: "297" - mountPropagation: 樺ȃ - name: "296" - subPath: "298" - subPathExpr: "299" - workingDir: "280" + - mountPath: "300" + mountPropagation: ' ïì«丯Ƙ枛牐ɺ皚|懥' + name: "299" + readOnly: true + subPath: "301" + subPathExpr: "302" + workingDir: "283" hostAliases: - hostnames: - "407" ip: "406" hostIPC: true - hostNetwork: true hostPID: true hostname: "361" imagePullSecrets: @@ -537,58 +549,58 @@ template: name: "150" optional: true image: "142" - imagePullPolicy: wMȗ礼2ħ籦ö + imagePullPolicy: 鷢6ȥ啕禗Ǐ2啗塧ȱ蓿彭聡A3fƻf lifecycle: postStart: exec: command: - - "186" + - "187" httpGet: - host: "189" + host: "190" httpHeaders: - - name: "190" - value: "191" - path: "187" - port: "188" - scheme: O澘銈e棈_Ĭ艥<檔 + - name: "191" + value: "192" + path: "188" + port: "189" + scheme: Ɋ捵TwMȗ礼2ħ籦ö嗏ʑ tcpSocket: - host: "193" - port: "192" + host: "194" + port: "193" preStop: exec: command: - - "194" + - "195" httpGet: - host: "196" + host: "198" httpHeaders: - - name: "197" - value: "198" - path: "195" - port: -1006328793 - scheme: ©Ǿt' + - name: "199" + value: "200" + path: "196" + port: "197" + scheme: ìƅS·Õüe0 tcpSocket: - host: "200" - port: "199" + host: "201" + port: -1178220527 livenessProbe: exec: command: - "167" - failureThreshold: -1373481716 + failureThreshold: 1408805313 httpGet: - host: "169" + host: "170" httpHeaders: - - name: "170" - value: "171" + - name: "171" + value: "172" path: "168" - port: 126800818 - scheme: ƫS捕ɷ - initialDelaySeconds: 1673568505 - periodSeconds: -972874331 - successThreshold: 860842148 + port: "169" + scheme: 訩塶"=y钡n)İ笓珣筩Ɛ + initialDelaySeconds: 1331601508 + periodSeconds: -1341615783 + successThreshold: 528528093 tcpSocket: - host: "172" - port: 990374141 - timeoutSeconds: 1665622609 + host: "173" + port: -990413003 + timeoutSeconds: -802089648 name: "141" ports: - containerPort: -1354971977 @@ -599,82 +611,85 @@ template: readinessProbe: exec: command: - - "173" - failureThreshold: -366263237 + - "174" + failureThreshold: 2105583493 httpGet: - host: "175" + host: "176" httpHeaders: - - name: "176" - value: "177" - path: "174" - port: -144625578 - scheme: 择,Q捇ȸ{+ - initialDelaySeconds: 358822621 - periodSeconds: 327574193 - successThreshold: 1718125857 + - name: "177" + value: "178" + path: "175" + port: 459991461 + scheme: 绺Lɋ聻 + initialDelaySeconds: -137847772 + periodSeconds: 249891070 + successThreshold: 1949855595 tcpSocket: - host: "178" - port: 1130962147 - timeoutSeconds: 1946649472 + host: "180" + port: "179" + timeoutSeconds: 2115094729 + resizePolicy: + - policy: ^Ü郀叚 + resourceName: 嵒ƫS捕ɷD¡轫n resources: limits: ėf倐ȓ圬剴扲ȿQZ{ʁgɸ: "147" requests: "": "609" + resourcesAllocated: + 碛,1ZƜ/C龷ȪÆl殛: "671" securityContext: allowPrivilegeEscalation: false capabilities: add: - - '>季Cʖ畬x骀Šĸů湙騘&啞川J缮' + - 楙¯ĦE勗E drop: - - bJ5ʬ昹ʞĹ鑑6NJPM饣` + - 偘1ɩÅ議Ǹ轺@)蓳嗘TʡȂŏ{s privileged: false - procMount: 2啗塧ȱ蓿彭聡A3fƻfʣ繡楙¯ĦE勗 + procMount: É/p readOnlyRootFilesystem: false - runAsGroup: -5811430020199686393 + runAsGroup: 7940107288692075904 runAsNonRoot: true - runAsUser: 6821913012222657579 + runAsUser: -3364238227152605716 seLinuxOptions: - level: "205" - role: "203" - type: "204" - user: "202" + level: "206" + role: "204" + type: "205" + user: "203" windowsOptions: - gmsaCredentialSpec: "207" - gmsaCredentialSpecName: "206" - runAsUserName: "208" + gmsaCredentialSpec: "208" + gmsaCredentialSpecName: "207" + runAsUserName: "209" startupProbe: exec: command: - - "179" - failureThreshold: 1050218190 + - "181" + failureThreshold: -2012833725 httpGet: - host: "182" + host: "183" httpHeaders: - - name: "183" - value: "184" - path: "180" - port: "181" - scheme: P_痸 - initialDelaySeconds: 528528093 - periodSeconds: -2078905463 - successThreshold: 1603139327 + - name: "184" + value: "185" + path: "182" + port: -878518576 + scheme: Ğİ*洣炽A@ʊʓ + initialDelaySeconds: -1788918988 + periodSeconds: -1337362498 + successThreshold: -1884322607 tcpSocket: - host: "185" - port: -1341615783 - timeoutSeconds: 1408805313 + host: "186" + port: -675641027 + timeoutSeconds: 534060202 stdinOnce: true - terminationMessagePath: "201" - terminationMessagePolicy: ʕIã陫ʋsş")珷<ºɖ - tty: true + terminationMessagePath: "202" + terminationMessagePolicy: 鴈Ōƾ焁yǠ/淹\韲翁&ʢsɜ曢\%枅 volumeDevices: - devicePath: "166" name: "165" volumeMounts: - mountPath: "162" - mountPropagation: ',1ZƜ/C龷ȪÆ' + mountPropagation: 皬择 name: "161" - readOnly: true subPath: "163" subPathExpr: "164" workingDir: "145" @@ -682,28 +697,28 @@ template: nodeSelector: "346": "347" overhead: - ɮ6): "299" - preemptionPolicy: 怨彬ɈNƋl塠傫ü - priority: -1286809305 + 锒鿦Ršțb贇髪č: "840" + preemptionPolicy: qiǙĞǠ + priority: -895317190 priorityClassName: "408" readinessGates: - - conditionType: ųŎ群E牬庘颮6(|ǖû - restartPolicy: 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶 + - conditionType: ċƹ|慼櫁色苆试揯遐e4'ď曕椐敛n + restartPolicy: 坢'跩aŕ翑0展}硐庰%皧V runtimeClassName: "413" schedulerName: "403" securityContext: - fsGroup: 6347577485454457915 - fsGroupChangePolicy: 勅跦Opwǩ曬逴褜1Ø - runAsGroup: -860974700141841896 + fsGroup: -4038707688124072116 + fsGroupChangePolicy: ŕĪĠM蘇KŅ/»頸+SÄ蚃ɣ + runAsGroup: 8025933883888025358 runAsNonRoot: true - runAsUser: 7525448836100188460 + runAsUser: 5307265951662522113 seLinuxOptions: level: "354" role: "352" type: "353" user: "351" supplementalGroups: - - 7258403424756645907 + - 6410850623145248813 sysctls: - name: "358" value: "359" @@ -713,28 +728,26 @@ template: runAsUserName: "357" serviceAccount: "349" serviceAccountName: "348" - setHostnameAsFQDN: true + setHostnameAsFQDN: false shareProcessNamespace: false subdomain: "362" - terminationGracePeriodSeconds: -1689173322096612726 + terminationGracePeriodSeconds: -5569844914519516591 tolerations: - - effect: ŪǗȦɆ悼j蛑q + - effect: 儉ɩ柀 key: "404" - operator: 栣险¹贮獘薟8Mĕ霉 - tolerationSeconds: 4375148957048018073 + operator: 抷qTfZȻ干m謆7 + tolerationSeconds: -7411984641310969236 value: "405" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A - operator: In - values: - - 7M7y-Dy__3wc.q.8_00.0_._.-_L-__bf_9_-C-Pfx + - key: 34-5-yqu20-9105g4-edj0fh/8C4_-_2G0.-c_C.G.h--m._fN._k8__._p + operator: DoesNotExist matchLabels: - o--5r-v-5-e-m78o-6-s.4-7--i1-8miw-7a-2408m-0--5--2-5----00/l_.23--_l: b-L7.-__-G_2kCpS__.3g - maxSkew: -554557703 + 54-br5r---r8oh782-u---76g---h-4-lx-0-2qg-4.94s-6-k57/8..-__--.k47M7y-Dy__3wc.q.8_00.0_._.-_L-_b: E_8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Qa + maxSkew: 44905239 topologyKey: "414" - whenUnsatisfiable: ¹t骳ɰɰUʜʔŜ0¢ + whenUnsatisfiable: NRNJ丧鴻ĿW癜鞤A馱z芀¿l磶Bb偃 volumes: - awsElasticBlockStore: fsType: "41" diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json index 1ccea3a5ebf6b..03e150de44be7 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json @@ -426,12 +426,22 @@ "郀叚Fi皬择,Q捇ȸ{+ɸ殁": "687" } }, + "resourcesAllocated": { + "n)İ笓珣筩ƐP_痸": "678" + }, + "resizePolicy": [ + { + "resourceName": "衲\u003c¿燥", + "policy": "硰{舁吉蓨O澘銈e" + } + ], "volumeMounts": [ { "name": "163", + "readOnly": true, "mountPath": "164", "subPath": "165", - "mountPropagation": ")İ笓珣筩ƐP_痸荎僋bŭDz鯰硰", + "mountPropagation": "Ĭ艥\u003c檔Ň'Ğİ*洣炽A@ʊʓ", "subPathExpr": "166" } ], @@ -449,25 +459,25 @@ }, "httpGet": { "path": "170", - "port": "171", - "host": "172", - "scheme": "ɋ聻鎥ʟ\u003c$洅ɹ7\\弌Þ帺萸Do©", + "port": -2142802037, + "host": "171", + "scheme": "ʋ", "httpHeaders": [ { - "name": "173", - "value": "174" + "name": "172", + "value": "173" } ] }, "tcpSocket": { - "port": 1637061888, + "port": "174", "host": "175" }, - "initialDelaySeconds": 1843642426, - "timeoutSeconds": 1331061766, - "periodSeconds": -836939996, - "successThreshold": -1147975588, - "failureThreshold": 62108019 + "initialDelaySeconds": -1540645096, + "timeoutSeconds": 229600975, + "periodSeconds": -35598353, + "successThreshold": -1697933829, + "failureThreshold": -1438986781 }, "readinessProbe": { "exec": { @@ -477,19 +487,19 @@ }, "httpGet": { "path": "177", - "port": "178", - "host": "179", - "scheme": "拍N嚳ķȗɊ捵TwMȗ礼2ħ籦ö嗏", + "port": -1619438973, + "host": "178", + "scheme": "ȗ礼2ħ籦ö嗏", "httpHeaders": [ { - "name": "180", - "value": "181" + "name": "179", + "value": "180" } ] }, "tcpSocket": { "port": 468716734, - "host": "182" + "host": "181" }, "initialDelaySeconds": 1274480280, "timeoutSeconds": 1914313083, @@ -500,24 +510,24 @@ "startupProbe": { "exec": { "command": [ - "183" + "182" ] }, "httpGet": { - "path": "184", + "path": "183", "port": -303428971, - "host": "185", + "host": "184", "scheme": "e0ɔȖ脵鴈Ōƾ焁yǠ/淹\\韲翁\u0026", "httpHeaders": [ { - "name": "186", - "value": "187" + "name": "185", + "value": "186" } ] }, "tcpSocket": { - "port": "188", - "host": "189" + "port": "187", + "host": "188" }, "initialDelaySeconds": 642481593, "timeoutSeconds": -1617414299, @@ -529,51 +539,51 @@ "postStart": { "exec": { "command": [ - "190" + "189" ] }, "httpGet": { - "path": "191", - "port": "192", - "host": "193", + "path": "190", + "port": "191", + "host": "192", "scheme": "Ɠɥ踓Ǻǧ湬淊k", "httpHeaders": [ { - "name": "194", - "value": "195" + "name": "193", + "value": "194" } ] }, "tcpSocket": { - "port": "196", - "host": "197" + "port": "195", + "host": "196" } }, "preStop": { "exec": { "command": [ - "198" + "197" ] }, "httpGet": { - "path": "199", - "port": "200", - "host": "201", + "path": "198", + "port": "199", + "host": "200", "scheme": "fƻfʣ繡楙¯Ħ", "httpHeaders": [ { - "name": "202", - "value": "203" + "name": "201", + "value": "202" } ] }, "tcpSocket": { - "port": "204", - "host": "205" + "port": "203", + "host": "204" } } }, - "terminationMessagePath": "206", + "terminationMessagePath": "205", "imagePullPolicy": "ȸŹăȲϤĦ", "securityContext": { "capabilities": { @@ -586,15 +596,15 @@ }, "privileged": false, "seLinuxOptions": { - "user": "207", - "role": "208", - "type": "209", - "level": "210" + "user": "206", + "role": "207", + "type": "208", + "level": "209" }, "windowsOptions": { - "gmsaCredentialSpecName": "211", - "gmsaCredentialSpec": "212", - "runAsUserName": "213" + "gmsaCredentialSpecName": "210", + "gmsaCredentialSpec": "211", + "runAsUserName": "212" }, "runAsUser": -7042570146654509247, "runAsGroup": -6996673662371947627, @@ -607,59 +617,59 @@ ], "containers": [ { - "name": "214", - "image": "215", + "name": "213", + "image": "214", "command": [ - "216" + "215" ], "args": [ - "217" + "216" ], - "workingDir": "218", + "workingDir": "217", "ports": [ { - "name": "219", + "name": "218", "hostPort": -144591150, "containerPort": 673378190, "protocol": "Ɵ)Ù", - "hostIP": "220" + "hostIP": "219" } ], "envFrom": [ { - "prefix": "221", + "prefix": "220", "configMapRef": { - "name": "222", + "name": "221", "optional": false }, "secretRef": { - "name": "223", + "name": "222", "optional": false } } ], "env": [ { - "name": "224", - "value": "225", + "name": "223", + "value": "224", "valueFrom": { "fieldRef": { - "apiVersion": "226", - "fieldPath": "227" + "apiVersion": "225", + "fieldPath": "226" }, "resourceFieldRef": { - "containerName": "228", - "resource": "229", + "containerName": "227", + "resource": "228", "divisor": "46" }, "configMapKeyRef": { - "name": "230", - "key": "231", + "name": "229", + "key": "230", "optional": true }, "secretKeyRef": { - "name": "232", - "key": "233", + "name": "231", + "key": "232", "optional": true } } @@ -673,77 +683,84 @@ "k ź贩j瀉ǚrǜnh0åȂ": "314" } }, + "resourcesAllocated": { + "胚O醔ɍ厶耈 T衧ȇe媹Hǝ呮}": "151" + }, + "resizePolicy": [ + { + "resourceName": "坩O`涁İ而踪鄌eÞ", + "policy": ";栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼" + } + ], "volumeMounts": [ { - "name": "234", - "readOnly": true, - "mountPath": "235", - "subPath": "236", - "mountPropagation": "O醔ɍ厶耈 T衧ȇe媹Hǝ呮}臷Ľð", - "subPathExpr": "237" + "name": "233", + "mountPath": "234", + "subPath": "235", + "mountPropagation": "跾|@?鷅bȻN+ņ榱*", + "subPathExpr": "236" } ], "volumeDevices": [ { - "name": "238", - "devicePath": "239" + "name": "237", + "devicePath": "238" } ], "livenessProbe": { "exec": { "command": [ - "240" + "239" ] }, "httpGet": { - "path": "241", - "port": -532628939, - "host": "242", - "scheme": "踪鄌eÞȦY籎顒ǥŴ唼Ģ猇õǶț", + "path": "240", + "port": -1638339389, + "host": "241", + "scheme": "櫸eʔŊ", "httpHeaders": [ { - "name": "243", - "value": "244" + "name": "242", + "value": "243" } ] }, "tcpSocket": { - "port": -1171060347, - "host": "245" + "port": 731879508, + "host": "244" }, - "initialDelaySeconds": -2025874949, - "timeoutSeconds": -1468180511, - "periodSeconds": 1593906314, - "successThreshold": 188341147, - "failureThreshold": -1301133697 + "initialDelaySeconds": 1705239007, + "timeoutSeconds": 1367201035, + "periodSeconds": 173030157, + "successThreshold": 1530176864, + "failureThreshold": 2057433923 }, "readinessProbe": { "exec": { "command": [ - "246" + "245" ] }, "httpGet": { - "path": "247", - "port": "248", - "host": "249", - "scheme": "@?鷅bȻN+ņ榱*Gưoɘ檲ɨ銦妰", + "path": "246", + "port": "247", + "host": "248", "httpHeaders": [ { - "name": "250", - "value": "251" + "name": "249", + "value": "250" } ] }, "tcpSocket": { - "port": -1079519102, + "port": "251", "host": "252" }, - "initialDelaySeconds": -1266125247, - "timeoutSeconds": -50623103, - "periodSeconds": 1795738696, - "successThreshold": -1350331007, - "failureThreshold": -1145306833 + "initialDelaySeconds": -624101520, + "timeoutSeconds": 963442342, + "periodSeconds": 1180382332, + "successThreshold": -1846991380, + "failureThreshold": 325236550 }, "startupProbe": { "exec": { @@ -755,7 +772,7 @@ "path": "254", "port": "255", "host": "256", - "scheme": "湨", + "scheme": "苆ǮńMǰ溟ɴ扵閝ȝ鐵儣廡", "httpHeaders": [ { "name": "257", @@ -764,14 +781,14 @@ ] }, "tcpSocket": { - "port": 1824183165, + "port": -566408554, "host": "259" }, - "initialDelaySeconds": 609274415, - "timeoutSeconds": 581816190, - "periodSeconds": -204658565, - "successThreshold": -498077886, - "failureThreshold": 1592637538 + "initialDelaySeconds": 1133369651, + "timeoutSeconds": 1755475567, + "periodSeconds": 663151695, + "successThreshold": -2064174383, + "failureThreshold": -1327537699 }, "lifecycle": { "postStart": { @@ -782,18 +799,18 @@ }, "httpGet": { "path": "261", - "port": "262", - "host": "263", - "scheme": "ńMǰ溟ɴ扵閝", + "port": 1427781619, + "host": "262", + "scheme": "}", "httpHeaders": [ { - "name": "264", - "value": "265" + "name": "263", + "value": "264" } ] }, "tcpSocket": { - "port": -1474440600, + "port": "265", "host": "266" } }, @@ -805,32 +822,32 @@ }, "httpGet": { "path": "268", - "port": 44308192, - "host": "269", - "scheme": "Żwʮ馜üNșƶ4ĩĉ", + "port": "269", + "host": "270", + "scheme": "賲鐅臬dH巧", "httpHeaders": [ { - "name": "270", - "value": "271" + "name": "271", + "value": "272" } ] }, "tcpSocket": { - "port": "272", + "port": 559781916, "host": "273" } } }, "terminationMessagePath": "274", - "terminationMessagePolicy": "ɖȃ賲鐅臬dH巧壚tC十Oɢ", - "imagePullPolicy": "QÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶ", + "terminationMessagePolicy": "十Oɢǵʭd鲡:", + "imagePullPolicy": "?", "securityContext": { "capabilities": { "add": [ - "" + "Y栲茇" ], "drop": [ - "£軶ǃ*ʙ嫙\u0026蒒5靇C'ɵK.Q貇" + "吲蚛隖\u003cǶĬ4y£軶ǃ*ʙ嫙\u0026蒒5" ] }, "privileged": false, @@ -845,12 +862,12 @@ "gmsaCredentialSpec": "280", "runAsUserName": "281" }, - "runAsUser": 390808457597161112, - "runAsGroup": -7567945069856455979, - "runAsNonRoot": true, + "runAsUser": 1201768676685780641, + "runAsGroup": -5016044672285257696, + "runAsNonRoot": false, "readOnlyRootFilesystem": true, "allowPrivilegeEscalation": false, - "procMount": "粛E煹" + "procMount": "ȹ嫰ƹǔw÷nI粛E煹ǐƲE" }, "stdinOnce": true, "tty": true @@ -870,9 +887,9 @@ "ports": [ { "name": "287", - "hostPort": 304141309, - "containerPort": -88173241, - "protocol": "Źʣy豎@ɀ羭,铻O", + "hostPort": 1762266578, + "containerPort": 1908897348, + "protocol": "豎@ɀ羭,铻OŤǢʭ嵔棂p儼", "hostIP": "288" } ], @@ -885,7 +902,7 @@ }, "secretRef": { "name": "291", - "optional": true + "optional": false } } ], @@ -901,7 +918,7 @@ "resourceFieldRef": { "containerName": "296", "resource": "297", - "divisor": "714" + "divisor": "131" }, "configMapKeyRef": { "name": "298", @@ -911,26 +928,35 @@ "secretKeyRef": { "name": "300", "key": "301", - "optional": true + "optional": false } } } ], "resources": { "limits": { - "釆Ɗ+j忊": "486" + "焗捏": "525" }, "requests": { - "嫭塓烀罁胾": "494" + "胾^拜Ȍzɟ踡肒Ao/": "894" } }, + "resourcesAllocated": { + "褎weLJèux": "27" + }, + "resizePolicy": [ + { + "resourceName": "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ", + "policy": "@掇lNdǂ\u003e" + } + ], "volumeMounts": [ { "name": "302", "readOnly": true, "mountPath": "303", "subPath": "304", - "mountPropagation": "ǒɿʒ刽ʼn掏1ſ盷褎weLJ", + "mountPropagation": "\u003e懔%熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐", "subPathExpr": "305" } ], @@ -948,213 +974,212 @@ }, "httpGet": { "path": "309", - "port": "310", - "host": "311", + "port": -1821078703, + "host": "310", + "scheme": "萨zvt", "httpHeaders": [ { - "name": "312", - "value": "313" + "name": "311", + "value": "312" } ] }, "tcpSocket": { - "port": "314", - "host": "315" + "port": 1182477686, + "host": "313" }, - "initialDelaySeconds": -1537700150, - "timeoutSeconds": -1815868713, - "periodSeconds": 105707873, - "successThreshold": -188803670, - "failureThreshold": 1832870128 + "initialDelaySeconds": -503805926, + "timeoutSeconds": 77312514, + "periodSeconds": -763687725, + "successThreshold": -246563990, + "failureThreshold": 10098903 }, "readinessProbe": { "exec": { "command": [ - "316" + "314" ] }, "httpGet": { - "path": "317", - "port": 1422435836, - "host": "318", - "scheme": ",ǿ飏騀呣ǎfǣ萭旿@掇lNdǂ", + "path": "315", + "port": "316", + "host": "317", + "scheme": "0矀Kʝ瘴I\\p[ħsĨɆâĺɗŹ倗S", "httpHeaders": [ { - "name": "319", - "value": "320" + "name": "318", + "value": "319" } ] }, "tcpSocket": { - "port": "321", - "host": "322" + "port": "320", + "host": "321" }, - "initialDelaySeconds": -819723498, - "timeoutSeconds": -150133456, - "periodSeconds": 1507815593, - "successThreshold": 1498833271, - "failureThreshold": 1505082076 + "initialDelaySeconds": 932904270, + "timeoutSeconds": 1810980158, + "periodSeconds": 100356493, + "successThreshold": -110792150, + "failureThreshold": 1255258741 }, "startupProbe": { "exec": { "command": [ - "323" + "322" ] }, "httpGet": { - "path": "324", - "port": 2134439962, - "host": "325", - "scheme": "Ȋ礶", + "path": "323", + "port": 1087851818, + "host": "324", "httpHeaders": [ { - "name": "326", - "value": "327" + "name": "325", + "value": "326" } ] }, "tcpSocket": { - "port": "328", - "host": "329" + "port": "327", + "host": "328" }, - "initialDelaySeconds": 1919527626, - "timeoutSeconds": -389501466, - "periodSeconds": -161753937, - "successThreshold": -1578746609, - "failureThreshold": 1428207963 + "initialDelaySeconds": -2036074491, + "timeoutSeconds": -148216266, + "periodSeconds": 165047920, + "successThreshold": -393291312, + "failureThreshold": -93157681 }, "lifecycle": { "postStart": { "exec": { "command": [ - "330" + "329" ] }, "httpGet": { - "path": "331", - "port": "332", - "host": "333", - "scheme": "ʤî萨zvt莭", + "path": "330", + "port": -767338388, + "host": "331", + "scheme": "Jȉ罴ņ螡źȰ?$矡ȶ网棊", "httpHeaders": [ { - "name": "334", - "value": "335" + "name": "332", + "value": "333" } ] }, "tcpSocket": { - "port": "336", - "host": "337" + "port": -1905643191, + "host": "334" } }, "preStop": { "exec": { "command": [ - "338" + "335" ] }, "httpGet": { - "path": "339", - "port": "340", - "host": "341", - "scheme": "ļ腻ŬƩȿ", + "path": "336", + "port": "337", + "host": "338", + "scheme": "#yV'WKw(ğ儴Ůĺ}", "httpHeaders": [ { - "name": "342", - "value": "343" + "name": "339", + "value": "340" } ] }, "tcpSocket": { - "port": -2123728714, - "host": "344" + "port": -20130017, + "host": "341" } } }, - "terminationMessagePath": "345", - "terminationMessagePolicy": "ʝ瘴I\\p[ħsĨ", - "imagePullPolicy": "Ve", + "terminationMessagePath": "342", + "terminationMessagePolicy": "輓Ɔȓ蹣ɐǛv+8", + "imagePullPolicy": "鄠[颐o啛更偢ɇ卷荙JL", "securityContext": { "capabilities": { "add": [ - "FD剂讼ɓȌʟn" + "佱¿\u003e犵殇ŕ-Ɂ圯W:ĸ輦唊#v铿ʩȂ" ], "drop": [ - "酛3ƁÀ*f\u003c鴒翁杙" + "ē鐭#嬀ơŸ8T 苧yñKJɐ" ] }, - "privileged": true, + "privileged": false, "seLinuxOptions": { - "user": "346", - "role": "347", - "type": "348", - "level": "349" + "user": "343", + "role": "344", + "type": "345", + "level": "346" }, "windowsOptions": { - "gmsaCredentialSpecName": "350", - "gmsaCredentialSpec": "351", - "runAsUserName": "352" + "gmsaCredentialSpecName": "347", + "gmsaCredentialSpec": "348", + "runAsUserName": "349" }, - "runAsUser": 4125312213789345425, - "runAsGroup": -3295693280350872542, - "runAsNonRoot": false, + "runAsUser": 6764431850409848860, + "runAsGroup": 6627762557027395765, + "runAsNonRoot": true, "readOnlyRootFilesystem": true, "allowPrivilegeEscalation": false, - "procMount": "螡źȰ?$矡ȶ网棊ʢ=wǕɳ" + "procMount": "Ò媁荭gw忊|E剒蔞|表徶đ寳议Ƭ" }, - "stdinOnce": true, - "tty": true, - "targetContainerName": "353" + "stdin": true, + "targetContainerName": "350" } ], - "restartPolicy": "Ì", - "terminationGracePeriodSeconds": -860974700141841896, - "activeDeadlineSeconds": -5860790522738935260, - "dnsPolicy": "w(ğ儴Ůĺ}潷ʒ胵", + "restartPolicy": "Ȩ\u003c6鄰簳°Ļǟi\u0026", + "terminationGracePeriodSeconds": -9300733481815658, + "activeDeadlineSeconds": 1001940765449950717, + "dnsPolicy": "V垾现葢ŵ橨鬶l", "nodeSelector": { - "354": "355" + "351": "352" }, - "serviceAccountName": "356", - "serviceAccount": "357", + "serviceAccountName": "353", + "serviceAccount": "354", "automountServiceAccountToken": false, - "nodeName": "358", + "nodeName": "355", "hostNetwork": true, - "hostPID": true, - "shareProcessNamespace": true, + "hostIPC": true, + "shareProcessNamespace": false, "securityContext": { "seLinuxOptions": { - "user": "359", - "role": "360", - "type": "361", - "level": "362" + "user": "356", + "role": "357", + "type": "358", + "level": "359" }, "windowsOptions": { - "gmsaCredentialSpecName": "363", - "gmsaCredentialSpec": "364", - "runAsUserName": "365" + "gmsaCredentialSpecName": "360", + "gmsaCredentialSpec": "361", + "runAsUserName": "362" }, - "runAsUser": -7059779929916534575, - "runAsGroup": -4105014793515441558, - "runAsNonRoot": true, + "runAsUser": -5001620332025163168, + "runAsGroup": 489084544654274973, + "runAsNonRoot": false, "supplementalGroups": [ - 830921445879518469 + -3161746876343501601 ], - "fsGroup": 7861919711004065015, + "fsGroup": 5307265951662522113, "sysctls": [ { - "name": "366", - "value": "367" + "name": "363", + "value": "364" } ], - "fsGroupChangePolicy": "" + "fsGroupChangePolicy": "ɥ颶妧" }, "imagePullSecrets": [ { - "name": "368" + "name": "365" } ], - "hostname": "369", - "subdomain": "370", + "hostname": "366", + "subdomain": "367", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1162,19 +1187,19 @@ { "matchExpressions": [ { - "key": "371", - "operator": "卷", + "key": "368", + "operator": "ĪĠM蘇KŅ/»頸+", "values": [ - "372" + "369" ] } ], "matchFields": [ { - "key": "373", - "operator": "+", + "key": "370", + "operator": "Ɨ¸gĩ餠籲", "values": [ - "374" + "371" ] } ] @@ -1183,23 +1208,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1724958480, + "weight": 1157117817, "preference": { "matchExpressions": [ { - "key": "375", - "operator": "ljVX1虊谇j爻ƙt叀碧", + "key": "372", + "operator": "頀\"冓鍓贯澔 ƺ蛜", "values": [ - "376" + "373" ] } ], "matchFields": [ { - "key": "377", - "operator": "#v铿ʩȂ4ē鐭#嬀ơŸ8T 苧y", + "key": "374", + "operator": "鶫:顇ə娯Ȱ囌{屿oiɥ嵐sC", "values": [ - "378" + "375" ] } ] @@ -1212,40 +1237,43 @@ { "labelSelector": { "matchLabels": { - "i_18_...E.-2o_-.N.9D-F45eJK7Q5-R4_F": "7M.JP_oA_41" + "y-8t379s3-8x32--2qu-0-k-q-0--8hv21k-vc0263.9-3---93-2-2-37-6/28xN._-_-vv-Q2qz.W..4....-h._.GgT7_B": "134-5-.q6H_.--_---.M.U_-m.-P.yP9S--858LI__.8U" }, "matchExpressions": [ { - "key": "b25a-x12a-214-3s--gg93--5------g/L6_EU--AH-Q.GM72_-c-.-.6--3-___t-Z8SUGP.-_.uB-.--.gb_2o", + "key": "7o7799-skj5---r-q3c.2f7ef8jzv4-9-35o-1-5w5z3-d----0p---s-9----747o-x3k/P_-..0", "operator": "Exists" } ] }, "namespaces": [ - "385" + "382" ], - "topologyKey": "386" + "topologyKey": "383" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 409029209, + "weight": -28454919, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "h._.GgT7_7B_D-..-.k4u-zA_--8": "6" + "m6_k.N-2B_V.-tfh4.caTz_.g.w-o.8W": "fM.3_-1y_8D_X._B__-P---_H-.___._D8.TS-jJ.Ys_Mop34_y" }, "matchExpressions": [ { - "key": "Nj-d-4_4--.-_Z4.LA3HVG9G", - "operator": "Exists" + "key": "4sE4", + "operator": "In", + "values": [ + "u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l" + ] } ] }, "namespaces": [ - "393" + "390" ], - "topologyKey": "394" + "topologyKey": "391" } } ] @@ -1255,131 +1283,131 @@ { "labelSelector": { "matchLabels": { - "k.q6H_.--_---.M.U_-m.-P.yP9Se": "58LI__.8____rO-S-P_-...0c.-.p_3_J_SA995IKCR.s--f.-f.-v" + "v8_.O_..8n.--z_-..6W.K": "sTt.-U_--6" }, "matchExpressions": [ { - "key": "mm6-k8-c2---2t.n--8--c83-4b-9-1o8w-a-6-31g-1/0-K_A-_9_Z_C..7o_x3..-.w", - "operator": "Exists" + "key": "7-3x-3/23_P", + "operator": "NotIn", + "values": [ + "5....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4" + ] } ] }, "namespaces": [ - "401" + "398" ], - "topologyKey": "402" + "topologyKey": "399" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -533093249, + "weight": -1572758512, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "r3po4-f/TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK1": "x1.9_.-.M7" + "21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u": "6.C.-e16-O_.Q-U-_s-mtA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-k" }, "matchExpressions": [ { - "key": "37zzgy3-4----nf---3a-cgr6---r58-e-l203-8sln7-3x-b--550397801/1.k9M86.9a_-0R_.Z__v", + "key": "4-0l-023bm-6l2e5---k5v3a---ezo/A_Xf3.V0H23", "operator": "NotIn", "values": [ - "0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-.Cc" + "2.--4Z7__i1T.miw_7a2" ] } ] }, "namespaces": [ - "409" + "406" ], - "topologyKey": "410" + "topologyKey": "407" } } ] } }, - "schedulerName": "411", + "schedulerName": "408", "tolerations": [ { - "key": "412", - "operator": "ù灹8緔Tj§E蓋", - "value": "413", - "effect": "ƫZɀȩ愉", - "tolerationSeconds": -1390311149947249535 + "key": "409", + "operator": "ȫ喆5O2.:鑋ĻL©鈀6", + "value": "410", + "effect": "蕞纥奆0ǔ廘ɵ岳v\u0026ȝxɕūNj'6", + "tolerationSeconds": -2850654160732182959 } ], "hostAliases": [ { - "ip": "414", + "ip": "411", "hostnames": [ - "415" + "412" ] } ], - "priorityClassName": "416", - "priority": -88455527, + "priorityClassName": "413", + "priority": -16328498, "dnsConfig": { "nameservers": [ - "417" + "414" ], "searches": [ - "418" + "415" ], "options": [ { - "name": "419", - "value": "420" + "name": "416", + "value": "417" } ] }, "readinessGates": [ { - "conditionType": "普闎Ť萃Q+駟à稨氙" + "conditionType": "ɩŢɽǣ(^\u003cu綡Ţ搯唧aĦ3Ǩk" } ], - "runtimeClassName": "421", - "enableServiceLinks": true, - "preemptionPolicy": "\u003e", + "runtimeClassName": "418", + "enableServiceLinks": false, + "preemptionPolicy": "l=ƈư呄", "overhead": { - "'o儿Ƭ銭u裡_": "986" + "永ʕW6¯ȗŮ": "622" }, "topologySpreadConstraints": [ { - "maxSkew": -1676200318, - "topologyKey": "422", - "whenUnsatisfiable": "唞鹚蝉茲ʛ饊ɣKIJW", + "maxSkew": 5128682, + "topologyKey": "419", + "whenUnsatisfiable": "枣ITF7抳ƷȂ3丑ť竹ɁøCSɛĭ楿", "labelSelector": { "matchLabels": { - "l-d-8o1-x-1wl----f31-0-2t3z-w5----7-z-63-z---5r-v-5-e-m8.o-20st4-7--i1-8miw-7a-2404/5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpS": "5.0" + "60-u73phjo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--c/Q_y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2tm": "w__--.k47M7y-Dy__3wc.q.8_00.0_._.-_k" }, "matchExpressions": [ { - "key": "7s4483-o--3f1p7--43nw-l-x18mtxb--kexr-1-o--g--1l8.bc-coa--y--4-1204wrb---1024g-5-3v9-9jcz9f-6-4g-z46--f2t-k/db-L7.-__-G_2kCpSY", - "operator": "NotIn", - "values": [ - "9CqrN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-nE...-__--k" - ] + "key": "9_-C-PfNx__-U_.Pn-W23-_.z_.._s--_F-BR-.ht", + "operator": "Exists" } ] } } ], - "setHostnameAsFQDN": false + "setHostnameAsFQDN": true } } }, "status": { - "replicas": 189301373, - "fullyLabeledReplicas": -1235733921, - "readyReplicas": -1438616392, - "availableReplicas": -1126236716, - "observedGeneration": -817442683106980570, + "replicas": -1124139886, + "fullyLabeledReplicas": 1783825641, + "readyReplicas": -173761204, + "availableReplicas": 332998836, + "observedGeneration": -7525677274434048244, "conditions": [ { - "type": "Ĉ癯頯aɴí(Ȟ9\"", - "status": "oǰ'źĄ栧焷蜪sÛ°", - "lastTransitionTime": "2129-09-06T04:28:43Z", - "reason": "429", - "message": "430" + "type": "3荾;釋ƽ,ʢ刣ȱǍ", + "status": "帘錇", + "lastTransitionTime": "2911-12-04T12:23:46Z", + "reason": "426", + "message": "427" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb index 6905ca1051a94..9c1843c59ba16 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb and b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml index a267fc5450594..980692945f024 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml @@ -65,213 +65,221 @@ spec: selfLink: "24" uid: '*齧獚敆Ȏțêɘ' spec: - activeDeadlineSeconds: -5860790522738935260 + activeDeadlineSeconds: 1001940765449950717 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "375" - operator: ljVX1虊谇j爻ƙt叀碧 + - key: "372" + operator: 頀"冓鍓贯澔 ƺ蛜 values: - - "376" + - "373" matchFields: - - key: "377" - operator: '#v铿ʩȂ4ē鐭#嬀ơŸ8T 苧y' + - key: "374" + operator: 鶫:顇ə娯Ȱ囌{屿oiɥ嵐sC values: - - "378" - weight: 1724958480 + - "375" + weight: 1157117817 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "371" - operator: 卷 + - key: "368" + operator: ĪĠM蘇KŅ/»頸+ values: - - "372" + - "369" matchFields: - - key: "373" - operator: + + - key: "370" + operator: Ɨ¸gĩ餠籲 values: - - "374" + - "371" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: Nj-d-4_4--.-_Z4.LA3HVG9G - operator: Exists + - key: 4sE4 + operator: In + values: + - u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l matchLabels: - h._.GgT7_7B_D-..-.k4u-zA_--8: "6" + m6_k.N-2B_V.-tfh4.caTz_.g.w-o.8W: fM.3_-1y_8D_X._B__-P---_H-.___._D8.TS-jJ.Ys_Mop34_y namespaces: - - "393" - topologyKey: "394" - weight: 409029209 + - "390" + topologyKey: "391" + weight: -28454919 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: b25a-x12a-214-3s--gg93--5------g/L6_EU--AH-Q.GM72_-c-.-.6--3-___t-Z8SUGP.-_.uB-.--.gb_2o + - key: 7o7799-skj5---r-q3c.2f7ef8jzv4-9-35o-1-5w5z3-d----0p---s-9----747o-x3k/P_-..0 operator: Exists matchLabels: - i_18_...E.-2o_-.N.9D-F45eJK7Q5-R4_F: 7M.JP_oA_41 + y-8t379s3-8x32--2qu-0-k-q-0--8hv21k-vc0263.9-3---93-2-2-37-6/28xN._-_-vv-Q2qz.W..4....-h._.GgT7_B: 134-5-.q6H_.--_---.M.U_-m.-P.yP9S--858LI__.8U namespaces: - - "385" - topologyKey: "386" + - "382" + topologyKey: "383" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 37zzgy3-4----nf---3a-cgr6---r58-e-l203-8sln7-3x-b--550397801/1.k9M86.9a_-0R_.Z__v + - key: 4-0l-023bm-6l2e5---k5v3a---ezo/A_Xf3.V0H23 operator: NotIn values: - - 0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_0_5-_.7F3p2_-_AmD-.0AP.-.Cc + - 2.--4Z7__i1T.miw_7a2 matchLabels: - r3po4-f/TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK1: x1.9_.-.M7 + 21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u: 6.C.-e16-O_.Q-U-_s-mtA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-k namespaces: - - "409" - topologyKey: "410" - weight: -533093249 + - "406" + topologyKey: "407" + weight: -1572758512 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: mm6-k8-c2---2t.n--8--c83-4b-9-1o8w-a-6-31g-1/0-K_A-_9_Z_C..7o_x3..-.w - operator: Exists + - key: 7-3x-3/23_P + operator: NotIn + values: + - 5....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4 matchLabels: - k.q6H_.--_---.M.U_-m.-P.yP9Se: 58LI__.8____rO-S-P_-...0c.-.p_3_J_SA995IKCR.s--f.-f.-v + v8_.O_..8n.--z_-..6W.K: sTt.-U_--6 namespaces: - - "401" - topologyKey: "402" + - "398" + topologyKey: "399" automountServiceAccountToken: false containers: - args: - - "217" - command: - "216" + command: + - "215" env: - - name: "224" - value: "225" + - name: "223" + value: "224" valueFrom: configMapKeyRef: - key: "231" - name: "230" + key: "230" + name: "229" optional: true fieldRef: - apiVersion: "226" - fieldPath: "227" + apiVersion: "225" + fieldPath: "226" resourceFieldRef: - containerName: "228" + containerName: "227" divisor: "46" - resource: "229" + resource: "228" secretKeyRef: - key: "233" - name: "232" + key: "232" + name: "231" optional: true envFrom: - configMapRef: - name: "222" + name: "221" optional: false - prefix: "221" + prefix: "220" secretRef: - name: "223" + name: "222" optional: false - image: "215" - imagePullPolicy: QÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<Ƕ + image: "214" + imagePullPolicy: '?' lifecycle: postStart: exec: command: - "260" httpGet: - host: "263" + host: "262" httpHeaders: - - name: "264" - value: "265" + - name: "263" + value: "264" path: "261" - port: "262" - scheme: ńMǰ溟ɴ扵閝 + port: 1427781619 + scheme: '}' tcpSocket: host: "266" - port: -1474440600 + port: "265" preStop: exec: command: - "267" httpGet: - host: "269" + host: "270" httpHeaders: - - name: "270" - value: "271" + - name: "271" + value: "272" path: "268" - port: 44308192 - scheme: Żwʮ馜üNșƶ4ĩĉ + port: "269" + scheme: 賲鐅臬dH巧 tcpSocket: host: "273" - port: "272" + port: 559781916 livenessProbe: exec: command: - - "240" - failureThreshold: -1301133697 + - "239" + failureThreshold: 2057433923 httpGet: - host: "242" + host: "241" httpHeaders: - - name: "243" - value: "244" - path: "241" - port: -532628939 - scheme: 踪鄌eÞȦY籎顒ǥŴ唼Ģ猇õǶț - initialDelaySeconds: -2025874949 - periodSeconds: 1593906314 - successThreshold: 188341147 + - name: "242" + value: "243" + path: "240" + port: -1638339389 + scheme: 櫸eʔŊ + initialDelaySeconds: 1705239007 + periodSeconds: 173030157 + successThreshold: 1530176864 tcpSocket: - host: "245" - port: -1171060347 - timeoutSeconds: -1468180511 - name: "214" + host: "244" + port: 731879508 + timeoutSeconds: 1367201035 + name: "213" ports: - containerPort: 673378190 - hostIP: "220" + hostIP: "219" hostPort: -144591150 - name: "219" + name: "218" protocol: Ɵ)Ù readinessProbe: exec: command: - - "246" - failureThreshold: -1145306833 + - "245" + failureThreshold: 325236550 httpGet: - host: "249" + host: "248" httpHeaders: - - name: "250" - value: "251" - path: "247" - port: "248" - scheme: '@?鷅bȻN+ņ榱*Gưoɘ檲ɨ銦妰' - initialDelaySeconds: -1266125247 - periodSeconds: 1795738696 - successThreshold: -1350331007 + - name: "249" + value: "250" + path: "246" + port: "247" + initialDelaySeconds: -624101520 + periodSeconds: 1180382332 + successThreshold: -1846991380 tcpSocket: host: "252" - port: -1079519102 - timeoutSeconds: -50623103 + port: "251" + timeoutSeconds: 963442342 + resizePolicy: + - policy: ;栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼 + resourceName: 坩O`涁İ而踪鄌eÞ resources: limits: 瞲: "980" requests: k ź贩j瀉ǚrǜnh0åȂ: "314" + resourcesAllocated: + 胚O醔ɍ厶耈 T衧ȇe媹Hǝ呮}: "151" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - Y栲茇 drop: - - £軶ǃ*ʙ嫙&蒒5靇C'ɵK.Q貇 + - 吲蚛隖<ǶĬ4y£軶ǃ*ʙ嫙&蒒5 privileged: false - procMount: 粛E煹 + procMount: ȹ嫰ƹǔw÷nI粛E煹ǐƲE readOnlyRootFilesystem: true - runAsGroup: -7567945069856455979 - runAsNonRoot: true - runAsUser: 390808457597161112 + runAsGroup: -5016044672285257696 + runAsNonRoot: false + runAsUser: 1201768676685780641 seLinuxOptions: level: "278" role: "276" @@ -285,7 +293,7 @@ spec: exec: command: - "253" - failureThreshold: 1592637538 + failureThreshold: -1327537699 httpGet: host: "256" httpHeaders: @@ -293,39 +301,38 @@ spec: value: "258" path: "254" port: "255" - scheme: 湨 - initialDelaySeconds: 609274415 - periodSeconds: -204658565 - successThreshold: -498077886 + scheme: 苆ǮńMǰ溟ɴ扵閝ȝ鐵儣廡 + initialDelaySeconds: 1133369651 + periodSeconds: 663151695 + successThreshold: -2064174383 tcpSocket: host: "259" - port: 1824183165 - timeoutSeconds: 581816190 + port: -566408554 + timeoutSeconds: 1755475567 stdinOnce: true terminationMessagePath: "274" - terminationMessagePolicy: ɖȃ賲鐅臬dH巧壚tC十Oɢ + terminationMessagePolicy: '十Oɢǵʭd鲡:' tty: true volumeDevices: - - devicePath: "239" - name: "238" + - devicePath: "238" + name: "237" volumeMounts: - - mountPath: "235" - mountPropagation: O醔ɍ厶耈 T衧ȇe媹Hǝ呮}臷Ľð - name: "234" - readOnly: true - subPath: "236" - subPathExpr: "237" - workingDir: "218" + - mountPath: "234" + mountPropagation: 跾|@?鷅bȻN+ņ榱* + name: "233" + subPath: "235" + subPathExpr: "236" + workingDir: "217" dnsConfig: nameservers: - - "417" + - "414" options: - - name: "419" - value: "420" + - name: "416" + value: "417" searches: - - "418" - dnsPolicy: w(ğ儴Ůĺ}潷ʒ胵 - enableServiceLinks: true + - "415" + dnsPolicy: V垾现葢ŵ橨鬶l + enableServiceLinks: false ephemeralContainers: - args: - "285" @@ -344,12 +351,12 @@ spec: fieldPath: "295" resourceFieldRef: containerName: "296" - divisor: "714" + divisor: "131" resource: "297" secretKeyRef: key: "301" name: "300" - optional: true + optional: false envFrom: - configMapRef: name: "290" @@ -357,144 +364,148 @@ spec: prefix: "289" secretRef: name: "291" - optional: true + optional: false image: "283" - imagePullPolicy: Ve + imagePullPolicy: 鄠[颐o啛更偢ɇ卷荙JL lifecycle: postStart: exec: command: - - "330" + - "329" httpGet: - host: "333" + host: "331" httpHeaders: - - name: "334" - value: "335" - path: "331" - port: "332" - scheme: ʤî萨zvt莭 + - name: "332" + value: "333" + path: "330" + port: -767338388 + scheme: Jȉ罴ņ螡źȰ?$矡ȶ网棊 tcpSocket: - host: "337" - port: "336" + host: "334" + port: -1905643191 preStop: exec: command: - - "338" + - "335" httpGet: - host: "341" + host: "338" httpHeaders: - - name: "342" - value: "343" - path: "339" - port: "340" - scheme: ļ腻ŬƩȿ + - name: "339" + value: "340" + path: "336" + port: "337" + scheme: '#yV''WKw(ğ儴Ůĺ}' tcpSocket: - host: "344" - port: -2123728714 + host: "341" + port: -20130017 livenessProbe: exec: command: - "308" - failureThreshold: 1832870128 + failureThreshold: 10098903 httpGet: - host: "311" + host: "310" httpHeaders: - - name: "312" - value: "313" + - name: "311" + value: "312" path: "309" - port: "310" - initialDelaySeconds: -1537700150 - periodSeconds: 105707873 - successThreshold: -188803670 + port: -1821078703 + scheme: 萨zvt + initialDelaySeconds: -503805926 + periodSeconds: -763687725 + successThreshold: -246563990 tcpSocket: - host: "315" - port: "314" - timeoutSeconds: -1815868713 + host: "313" + port: 1182477686 + timeoutSeconds: 77312514 name: "282" ports: - - containerPort: -88173241 + - containerPort: 1908897348 hostIP: "288" - hostPort: 304141309 + hostPort: 1762266578 name: "287" - protocol: Źʣy豎@ɀ羭,铻O + protocol: 豎@ɀ羭,铻OŤǢʭ嵔棂p儼 readinessProbe: exec: command: - - "316" - failureThreshold: 1505082076 + - "314" + failureThreshold: 1255258741 httpGet: - host: "318" + host: "317" httpHeaders: - - name: "319" - value: "320" - path: "317" - port: 1422435836 - scheme: ',ǿ飏騀呣ǎfǣ萭旿@掇lNdǂ' - initialDelaySeconds: -819723498 - periodSeconds: 1507815593 - successThreshold: 1498833271 + - name: "318" + value: "319" + path: "315" + port: "316" + scheme: 0矀Kʝ瘴I\p[ħsĨɆâĺɗŹ倗S + initialDelaySeconds: 932904270 + periodSeconds: 100356493 + successThreshold: -110792150 tcpSocket: - host: "322" - port: "321" - timeoutSeconds: -150133456 + host: "321" + port: "320" + timeoutSeconds: 1810980158 + resizePolicy: + - policy: '@掇lNdǂ>' + resourceName: ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ resources: limits: - 釆Ɗ+j忊: "486" + 焗捏: "525" requests: - 嫭塓烀罁胾: "494" + 胾^拜Ȍzɟ踡肒Ao/: "894" + resourcesAllocated: + 褎weLJèux: "27" securityContext: allowPrivilegeEscalation: false capabilities: add: - - FD剂讼ɓȌʟn + - 佱¿>犵殇ŕ-Ɂ圯W:ĸ輦唊#v铿ʩȂ drop: - - 酛3ƁÀ*f<鴒翁杙 - privileged: true - procMount: 螡źȰ?$矡ȶ网棊ʢ=wǕɳ + - ē鐭#嬀ơŸ8T 苧yñKJɐ + privileged: false + procMount: Ò媁荭gw忊|E剒蔞|表徶đ寳议Ƭ readOnlyRootFilesystem: true - runAsGroup: -3295693280350872542 - runAsNonRoot: false - runAsUser: 4125312213789345425 + runAsGroup: 6627762557027395765 + runAsNonRoot: true + runAsUser: 6764431850409848860 seLinuxOptions: - level: "349" - role: "347" - type: "348" - user: "346" + level: "346" + role: "344" + type: "345" + user: "343" windowsOptions: - gmsaCredentialSpec: "351" - gmsaCredentialSpecName: "350" - runAsUserName: "352" + gmsaCredentialSpec: "348" + gmsaCredentialSpecName: "347" + runAsUserName: "349" startupProbe: exec: command: - - "323" - failureThreshold: 1428207963 + - "322" + failureThreshold: -93157681 httpGet: - host: "325" + host: "324" httpHeaders: - - name: "326" - value: "327" - path: "324" - port: 2134439962 - scheme: Ȋ礶 - initialDelaySeconds: 1919527626 - periodSeconds: -161753937 - successThreshold: -1578746609 + - name: "325" + value: "326" + path: "323" + port: 1087851818 + initialDelaySeconds: -2036074491 + periodSeconds: 165047920 + successThreshold: -393291312 tcpSocket: - host: "329" - port: "328" - timeoutSeconds: -389501466 - stdinOnce: true - targetContainerName: "353" - terminationMessagePath: "345" - terminationMessagePolicy: ʝ瘴I\p[ħsĨ - tty: true + host: "328" + port: "327" + timeoutSeconds: -148216266 + stdin: true + targetContainerName: "350" + terminationMessagePath: "342" + terminationMessagePolicy: 輓Ɔȓ蹣ɐǛv+8 volumeDevices: - devicePath: "307" name: "306" volumeMounts: - mountPath: "303" - mountPropagation: ǒɿʒ刽ʼn掏1ſ盷褎weLJ + mountPropagation: '>懔%熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐' name: "302" readOnly: true subPath: "304" @@ -502,13 +513,13 @@ spec: workingDir: "286" hostAliases: - hostnames: - - "415" - ip: "414" + - "412" + ip: "411" + hostIPC: true hostNetwork: true - hostPID: true - hostname: "369" + hostname: "366" imagePullSecrets: - - name: "368" + - name: "365" initContainers: - args: - "146" @@ -547,53 +558,53 @@ spec: postStart: exec: command: - - "190" + - "189" httpGet: - host: "193" + host: "192" httpHeaders: - - name: "194" - value: "195" - path: "191" - port: "192" + - name: "193" + value: "194" + path: "190" + port: "191" scheme: Ɠɥ踓Ǻǧ湬淊k tcpSocket: - host: "197" - port: "196" + host: "196" + port: "195" preStop: exec: command: - - "198" + - "197" httpGet: - host: "201" + host: "200" httpHeaders: - - name: "202" - value: "203" - path: "199" - port: "200" + - name: "201" + value: "202" + path: "198" + port: "199" scheme: fƻfʣ繡楙¯Ħ tcpSocket: - host: "205" - port: "204" + host: "204" + port: "203" livenessProbe: exec: command: - "169" - failureThreshold: 62108019 + failureThreshold: -1438986781 httpGet: - host: "172" + host: "171" httpHeaders: - - name: "173" - value: "174" + - name: "172" + value: "173" path: "170" - port: "171" - scheme: ɋ聻鎥ʟ<$洅ɹ7\弌Þ帺萸Do© - initialDelaySeconds: 1843642426 - periodSeconds: -836939996 - successThreshold: -1147975588 + port: -2142802037 + scheme: ʋ + initialDelaySeconds: -1540645096 + periodSeconds: -35598353 + successThreshold: -1697933829 tcpSocket: host: "175" - port: 1637061888 - timeoutSeconds: 1331061766 + port: "174" + timeoutSeconds: 229600975 name: "143" ports: - containerPort: -1849057428 @@ -607,25 +618,30 @@ spec: - "176" failureThreshold: -27219570 httpGet: - host: "179" + host: "178" httpHeaders: - - name: "180" - value: "181" + - name: "179" + value: "180" path: "177" - port: "178" - scheme: 拍N嚳ķȗɊ捵TwMȗ礼2ħ籦ö嗏 + port: -1619438973 + scheme: ȗ礼2ħ籦ö嗏 initialDelaySeconds: 1274480280 periodSeconds: 620421257 successThreshold: 1899367104 tcpSocket: - host: "182" + host: "181" port: 468716734 timeoutSeconds: 1914313083 + resizePolicy: + - policy: 硰{舁吉蓨O澘銈e + resourceName: 衲<¿燥 resources: limits: ȇ廄裭4懙鏮嵒ƫS捕ɷD¡轫n(: "526" requests: 郀叚Fi皬择,Q捇ȸ{+ɸ殁: "687" + resourcesAllocated: + n)İ笓珣筩ƐP_痸: "678" securityContext: allowPrivilegeEscalation: false capabilities: @@ -640,103 +656,101 @@ spec: runAsNonRoot: false runAsUser: -7042570146654509247 seLinuxOptions: - level: "210" - role: "208" - type: "209" - user: "207" + level: "209" + role: "207" + type: "208" + user: "206" windowsOptions: - gmsaCredentialSpec: "212" - gmsaCredentialSpecName: "211" - runAsUserName: "213" + gmsaCredentialSpec: "211" + gmsaCredentialSpecName: "210" + runAsUserName: "212" startupProbe: exec: command: - - "183" + - "182" failureThreshold: -1011172037 httpGet: - host: "185" + host: "184" httpHeaders: - - name: "186" - value: "187" - path: "184" + - name: "185" + value: "186" + path: "183" port: -303428971 scheme: e0ɔȖ脵鴈Ōƾ焁yǠ/淹\韲翁& initialDelaySeconds: 642481593 periodSeconds: 1013966977 successThreshold: 1056226939 tcpSocket: - host: "189" - port: "188" + host: "188" + port: "187" timeoutSeconds: -1617414299 - terminationMessagePath: "206" + terminationMessagePath: "205" volumeDevices: - devicePath: "168" name: "167" volumeMounts: - mountPath: "164" - mountPropagation: )İ笓珣筩ƐP_痸荎僋bŭDz鯰硰 + mountPropagation: Ĭ艥<檔Ň'Ğİ*洣炽A@ʊʓ name: "163" + readOnly: true subPath: "165" subPathExpr: "166" workingDir: "147" - nodeName: "358" + nodeName: "355" nodeSelector: - "354": "355" + "351": "352" overhead: - '''o儿Ƭ銭u裡_': "986" - preemptionPolicy: '>' - priority: -88455527 - priorityClassName: "416" + 永ʕW6¯ȗŮ: "622" + preemptionPolicy: l=ƈư呄 + priority: -16328498 + priorityClassName: "413" readinessGates: - - conditionType: 普闎Ť萃Q+駟à稨氙 - restartPolicy: Ì - runtimeClassName: "421" - schedulerName: "411" + - conditionType: ɩŢɽǣ(^犵殇ŕ-Ɂ圯W' + - name: "269" + value: "270" + path: "266" + port: "267" + scheme: 'ơŸ8T ' tcpSocket: host: "271" - port: "270" + port: -1871050070 preStop: exec: command: - "272" httpGet: - host: "274" + host: "275" httpHeaders: - - name: "275" - value: "276" + - name: "276" + value: "277" path: "273" - port: -1161649101 - scheme: 嚧ʣq埄 + port: "274" + scheme: '*Z鐫û咡W<敄lu|榝$î' tcpSocket: host: "278" - port: "277" + port: -1008986249 livenessProbe: exec: command: - "244" - failureThreshold: -361442565 + failureThreshold: -241238495 httpGet: host: "246" httpHeaders: - name: "247" value: "248" path: "245" - port: -393291312 - scheme: Ŧ癃8鸖ɱJȉ罴ņ螡źȰ? - initialDelaySeconds: 627713162 - periodSeconds: -1740959124 - successThreshold: 158280212 + port: -1798849477 + scheme: Í勅跦Opwǩ曬逴褜1ØœȠƬ + initialDelaySeconds: 1419770315 + periodSeconds: 1830495826 + successThreshold: 1102291854 tcpSocket: host: "250" port: "249" - timeoutSeconds: 1255312175 + timeoutSeconds: 300356869 name: "218" ports: - containerPort: -839281354 @@ -248,40 +246,45 @@ spec: exec: command: - "251" - failureThreshold: -36782737 + failureThreshold: -979584143 httpGet: host: "253" httpHeaders: - name: "254" value: "255" path: "252" - port: -2013568185 - scheme: '#yV''WKw(ğ儴Ůĺ}' - initialDelaySeconds: -1244623134 - periodSeconds: -398297599 - successThreshold: 873056500 + port: 972978563 + scheme: ȨŮ+朷Ǝ膯 + initialDelaySeconds: -249989919 + periodSeconds: -602419938 + successThreshold: 1040396664 tcpSocket: host: "256" - port: -20130017 - timeoutSeconds: -1334110502 + port: -1506633471 + timeoutSeconds: -171684192 + resizePolicy: + - policy: R§耶FfBls3!Zɾģ毋Ó + resourceName: D剂讼ɓȌʟni酛3ƁÀ* resources: limits: 藠3.v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0: "175" requests: ɺ皚|懥ƖN粕擓ƖHV: "962" + resourcesAllocated: + ɗ: "991" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - fʀļ腩墺Ò媁荭gw忊 + - 碔 drop: - - E剒蔞 + - NKƙ順\E¦队偯J僳徥淳4揻-$ privileged: false - procMount: Ȩ<6鄰簳°Ļǟi& - readOnlyRootFilesystem: true - runAsGroup: 2001337664780390084 - runAsNonRoot: true - runAsUser: -6177393256425700216 + procMount: ',ŕ' + readOnlyRootFilesystem: false + runAsGroup: 2011630253582325853 + runAsNonRoot: false + runAsUser: -7971724279034955974 seLinuxOptions: level: "283" role: "281" @@ -295,7 +298,7 @@ spec: exec: command: - "257" - failureThreshold: -1011390276 + failureThreshold: 2058122084 httpGet: host: "260" httpHeaders: @@ -303,37 +306,36 @@ spec: value: "262" path: "258" port: "259" - scheme: Qg鄠[ - initialDelaySeconds: -1556231754 - periodSeconds: -321709789 - successThreshold: -1463645123 + scheme: ĸ輦唊 + initialDelaySeconds: 1474943201 + periodSeconds: 1584029564 + successThreshold: -467985423 tcpSocket: - host: "263" - port: -241238495 - timeoutSeconds: 461585849 - stdin: true + host: "264" + port: "263" + timeoutSeconds: -196963939 + stdinOnce: true terminationMessagePath: "279" - terminationMessagePolicy: ʁ岼昕ĬÇ + terminationMessagePolicy: ʜ5遰=E埄Ȁ朦 wƯ貾坢'跩aŕ volumeDevices: - devicePath: "243" name: "242" volumeMounts: - mountPath: "239" - mountPropagation: 'Ź倗S晒嶗UÐ_ƮA攤/ɸɎ ' + mountPropagation: 娝嘚庎D}埽uʎȺ眖R#yV' name: "238" subPath: "240" subPathExpr: "241" workingDir: "222" dnsConfig: nameservers: - - "421" + - "419" options: - - name: "423" - value: "424" + - name: "421" + value: "422" searches: - - "422" - dnsPolicy: n(fǂǢ曣ŋayåe躒訙Ǫ - enableServiceLinks: false + - "420" + enableServiceLinks: true ephemeralContainers: - args: - "290" @@ -352,170 +354,173 @@ spec: fieldPath: "300" resourceFieldRef: containerName: "301" - divisor: "3" + divisor: "568" resource: "302" secretKeyRef: key: "306" name: "305" - optional: true + optional: false envFrom: - configMapRef: name: "295" - optional: true + optional: false prefix: "294" secretRef: name: "296" optional: false image: "288" + imagePullPolicy: ùfŭƽ lifecycle: postStart: exec: command: - - "335" + - "333" httpGet: - host: "338" + host: "335" httpHeaders: - - name: "339" - value: "340" - path: "336" - port: "337" - scheme: C"6x$1s + - name: "336" + value: "337" + path: "334" + port: -302933400 + scheme: 眵笭/9崍h趭(娕uE增猍ǵ x tcpSocket: - host: "342" - port: "341" + host: "339" + port: "338" preStop: exec: command: - - "343" + - "340" httpGet: - host: "345" + host: "342" httpHeaders: - - name: "346" - value: "347" - path: "344" - port: -518160270 - scheme: ɔ幩še + - name: "343" + value: "344" + path: "341" + port: 1238925115 + scheme: ɢX鰨松/Ȁĵ tcpSocket: - host: "348" - port: 1956567721 + host: "346" + port: "345" livenessProbe: exec: command: - "313" - failureThreshold: 472742933 + failureThreshold: -969533986 httpGet: - host: "316" + host: "315" httpHeaders: - - name: "317" - value: "318" + - name: "316" + value: "317" path: "314" - port: "315" - scheme: 冓鍓贯 - initialDelaySeconds: 1290950685 - periodSeconds: 1058960779 - successThreshold: -2133441986 + port: 1076497581 + scheme: h4ɊHȖ|ʐ + initialDelaySeconds: -1835677314 + periodSeconds: 1947032456 + successThreshold: 1233904535 tcpSocket: - host: "320" - port: "319" - timeoutSeconds: 12533543 + host: "318" + port: 248533396 + timeoutSeconds: 199049889 name: "287" ports: - - containerPort: -1296830577 + - containerPort: 1559618829 hostIP: "293" - hostPort: 1313273370 + hostPort: 887319241 name: "292" + protocol: /»頸+SÄ蚃ɣľ)酊龨Î readinessProbe: exec: command: - - "321" - failureThreshold: 620822482 + - "319" + failureThreshold: 646449677 httpGet: - host: "323" + host: "322" httpHeaders: - - name: "324" - value: "325" - path: "322" - port: 1332783160 - scheme: Ȱ囌{屿oiɥ嵐sC8?Ǻ鱎ƙ; - initialDelaySeconds: -300247800 - periodSeconds: -126958936 - successThreshold: 186945072 + - name: "323" + value: "324" + path: "320" + port: "321" + initialDelaySeconds: -1408385387 + periodSeconds: 1063054949 + successThreshold: 172612011 tcpSocket: - host: "327" - port: "326" - timeoutSeconds: 386804041 + host: "326" + port: "325" + timeoutSeconds: -1225881740 + resizePolicy: + - policy: 灩聋3趐囨鏻砅邻 + resourceName: 鯂²静 resources: limits: - 淳4揻-$ɽ丟×x锏ɟ: "178" + '''琕鶫:顇ə娯Ȱ囌{屿': "115" requests: - Ö闊 鰔澝qV: "752" + 龏´DÒȗÔÂɘɢ鬍: "101" + resourcesAllocated: + ŕ璻Jih亏yƕ丆: "23" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - '|ʐşƧ諔迮ƙIJ嘢' + - æ盪泙若`l}Ñ蠂Ü drop: - - ʗN + - ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I privileged: false - procMount: "" + procMount: y竬ʆɞȥ}礤铟怖ý萜Ǖc8 readOnlyRootFilesystem: true - runAsGroup: 6726836758549163621 + runAsGroup: 373025114301996656 runAsNonRoot: false - runAsUser: -6048969174364431391 + runAsUser: -7474879432414053077 seLinuxOptions: - level: "353" - role: "351" - type: "352" - user: "350" + level: "351" + role: "349" + type: "350" + user: "348" windowsOptions: - gmsaCredentialSpec: "355" - gmsaCredentialSpecName: "354" - runAsUserName: "356" + gmsaCredentialSpec: "353" + gmsaCredentialSpecName: "352" + runAsUserName: "354" startupProbe: exec: command: - - "328" - failureThreshold: -560238386 + - "327" + failureThreshold: -200074798 httpGet: - host: "331" + host: "329" httpHeaders: - - name: "332" - value: "333" - path: "329" - port: "330" - scheme: 鍏H鯂² - initialDelaySeconds: -402384013 - periodSeconds: -617381112 - successThreshold: 1851229369 + - name: "330" + value: "331" + path: "328" + port: 2084371155 + scheme: ɭɪǹ0衷, + initialDelaySeconds: -278396828 + periodSeconds: -1663818120 + successThreshold: -211480108 tcpSocket: - host: "334" - port: -1187301925 - timeoutSeconds: -181601395 - stdin: true - stdinOnce: true - targetContainerName: "357" - terminationMessagePath: "349" - terminationMessagePolicy: ȤƏ埮pɵ - tty: true + host: "332" + port: 1692740191 + timeoutSeconds: 1497888778 + targetContainerName: "355" + terminationMessagePath: "347" + terminationMessagePolicy: ȲǸ|蕎'佉賞ǧĒzŔ volumeDevices: - devicePath: "312" name: "311" volumeMounts: - mountPath: "308" - mountPropagation: /»頸+SÄ蚃ɣľ)酊龨Î + mountPropagation: ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS name: "307" - readOnly: true subPath: "309" subPathExpr: "310" workingDir: "291" hostAliases: - hostnames: - - "419" - ip: "418" + - "417" + ip: "416" + hostIPC: true hostNetwork: true - hostname: "373" + hostname: "371" imagePullSecrets: - - name: "372" + - name: "370" initContainers: - args: - "150" @@ -549,57 +554,58 @@ spec: name: "156" optional: false image: "148" - imagePullPolicy: ŤǢʭ嵔棂p儼Ƿ裚瓶 + imagePullPolicy: ',铻OŤǢʭ嵔棂p儼Ƿ裚瓶' lifecycle: postStart: exec: command: - - "196" + - "195" httpGet: - host: "199" + host: "198" httpHeaders: - - name: "200" - value: "201" - path: "197" - port: "198" - scheme: 蚛隖<ǶĬ4y£軶ǃ*ʙ嫙&蒒5靇C' + - name: "199" + value: "200" + path: "196" + port: "197" + scheme: ʙ嫙& tcpSocket: host: "202" - port: 2126876305 + port: "201" preStop: exec: command: - "203" httpGet: - host: "206" + host: "205" httpHeaders: - - name: "207" - value: "208" + - name: "206" + value: "207" path: "204" - port: "205" - scheme: Ŵ廷s{Ⱦdz@ + port: 279808574 + scheme: ǹ_Áȉ彂Ŵ廷s tcpSocket: host: "209" - port: 406308963 + port: "208" livenessProbe: exec: command: - "173" - failureThreshold: 1466047181 + failureThreshold: -31530684 httpGet: - host: "176" + host: "175" httpHeaders: - - name: "177" - value: "178" + - name: "176" + value: "177" path: "174" - port: "175" - initialDelaySeconds: 1805144649 - periodSeconds: 1403721475 - successThreshold: 519906483 + port: 1427781619 + scheme: '}' + initialDelaySeconds: 1030243869 + periodSeconds: -185042403 + successThreshold: -374922344 tcpSocket: - host: "180" - port: "179" - timeoutSeconds: -606111218 + host: "179" + port: "178" + timeoutSeconds: -1080853187 name: "147" ports: - containerPort: 437857734 @@ -610,28 +616,32 @@ spec: readinessProbe: exec: command: - - "181" - failureThreshold: 524249411 + - "180" + failureThreshold: 1471432155 httpGet: - host: "184" + host: "183" httpHeaders: - - name: "185" - value: "186" - path: "182" - port: "183" - scheme: w垁鷌辪虽U珝Żwʮ馜üNșƶ4ĩ - initialDelaySeconds: -1724160601 - periodSeconds: 1435507444 - successThreshold: -1430577593 + - name: "184" + value: "185" + path: "181" + port: "182" + initialDelaySeconds: 559781916 + periodSeconds: -1569009987 + successThreshold: -1053603859 tcpSocket: - host: "187" - port: -337353552 - timeoutSeconds: -1158840571 + host: "186" + port: -289900366 + timeoutSeconds: -1703360754 + resizePolicy: + - policy: 瓼猀2:öY鶪5w垁鷌辪 + resourceName: 蕵ɢ resources: limits: 檲ɨ銦妰黖ȓƇ$缔獵偐ę腬: "646" requests: 湨: "803" + resourcesAllocated: + 鎷卩蝾H: "824" securityContext: allowPrivilegeEscalation: true capabilities: @@ -657,95 +667,96 @@ spec: startupProbe: exec: command: - - "188" - failureThreshold: 905846572 + - "187" + failureThreshold: 1545364977 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" - path: "189" - port: "190" - scheme: k_瀹鞎sn芞QÄȻ - initialDelaySeconds: 364013971 - periodSeconds: -1790124395 - successThreshold: 1094670193 + - name: "191" + value: "192" + path: "188" + port: "189" + scheme: Ȋ+?ƭ峧Y栲茇竛吲蚛 + initialDelaySeconds: -138175394 + periodSeconds: 1054302708 + successThreshold: -1696471293 tcpSocket: - host: "195" - port: "194" - timeoutSeconds: 1596422492 + host: "194" + port: "193" + timeoutSeconds: -1839582103 stdin: true stdinOnce: true terminationMessagePath: "210" - terminationMessagePolicy: ŀ樺ȃv渟7¤7djƯĖ漘Z剚敍0 + terminationMessagePolicy: dz@ùƸʋŀ樺ȃv渟7¤7djƯĖ漘Z tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: 卩蝾 + mountPropagation: 珝Żwʮ馜ü name: "167" readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "362" + nodeName: "360" nodeSelector: - "358": "359" + "356": "357" overhead: - tHǽ÷閂抰^窄CǙķȈ: "97" - preemptionPolicy: ý筞X - priority: -1331113536 - priorityClassName: "420" + 熴贤r心Ķ餍4: "127" + preemptionPolicy: 縊CkǚŨ镦 + priority: -173761204 + priorityClassName: "418" readinessGates: - - conditionType: mō6µɑ`ȗ<8^翜 - restartPolicy: ɭɪǹ0衷, - runtimeClassName: "425" - schedulerName: "415" + - conditionType: 3荾;釋ƽ,ʢ刣ȱǍ + restartPolicy: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + runtimeClassName: "423" + schedulerName: "413" securityContext: - fsGroup: 2585323675983182372 - fsGroupChangePolicy: Ĕ\ɢX鰨松/Ȁĵ鴁ĩȲǸ|蕎 - runAsGroup: 6386250802140824739 + fsGroup: 3252248067742584460 + fsGroupChangePolicy: 裡×銵-紑浘牬釼 + runAsGroup: -2605388897472681971 runAsNonRoot: false - runAsUser: -5315960194881172085 + runAsUser: -2056599486643434092 seLinuxOptions: - level: "366" - role: "364" - type: "365" - user: "363" + level: "364" + role: "362" + type: "363" + user: "361" supplementalGroups: - - -4480129203693517072 + - -6171436788982835150 sysctls: - - name: "370" - value: "371" + - name: "368" + value: "369" windowsOptions: - gmsaCredentialSpec: "368" - gmsaCredentialSpecName: "367" - runAsUserName: "369" - serviceAccount: "361" - serviceAccountName: "360" - setHostnameAsFQDN: true + gmsaCredentialSpec: "366" + gmsaCredentialSpecName: "365" + runAsUserName: "367" + serviceAccount: "359" + serviceAccountName: "358" + setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "374" - terminationGracePeriodSeconds: -3039830979334099524 + subdomain: "372" + terminationGracePeriodSeconds: 2424760700494115127 tolerations: - - effect: 緍k¢茤 - key: "416" - operator: 抄3昞财Î嘝zʄ!ć - tolerationSeconds: 4096844323391966153 - value: "417" + - effect: 鳖üzÁ鍫Ǥ. + key: "414" + operator: Ǒȃ绡> + tolerationSeconds: 715786430081306206 + value: "415" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 88-i19.y-y7o-0-wq-zfdw73w0---4a18-f---ui6-48e-9-h4-w-qp25--7-n--kfk3g/1n1.--.._-x_4..u2-__3uM77U7._pz - operator: DoesNotExist + - key: 07CY-_dc__G6N-_-o + operator: In + values: + - 2_D6_.d-n_9n.p.2-.-QwO matchLabels: - ? zp22o4a-w----11rqy3eo79p-f4r1--7p--053--suu--98.y1s8-j-6j4uvf1-sdg--132bid-7x0u738--7w-tdt-u-0--v/Ied-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV.9_G5 - : x_.4dwFbuvEf55Y2k.F-4 - maxSkew: 1956797678 - topologyKey: "426" - whenUnsatisfiable: ƀ+瑏eCmAȥ睙 + 0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7: "" + maxSkew: -1458287077 + topologyKey: "424" + whenUnsatisfiable: Ŋ)TiD¢ƿ媴h volumes: - awsElasticBlockStore: fsType: "47" @@ -945,24 +956,24 @@ spec: storagePolicyID: "104" storagePolicyName: "103" volumePath: "101" - templateGeneration: -4945204664217632710 + templateGeneration: 3090914156776622565 updateStrategy: rollingUpdate: maxUnavailable: 2 - type: ))e×鄞閆N钮Ǒ + type: 苁_Ȧ4Á$议ĪS幻/饑Ȉ@|{t亪 status: - collisionCount: -1494643176 + collisionCount: 1748468540 conditions: - - lastTransitionTime: "2770-06-01T22:44:21Z" - message: "434" - reason: "433" - status: 浤ɖ緖焿熣$ɒ割婻漛Ǒ僕ʨƌɦ - type: ŧĞöZÕW肤 遞Ȼ棉 - currentNumberScheduled: -1777921334 - desiredNumberScheduled: 283054026 - numberAvailable: -1303432952 - numberMisscheduled: -2022058870 - numberReady: -1539366293 - numberUnavailable: -1708016772 - observedGeneration: 5773395124214737719 - updatedNumberScheduled: 1090884237 + - lastTransitionTime: "2431-05-30T14:11:48Z" + message: "432" + reason: "431" + status: 夦ŔßȊ嫎驨Oa2ƒƈ + type: CƅR8ɷ|恫f籽š莾簏ì淵歔ųd + currentNumberScheduled: -1837907235 + desiredNumberScheduled: 765399390 + numberAvailable: -168110078 + numberMisscheduled: 1851500857 + numberReady: -1537677329 + numberUnavailable: 298823097 + observedGeneration: 5380707455817156928 + updatedNumberScheduled: -1146364789 diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json index 30bc9399ba72f..7641af65b4096 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json @@ -436,13 +436,21 @@ "ɖȃ賲鐅臬dH巧壚tC十Oɢ": "517" } }, + "resourcesAllocated": { + "ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖\u003cǶĬ4": "614" + }, + "resizePolicy": [ + { + "resourceName": "ɨǙÄr蛏豈ɃH", + "policy": "靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "", + "mountPropagation": "煹", "subPathExpr": "170" } ], @@ -460,9 +468,9 @@ }, "httpGet": { "path": "174", - "port": -152585895, + "port": -270045321, "host": "175", - "scheme": "E@Ȗs«ö", + "scheme": "¤7djƯĖ漘Z剚敍0)鈼¬", "httpHeaders": [ { "name": "176", @@ -471,42 +479,42 @@ ] }, "tcpSocket": { - "port": 1135182169, - "host": "178" + "port": "178", + "host": "179" }, - "initialDelaySeconds": 1843758068, - "timeoutSeconds": -1967469005, - "periodSeconds": 1702578303, - "successThreshold": -1565157256, - "failureThreshold": -1113628381 + "initialDelaySeconds": -840997104, + "timeoutSeconds": -648954478, + "periodSeconds": 1170649416, + "successThreshold": 893619181, + "failureThreshold": -1891134534 }, "readinessProbe": { "exec": { "command": [ - "179" + "180" ] }, "httpGet": { - "path": "180", - "port": 386652373, - "host": "181", - "scheme": "ʙ嫙\u0026", + "path": "181", + "port": -1549755975, + "host": "182", + "scheme": "j忊Ŗȫ焗捏ĨFħ", "httpHeaders": [ { - "name": "182", - "value": "183" + "name": "183", + "value": "184" } ] }, "tcpSocket": { - "port": "184", + "port": -1018741501, "host": "185" }, - "initialDelaySeconds": -802585193, - "timeoutSeconds": 1901330124, - "periodSeconds": 1944205014, - "successThreshold": -2079582559, - "failureThreshold": -1167888910 + "initialDelaySeconds": -674091068, + "timeoutSeconds": -2061678740, + "periodSeconds": -495373547, + "successThreshold": -163839428, + "failureThreshold": 1912934380 }, "startupProbe": { "exec": { @@ -516,163 +524,164 @@ }, "httpGet": { "path": "187", - "port": 804417065, - "host": "188", - "scheme": "Ŵ廷s{Ⱦdz@", + "port": "188", + "host": "189", + "scheme": "fw[Řż丩ŽoǠŻʘY賃ɪ鐊", "httpHeaders": [ { - "name": "189", - "value": "190" + "name": "190", + "value": "191" } ] }, "tcpSocket": { - "port": 406308963, - "host": "191" + "port": 88483549, + "host": "192" }, - "initialDelaySeconds": 632397602, - "timeoutSeconds": 2026784878, - "periodSeconds": -730174220, - "successThreshold": 433084615, - "failureThreshold": 208045354 + "initialDelaySeconds": 364078113, + "timeoutSeconds": -181693648, + "periodSeconds": 828173251, + "successThreshold": -394397948, + "failureThreshold": 2040455355 }, "lifecycle": { "postStart": { "exec": { "command": [ - "192" + "193" ] }, "httpGet": { - "path": "193", - "port": -2015604435, - "host": "194", - "scheme": "jƯĖ漘Z剚敍0)", + "path": "194", + "port": "195", + "host": "196", + "scheme": "悖ȩ0Ƹ[Ęİ榌U", "httpHeaders": [ { - "name": "195", - "value": "196" + "name": "197", + "value": "198" } ] }, "tcpSocket": { - "port": 424236719, - "host": "197" + "port": -187060941, + "host": "199" } }, "preStop": { "exec": { "command": [ - "198" + "200" ] }, "httpGet": { - "path": "199", - "port": -1131820775, - "host": "200", - "scheme": "Ƿ裚瓶釆Ɗ+j忊", + "path": "201", + "port": "202", + "host": "203", + "scheme": "熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ", "httpHeaders": [ { - "name": "201", - "value": "202" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "203", - "host": "204" + "port": "206", + "host": "207" } } }, - "terminationMessagePath": "205", - "terminationMessagePolicy": "焗捏", - "imagePullPolicy": "罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩", + "terminationMessagePath": "208", + "terminationMessagePolicy": ".v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀", + "imagePullPolicy": "ɺ皚|懥ƖN粕擓ƖHV", "securityContext": { "capabilities": { "add": [ - "" + "'" ], "drop": [ - "ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ" + "D剂讼ɓȌʟni酛3ƁÀ*" ] }, "privileged": false, "seLinuxOptions": { - "user": "206", - "role": "207", - "type": "208", - "level": "209" + "user": "209", + "role": "210", + "type": "211", + "level": "212" }, "windowsOptions": { - "gmsaCredentialSpecName": "210", - "gmsaCredentialSpec": "211", - "runAsUserName": "212" + "gmsaCredentialSpecName": "213", + "gmsaCredentialSpec": "214", + "runAsUserName": "215" }, - "runAsUser": -6576869501326512452, - "runAsGroup": -8419423421380299597, - "runAsNonRoot": false, - "readOnlyRootFilesystem": true, + "runAsUser": 998876704495005296, + "runAsGroup": -1689173322096612726, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫" + "procMount": "ɱJȉ罴" }, + "stdin": true, "tty": true } ], "containers": [ { - "name": "213", - "image": "214", + "name": "216", + "image": "217", "command": [ - "215" + "218" ], "args": [ - "216" + "219" ], - "workingDir": "217", + "workingDir": "220", "ports": [ { - "name": "218", - "hostPort": 62799871, - "containerPort": -775325416, - "protocol": "t莭琽§ć\\ ïì", - "hostIP": "219" + "name": "221", + "hostPort": -859135545, + "containerPort": -1543701088, + "protocol": "矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿", + "hostIP": "222" } ], "envFrom": [ { - "prefix": "220", + "prefix": "223", "configMapRef": { - "name": "221", + "name": "224", "optional": false }, "secretRef": { - "name": "222", + "name": "225", "optional": false } } ], "env": [ { - "name": "223", - "value": "224", + "name": "226", + "value": "227", "valueFrom": { "fieldRef": { - "apiVersion": "225", - "fieldPath": "226" + "apiVersion": "228", + "fieldPath": "229" }, "resourceFieldRef": { - "containerName": "227", - "resource": "228", - "divisor": "595" + "containerName": "230", + "resource": "231", + "divisor": "142" }, "configMapKeyRef": { - "name": "229", - "key": "230", - "optional": true + "name": "232", + "key": "233", + "optional": false }, "secretKeyRef": { - "name": "231", - "key": "232", + "name": "234", + "key": "235", "optional": false } } @@ -680,247 +689,258 @@ ], "resources": { "limits": { - "N粕擓ƖHVe熼": "334" + "ǩ": "957" }, "requests": { - "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶": "388" + "Ɔȓ蹣ɐǛv+8Ƥ熪": "951" } }, + "resourcesAllocated": { + "o啛更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ": "486" + }, + "resizePolicy": [ + { + "resourceName": "t叀碧闳ȩr嚧ʣq埄", + "policy": "ē鐭#嬀ơŸ8T 苧yñKJɐ" + } + ], "volumeMounts": [ { - "name": "233", - "readOnly": true, - "mountPath": "234", - "subPath": "235", - "mountPropagation": "癃8鸖", - "subPathExpr": "236" + "name": "236", + "mountPath": "237", + "subPath": "238", + "mountPropagation": "ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞", + "subPathExpr": "239" } ], "volumeDevices": [ { - "name": "237", - "devicePath": "238" + "name": "240", + "devicePath": "241" } ], "livenessProbe": { "exec": { "command": [ - "239" + "242" ] }, "httpGet": { - "path": "240", - "port": -1654678802, - "host": "241", - "scheme": "毋", + "path": "243", + "port": 834105836, + "host": "244", + "scheme": "朦 wƯ貾坢'跩", "httpHeaders": [ { - "name": "242", - "value": "243" + "name": "245", + "value": "246" } ] }, "tcpSocket": { - "port": 391562775, - "host": "244" + "port": "247", + "host": "248" }, - "initialDelaySeconds": -775511009, - "timeoutSeconds": -832805508, - "periodSeconds": -228822833, - "successThreshold": -970312425, - "failureThreshold": -1213051101 + "initialDelaySeconds": -1717997927, + "timeoutSeconds": 1533365989, + "periodSeconds": 656200799, + "successThreshold": 1513425349, + "failureThreshold": 1165327504 }, "readinessProbe": { "exec": { "command": [ - "245" + "249" ] }, "httpGet": { - "path": "246", - "port": -1905643191, - "host": "247", - "scheme": "Ǖɳɷ9Ì崟¿瘦ɖ緕", + "path": "250", + "port": -518330919, + "host": "251", + "scheme": "NKƙ順\\E¦队偯J僳徥淳4揻-$", "httpHeaders": [ { - "name": "248", - "value": "249" + "name": "252", + "value": "253" } ] }, "tcpSocket": { - "port": "250", - "host": "251" + "port": 1235694147, + "host": "254" }, - "initialDelaySeconds": 852780575, - "timeoutSeconds": -1252938503, - "periodSeconds": 893823156, - "successThreshold": -1980314709, - "failureThreshold": 571739592 + "initialDelaySeconds": 348370746, + "timeoutSeconds": 468369166, + "periodSeconds": 1909548849, + "successThreshold": 1492642476, + "failureThreshold": -367153801 }, "startupProbe": { "exec": { "command": [ - "252" + "255" ] }, "httpGet": { - "path": "253", - "port": -1334110502, - "host": "254", - "scheme": "ȓ蹣ɐǛv+8Ƥ熪军", + "path": "256", + "port": "257", + "host": "258", + "scheme": "鰔澝qV訆ƎżŧL²sNƗ¸", "httpHeaders": [ { - "name": "255", - "value": "256" + "name": "259", + "value": "260" } ] }, "tcpSocket": { - "port": 622267234, - "host": "257" + "port": "261", + "host": "262" }, - "initialDelaySeconds": 410611837, - "timeoutSeconds": 809006670, - "periodSeconds": 972978563, - "successThreshold": 17771103, - "failureThreshold": -1008070934 + "initialDelaySeconds": 1952226778, + "timeoutSeconds": -1468297794, + "periodSeconds": 1186392166, + "successThreshold": 725793326, + "failureThreshold": 217380320 }, "lifecycle": { "postStart": { "exec": { "command": [ - "258" + "263" ] }, "httpGet": { - "path": "259", - "port": "260", - "host": "261", + "path": "264", + "port": 1510449965, + "host": "265", + "scheme": "贯澔 ƺ蛜6Ɖ飴ɎiǨź", "httpHeaders": [ { - "name": "262", - "value": "263" + "name": "266", + "value": "267" } ] }, "tcpSocket": { - "port": 1943028037, - "host": "264" + "port": -1453143878, + "host": "268" } }, "preStop": { "exec": { "command": [ - "265" + "269" ] }, "httpGet": { - "path": "266", - "port": -1355476687, - "host": "267", - "scheme": "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ", + "path": "270", + "port": "271", + "host": "272", + "scheme": "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻", "httpHeaders": [ { - "name": "268", - "value": "269" + "name": "273", + "value": "274" } ] }, "tcpSocket": { - "port": "270", - "host": "271" + "port": "275", + "host": "276" } } }, - "terminationMessagePath": "272", - "terminationMessagePolicy": "T 苧yñKJɐ扵G", - "imagePullPolicy": "û咡W\u003c敄lu|榝$î.Ȏ蝪ʜ5", + "terminationMessagePath": "277", + "terminationMessagePolicy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻", + "imagePullPolicy": "騎C\"6x$1sȣ±p鋄", "securityContext": { "capabilities": { "add": [ - "E埄Ȁ朦 wƯ貾坢'" + "ȹ均i绝5哇芆斩ìh4Ɋ" ], "drop": [ - "aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l" + "Ȗ|ʐşƧ諔迮ƙIJ嘢4" ] }, "privileged": false, "seLinuxOptions": { - "user": "273", - "role": "274", - "type": "275", - "level": "276" + "user": "278", + "role": "279", + "type": "280", + "level": "281" }, "windowsOptions": { - "gmsaCredentialSpecName": "277", - "gmsaCredentialSpec": "278", - "runAsUserName": "279" + "gmsaCredentialSpecName": "282", + "gmsaCredentialSpec": "283", + "runAsUserName": "284" }, - "runAsUser": -2270595441829602368, - "runAsGroup": -2408264753085021035, - "runAsNonRoot": true, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": true, - "procMount": "" - } + "runAsUser": 4288903380102217677, + "runAsGroup": 6618112330449141397, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW" + }, + "stdinOnce": true, + "tty": true } ], "ephemeralContainers": [ { - "name": "280", - "image": "281", + "name": "285", + "image": "286", "command": [ - "282" + "287" ], "args": [ - "283" + "288" ], - "workingDir": "284", + "workingDir": "289", "ports": [ { - "name": "285", - "hostPort": 1868683352, - "containerPort": -1137436579, - "protocol": "颶妧Ö闊", - "hostIP": "286" + "name": "290", + "hostPort": 1651735289, + "containerPort": -860484264, + "protocol": "/", + "hostIP": "291" } ], "envFrom": [ { - "prefix": "287", + "prefix": "292", "configMapRef": { - "name": "288", + "name": "293", "optional": false }, "secretRef": { - "name": "289", - "optional": true + "name": "294", + "optional": false } } ], "env": [ { - "name": "290", - "value": "291", + "name": "295", + "value": "296", "valueFrom": { "fieldRef": { - "apiVersion": "292", - "fieldPath": "293" + "apiVersion": "297", + "fieldPath": "298" }, "resourceFieldRef": { - "containerName": "294", - "resource": "295", - "divisor": "381" + "containerName": "299", + "resource": "300", + "divisor": "942" }, "configMapKeyRef": { - "name": "296", - "key": "297", - "optional": true + "name": "301", + "key": "302", + "optional": false }, "secretKeyRef": { - "name": "298", - "key": "299", + "name": "303", + "key": "304", "optional": false } } @@ -928,242 +948,249 @@ ], "resources": { "limits": { - "²sNƗ¸g": "50" + "ǵ xǨŴ壶ƵfȽÃ": "376" }, "requests": { - "酊龨δ摖ȱğ_\u003c": "118" + "松/Ȁĵ鴁ĩȲǸ|蕎'": "62" } }, + "resourcesAllocated": { + "耗": "948" + }, + "resizePolicy": [ + { + "resourceName": "zŔ瘍", + "policy": "fŭƽ眝{" + } + ], "volumeMounts": [ { - "name": "300", + "name": "305", "readOnly": true, - "mountPath": "301", - "subPath": "302", - "mountPropagation": "ƺ蛜6Ɖ飴ɎiǨź", - "subPathExpr": "303" + "mountPath": "306", + "subPath": "307", + "mountPropagation": "泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ", + "subPathExpr": "308" } ], "volumeDevices": [ { - "name": "304", - "devicePath": "305" + "name": "309", + "devicePath": "310" } ], "livenessProbe": { "exec": { "command": [ - "306" + "311" ] }, "httpGet": { - "path": "307", - "port": 865289071, - "host": "308", - "scheme": "iɥ嵐sC8", + "path": "312", + "port": 1467189105, + "host": "313", + "scheme": "Ik(dŊiɢzĮ蛋I", "httpHeaders": [ { - "name": "309", - "value": "310" + "name": "314", + "value": "315" } ] }, "tcpSocket": { - "port": -898536659, - "host": "311" + "port": "316", + "host": "317" }, - "initialDelaySeconds": -1513284745, - "timeoutSeconds": 1258370227, - "periodSeconds": -414121491, - "successThreshold": -1862764022, - "failureThreshold": -300247800 + "initialDelaySeconds": 571693619, + "timeoutSeconds": 1643238856, + "periodSeconds": -2028546276, + "successThreshold": -2128305760, + "failureThreshold": 1605974497 }, "readinessProbe": { "exec": { "command": [ - "312" + "318" ] }, "httpGet": { - "path": "313", - "port": 323903711, - "host": "314", - "scheme": "J", + "path": "319", + "port": "320", + "host": "321", "httpHeaders": [ { - "name": "315", - "value": "316" + "name": "322", + "value": "323" } ] }, "tcpSocket": { - "port": "317", - "host": "318" + "port": "324", + "host": "325" }, - "initialDelaySeconds": 657418949, - "timeoutSeconds": -992558278, - "periodSeconds": 287654902, - "successThreshold": -2062708879, - "failureThreshold": 215186711 + "initialDelaySeconds": -39322833, + "timeoutSeconds": -1994834134, + "periodSeconds": -1088996269, + "successThreshold": -1922458514, + "failureThreshold": 1480364858 }, "startupProbe": { "exec": { "command": [ - "319" + "326" ] }, "httpGet": { - "path": "320", - "port": -1117254382, - "host": "321", - "scheme": "趐囨鏻砅邻爥蹔ŧOǨ", + "path": "327", + "port": 797714018, + "host": "328", + "scheme": "vÄÚ×", "httpHeaders": [ { - "name": "322", - "value": "323" + "name": "329", + "value": "330" } ] }, "tcpSocket": { - "port": "324", - "host": "325" + "port": "331", + "host": "332" }, - "initialDelaySeconds": 2129989022, - "timeoutSeconds": -1699531929, - "periodSeconds": 1311843384, - "successThreshold": -1292310438, - "failureThreshold": 1502643091 + "initialDelaySeconds": -1074130726, + "timeoutSeconds": -1410049445, + "periodSeconds": 1673908530, + "successThreshold": 1526585713, + "failureThreshold": -1894647727 }, "lifecycle": { "postStart": { "exec": { "command": [ - "326" + "333" ] }, "httpGet": { - "path": "327", - "port": "328", - "host": "329", - "scheme": "幩šeSvEȤƏ埮pɵ", + "path": "334", + "port": -1819021257, + "host": "335", "httpHeaders": [ { - "name": "330", - "value": "331" + "name": "336", + "value": "337" } ] }, "tcpSocket": { - "port": "332", - "host": "333" + "port": "338", + "host": "339" } }, "preStop": { "exec": { "command": [ - "334" + "340" ] }, "httpGet": { - "path": "335", - "port": "336", - "host": "337", - "scheme": "ş", + "path": "341", + "port": -297065907, + "host": "342", "httpHeaders": [ { - "name": "338", - "value": "339" + "name": "343", + "value": "344" } ] }, "tcpSocket": { - "port": "340", - "host": "341" + "port": -606614374, + "host": "345" } } }, - "terminationMessagePath": "342", - "terminationMessagePolicy": "迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ", - "imagePullPolicy": "ņ", + "terminationMessagePath": "346", + "terminationMessagePolicy": "¶熀ďJZ漤", + "imagePullPolicy": "×銵-紑浘牬釼aTGÒ", "securityContext": { "capabilities": { "add": [ - "DŽ髐njʉBn(fǂǢ曣" + "3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶" ], "drop": [ - "ay" + "筇ȟP" ] }, "privileged": false, "seLinuxOptions": { - "user": "343", - "role": "344", - "type": "345", - "level": "346" + "user": "347", + "role": "348", + "type": "349", + "level": "350" }, "windowsOptions": { - "gmsaCredentialSpecName": "347", - "gmsaCredentialSpec": "348", - "runAsUserName": "349" + "gmsaCredentialSpecName": "351", + "gmsaCredentialSpec": "352", + "runAsUserName": "353" }, - "runAsUser": 1958157659034146020, - "runAsGroup": -5996624450771474158, + "runAsUser": 9190722809908066307, + "runAsGroup": -4730722259797329205, "runAsNonRoot": false, - "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "嗆u" + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "$#卛8ð仁Q" }, - "tty": true, - "targetContainerName": "350" + "stdinOnce": true, + "targetContainerName": "354" } ], - "restartPolicy": "T[", - "terminationGracePeriodSeconds": -2738603156841903595, - "activeDeadlineSeconds": -8619192438821356882, - "dnsPolicy": "Ƶf", + "restartPolicy": "ij\\", + "terminationGracePeriodSeconds": -1414426440459237657, + "activeDeadlineSeconds": -4586727952777801515, + "dnsPolicy": "1'鸔ɧWǘ炙B餸硷张q", "nodeSelector": { - "351": "352" + "355": "356" }, - "serviceAccountName": "353", - "serviceAccount": "354", - "automountServiceAccountToken": false, - "nodeName": "355", + "serviceAccountName": "357", + "serviceAccount": "358", + "automountServiceAccountToken": true, + "nodeName": "359", "hostNetwork": true, - "shareProcessNamespace": false, + "hostPID": true, + "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "356", - "role": "357", - "type": "358", - "level": "359" + "user": "360", + "role": "361", + "type": "362", + "level": "363" }, "windowsOptions": { - "gmsaCredentialSpecName": "360", - "gmsaCredentialSpec": "361", - "runAsUserName": "362" + "gmsaCredentialSpecName": "364", + "gmsaCredentialSpec": "365", + "runAsUserName": "366" }, - "runAsUser": -2781126825051715248, - "runAsGroup": -801152248124332545, + "runAsUser": -3984053182430357055, + "runAsGroup": -2395251357645039412, "runAsNonRoot": true, "supplementalGroups": [ - 5255171395073905944 + 1086777894996369636 ], - "fsGroup": 760480547754807445, + "fsGroup": 3692436074658758199, "sysctls": [ { - "name": "363", - "value": "364" + "name": "367", + "value": "368" } ], - "fsGroupChangePolicy": "Ņ#耗Ǚ(" + "fsGroupChangePolicy": "穜姰l咑耖p^鏋蛹Ƚȿ" }, "imagePullSecrets": [ { - "name": "365" + "name": "369" } ], - "hostname": "366", - "subdomain": "367", + "hostname": "370", + "subdomain": "371", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1171,19 +1198,19 @@ { "matchExpressions": [ { - "key": "368", - "operator": "", + "key": "372", + "operator": "ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ", "values": [ - "369" + "373" ] } ], "matchFields": [ { - "key": "370", - "operator": "ƽ眝{æ盪泙", + "key": "374", + "operator": "", "values": [ - "371" + "375" ] } ] @@ -1192,23 +1219,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 646133945, + "weight": 168484477, "preference": { "matchExpressions": [ { - "key": "372", - "operator": "}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊", + "key": "376", + "operator": "揀.e鍃G昧牱fsǕT衩k", "values": [ - "373" + "377" ] } ], "matchFields": [ { - "key": "374", - "operator": "ʨIk(dŊiɢzĮ蛋I滞", + "key": "378", + "operator": "W歹s梊ɥʋăƻ", "values": [ - "375" + "379" ] } ] @@ -1221,43 +1248,43 @@ { "labelSelector": { "matchLabels": { - "3.csh-3--Z1Tvw39FC": "rtSY.g._2F7.-_e..Or_-.3OHgt._6" + "f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8": "w.-m_0-m-6Sp_N-S7" }, "matchExpressions": [ { - "key": "V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd", - "operator": "Exists" + "key": "7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q", + "operator": "In", + "values": [ + "oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n" + ] } ] }, "namespaces": [ - "382" + "386" ], - "topologyKey": "383" + "topologyKey": "387" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -855547676, + "weight": 2140620940, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y": "f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5" + "8--f31-0-2j/K-.O--5-ypq": "9GE.B" }, "matchExpressions": [ { - "key": "8.--w0_1V7", - "operator": "In", - "values": [ - "7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8" - ] + "key": "u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "390" + "394" ], - "topologyKey": "391" + "topologyKey": "395" } } ] @@ -1267,106 +1294,103 @@ { "labelSelector": { "matchLabels": { - "4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33": "17ca-_p-y.eQZ9p_1" + "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" }, "matchExpressions": [ { - "key": "yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81", + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", "operator": "DoesNotExist" } ] }, "namespaces": [ - "398" + "402" ], - "topologyKey": "399" + "topologyKey": "403" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 808399187, + "weight": -481276923, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2": "CpS__.39g_.--_-_ve5.m_2_--XZx" + "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "39-A_-_l67Q.-_r", + "operator": "Exists" } ] }, "namespaces": [ - "406" + "410" ], - "topologyKey": "407" + "topologyKey": "411" } } ] } }, - "schedulerName": "408", + "schedulerName": "412", "tolerations": [ { - "key": "409", - "operator": "ƹ|", - "value": "410", - "effect": "料ȭzV镜籬ƽ", - "tolerationSeconds": 935587338391120947 + "key": "413", + "operator": "査Z綶ĀRġ磸", + "value": "414", + "effect": "`ȗ\u003c8^翜T蘈", + "tolerationSeconds": 563892352146095619 } ], "hostAliases": [ { - "ip": "411", + "ip": "415", "hostnames": [ - "412" + "416" ] } ], - "priorityClassName": "413", - "priority": 1690570439, + "priorityClassName": "417", + "priority": -413167112, "dnsConfig": { "nameservers": [ - "414" + "418" ], "searches": [ - "415" + "419" ], "options": [ { - "name": "416", - "value": "417" + "name": "420", + "value": "421" } ] }, "readinessGates": [ { - "conditionType": "梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳" + "conditionType": "÷閂抰^窄CǙķ" } ], - "runtimeClassName": "418", - "enableServiceLinks": true, - "preemptionPolicy": "eáNRNJ丧鴻Ŀ", + "runtimeClassName": "422", + "enableServiceLinks": false, + "preemptionPolicy": "I梞ū筀", "overhead": { - "癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö": "607" + "莏ŹZ槇鿖]": "643" }, "topologySpreadConstraints": [ { - "maxSkew": -137402083, - "topologyKey": "419", - "whenUnsatisfiable": "Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥", + "maxSkew": -1404859721, + "topologyKey": "423", + "whenUnsatisfiable": "Ɖ虼/h毂", "labelSelector": { "matchLabels": { - "E--pT751": "mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X" + "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" }, "matchExpressions": [ { - "key": "qW", - "operator": "In", - "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" - ] + "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", + "operator": "DoesNotExist" } ] } @@ -1376,36 +1400,37 @@ } }, "strategy": { - "type": "ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ", + "type": ":犾ȩ纾SȞ+½剎惃ȳTʬ戱P", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": 696654600, - "revisionHistoryLimit": 407742062, + "minReadySeconds": 980041503, + "revisionHistoryLimit": -590976116, + "paused": true, "rollbackTo": { - "revision": -455484136992029462 + "revision": 2105216558382494434 }, - "progressDeadlineSeconds": -1450995995 + "progressDeadlineSeconds": -170312161 }, "status": { - "observedGeneration": 3883700826410970519, - "replicas": -449319810, - "updatedReplicas": 2063260600, - "readyReplicas": -729742317, - "availableReplicas": 294718341, - "unavailableReplicas": 867742020, + "observedGeneration": -6658302625584815411, + "replicas": -1229024305, + "updatedReplicas": 1052537448, + "readyReplicas": 68097840, + "availableReplicas": 1445092865, + "unavailableReplicas": 2078154240, "conditions": [ { - "type": "昞财Î嘝zʄ!ć惍Bi攵\u0026ý\"ʀ", + "type": "oPWkÄ", "status": "", - "lastUpdateTime": "2042-08-25T05:10:04Z", - "lastTransitionTime": "2097-04-15T07:29:40Z", - "reason": "426", - "message": "427" + "lastUpdateTime": "2533-10-23T17:42:37Z", + "lastTransitionTime": "2185-01-29T11:26:44Z", + "reason": "430", + "message": "431" } ], - "collisionCount": -2071091268 + "collisionCount": -1740014701 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb index f018c3adf39e1..a768b94dbd144 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml index 0096c4e5a8c86..fbec96b1e926f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml @@ -30,12 +30,13 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: 696654600 - progressDeadlineSeconds: -1450995995 + minReadySeconds: 980041503 + paused: true + progressDeadlineSeconds: -170312161 replicas: 896585016 - revisionHistoryLimit: 407742062 + revisionHistoryLimit: -590976116 rollbackTo: - revision: -455484136992029462 + revision: 2105216558382494434 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -46,7 +47,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ + type: :犾ȩ纾SȞ+½剎惃ȳTʬ戱P template: metadata: annotations: @@ -78,446 +79,457 @@ spec: selfLink: "28" uid: ?Qȫş spec: - activeDeadlineSeconds: -8619192438821356882 + activeDeadlineSeconds: -4586727952777801515 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "372" - operator: '}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ眽炊' + - key: "376" + operator: 揀.e鍃G昧牱fsǕT衩k values: - - "373" + - "377" matchFields: - - key: "374" - operator: ʨIk(dŊiɢzĮ蛋I滞 + - key: "378" + operator: W歹s梊ɥʋăƻ values: - - "375" - weight: 646133945 + - "379" + weight: 168484477 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "368" - operator: "" + - key: "372" + operator: ɸĻo:{柯?B俋¬h`職铳s44矕Ƈ values: - - "369" + - "373" matchFields: - - key: "370" - operator: ƽ眝{æ盪泙 + - key: "374" + operator: "" values: - - "371" + - "375" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 8.--w0_1V7 - operator: In - values: - - 7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_8 + - key: u7p--3zm-lx300w-tj-35840-w4g-27-8/5v3aUK_--_o_2.t + operator: DoesNotExist matchLabels: - w--162-gk2-99v22.g-65m8-1x129-9d8-s7-t7--336-11k9-8609a-e0--1----v8-4--558n1asz5/BD8.TS-jJ.Ys_Mop34_y: f_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J5 + 8--f31-0-2j/K-.O--5-ypq: 9GE.B namespaces: - - "390" - topologyKey: "391" - weight: -855547676 + - "394" + topologyKey: "395" + weight: 2140620940 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: V.-tfh4.caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-Pd - operator: Exists + - key: 7.6-1.S-B3_.b17ca-_p-y.eQZ9p_6.C.-e16-O_Q + operator: In + values: + - oE9_6.--v17r__.2bIZ___._6..tf-_u-3-n matchLabels: - 3.csh-3--Z1Tvw39FC: rtSY.g._2F7.-_e..Or_-.3OHgt._6 + ? f5039780bdw0-1-47rrw8-5ts-7-b-p-5-0.2ga-v205p-26-u5wg-gb8a-6-80-4-6849--w-0-24u9/e0R_.Z__Lv8_.O_..8n.--z_-..6W.VK.sTt.-U_--56-.7D.3_KPg___KA8 + : w.-m_0-m-6Sp_N-S7 namespaces: - - "382" - topologyKey: "383" + - "386" + topologyKey: "387" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf - operator: DoesNotExist + - key: 39-A_-_l67Q.-_r + operator: Exists matchLabels: - 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2: CpS__.39g_.--_-_ve5.m_2_--XZx + L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP namespaces: - - "406" - topologyKey: "407" - weight: 808399187 + - "410" + topologyKey: "411" + weight: -481276923 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: yp8q-sf1--gw-jz-659--0l-023bm-6l2e5---k5v3a---9/tA.W5_-5_.V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W81 + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr operator: DoesNotExist matchLabels: - 4-m_0-m-6Sp_N-S..O-BZ..6-1.S-B33: 17ca-_p-y.eQZ9p_1 + G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c namespaces: - - "398" - topologyKey: "399" - automountServiceAccountToken: false + - "402" + topologyKey: "403" + automountServiceAccountToken: true containers: - args: - - "216" + - "219" command: - - "215" + - "218" env: - - name: "223" - value: "224" + - name: "226" + value: "227" valueFrom: configMapKeyRef: - key: "230" - name: "229" - optional: true + key: "233" + name: "232" + optional: false fieldRef: - apiVersion: "225" - fieldPath: "226" + apiVersion: "228" + fieldPath: "229" resourceFieldRef: - containerName: "227" - divisor: "595" - resource: "228" + containerName: "230" + divisor: "142" + resource: "231" secretKeyRef: - key: "232" - name: "231" + key: "235" + name: "234" optional: false envFrom: - configMapRef: - name: "221" + name: "224" optional: false - prefix: "220" + prefix: "223" secretRef: - name: "222" + name: "225" optional: false - image: "214" - imagePullPolicy: û咡W<敄lu|榝$î.Ȏ蝪ʜ5 + image: "217" + imagePullPolicy: 騎C"6x$1sȣ±p鋄 lifecycle: postStart: exec: command: - - "258" + - "263" httpGet: - host: "261" + host: "265" httpHeaders: - - name: "262" - value: "263" - path: "259" - port: "260" + - name: "266" + value: "267" + path: "264" + port: 1510449965 + scheme: 贯澔 ƺ蛜6Ɖ飴ɎiǨź tcpSocket: - host: "264" - port: 1943028037 + host: "268" + port: -1453143878 preStop: exec: command: - - "265" + - "269" httpGet: - host: "267" + host: "272" httpHeaders: - - name: "268" - value: "269" - path: "266" - port: -1355476687 - scheme: -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ + - name: "273" + value: "274" + path: "270" + port: "271" + scheme: ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻 tcpSocket: - host: "271" - port: "270" + host: "276" + port: "275" livenessProbe: exec: command: - - "239" - failureThreshold: -1213051101 + - "242" + failureThreshold: 1165327504 httpGet: - host: "241" + host: "244" httpHeaders: - - name: "242" - value: "243" - path: "240" - port: -1654678802 - scheme: 毋 - initialDelaySeconds: -775511009 - periodSeconds: -228822833 - successThreshold: -970312425 + - name: "245" + value: "246" + path: "243" + port: 834105836 + scheme: 朦 wƯ貾坢'跩 + initialDelaySeconds: -1717997927 + periodSeconds: 656200799 + successThreshold: 1513425349 tcpSocket: - host: "244" - port: 391562775 - timeoutSeconds: -832805508 - name: "213" + host: "248" + port: "247" + timeoutSeconds: 1533365989 + name: "216" ports: - - containerPort: -775325416 - hostIP: "219" - hostPort: 62799871 - name: "218" - protocol: t莭琽§ć\ ïì + - containerPort: -1543701088 + hostIP: "222" + hostPort: -859135545 + name: "221" + protocol: 矡ȶ网棊ʢ=wǕɳɷ9Ì崟¿ readinessProbe: exec: command: - - "245" - failureThreshold: 571739592 + - "249" + failureThreshold: -367153801 httpGet: - host: "247" + host: "251" httpHeaders: - - name: "248" - value: "249" - path: "246" - port: -1905643191 - scheme: Ǖɳɷ9Ì崟¿瘦ɖ緕 - initialDelaySeconds: 852780575 - periodSeconds: 893823156 - successThreshold: -1980314709 + - name: "252" + value: "253" + path: "250" + port: -518330919 + scheme: NKƙ順\E¦队偯J僳徥淳4揻-$ + initialDelaySeconds: 348370746 + periodSeconds: 1909548849 + successThreshold: 1492642476 tcpSocket: - host: "251" - port: "250" - timeoutSeconds: -1252938503 + host: "254" + port: 1235694147 + timeoutSeconds: 468369166 + resizePolicy: + - policy: ē鐭#嬀ơŸ8T 苧yñKJɐ + resourceName: t叀碧闳ȩr嚧ʣq埄 resources: limits: - N粕擓ƖHVe熼: "334" + ǩ: "957" requests: - 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶: "388" + Ɔȓ蹣ɐǛv+8Ƥ熪: "951" + resourcesAllocated: + o啛更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ: "486" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - E埄Ȁ朦 wƯ貾坢' + - ȹ均i绝5哇芆斩ìh4Ɋ drop: - - aŕ翑0展}硐庰%皧V垾现葢ŵ橨鬶l + - Ȗ|ʐşƧ諔迮ƙIJ嘢4 privileged: false - procMount: "" - readOnlyRootFilesystem: true - runAsGroup: -2408264753085021035 - runAsNonRoot: true - runAsUser: -2270595441829602368 + procMount: ďW賁Ěɭɪǹ0衷,ƷƣMț譎懚XW + readOnlyRootFilesystem: false + runAsGroup: 6618112330449141397 + runAsNonRoot: false + runAsUser: 4288903380102217677 seLinuxOptions: - level: "276" - role: "274" - type: "275" - user: "273" + level: "281" + role: "279" + type: "280" + user: "278" windowsOptions: - gmsaCredentialSpec: "278" - gmsaCredentialSpecName: "277" - runAsUserName: "279" + gmsaCredentialSpec: "283" + gmsaCredentialSpecName: "282" + runAsUserName: "284" startupProbe: exec: command: - - "252" - failureThreshold: -1008070934 + - "255" + failureThreshold: 217380320 httpGet: - host: "254" + host: "258" httpHeaders: - - name: "255" - value: "256" - path: "253" - port: -1334110502 - scheme: ȓ蹣ɐǛv+8Ƥ熪军 - initialDelaySeconds: 410611837 - periodSeconds: 972978563 - successThreshold: 17771103 + - name: "259" + value: "260" + path: "256" + port: "257" + scheme: 鰔澝qV訆ƎżŧL²sNƗ¸ + initialDelaySeconds: 1952226778 + periodSeconds: 1186392166 + successThreshold: 725793326 tcpSocket: - host: "257" - port: 622267234 - timeoutSeconds: 809006670 - terminationMessagePath: "272" - terminationMessagePolicy: T 苧yñKJɐ扵G + host: "262" + port: "261" + timeoutSeconds: -1468297794 + stdinOnce: true + terminationMessagePath: "277" + terminationMessagePolicy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + tty: true volumeDevices: - - devicePath: "238" - name: "237" + - devicePath: "241" + name: "240" volumeMounts: - - mountPath: "234" - mountPropagation: 癃8鸖 - name: "233" - readOnly: true - subPath: "235" - subPathExpr: "236" - workingDir: "217" + - mountPath: "237" + mountPropagation: ƚ绤fʀļ腩墺Ò媁荭gw忊|E剒蔞 + name: "236" + subPath: "238" + subPathExpr: "239" + workingDir: "220" dnsConfig: nameservers: - - "414" + - "418" options: - - name: "416" - value: "417" + - name: "420" + value: "421" searches: - - "415" - dnsPolicy: Ƶf - enableServiceLinks: true + - "419" + dnsPolicy: 1'鸔ɧWǘ炙B餸硷张q + enableServiceLinks: false ephemeralContainers: - args: - - "283" + - "288" command: - - "282" + - "287" env: - - name: "290" - value: "291" + - name: "295" + value: "296" valueFrom: configMapKeyRef: - key: "297" - name: "296" - optional: true + key: "302" + name: "301" + optional: false fieldRef: - apiVersion: "292" - fieldPath: "293" + apiVersion: "297" + fieldPath: "298" resourceFieldRef: - containerName: "294" - divisor: "381" - resource: "295" + containerName: "299" + divisor: "942" + resource: "300" secretKeyRef: - key: "299" - name: "298" + key: "304" + name: "303" optional: false envFrom: - configMapRef: - name: "288" + name: "293" optional: false - prefix: "287" + prefix: "292" secretRef: - name: "289" - optional: true - image: "281" - imagePullPolicy: ņ + name: "294" + optional: false + image: "286" + imagePullPolicy: ×銵-紑浘牬釼aTGÒ lifecycle: postStart: exec: command: - - "326" + - "333" httpGet: - host: "329" + host: "335" httpHeaders: - - name: "330" - value: "331" - path: "327" - port: "328" - scheme: 幩šeSvEȤƏ埮pɵ + - name: "336" + value: "337" + path: "334" + port: -1819021257 tcpSocket: - host: "333" - port: "332" + host: "339" + port: "338" preStop: exec: command: - - "334" + - "340" httpGet: - host: "337" + host: "342" httpHeaders: - - name: "338" - value: "339" - path: "335" - port: "336" - scheme: ş + - name: "343" + value: "344" + path: "341" + port: -297065907 tcpSocket: - host: "341" - port: "340" + host: "345" + port: -606614374 livenessProbe: exec: command: - - "306" - failureThreshold: -300247800 + - "311" + failureThreshold: 1605974497 httpGet: - host: "308" + host: "313" httpHeaders: - - name: "309" - value: "310" - path: "307" - port: 865289071 - scheme: iɥ嵐sC8 - initialDelaySeconds: -1513284745 - periodSeconds: -414121491 - successThreshold: -1862764022 + - name: "314" + value: "315" + path: "312" + port: 1467189105 + scheme: Ik(dŊiɢzĮ蛋I + initialDelaySeconds: 571693619 + periodSeconds: -2028546276 + successThreshold: -2128305760 tcpSocket: - host: "311" - port: -898536659 - timeoutSeconds: 1258370227 - name: "280" + host: "317" + port: "316" + timeoutSeconds: 1643238856 + name: "285" ports: - - containerPort: -1137436579 - hostIP: "286" - hostPort: 1868683352 - name: "285" - protocol: 颶妧Ö闊 + - containerPort: -860484264 + hostIP: "291" + hostPort: 1651735289 + name: "290" + protocol: / readinessProbe: exec: command: - - "312" - failureThreshold: 215186711 + - "318" + failureThreshold: 1480364858 httpGet: - host: "314" + host: "321" httpHeaders: - - name: "315" - value: "316" - path: "313" - port: 323903711 - scheme: J - initialDelaySeconds: 657418949 - periodSeconds: 287654902 - successThreshold: -2062708879 + - name: "322" + value: "323" + path: "319" + port: "320" + initialDelaySeconds: -39322833 + periodSeconds: -1088996269 + successThreshold: -1922458514 tcpSocket: - host: "318" - port: "317" - timeoutSeconds: -992558278 + host: "325" + port: "324" + timeoutSeconds: -1994834134 + resizePolicy: + - policy: fŭƽ眝{ + resourceName: zŔ瘍 resources: limits: - ²sNƗ¸g: "50" + ǵ xǨŴ壶ƵfȽÃ: "376" requests: - 酊龨δ摖ȱğ_<: "118" + 松/Ȁĵ鴁ĩȲǸ|蕎': "62" + resourcesAllocated: + 耗: "948" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - DŽ髐njʉBn(fǂǢ曣 + - 3Nh×DJɶ羹ƞʓ%ʝ`ǭ躌ñ?卶 drop: - - ay + - 筇ȟP privileged: false - procMount: 嗆u - readOnlyRootFilesystem: true - runAsGroup: -5996624450771474158 + procMount: $#卛8ð仁Q + readOnlyRootFilesystem: false + runAsGroup: -4730722259797329205 runAsNonRoot: false - runAsUser: 1958157659034146020 + runAsUser: 9190722809908066307 seLinuxOptions: - level: "346" - role: "344" - type: "345" - user: "343" + level: "350" + role: "348" + type: "349" + user: "347" windowsOptions: - gmsaCredentialSpec: "348" - gmsaCredentialSpecName: "347" - runAsUserName: "349" + gmsaCredentialSpec: "352" + gmsaCredentialSpecName: "351" + runAsUserName: "353" startupProbe: exec: command: - - "319" - failureThreshold: 1502643091 + - "326" + failureThreshold: -1894647727 httpGet: - host: "321" + host: "328" httpHeaders: - - name: "322" - value: "323" - path: "320" - port: -1117254382 - scheme: 趐囨鏻砅邻爥蹔ŧOǨ - initialDelaySeconds: 2129989022 - periodSeconds: 1311843384 - successThreshold: -1292310438 + - name: "329" + value: "330" + path: "327" + port: 797714018 + scheme: vÄÚ× + initialDelaySeconds: -1074130726 + periodSeconds: 1673908530 + successThreshold: 1526585713 tcpSocket: - host: "325" - port: "324" - timeoutSeconds: -1699531929 - targetContainerName: "350" - terminationMessagePath: "342" - terminationMessagePolicy: 迮ƙIJ嘢4ʗN,丽饾| 鞤ɱďW賁Ěɭ - tty: true + host: "332" + port: "331" + timeoutSeconds: -1410049445 + stdinOnce: true + targetContainerName: "354" + terminationMessagePath: "346" + terminationMessagePolicy: ¶熀ďJZ漤 volumeDevices: - - devicePath: "305" - name: "304" + - devicePath: "310" + name: "309" volumeMounts: - - mountPath: "301" - mountPropagation: ƺ蛜6Ɖ飴ɎiǨź - name: "300" + - mountPath: "306" + mountPropagation: 泙若`l}Ñ蠂Ü[ƛ^輅9ɛ棕ƈ + name: "305" readOnly: true - subPath: "302" - subPathExpr: "303" - workingDir: "284" + subPath: "307" + subPathExpr: "308" + workingDir: "289" hostAliases: - hostnames: - - "412" - ip: "411" + - "416" + ip: "415" hostNetwork: true - hostname: "366" + hostPID: true + hostname: "370" imagePullSecrets: - - name: "365" + - name: "369" initContainers: - args: - "150" @@ -551,58 +563,58 @@ spec: name: "156" optional: true image: "148" - imagePullPolicy: 罁胾^拜Ȍzɟ踡肒Ao/樝fw[Řż丩 + imagePullPolicy: ɺ皚|懥ƖN粕擓ƖHV lifecycle: postStart: exec: command: - - "192" + - "193" httpGet: - host: "194" + host: "196" httpHeaders: - - name: "195" - value: "196" - path: "193" - port: -2015604435 - scheme: jƯĖ漘Z剚敍0) + - name: "197" + value: "198" + path: "194" + port: "195" + scheme: 悖ȩ0Ƹ[Ęİ榌U tcpSocket: - host: "197" - port: 424236719 + host: "199" + port: -187060941 preStop: exec: command: - - "198" + - "200" httpGet: - host: "200" + host: "203" httpHeaders: - - name: "201" - value: "202" - path: "199" - port: -1131820775 - scheme: Ƿ裚瓶釆Ɗ+j忊 + - name: "204" + value: "205" + path: "201" + port: "202" + scheme: 熷谟þ蛯ɰ荶ljʁ揆ɘȌ脾嚏吐ĠLƐȤ tcpSocket: - host: "204" - port: "203" + host: "207" + port: "206" livenessProbe: exec: command: - "173" - failureThreshold: -1113628381 + failureThreshold: -1891134534 httpGet: host: "175" httpHeaders: - name: "176" value: "177" path: "174" - port: -152585895 - scheme: E@Ȗs«ö - initialDelaySeconds: 1843758068 - periodSeconds: 1702578303 - successThreshold: -1565157256 + port: -270045321 + scheme: ¤7djƯĖ漘Z剚敍0)鈼¬ + initialDelaySeconds: -840997104 + periodSeconds: 1170649416 + successThreshold: 893619181 tcpSocket: - host: "178" - port: 1135182169 - timeoutSeconds: -1967469005 + host: "179" + port: "178" + timeoutSeconds: -648954478 name: "147" ports: - containerPort: 1403721475 @@ -613,141 +625,144 @@ spec: readinessProbe: exec: command: - - "179" - failureThreshold: -1167888910 + - "180" + failureThreshold: 1912934380 httpGet: - host: "181" + host: "182" httpHeaders: - - name: "182" - value: "183" - path: "180" - port: 386652373 - scheme: ʙ嫙& - initialDelaySeconds: -802585193 - periodSeconds: 1944205014 - successThreshold: -2079582559 + - name: "183" + value: "184" + path: "181" + port: -1549755975 + scheme: j忊Ŗȫ焗捏ĨFħ + initialDelaySeconds: -674091068 + periodSeconds: -495373547 + successThreshold: -163839428 tcpSocket: host: "185" - port: "184" - timeoutSeconds: 1901330124 + port: -1018741501 + timeoutSeconds: -2061678740 + resizePolicy: + - policy: 靇C'ɵK.Q貇£ȹ嫰ƹǔw÷nI + resourceName: ɨǙÄr蛏豈ɃH resources: limits: "": "84" requests: ɖȃ賲鐅臬dH巧壚tC十Oɢ: "517" + resourcesAllocated: + ÄȻȊ+?ƭ峧Y栲茇竛吲蚛隖<ǶĬ4: "614" securityContext: allowPrivilegeEscalation: false capabilities: add: - - "" + - '''' drop: - - ŻʘY賃ɪ鐊瀑Ź9ǕLLȊɞ-uƻ悖ȩ + - D剂讼ɓȌʟni酛3ƁÀ* privileged: false - procMount: $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫 - readOnlyRootFilesystem: true - runAsGroup: -8419423421380299597 - runAsNonRoot: false - runAsUser: -6576869501326512452 + procMount: ɱJȉ罴 + readOnlyRootFilesystem: false + runAsGroup: -1689173322096612726 + runAsNonRoot: true + runAsUser: 998876704495005296 seLinuxOptions: - level: "209" - role: "207" - type: "208" - user: "206" + level: "212" + role: "210" + type: "211" + user: "209" windowsOptions: - gmsaCredentialSpec: "211" - gmsaCredentialSpecName: "210" - runAsUserName: "212" + gmsaCredentialSpec: "214" + gmsaCredentialSpecName: "213" + runAsUserName: "215" startupProbe: exec: command: - "186" - failureThreshold: 208045354 + failureThreshold: 2040455355 httpGet: - host: "188" + host: "189" httpHeaders: - - name: "189" - value: "190" + - name: "190" + value: "191" path: "187" - port: 804417065 - scheme: Ŵ廷s{Ⱦdz@ - initialDelaySeconds: 632397602 - periodSeconds: -730174220 - successThreshold: 433084615 + port: "188" + scheme: fw[Řż丩ŽoǠŻʘY賃ɪ鐊 + initialDelaySeconds: 364078113 + periodSeconds: 828173251 + successThreshold: -394397948 tcpSocket: - host: "191" - port: 406308963 - timeoutSeconds: 2026784878 - terminationMessagePath: "205" - terminationMessagePolicy: 焗捏 + host: "192" + port: 88483549 + timeoutSeconds: -181693648 + stdin: true + terminationMessagePath: "208" + terminationMessagePolicy: .v-鿧悮坮Ȣ幟ļ腻ŬƩȿ0矀 tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: "" + mountPropagation: 煹 name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "355" + nodeName: "359" nodeSelector: - "351": "352" + "355": "356" overhead: - 癜鞤A馱z芀¿l磶Bb偃礳Ȭ痍脉PPö: "607" - preemptionPolicy: eáNRNJ丧鴻Ŀ - priority: 1690570439 - priorityClassName: "413" + 莏ŹZ槇鿖]: "643" + preemptionPolicy: I梞ū筀 + priority: -413167112 + priorityClassName: "417" readinessGates: - - conditionType: 梑ʀŖ鱓;鹡鑓侅闍ŏŃŋŏ}ŀ姳 - restartPolicy: T[ - runtimeClassName: "418" - schedulerName: "408" + - conditionType: ÷閂抰^窄CǙķ + restartPolicy: ij\ + runtimeClassName: "422" + schedulerName: "412" securityContext: - fsGroup: 760480547754807445 - fsGroupChangePolicy: Ņ#耗Ǚ( - runAsGroup: -801152248124332545 + fsGroup: 3692436074658758199 + fsGroupChangePolicy: 穜姰l咑耖p^鏋蛹Ƚȿ + runAsGroup: -2395251357645039412 runAsNonRoot: true - runAsUser: -2781126825051715248 + runAsUser: -3984053182430357055 seLinuxOptions: - level: "359" - role: "357" - type: "358" - user: "356" + level: "363" + role: "361" + type: "362" + user: "360" supplementalGroups: - - 5255171395073905944 + - 1086777894996369636 sysctls: - - name: "363" - value: "364" + - name: "367" + value: "368" windowsOptions: - gmsaCredentialSpec: "361" - gmsaCredentialSpecName: "360" - runAsUserName: "362" - serviceAccount: "354" - serviceAccountName: "353" + gmsaCredentialSpec: "365" + gmsaCredentialSpecName: "364" + runAsUserName: "366" + serviceAccount: "358" + serviceAccountName: "357" setHostnameAsFQDN: false - shareProcessNamespace: false - subdomain: "367" - terminationGracePeriodSeconds: -2738603156841903595 + shareProcessNamespace: true + subdomain: "371" + terminationGracePeriodSeconds: -1414426440459237657 tolerations: - - effect: 料ȭzV镜籬ƽ - key: "409" - operator: ƹ| - tolerationSeconds: 935587338391120947 - value: "410" + - effect: '`ȗ<8^翜T蘈' + key: "413" + operator: 査Z綶ĀRġ磸 + tolerationSeconds: 563892352146095619 + value: "414" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: qW - operator: In - values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E + operator: DoesNotExist matchLabels: - E--pT751: mV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..X - maxSkew: -137402083 - topologyKey: "419" - whenUnsatisfiable: Ȩç捌聮ŃŻ@ǮJ=礏ƴ磳藷曥 + dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 + maxSkew: -1404859721 + topologyKey: "423" + whenUnsatisfiable: Ɖ虼/h毂 volumes: - awsElasticBlockStore: fsType: "47" @@ -948,17 +963,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: 294718341 - collisionCount: -2071091268 + availableReplicas: 1445092865 + collisionCount: -1740014701 conditions: - - lastTransitionTime: "2097-04-15T07:29:40Z" - lastUpdateTime: "2042-08-25T05:10:04Z" - message: "427" - reason: "426" + - lastTransitionTime: "2185-01-29T11:26:44Z" + lastUpdateTime: "2533-10-23T17:42:37Z" + message: "431" + reason: "430" status: "" - type: 昞财Î嘝zʄ!ć惍Bi攵&ý"ʀ - observedGeneration: 3883700826410970519 - readyReplicas: -729742317 - replicas: -449319810 - unavailableReplicas: 867742020 - updatedReplicas: 2063260600 + type: oPWkÄ + observedGeneration: -6658302625584815411 + readyReplicas: 68097840 + replicas: -1229024305 + unavailableReplicas: 2078154240 + updatedReplicas: 1052537448 diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json index 092ac6db361dc..4e6994749cb21 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json @@ -439,13 +439,21 @@ "á腿ħ缶.蒅!a坩O`涁İ而踪鄌eÞ": "372" } }, + "resourcesAllocated": { + "栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼": "621" + }, + "resizePolicy": [ + { + "resourceName": "y綸_Ú8參遼ū", + "policy": "+ņ榱*Gưoɘ檲" + } + ], "volumeMounts": [ { "name": "167", - "readOnly": true, "mountPath": "168", "subPath": "169", - "mountPropagation": "dʪīT捘ɍi縱ù墴1Rƥ", + "mountPropagation": "妰黖ȓƇ$缔獵偐ę", "subPathExpr": "170" } ], @@ -465,7 +473,7 @@ "path": "174", "port": "175", "host": "176", - "scheme": "ƴy綸_Ú8參遼ūPH炮", + "scheme": "H=å", "httpHeaders": [ { "name": "177", @@ -477,11 +485,11 @@ "port": "179", "host": "180" }, - "initialDelaySeconds": 741871873, - "timeoutSeconds": 446829537, - "periodSeconds": -1987044888, - "successThreshold": -1638339389, - "failureThreshold": 2053960192 + "initialDelaySeconds": -204658565, + "timeoutSeconds": -498077886, + "periodSeconds": 1592637538, + "successThreshold": -715357874, + "failureThreshold": 815401145 }, "readinessProbe": { "exec": { @@ -491,9 +499,9 @@ }, "httpGet": { "path": "182", - "port": -1903685915, + "port": 290736426, "host": "183", - "scheme": "ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬", + "scheme": "ö", "httpHeaders": [ { "name": "184", @@ -505,11 +513,11 @@ "port": "186", "host": "187" }, - "initialDelaySeconds": 128019484, - "timeoutSeconds": 431781335, - "periodSeconds": -2130554644, - "successThreshold": 290736426, - "failureThreshold": -57352147 + "initialDelaySeconds": 322201525, + "timeoutSeconds": -1784033404, + "periodSeconds": 66472042, + "successThreshold": 2130088978, + "failureThreshold": -1064240304 }, "startupProbe": { "exec": { @@ -519,162 +527,164 @@ }, "httpGet": { "path": "189", - "port": "190", - "host": "191", - "scheme": "閝ȝ", + "port": -566408554, + "host": "190", + "scheme": "劳\u0026¼傭Ȟ1酃=6}ɡŇƉ立", "httpHeaders": [ { - "name": "192", - "value": "193" + "name": "191", + "value": "192" } ] }, "tcpSocket": { - "port": "194", - "host": "195" + "port": -31530684, + "host": "193" }, - "initialDelaySeconds": -2142865739, - "timeoutSeconds": -1179067190, - "periodSeconds": 1434408532, - "successThreshold": -566408554, - "failureThreshold": 1133369651 + "initialDelaySeconds": -1628697284, + "timeoutSeconds": 843845736, + "periodSeconds": 354496320, + "successThreshold": -418887496, + "failureThreshold": -522126070 }, "lifecycle": { "postStart": { "exec": { "command": [ - "196" + "194" ] }, "httpGet": { - "path": "197", - "port": -1327537699, - "host": "198", + "path": "195", + "port": "196", + "host": "197", + "scheme": "n芞QÄȻȊ+?ƭ峧Y栲茇竛", "httpHeaders": [ { - "name": "199", - "value": "200" + "name": "198", + "value": "199" } ] }, "tcpSocket": { - "port": "201", - "host": "202" + "port": -592581809, + "host": "200" } }, "preStop": { "exec": { "command": [ - "203" + "201" ] }, "httpGet": { - "path": "204", - "port": "205", - "host": "206", - "scheme": "ĉş蝿ɖȃ賲鐅臬", + "path": "202", + "port": 1702578303, + "host": "203", + "scheme": "NŬɨǙÄr蛏豈ɃHŠơŴĿ", "httpHeaders": [ { - "name": "207", - "value": "208" + "name": "204", + "value": "205" } ] }, "tcpSocket": { - "port": "209", - "host": "210" + "port": -1047607622, + "host": "206" } } }, - "terminationMessagePath": "211", - "imagePullPolicy": "k_瀹鞎sn芞QÄȻ", + "terminationMessagePath": "207", + "terminationMessagePolicy": "ȉ彂", + "imagePullPolicy": "ȹ嫰ƹǔw÷nI粛E煹ǐƲE", "securityContext": { "capabilities": { "add": [ - "?" + "þŹʣy豎@ɀ羭," ], "drop": [ - "峧Y栲茇竛吲蚛隖" + "OŤǢʭ嵔棂p儼Ƿ裚瓶釆Ɗ+" ] }, "privileged": false, "seLinuxOptions": { - "user": "212", - "role": "213", - "type": "214", - "level": "215" + "user": "208", + "role": "209", + "type": "210", + "level": "211" }, "windowsOptions": { - "gmsaCredentialSpecName": "216", - "gmsaCredentialSpec": "217", - "runAsUserName": "218" + "gmsaCredentialSpecName": "212", + "gmsaCredentialSpec": "213", + "runAsUserName": "214" }, - "runAsUser": 7312518131318481396, - "runAsGroup": -7286288718856494813, + "runAsUser": -739484406984751446, + "runAsGroup": 1898367611285047958, "runAsNonRoot": true, "readOnlyRootFilesystem": false, "allowPrivilegeEscalation": false, - "procMount": "ʙ嫙\u0026" + "procMount": "籘Àǒɿʒ刽ʼn" }, "stdin": true, - "stdinOnce": true + "tty": true } ], "containers": [ { - "name": "219", - "image": "220", + "name": "215", + "image": "216", "command": [ - "221" + "217" ], "args": [ - "222" + "218" ], - "workingDir": "223", + "workingDir": "219", "ports": [ { - "name": "224", - "hostPort": 1944205014, - "containerPort": -2079582559, - "protocol": "K.Q貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲ", - "hostIP": "225" + "name": "220", + "hostPort": 622473257, + "containerPort": -966649167, + "protocol": "eLJèux榜VƋZ", + "hostIP": "221" } ], "envFrom": [ { - "prefix": "226", + "prefix": "222", "configMapRef": { - "name": "227", + "name": "223", "optional": true }, "secretRef": { - "name": "228", - "optional": false + "name": "224", + "optional": true } } ], "env": [ { - "name": "229", - "value": "230", + "name": "225", + "value": "226", "valueFrom": { "fieldRef": { - "apiVersion": "231", - "fieldPath": "232" + "apiVersion": "227", + "fieldPath": "228" }, "resourceFieldRef": { - "containerName": "233", - "resource": "234", - "divisor": "901" + "containerName": "229", + "resource": "230", + "divisor": "700" }, "configMapKeyRef": { - "name": "235", - "key": "236", - "optional": false + "name": "231", + "key": "232", + "optional": true }, "secretKeyRef": { - "name": "237", - "key": "238", + "name": "233", + "key": "234", "optional": false } } @@ -682,247 +692,258 @@ ], "resources": { "limits": { - "羭,铻OŤǢʭ嵔": "340" + "騀呣ǎfǣ萭旿@掇lNdǂ\u003e": "44" }, "requests": { - "TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜": "755" + "$MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫": "130" } }, + "resourcesAllocated": { + "Ȥ藠3.": "540" + }, + "resizePolicy": [ + { + "resourceName": "莭琽§ć\\ ïì«丯Ƙ枛牐ɺ", + "policy": "瘴I\\p[ħsĨɆâĺɗ" + } + ], "volumeMounts": [ { - "name": "239", - "mountPath": "240", - "subPath": "241", - "mountPropagation": "ʒ刽ʼn掏1ſ盷褎weLJèux榜", - "subPathExpr": "242" + "name": "235", + "readOnly": true, + "mountPath": "236", + "subPath": "237", + "mountPropagation": "S晒嶗UÐ_ƮA攤", + "subPathExpr": "238" } ], "volumeDevices": [ { - "name": "243", - "devicePath": "244" + "name": "239", + "devicePath": "240" } ], "livenessProbe": { "exec": { "command": [ - "245" + "241" ] }, "httpGet": { - "path": "246", - "port": "247", - "host": "248", - "scheme": "賃ɪ鐊瀑Ź9ǕLLȊ", + "path": "242", + "port": -670390306, + "host": "243", + "scheme": "\u003c鴒翁杙Ŧ癃8鸖ɱJȉ罴", "httpHeaders": [ { - "name": "249", - "value": "250" + "name": "244", + "value": "245" } ] }, "tcpSocket": { - "port": -26910286, - "host": "251" + "port": 1033766276, + "host": "246" }, - "initialDelaySeconds": 1214895765, - "timeoutSeconds": 1181519543, - "periodSeconds": 282592353, - "successThreshold": 377225334, - "failureThreshold": -1191434089 + "initialDelaySeconds": -1745509819, + "timeoutSeconds": -859135545, + "periodSeconds": -1543701088, + "successThreshold": 513341278, + "failureThreshold": 627713162 }, "readinessProbe": { "exec": { "command": [ - "252" + "247" ] }, "httpGet": { - "path": "253", - "port": "254", - "host": "255", + "path": "248", + "port": 267768240, + "host": "249", + "scheme": "ʎȺ眖R#", "httpHeaders": [ { - "name": "256", - "value": "257" + "name": "250", + "value": "251" } ] }, "tcpSocket": { - "port": "258", - "host": "259" + "port": "252", + "host": "253" }, - "initialDelaySeconds": -839281354, - "timeoutSeconds": 2035347577, - "periodSeconds": -819723498, - "successThreshold": -150133456, - "failureThreshold": 1507815593 + "initialDelaySeconds": -200461294, + "timeoutSeconds": -1791206950, + "periodSeconds": 1160477220, + "successThreshold": 1226391571, + "failureThreshold": 1477910551 }, "startupProbe": { "exec": { "command": [ - "260" + "254" ] }, "httpGet": { - "path": "261", - "port": 1684643131, - "host": "262", - "scheme": "飣奺Ȋ礶惇¸", + "path": "255", + "port": "256", + "host": "257", + "scheme": "跦Opwǩ曬逴褜1", "httpHeaders": [ { - "name": "263", - "value": "264" + "name": "258", + "value": "259" } ] }, "tcpSocket": { - "port": "265", - "host": "266" + "port": -1801140031, + "host": "260" }, - "initialDelaySeconds": -161753937, - "timeoutSeconds": -1578746609, - "periodSeconds": 1428207963, - "successThreshold": 790462391, - "failureThreshold": -822090785 + "initialDelaySeconds": -589000495, + "timeoutSeconds": -955773237, + "periodSeconds": 561988938, + "successThreshold": 1419770315, + "failureThreshold": 300356869 }, "lifecycle": { "postStart": { "exec": { "command": [ - "267" + "261" ] }, "httpGet": { - "path": "268", - "port": -421846800, - "host": "269", - "scheme": "zvt莭琽§", + "path": "262", + "port": "263", + "host": "264", + "scheme": "更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ", "httpHeaders": [ { - "name": "270", - "value": "271" + "name": "265", + "value": "266" } ] }, "tcpSocket": { - "port": -763687725, - "host": "272" + "port": 467291328, + "host": "267" } }, "preStop": { "exec": { "command": [ - "273" + "268" ] }, "httpGet": { - "path": "274", - "port": -1452676801, - "host": "275", - "scheme": "ȿ0矀Kʝ", + "path": "269", + "port": -434820661, + "host": "270", + "scheme": "r嚧", "httpHeaders": [ { - "name": "276", - "value": "277" + "name": "271", + "value": "272" } ] }, "tcpSocket": { - "port": "278", - "host": "279" + "port": 453108839, + "host": "273" } } }, - "terminationMessagePath": "280", - "terminationMessagePolicy": "\\p[", - "imagePullPolicy": "擓ƖHVe熼'FD剂讼ɓȌʟni酛", + "terminationMessagePath": "274", + "terminationMessagePolicy": "趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L*", + "imagePullPolicy": "Gƚ绤fʀļ腩墺Ò媁荭gw", "securityContext": { "capabilities": { "add": [ - "À*f\u003c鴒翁杙Ŧ癃8" + "E剒蔞" ], "drop": [ - "ɱJȉ罴" + "表徶đ寳议Ƭƶ氩Ȩ\u003c6鄰簳°Ļǟi\u0026皥" ] }, "privileged": false, "seLinuxOptions": { - "user": "281", - "role": "282", - "type": "283", - "level": "284" + "user": "275", + "role": "276", + "type": "277", + "level": "278" }, "windowsOptions": { - "gmsaCredentialSpecName": "285", - "gmsaCredentialSpec": "286", - "runAsUserName": "287" + "gmsaCredentialSpecName": "279", + "gmsaCredentialSpec": "280", + "runAsUserName": "281" }, - "runAsUser": -2706913289057230267, - "runAsGroup": -3689959065086680033, - "runAsNonRoot": false, - "readOnlyRootFilesystem": false, - "allowPrivilegeEscalation": true, - "procMount": "棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅" + "runAsUser": -3342656999442156006, + "runAsGroup": -5569844914519516591, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ" }, - "stdinOnce": true + "tty": true } ], "ephemeralContainers": [ { - "name": "288", - "image": "289", + "name": "282", + "image": "283", "command": [ - "290" + "284" ], "args": [ - "291" + "285" ], - "workingDir": "292", + "workingDir": "286", "ports": [ { - "name": "293", - "hostPort": 1853396726, - "containerPort": 1330271338, - "protocol": "逴", - "hostIP": "294" + "name": "287", + "hostPort": -185239148, + "containerPort": -1666319281, + "protocol": "ĠM蘇KŅ/»頸+SÄ蚃", + "hostIP": "288" } ], "envFrom": [ { - "prefix": "295", + "prefix": "289", "configMapRef": { - "name": "296", - "optional": true + "name": "290", + "optional": false }, "secretRef": { - "name": "297", + "name": "291", "optional": true } } ], "env": [ { - "name": "298", - "value": "299", + "name": "292", + "value": "293", "valueFrom": { "fieldRef": { - "apiVersion": "300", - "fieldPath": "301" + "apiVersion": "294", + "fieldPath": "295" }, "resourceFieldRef": { - "containerName": "302", - "resource": "303", - "divisor": "709" + "containerName": "296", + "resource": "297", + "divisor": "340" }, "configMapKeyRef": { - "name": "304", - "key": "305", - "optional": false + "name": "298", + "key": "299", + "optional": true }, "secretKeyRef": { - "name": "306", - "key": "307", + "name": "300", + "key": "301", "optional": false } } @@ -930,241 +951,248 @@ ], "resources": { "limits": { - "颐o": "230" + "_\u003cǬëJ橈'琕鶫:顇ə娯Ȱ": "561" }, "requests": { - "[+扴ȨŮ+朷Ǝ膯ljV": "728" + "ɐ鰥": "461" } }, + "resourcesAllocated": { + "ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻": "23" + }, + "resizePolicy": [ + { + "resourceName": "", + "policy": "h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻" + } + ], "volumeMounts": [ { - "name": "308", - "mountPath": "309", - "subPath": "310", - "mountPropagation": "ŕ-Ɂ圯W:ĸ輦唊#v铿", - "subPathExpr": "311" + "name": "302", + "mountPath": "303", + "subPath": "304", + "mountPropagation": "ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS", + "subPathExpr": "305" } ], "volumeDevices": [ { - "name": "312", - "devicePath": "313" + "name": "306", + "devicePath": "307" } ], "livenessProbe": { "exec": { "command": [ - "314" + "308" ] }, "httpGet": { - "path": "315", - "port": "316", - "host": "317", - "scheme": "屡ʁ", + "path": "309", + "port": 1076497581, + "host": "310", + "scheme": "h4ɊHȖ|ʐ", "httpHeaders": [ { - "name": "318", - "value": "319" + "name": "311", + "value": "312" } ] }, "tcpSocket": { - "port": -1554559634, - "host": "320" + "port": 248533396, + "host": "313" }, - "initialDelaySeconds": 1718241831, - "timeoutSeconds": 550615941, - "periodSeconds": 1180971695, - "successThreshold": -1971944908, - "failureThreshold": 1742259603 + "initialDelaySeconds": -1835677314, + "timeoutSeconds": 199049889, + "periodSeconds": 1947032456, + "successThreshold": 1233904535, + "failureThreshold": -969533986 }, "readinessProbe": { "exec": { "command": [ - "321" + "314" ] }, "httpGet": { - "path": "322", - "port": -1620315711, - "host": "323", - "scheme": "ɐ扵", + "path": "315", + "port": "316", + "host": "317", "httpHeaders": [ { - "name": "324", - "value": "325" + "name": "318", + "value": "319" } ] }, "tcpSocket": { - "port": "326", - "host": "327" + "port": "320", + "host": "321" }, - "initialDelaySeconds": -1358663652, - "timeoutSeconds": 1543146222, - "periodSeconds": -527306221, - "successThreshold": 2098694289, - "failureThreshold": 1150925735 + "initialDelaySeconds": -1408385387, + "timeoutSeconds": -1225881740, + "periodSeconds": 1063054949, + "successThreshold": 172612011, + "failureThreshold": 646449677 }, "startupProbe": { "exec": { "command": [ - "328" + "322" ] }, "httpGet": { - "path": "329", - "port": "330", - "host": "331", - "scheme": "榝$î.Ȏ蝪ʜ5遰", + "path": "323", + "port": 2084371155, + "host": "324", + "scheme": "ɭɪǹ0衷,", "httpHeaders": [ { - "name": "332", - "value": "333" + "name": "325", + "value": "326" } ] }, "tcpSocket": { - "port": -1438286448, - "host": "334" + "port": 1692740191, + "host": "327" }, - "initialDelaySeconds": 834105836, - "timeoutSeconds": -1462219068, - "periodSeconds": -370386363, - "successThreshold": 1714588921, - "failureThreshold": -1246371817 + "initialDelaySeconds": -278396828, + "timeoutSeconds": 1497888778, + "periodSeconds": -1663818120, + "successThreshold": -211480108, + "failureThreshold": -200074798 }, "lifecycle": { "postStart": { "exec": { "command": [ - "335" + "328" ] }, "httpGet": { - "path": "336", - "port": "337", - "host": "338", - "scheme": "跩aŕ翑", + "path": "329", + "port": -302933400, + "host": "330", + "scheme": "眵笭/9崍h趭(娕uE增猍ǵ x", "httpHeaders": [ { - "name": "339", - "value": "340" + "name": "331", + "value": "332" } ] }, "tcpSocket": { - "port": "341", - "host": "342" + "port": "333", + "host": "334" } }, "preStop": { "exec": { "command": [ - "343" + "335" ] }, "httpGet": { - "path": "344", - "port": 1017803158, - "host": "345", - "scheme": "碔", + "path": "336", + "port": 1238925115, + "host": "337", + "scheme": "ɢX鰨松/Ȁĵ", "httpHeaders": [ { - "name": "346", - "value": "347" + "name": "338", + "value": "339" } ] }, "tcpSocket": { - "port": "348", - "host": "349" + "port": "340", + "host": "341" } } }, - "terminationMessagePath": "350", - "terminationMessagePolicy": "Kƙ順\\E¦队偯J僳徥淳4揻-$ɽ丟", - "imagePullPolicy": "拉Œɥ颶妧Ö闊 鰔澝qV訆", + "terminationMessagePath": "342", + "terminationMessagePolicy": "ȲǸ|蕎'佉賞ǧĒzŔ", + "imagePullPolicy": "ùfŭƽ", "securityContext": { "capabilities": { "add": [ - "ŧL²sNƗ¸gĩ餠籲磣Óƿ" + "æ盪泙若`l}Ñ蠂Ü" ], "drop": [ - "\"冓鍓贯澔 ƺ蛜6" + "ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I" ] }, "privileged": false, "seLinuxOptions": { - "user": "351", - "role": "352", - "type": "353", - "level": "354" + "user": "343", + "role": "344", + "type": "345", + "level": "346" }, "windowsOptions": { - "gmsaCredentialSpecName": "355", - "gmsaCredentialSpec": "356", - "runAsUserName": "357" + "gmsaCredentialSpecName": "347", + "gmsaCredentialSpec": "348", + "runAsUserName": "349" }, - "runAsUser": 4353696140684277635, - "runAsGroup": 6057650398488995896, - "runAsNonRoot": true, + "runAsUser": -7474879432414053077, + "runAsGroup": 373025114301996656, + "runAsNonRoot": false, "readOnlyRootFilesystem": true, - "allowPrivilegeEscalation": false, - "procMount": "鰥Z龏´DÒȗ" + "allowPrivilegeEscalation": true, + "procMount": "y竬ʆɞȥ}礤铟怖ý萜Ǖc8" }, - "tty": true, - "targetContainerName": "358" + "targetContainerName": "350" } ], - "restartPolicy": "ɘɢ鬍熖B芭花ª瘡", - "terminationGracePeriodSeconds": 2666412258966278206, - "activeDeadlineSeconds": -8715915045560617563, - "dnsPolicy": "丆", + "restartPolicy": "Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ", + "terminationGracePeriodSeconds": 2424760700494115127, + "activeDeadlineSeconds": 8749598715214557239, "nodeSelector": { - "359": "360" + "351": "352" }, - "serviceAccountName": "361", - "serviceAccount": "362", + "serviceAccountName": "353", + "serviceAccount": "354", "automountServiceAccountToken": false, - "nodeName": "363", - "hostPID": true, + "nodeName": "355", + "hostNetwork": true, + "hostIPC": true, "shareProcessNamespace": true, "securityContext": { "seLinuxOptions": { - "user": "364", - "role": "365", - "type": "366", - "level": "367" + "user": "356", + "role": "357", + "type": "358", + "level": "359" }, "windowsOptions": { - "gmsaCredentialSpecName": "368", - "gmsaCredentialSpec": "369", - "runAsUserName": "370" + "gmsaCredentialSpecName": "360", + "gmsaCredentialSpec": "361", + "runAsUserName": "362" }, - "runAsUser": 2179199799235189619, - "runAsGroup": -779972051078659613, + "runAsUser": -2056599486643434092, + "runAsGroup": -2605388897472681971, "runAsNonRoot": false, "supplementalGroups": [ - -7127205672279904050 + -6171436788982835150 ], - "fsGroup": 7124276984274024394, + "fsGroup": 3252248067742584460, "sysctls": [ { - "name": "371", - "value": "372" + "name": "363", + "value": "364" } ], - "fsGroupChangePolicy": "蹔ŧ" + "fsGroupChangePolicy": "裡×銵-紑浘牬釼" }, "imagePullSecrets": [ { - "name": "373" + "name": "365" } ], - "hostname": "374", - "subdomain": "375", + "hostname": "366", + "subdomain": "367", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { @@ -1172,19 +1200,19 @@ { "matchExpressions": [ { - "key": "376", - "operator": "1sȣ±p鋄5", + "key": "368", + "operator": "槃JŵǤ桒ɴ鉂WJ", "values": [ - "377" + "369" ] } ], "matchFields": [ { - "key": "378", - "operator": "幩šeSvEȤƏ埮pɵ", + "key": "370", + "operator": "ƞʓ%ʝ`ǭ躌", "values": [ - "379" + "371" ] } ] @@ -1193,23 +1221,23 @@ }, "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1449289597, + "weight": -1312249623, "preference": { "matchExpressions": [ { - "key": "380", - "operator": "", + "key": "372", + "operator": "滿筇ȟP:/a殆", "values": [ - "381" + "373" ] } ], "matchFields": [ { - "key": "382", - "operator": "ş", + "key": "374", + "operator": "ȏâ磠", "values": [ - "383" + "375" ] } ] @@ -1222,46 +1250,43 @@ { "labelSelector": { "matchLabels": { - "3---93-2-23/8--21kF-c026.i": "9.M.134-5-.q6H_.--t" + "KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N": "8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf" }, "matchExpressions": [ { - "key": "7U_-m.-P.yP9S--858LI__.8U", - "operator": "NotIn", - "values": [ - "7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m" - ] + "key": "el--F.6", + "operator": "Exists" } ] }, "namespaces": [ - "390" + "382" ], - "topologyKey": "391" + "topologyKey": "383" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -280562323, + "weight": 1038187806, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5": "2w-o.8_WT-M.3_-1y_8DX" + "s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8": "l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D" }, "matchExpressions": [ { - "key": "z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11", - "operator": "NotIn", + "key": "21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u", + "operator": "In", "values": [ - "c-r.E__-.8_e_l2.._8s--7_3x_-J_....7" + "rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4" ] } ] }, "namespaces": [ - "398" + "390" ], - "topologyKey": "399" + "topologyKey": "391" } } ] @@ -1271,108 +1296,108 @@ { "labelSelector": { "matchLabels": { - "mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W": "7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu" + "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X": "3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m" }, "matchExpressions": [ { - "key": "r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b", - "operator": "DoesNotExist" + "key": "Y.39g_.--_-_ve5.m_U", + "operator": "NotIn", + "values": [ + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + ] } ] }, "namespaces": [ - "406" + "398" ], - "topologyKey": "407" + "topologyKey": "399" } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1934575848, + "weight": -1370389893, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV": "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" + "622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4": "3_-_B" }, "matchExpressions": [ { - "key": "7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E", - "operator": "NotIn", - "values": [ - "ZI-_P..w-W_-nE...-V" - ] + "key": "f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU", + "operator": "Exists" } ] }, "namespaces": [ - "414" + "406" ], - "topologyKey": "415" + "topologyKey": "407" } } ] } }, - "schedulerName": "416", + "schedulerName": "408", "tolerations": [ { - "key": "417", - "operator": "ƴ磳藷曥摮Z Ǐg鲅", - "value": "418", - "effect": "癯頯aɴí(Ȟ9\"忕(", - "tolerationSeconds": 3807599400818393626 + "key": "409", + "operator": "Ǒȃ绡\u003e", + "value": "410", + "effect": "鳖üzÁ鍫Ǥ.", + "tolerationSeconds": 715786430081306206 } ], "hostAliases": [ { - "ip": "419", + "ip": "411", "hostnames": [ - "420" + "412" ] } ], - "priorityClassName": "421", - "priority": 1352980996, + "priorityClassName": "413", + "priority": -173761204, "dnsConfig": { "nameservers": [ - "422" + "414" ], "searches": [ - "423" + "415" ], "options": [ { - "name": "424", - "value": "425" + "name": "416", + "value": "417" } ] }, "readinessGates": [ { - "conditionType": "Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ" + "conditionType": "3荾;釋ƽ,ʢ刣ȱǍ" } ], - "runtimeClassName": "426", - "enableServiceLinks": false, - "preemptionPolicy": "鲛ô衞Ɵ鳝稃Ȍ液文?謮", + "runtimeClassName": "418", + "enableServiceLinks": true, + "preemptionPolicy": "縊CkǚŨ镦", "overhead": { - "Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲": "185" + "熴贤r心Ķ餍4": "127" }, "topologySpreadConstraints": [ { - "maxSkew": 547935694, - "topologyKey": "427", - "whenUnsatisfiable": "zŕƧ钖孝0蛮xAǫ\u0026tŧK剛Ʀ", + "maxSkew": -1458287077, + "topologyKey": "419", + "whenUnsatisfiable": "Ŋ)TiD¢ƿ媴h", "labelSelector": { "matchLabels": { - "za42o/Y-YD-Q9_-__..YNFu7Pg-.1": "tE" + "0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7": "" }, "matchExpressions": [ { - "key": "9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs", + "key": "07CY-_dc__G6N-_-o", "operator": "In", "values": [ - "7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I" + "2_D6_.d-n_9n.p.2-.-QwO" ] } ] @@ -1384,18 +1409,18 @@ } }, "status": { - "replicas": 1893057016, - "fullyLabeledReplicas": -2099726885, - "readyReplicas": -928976522, - "availableReplicas": -983106472, - "observedGeneration": 4693783954739913971, + "replicas": -335676228, + "fullyLabeledReplicas": -852640839, + "readyReplicas": 1322487368, + "availableReplicas": -444026457, + "observedGeneration": 5621295720173508467, "conditions": [ { - "type": "×軓鼐嵱宯ÙQ阉(闒ƈƳ萎Ŋ", - "status": "站畦f黹ʩ鹸ɷLȋ", - "lastTransitionTime": "2376-03-18T02:40:44Z", - "reason": "434", - "message": "435" + "type": "sǞÃ+?Ď筌ʨ:ÿ1諘蚿[ĵ", + "status": "Ǐ詁Ȟ鮩ĺJCuɖ", + "lastTransitionTime": "2535-08-03T05:32:32Z", + "reason": "426", + "message": "427" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb index 7ffd677332199..8aac2e83f632f 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml index c6b7ae858f4ca..103d47a6c162c 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml @@ -71,449 +71,457 @@ spec: selfLink: "28" uid: ʬ spec: - activeDeadlineSeconds: -8715915045560617563 + activeDeadlineSeconds: 8749598715214557239 affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - - key: "380" - operator: "" + - key: "372" + operator: 滿筇ȟP:/a殆 values: - - "381" + - "373" matchFields: - - key: "382" - operator: ş + - key: "374" + operator: ȏâ磠 values: - - "383" - weight: -1449289597 + - "375" + weight: -1312249623 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: "376" - operator: 1sȣ±p鋄5 + - key: "368" + operator: 槃JŵǤ桒ɴ鉂WJ values: - - "377" + - "369" matchFields: - - key: "378" - operator: 幩šeSvEȤƏ埮pɵ + - key: "370" + operator: ƞʓ%ʝ`ǭ躌 values: - - "379" + - "371" podAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: z-ufkr-x0u-1meljf-5269893-t-kl35d6--7rs37zzgy3-4----nf---2/D8.TS-jJ.Ys_Mop34_-y.8_38xm-.nx.sEK4.B.__65m8_11 - operator: NotIn + - key: 21ak-tov--xk-gr-4---rv-t-u-4----q-x3w3dn1/AmD-.0AP.-.C_--.F5_x.KNC0-.-m_u + operator: In values: - - c-r.E__-.8_e_l2.._8s--7_3x_-J_....7 + - rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK4 matchLabels: - gt._U.-x_rC9..__-6_k.N-2B_V.-tfh4.caTz5: 2w-o.8_WT-M.3_-1y_8DX + s3.----._4__XOnf_ZN.-_--r.E__-.8_e_l2..8: l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-miJ4x-_D namespaces: - - "398" - topologyKey: "399" - weight: -280562323 + - "390" + topologyKey: "391" + weight: 1038187806 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 7U_-m.-P.yP9S--858LI__.8U - operator: NotIn - values: - - 7-_pP__up.2L_s-o779._-k-5___-Qq..csh-3--Z1Tvw39F_C-rtSY.g._2F7m + - key: el--F.6 + operator: Exists matchLabels: - 3---93-2-23/8--21kF-c026.i: 9.M.134-5-.q6H_.--t + KaI._31-_I-A-_3bz._8M0U1_-__.71-_-9_._X-D---k..1Q7N: 8._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hf namespaces: - - "390" - topologyKey: "391" + - "382" + topologyKey: "383" podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - - key: 7--4_IT_O__3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_.4_E - operator: NotIn - values: - - ZI-_P..w-W_-nE...-V + - key: f-9-w-n-f-x--i--7-nt-27.gg---g/2-_--pT75-.emV__1-wvU + operator: Exists matchLabels: - 72q--m--2k-p---139g-2wt-g-ve55m-27/k5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0__5HG2_5XOAX.gUV: nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 + 622--i--40wv--in-870i/B_3.5h_XC0_-7.-hj-O_8-b6E_--Y_Dp8O_._e_3_4: 3_-_B namespaces: - - "414" - topologyKey: "415" - weight: -1934575848 + - "406" + topologyKey: "407" + weight: -1370389893 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: r-7---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f31-0-9/X1rh-K5y_AzOBW.9oE9_6.--v17r__.b - operator: DoesNotExist + - key: Y.39g_.--_-_ve5.m_U + operator: NotIn + values: + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - mi-4xs-0-5k-67-3p2-t--m-l80--5o1--cp6-5-x4/n-p9.-_0R.-_-W: 7F.pq..--3QC1--L--v_Z--Zg-_4Q__-v_tu + 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_-78o_6Z..11_7X: 3-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-_m namespaces: - - "406" - topologyKey: "407" + - "398" + topologyKey: "399" automountServiceAccountToken: false containers: - args: - - "222" + - "218" command: - - "221" + - "217" env: - - name: "229" - value: "230" + - name: "225" + value: "226" valueFrom: configMapKeyRef: - key: "236" - name: "235" - optional: false + key: "232" + name: "231" + optional: true fieldRef: - apiVersion: "231" - fieldPath: "232" + apiVersion: "227" + fieldPath: "228" resourceFieldRef: - containerName: "233" - divisor: "901" - resource: "234" + containerName: "229" + divisor: "700" + resource: "230" secretKeyRef: - key: "238" - name: "237" + key: "234" + name: "233" optional: false envFrom: - configMapRef: - name: "227" + name: "223" optional: true - prefix: "226" + prefix: "222" secretRef: - name: "228" - optional: false - image: "220" - imagePullPolicy: 擓ƖHVe熼'FD剂讼ɓȌʟni酛 + name: "224" + optional: true + image: "216" + imagePullPolicy: Gƚ绤fʀļ腩墺Ò媁荭gw lifecycle: postStart: exec: command: - - "267" + - "261" httpGet: - host: "269" + host: "264" httpHeaders: - - name: "270" - value: "271" - path: "268" - port: -421846800 - scheme: zvt莭琽§ + - name: "265" + value: "266" + path: "262" + port: "263" + scheme: 更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ tcpSocket: - host: "272" - port: -763687725 + host: "267" + port: 467291328 preStop: exec: command: - - "273" + - "268" httpGet: - host: "275" + host: "270" httpHeaders: - - name: "276" - value: "277" - path: "274" - port: -1452676801 - scheme: ȿ0矀Kʝ + - name: "271" + value: "272" + path: "269" + port: -434820661 + scheme: r嚧 tcpSocket: - host: "279" - port: "278" + host: "273" + port: 453108839 livenessProbe: exec: command: - - "245" - failureThreshold: -1191434089 + - "241" + failureThreshold: 627713162 httpGet: - host: "248" + host: "243" httpHeaders: - - name: "249" - value: "250" - path: "246" - port: "247" - scheme: 賃ɪ鐊瀑Ź9ǕLLȊ - initialDelaySeconds: 1214895765 - periodSeconds: 282592353 - successThreshold: 377225334 + - name: "244" + value: "245" + path: "242" + port: -670390306 + scheme: <鴒翁杙Ŧ癃8鸖ɱJȉ罴 + initialDelaySeconds: -1745509819 + periodSeconds: -1543701088 + successThreshold: 513341278 tcpSocket: - host: "251" - port: -26910286 - timeoutSeconds: 1181519543 - name: "219" + host: "246" + port: 1033766276 + timeoutSeconds: -859135545 + name: "215" ports: - - containerPort: -2079582559 - hostIP: "225" - hostPort: 1944205014 - name: "224" - protocol: K.Q貇£ȹ嫰ƹǔw÷nI粛E煹ǐƲ + - containerPort: -966649167 + hostIP: "221" + hostPort: 622473257 + name: "220" + protocol: eLJèux榜VƋZ readinessProbe: exec: command: - - "252" - failureThreshold: 1507815593 + - "247" + failureThreshold: 1477910551 httpGet: - host: "255" + host: "249" httpHeaders: - - name: "256" - value: "257" - path: "253" - port: "254" - initialDelaySeconds: -839281354 - periodSeconds: -819723498 - successThreshold: -150133456 + - name: "250" + value: "251" + path: "248" + port: 267768240 + scheme: ʎȺ眖R# + initialDelaySeconds: -200461294 + periodSeconds: 1160477220 + successThreshold: 1226391571 tcpSocket: - host: "259" - port: "258" - timeoutSeconds: 2035347577 + host: "253" + port: "252" + timeoutSeconds: -1791206950 + resizePolicy: + - policy: 瘴I\p[ħsĨɆâĺɗ + resourceName: 莭琽§ć\ ïì«丯Ƙ枛牐ɺ resources: limits: - 羭,铻OŤǢʭ嵔: "340" + 騀呣ǎfǣ萭旿@掇lNdǂ>: "44" requests: - TG;邪匾mɩC[ó瓧嫭塓烀罁胾^拜: "755" + $MVȟ@7飣奺Ȋ礶惇¸t颟.鵫ǚ灄鸫: "130" + resourcesAllocated: + Ȥ藠3.: "540" securityContext: - allowPrivilegeEscalation: true + allowPrivilegeEscalation: false capabilities: add: - - À*f<鴒翁杙Ŧ癃8 + - E剒蔞 drop: - - ɱJȉ罴 + - 表徶đ寳议Ƭƶ氩Ȩ<6鄰簳°Ļǟi&皥 privileged: false - procMount: 棊ʢ=wǕɳɷ9Ì崟¿瘦ɖ緕ȚÍ勅 - readOnlyRootFilesystem: false - runAsGroup: -3689959065086680033 - runAsNonRoot: false - runAsUser: -2706913289057230267 + procMount: ¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ + readOnlyRootFilesystem: true + runAsGroup: -5569844914519516591 + runAsNonRoot: true + runAsUser: -3342656999442156006 seLinuxOptions: - level: "284" - role: "282" - type: "283" - user: "281" + level: "278" + role: "276" + type: "277" + user: "275" windowsOptions: - gmsaCredentialSpec: "286" - gmsaCredentialSpecName: "285" - runAsUserName: "287" + gmsaCredentialSpec: "280" + gmsaCredentialSpecName: "279" + runAsUserName: "281" startupProbe: exec: command: - - "260" - failureThreshold: -822090785 + - "254" + failureThreshold: 300356869 httpGet: - host: "262" + host: "257" httpHeaders: - - name: "263" - value: "264" - path: "261" - port: 1684643131 - scheme: 飣奺Ȋ礶惇¸ - initialDelaySeconds: -161753937 - periodSeconds: 1428207963 - successThreshold: 790462391 + - name: "258" + value: "259" + path: "255" + port: "256" + scheme: 跦Opwǩ曬逴褜1 + initialDelaySeconds: -589000495 + periodSeconds: 561988938 + successThreshold: 1419770315 tcpSocket: - host: "266" - port: "265" - timeoutSeconds: -1578746609 - stdinOnce: true - terminationMessagePath: "280" - terminationMessagePolicy: \p[ + host: "260" + port: -1801140031 + timeoutSeconds: -955773237 + terminationMessagePath: "274" + terminationMessagePolicy: 趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L* + tty: true volumeDevices: - - devicePath: "244" - name: "243" - volumeMounts: - - mountPath: "240" - mountPropagation: ʒ刽ʼn掏1ſ盷褎weLJèux榜 + - devicePath: "240" name: "239" - subPath: "241" - subPathExpr: "242" - workingDir: "223" + volumeMounts: + - mountPath: "236" + mountPropagation: S晒嶗UÐ_ƮA攤 + name: "235" + readOnly: true + subPath: "237" + subPathExpr: "238" + workingDir: "219" dnsConfig: nameservers: - - "422" + - "414" options: - - name: "424" - value: "425" + - name: "416" + value: "417" searches: - - "423" - dnsPolicy: 丆 - enableServiceLinks: false + - "415" + enableServiceLinks: true ephemeralContainers: - args: - - "291" + - "285" command: - - "290" + - "284" env: - - name: "298" - value: "299" + - name: "292" + value: "293" valueFrom: configMapKeyRef: - key: "305" - name: "304" - optional: false + key: "299" + name: "298" + optional: true fieldRef: - apiVersion: "300" - fieldPath: "301" + apiVersion: "294" + fieldPath: "295" resourceFieldRef: - containerName: "302" - divisor: "709" - resource: "303" + containerName: "296" + divisor: "340" + resource: "297" secretKeyRef: - key: "307" - name: "306" + key: "301" + name: "300" optional: false envFrom: - configMapRef: - name: "296" - optional: true - prefix: "295" + name: "290" + optional: false + prefix: "289" secretRef: - name: "297" + name: "291" optional: true - image: "289" - imagePullPolicy: 拉Œɥ颶妧Ö闊 鰔澝qV訆 + image: "283" + imagePullPolicy: ùfŭƽ lifecycle: postStart: exec: command: - - "335" + - "328" httpGet: - host: "338" + host: "330" httpHeaders: - - name: "339" - value: "340" - path: "336" - port: "337" - scheme: 跩aŕ翑 + - name: "331" + value: "332" + path: "329" + port: -302933400 + scheme: 眵笭/9崍h趭(娕uE增猍ǵ x tcpSocket: - host: "342" - port: "341" + host: "334" + port: "333" preStop: exec: command: - - "343" + - "335" httpGet: - host: "345" + host: "337" httpHeaders: - - name: "346" - value: "347" - path: "344" - port: 1017803158 - scheme: 碔 + - name: "338" + value: "339" + path: "336" + port: 1238925115 + scheme: ɢX鰨松/Ȁĵ tcpSocket: - host: "349" - port: "348" + host: "341" + port: "340" livenessProbe: exec: command: - - "314" - failureThreshold: 1742259603 + - "308" + failureThreshold: -969533986 httpGet: - host: "317" + host: "310" httpHeaders: - - name: "318" - value: "319" - path: "315" - port: "316" - scheme: 屡ʁ - initialDelaySeconds: 1718241831 - periodSeconds: 1180971695 - successThreshold: -1971944908 + - name: "311" + value: "312" + path: "309" + port: 1076497581 + scheme: h4ɊHȖ|ʐ + initialDelaySeconds: -1835677314 + periodSeconds: 1947032456 + successThreshold: 1233904535 tcpSocket: - host: "320" - port: -1554559634 - timeoutSeconds: 550615941 - name: "288" + host: "313" + port: 248533396 + timeoutSeconds: 199049889 + name: "282" ports: - - containerPort: 1330271338 - hostIP: "294" - hostPort: 1853396726 - name: "293" - protocol: 逴 + - containerPort: -1666319281 + hostIP: "288" + hostPort: -185239148 + name: "287" + protocol: ĠM蘇KŅ/»頸+SÄ蚃 readinessProbe: exec: command: - - "321" - failureThreshold: 1150925735 + - "314" + failureThreshold: 646449677 httpGet: - host: "323" + host: "317" httpHeaders: - - name: "324" - value: "325" - path: "322" - port: -1620315711 - scheme: ɐ扵 - initialDelaySeconds: -1358663652 - periodSeconds: -527306221 - successThreshold: 2098694289 + - name: "318" + value: "319" + path: "315" + port: "316" + initialDelaySeconds: -1408385387 + periodSeconds: 1063054949 + successThreshold: 172612011 tcpSocket: - host: "327" - port: "326" - timeoutSeconds: 1543146222 + host: "321" + port: "320" + timeoutSeconds: -1225881740 + resizePolicy: + - policy: h亏yƕ丆録²Ŏ)/灩聋3趐囨鏻砅邻 + resourceName: "" resources: limits: - 颐o: "230" + _<ǬëJ橈'琕鶫:顇ə娯Ȱ: "561" requests: - '[+扴ȨŮ+朷Ǝ膯ljV': "728" + ɐ鰥: "461" + resourcesAllocated: + ɥ嵐sC8?Ǻ鱎ƙ;Nŕ璻: "23" securityContext: - allowPrivilegeEscalation: false + allowPrivilegeEscalation: true capabilities: add: - - ŧL²sNƗ¸gĩ餠籲磣Óƿ + - æ盪泙若`l}Ñ蠂Ü drop: - - '"冓鍓贯澔 ƺ蛜6' + - ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I privileged: false - procMount: 鰥Z龏´DÒȗ + procMount: y竬ʆɞȥ}礤铟怖ý萜Ǖc8 readOnlyRootFilesystem: true - runAsGroup: 6057650398488995896 - runAsNonRoot: true - runAsUser: 4353696140684277635 + runAsGroup: 373025114301996656 + runAsNonRoot: false + runAsUser: -7474879432414053077 seLinuxOptions: - level: "354" - role: "352" - type: "353" - user: "351" + level: "346" + role: "344" + type: "345" + user: "343" windowsOptions: - gmsaCredentialSpec: "356" - gmsaCredentialSpecName: "355" - runAsUserName: "357" + gmsaCredentialSpec: "348" + gmsaCredentialSpecName: "347" + runAsUserName: "349" startupProbe: exec: command: - - "328" - failureThreshold: -1246371817 + - "322" + failureThreshold: -200074798 httpGet: - host: "331" + host: "324" httpHeaders: - - name: "332" - value: "333" - path: "329" - port: "330" - scheme: 榝$î.Ȏ蝪ʜ5遰 - initialDelaySeconds: 834105836 - periodSeconds: -370386363 - successThreshold: 1714588921 + - name: "325" + value: "326" + path: "323" + port: 2084371155 + scheme: ɭɪǹ0衷, + initialDelaySeconds: -278396828 + periodSeconds: -1663818120 + successThreshold: -211480108 tcpSocket: - host: "334" - port: -1438286448 - timeoutSeconds: -1462219068 - targetContainerName: "358" - terminationMessagePath: "350" - terminationMessagePolicy: Kƙ順\E¦队偯J僳徥淳4揻-$ɽ丟 - tty: true + host: "327" + port: 1692740191 + timeoutSeconds: 1497888778 + targetContainerName: "350" + terminationMessagePath: "342" + terminationMessagePolicy: ȲǸ|蕎'佉賞ǧĒzŔ volumeDevices: - - devicePath: "313" - name: "312" + - devicePath: "307" + name: "306" volumeMounts: - - mountPath: "309" - mountPropagation: ŕ-Ɂ圯W:ĸ輦唊#v铿 - name: "308" - subPath: "310" - subPathExpr: "311" - workingDir: "292" + - mountPath: "303" + mountPropagation: ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩šeS + name: "302" + subPath: "304" + subPathExpr: "305" + workingDir: "286" hostAliases: - hostnames: - - "420" - ip: "419" - hostPID: true - hostname: "374" + - "412" + ip: "411" + hostIPC: true + hostNetwork: true + hostname: "366" imagePullSecrets: - - name: "373" + - name: "365" initContainers: - args: - "150" @@ -547,42 +555,43 @@ spec: name: "156" optional: false image: "148" - imagePullPolicy: k_瀹鞎sn芞QÄȻ + imagePullPolicy: ȹ嫰ƹǔw÷nI粛E煹ǐƲE lifecycle: postStart: exec: command: - - "196" + - "194" httpGet: - host: "198" + host: "197" httpHeaders: - - name: "199" - value: "200" - path: "197" - port: -1327537699 + - name: "198" + value: "199" + path: "195" + port: "196" + scheme: n芞QÄȻȊ+?ƭ峧Y栲茇竛 tcpSocket: - host: "202" - port: "201" + host: "200" + port: -592581809 preStop: exec: command: - - "203" + - "201" httpGet: - host: "206" + host: "203" httpHeaders: - - name: "207" - value: "208" - path: "204" - port: "205" - scheme: ĉş蝿ɖȃ賲鐅臬 + - name: "204" + value: "205" + path: "202" + port: 1702578303 + scheme: NŬɨǙÄr蛏豈ɃHŠơŴĿ tcpSocket: - host: "210" - port: "209" + host: "206" + port: -1047607622 livenessProbe: exec: command: - "173" - failureThreshold: 2053960192 + failureThreshold: 815401145 httpGet: host: "176" httpHeaders: @@ -590,14 +599,14 @@ spec: value: "178" path: "174" port: "175" - scheme: ƴy綸_Ú8參遼ūPH炮 - initialDelaySeconds: 741871873 - periodSeconds: -1987044888 - successThreshold: -1638339389 + scheme: H=å + initialDelaySeconds: -204658565 + periodSeconds: 1592637538 + successThreshold: -715357874 tcpSocket: host: "180" port: "179" - timeoutSeconds: 446829537 + timeoutSeconds: -498077886 name: "147" ports: - containerPort: 715087892 @@ -609,140 +618,145 @@ spec: exec: command: - "181" - failureThreshold: -57352147 + failureThreshold: -1064240304 httpGet: host: "183" httpHeaders: - name: "184" value: "185" path: "182" - port: -1903685915 - scheme: ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬 - initialDelaySeconds: 128019484 - periodSeconds: -2130554644 - successThreshold: 290736426 + port: 290736426 + scheme: ö + initialDelaySeconds: 322201525 + periodSeconds: 66472042 + successThreshold: 2130088978 tcpSocket: host: "187" port: "186" - timeoutSeconds: 431781335 + timeoutSeconds: -1784033404 + resizePolicy: + - policy: +ņ榱*Gưoɘ檲 + resourceName: y綸_Ú8參遼ū resources: limits: /擇ɦĽ胚O醔ɍ厶耈 T: "618" requests: á腿ħ缶.蒅!a坩O`涁İ而踪鄌eÞ: "372" + resourcesAllocated: + 栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼: "621" securityContext: allowPrivilegeEscalation: false capabilities: add: - - '?' + - þŹʣy豎@ɀ羭, drop: - - 峧Y栲茇竛吲蚛隖 + - OŤǢʭ嵔棂p儼Ƿ裚瓶釆Ɗ+ privileged: false - procMount: ʙ嫙& + procMount: 籘Àǒɿʒ刽ʼn readOnlyRootFilesystem: false - runAsGroup: -7286288718856494813 + runAsGroup: 1898367611285047958 runAsNonRoot: true - runAsUser: 7312518131318481396 + runAsUser: -739484406984751446 seLinuxOptions: - level: "215" - role: "213" - type: "214" - user: "212" + level: "211" + role: "209" + type: "210" + user: "208" windowsOptions: - gmsaCredentialSpec: "217" - gmsaCredentialSpecName: "216" - runAsUserName: "218" + gmsaCredentialSpec: "213" + gmsaCredentialSpecName: "212" + runAsUserName: "214" startupProbe: exec: command: - "188" - failureThreshold: 1133369651 + failureThreshold: -522126070 httpGet: - host: "191" + host: "190" httpHeaders: - - name: "192" - value: "193" + - name: "191" + value: "192" path: "189" - port: "190" - scheme: 閝ȝ - initialDelaySeconds: -2142865739 - periodSeconds: 1434408532 - successThreshold: -566408554 + port: -566408554 + scheme: 劳&¼傭Ȟ1酃=6}ɡŇƉ立 + initialDelaySeconds: -1628697284 + periodSeconds: 354496320 + successThreshold: -418887496 tcpSocket: - host: "195" - port: "194" - timeoutSeconds: -1179067190 + host: "193" + port: -31530684 + timeoutSeconds: 843845736 stdin: true - stdinOnce: true - terminationMessagePath: "211" + terminationMessagePath: "207" + terminationMessagePolicy: ȉ彂 + tty: true volumeDevices: - devicePath: "172" name: "171" volumeMounts: - mountPath: "168" - mountPropagation: dʪīT捘ɍi縱ù墴1Rƥ + mountPropagation: 妰黖ȓƇ$缔獵偐ę name: "167" - readOnly: true subPath: "169" subPathExpr: "170" workingDir: "151" - nodeName: "363" + nodeName: "355" nodeSelector: - "359": "360" + "351": "352" overhead: - Î磣:mʂ渢pɉ驻(+昒ȼȈɍ颬灲: "185" - preemptionPolicy: 鲛ô衞Ɵ鳝稃Ȍ液文?謮 - priority: 1352980996 - priorityClassName: "421" + 熴贤r心Ķ餍4: "127" + preemptionPolicy: 縊CkǚŨ镦 + priority: -173761204 + priorityClassName: "413" readinessGates: - - conditionType: Ɏ嵄箲Ů埞瞔ɏÊ锒e躜ƕ - restartPolicy: ɘɢ鬍熖B芭花ª瘡 - runtimeClassName: "426" - schedulerName: "416" + - conditionType: 3荾;釋ƽ,ʢ刣ȱǍ + restartPolicy: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + runtimeClassName: "418" + schedulerName: "408" securityContext: - fsGroup: 7124276984274024394 - fsGroupChangePolicy: 蹔ŧ - runAsGroup: -779972051078659613 + fsGroup: 3252248067742584460 + fsGroupChangePolicy: 裡×銵-紑浘牬釼 + runAsGroup: -2605388897472681971 runAsNonRoot: false - runAsUser: 2179199799235189619 + runAsUser: -2056599486643434092 seLinuxOptions: - level: "367" - role: "365" - type: "366" - user: "364" + level: "359" + role: "357" + type: "358" + user: "356" supplementalGroups: - - -7127205672279904050 + - -6171436788982835150 sysctls: - - name: "371" - value: "372" + - name: "363" + value: "364" windowsOptions: - gmsaCredentialSpec: "369" - gmsaCredentialSpecName: "368" - runAsUserName: "370" - serviceAccount: "362" - serviceAccountName: "361" + gmsaCredentialSpec: "361" + gmsaCredentialSpecName: "360" + runAsUserName: "362" + serviceAccount: "354" + serviceAccountName: "353" setHostnameAsFQDN: false shareProcessNamespace: true - subdomain: "375" - terminationGracePeriodSeconds: 2666412258966278206 + subdomain: "367" + terminationGracePeriodSeconds: 2424760700494115127 tolerations: - - effect: 癯頯aɴí(Ȟ9"忕( - key: "417" - operator: ƴ磳藷曥摮Z Ǐg鲅 - tolerationSeconds: 3807599400818393626 - value: "418" + - effect: 鳖üzÁ鍫Ǥ. + key: "409" + operator: Ǒȃ绡> + tolerationSeconds: 715786430081306206 + value: "410" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 9-t-4m7a-41-6j4m--4-r4p--w1k8-u.4-2-08vc-u/B_-X__Hs + - key: 07CY-_dc__G6N-_-o operator: In values: - - 7h--m._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2I + - 2_D6_.d-n_9n.p.2-.-QwO matchLabels: - za42o/Y-YD-Q9_-__..YNFu7Pg-.1: tE - maxSkew: 547935694 - topologyKey: "427" - whenUnsatisfiable: zŕƧ钖孝0蛮xAǫ&tŧK剛Ʀ + 0zvoe7-7973b--7-5.p-6---090---2n-8--p--g82--ad/9-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_2G0.-c_C.7: "" + maxSkew: -1458287077 + topologyKey: "419" + whenUnsatisfiable: Ŋ)TiD¢ƿ媴h volumes: - awsElasticBlockStore: fsType: "47" @@ -942,14 +956,14 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -983106472 + availableReplicas: -444026457 conditions: - - lastTransitionTime: "2376-03-18T02:40:44Z" - message: "435" - reason: "434" - status: 站畦f黹ʩ鹸ɷLȋ - type: ×軓鼐嵱宯ÙQ阉(闒ƈƳ萎Ŋ - fullyLabeledReplicas: -2099726885 - observedGeneration: 4693783954739913971 - readyReplicas: -928976522 - replicas: 1893057016 + - lastTransitionTime: "2535-08-03T05:32:32Z" + message: "427" + reason: "426" + status: Ǐ詁Ȟ鮩ĺJCuɖ + type: sǞÃ+?Ď筌ʨ:ÿ1諘蚿[ĵ + fullyLabeledReplicas: -852640839 + observedGeneration: 5621295720173508467 + readyReplicas: 1322487368 + replicas: -335676228 diff --git a/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.json b/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.json new file mode 100644 index 0000000000000..835a8e4c4cf0f --- /dev/null +++ b/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.json @@ -0,0 +1,1500 @@ +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "2", + "generateName": "3", + "namespace": "4", + "selfLink": "5", + "uid": "7", + "resourceVersion": "11042405498087606203", + "generation": 8071137005907523419, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -4955867275792137171, + "labels": { + "7": "8" + }, + "annotations": { + "9": "10" + }, + "ownerReferences": [ + { + "apiVersion": "11", + "kind": "12", + "name": "13", + "uid": "Dz廔ȇ{sŊƏp", + "controller": false, + "blockOwnerDeletion": true + } + ], + "finalizers": [ + "14" + ], + "clusterName": "15", + "managedFields": [ + { + "manager": "16", + "operation": "鐊唊飙Ş-U圴÷a/ɔ}摁(湗Ć]", + "apiVersion": "17", + "fieldsType": "18" + } + ] + }, + "spec": { + "volumes": [ + { + "name": "19", + "hostPath": { + "path": "20", + "type": "Hr鯹)晿\u003co,c鮽ort昍řČ扷5Ɨ" + }, + "emptyDir": { + "medium": "Ƣ6/ʕVŚ(ĿȊ甞", + "sizeLimit": "776" + }, + "gcePersistentDisk": { + "pdName": "21", + "fsType": "22", + "partition": -123438221, + "readOnly": true + }, + "awsElasticBlockStore": { + "volumeID": "23", + "fsType": "24", + "partition": 1001983654 + }, + "gitRepo": { + "repository": "25", + "revision": "26", + "directory": "27" + }, + "secret": { + "secretName": "28", + "items": [ + { + "key": "29", + "path": "30", + "mode": 641368140 + } + ], + "defaultMode": -105188456, + "optional": false + }, + "nfs": { + "server": "31", + "path": "32" + }, + "iscsi": { + "targetPortal": "33", + "iqn": "34", + "lun": -1284694739, + "iscsiInterface": "35", + "fsType": "36", + "portals": [ + "37" + ], + "secretRef": { + "name": "38" + }, + "initiatorName": "39" + }, + "glusterfs": { + "endpoints": "40", + "path": "41" + }, + "persistentVolumeClaim": { + "claimName": "42" + }, + "rbd": { + "monitors": [ + "43" + ], + "image": "44", + "fsType": "45", + "pool": "46", + "user": "47", + "keyring": "48", + "secretRef": { + "name": "49" + }, + "readOnly": true + }, + "flexVolume": { + "driver": "50", + "fsType": "51", + "secretRef": { + "name": "52" + }, + "options": { + "53": "54" + } + }, + "cinder": { + "volumeID": "55", + "fsType": "56", + "readOnly": true, + "secretRef": { + "name": "57" + } + }, + "cephfs": { + "monitors": [ + "58" + ], + "path": "59", + "user": "60", + "secretFile": "61", + "secretRef": { + "name": "62" + } + }, + "flocker": { + "datasetName": "63", + "datasetUUID": "64" + }, + "downwardAPI": { + "items": [ + { + "path": "65", + "fieldRef": { + "apiVersion": "66", + "fieldPath": "67" + }, + "resourceFieldRef": { + "containerName": "68", + "resource": "69", + "divisor": "387" + }, + "mode": -1639873916 + } + ], + "defaultMode": 1246233319 + }, + "fc": { + "targetWWNs": [ + "70" + ], + "lun": -1876826602, + "fsType": "71", + "wwids": [ + "72" + ] + }, + "azureFile": { + "secretName": "73", + "shareName": "74" + }, + "configMap": { + "name": "75", + "items": [ + { + "key": "76", + "path": "77", + "mode": 1392988974 + } + ], + "defaultMode": 172857432, + "optional": true + }, + "vsphereVolume": { + "volumePath": "78", + "fsType": "79", + "storagePolicyName": "80", + "storagePolicyID": "81" + }, + "quobyte": { + "registry": "82", + "volume": "83", + "user": "84", + "group": "85", + "tenant": "86" + }, + "azureDisk": { + "diskName": "87", + "diskURI": "88", + "cachingMode": "ƕP喂ƈ", + "fsType": "89", + "readOnly": false, + "kind": "" + }, + "photonPersistentDisk": { + "pdID": "90", + "fsType": "91" + }, + "projected": { + "sources": [ + { + "secret": { + "name": "92", + "items": [ + { + "key": "93", + "path": "94", + "mode": 933484239 + } + ], + "optional": false + }, + "downwardAPI": { + "items": [ + { + "path": "95", + "fieldRef": { + "apiVersion": "96", + "fieldPath": "97" + }, + "resourceFieldRef": { + "containerName": "98", + "resource": "99", + "divisor": "188" + }, + "mode": 548013580 + } + ] + }, + "configMap": { + "name": "100", + "items": [ + { + "key": "101", + "path": "102", + "mode": -2014231015 + } + ], + "optional": false + }, + "serviceAccountToken": { + "audience": "103", + "expirationSeconds": 2889002371849040056, + "path": "104" + } + } + ], + "defaultMode": -49513197 + }, + "portworxVolume": { + "volumeID": "105", + "fsType": "106", + "readOnly": true + }, + "scaleIO": { + "gateway": "107", + "system": "108", + "secretRef": { + "name": "109" + }, + "protectionDomain": "110", + "storagePool": "111", + "storageMode": "112", + "volumeName": "113", + "fsType": "114", + "readOnly": true + }, + "storageos": { + "volumeName": "115", + "volumeNamespace": "116", + "fsType": "117", + "secretRef": { + "name": "118" + } + }, + "csi": { + "driver": "119", + "readOnly": true, + "fsType": "120", + "volumeAttributes": { + "121": "122" + }, + "nodePublishSecretRef": { + "name": "123" + } + } + } + ], + "initContainers": [ + { + "name": "124", + "image": "125", + "command": [ + "126" + ], + "args": [ + "127" + ], + "workingDir": "128", + "ports": [ + { + "name": "129", + "hostPort": -2139825026, + "containerPort": -2040518604, + "hostIP": "130" + } + ], + "envFrom": [ + { + "prefix": "131", + "configMapRef": { + "name": "132", + "optional": false + }, + "secretRef": { + "name": "133", + "optional": true + } + } + ], + "env": [ + { + "name": "134", + "value": "135", + "valueFrom": { + "fieldRef": { + "apiVersion": "136", + "fieldPath": "137" + }, + "resourceFieldRef": { + "containerName": "138", + "resource": "139", + "divisor": "637" + }, + "configMapKeyRef": { + "name": "140", + "key": "141", + "optional": false + }, + "secretKeyRef": { + "name": "142", + "key": "143", + "optional": true + } + } + } + ], + "resources": { + "limits": { + "ŨȈ\u003eŅ£趕ã/鈱$-议": "963" + }, + "requests": { + "鄸靇杧ž譋娲瘹ɭȊɚɎ(dɅ囥糷磩窮秳": "781" + } + }, + "volumeMounts": [ + { + "name": "144", + "readOnly": true, + "mountPath": "145", + "subPath": "146", + "mountPropagation": "QZ{ʁgɸ=ǤÆ", + "subPathExpr": "147" + } + ], + "volumeDevices": [ + { + "name": "148", + "devicePath": "149" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "150" + ] + }, + "httpGet": { + "path": "151", + "port": -1123620985, + "host": "152", + "scheme": "l恕ɍȇ廄裭4懙鏮嵒", + "httpHeaders": [ + { + "name": "153", + "value": "154" + } + ] + }, + "tcpSocket": { + "port": "155", + "host": "156" + }, + "initialDelaySeconds": -1177836822, + "timeoutSeconds": 1822289444, + "periodSeconds": 1149075888, + "successThreshold": 1156607667, + "failureThreshold": 990374141 + }, + "readinessProbe": { + "exec": { + "command": [ + "157" + ] + }, + "httpGet": { + "path": "158", + "port": "159", + "host": "160", + "scheme": "Ü郀", + "httpHeaders": [ + { + "name": "161", + "value": "162" + } + ] + }, + "tcpSocket": { + "port": 1184528004, + "host": "163" + }, + "initialDelaySeconds": -144625578, + "timeoutSeconds": -101708658, + "periodSeconds": 694611906, + "successThreshold": -1888506207, + "failureThreshold": -1904823509 + }, + "startupProbe": { + "exec": { + "command": [ + "164" + ] + }, + "httpGet": { + "path": "165", + "port": 1693510057, + "host": "166", + "scheme": "=y钡", + "httpHeaders": [ + { + "name": "167", + "value": "168" + } + ] + }, + "tcpSocket": { + "port": "169", + "host": "170" + }, + "initialDelaySeconds": -529495213, + "timeoutSeconds": 23025317, + "periodSeconds": 1727149457, + "successThreshold": 1407547486, + "failureThreshold": 1247862962 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "171" + ] + }, + "httpGet": { + "path": "172", + "port": "173", + "host": "174", + "scheme": "荎僋bŭDz鯰硰{舁吉蓨", + "httpHeaders": [ + { + "name": "175", + "value": "176" + } + ] + }, + "tcpSocket": { + "port": -662805900, + "host": "177" + } + }, + "preStop": { + "exec": { + "command": [ + "178" + ] + }, + "httpGet": { + "path": "179", + "port": 249891070, + "host": "180", + "scheme": "ɹ7\\弌Þ帺萸Do©Ǿt'容柚ʕIã陫", + "httpHeaders": [ + { + "name": "181", + "value": "182" + } + ] + }, + "tcpSocket": { + "port": 266070687, + "host": "183" + } + } + }, + "terminationMessagePath": "184", + "terminationMessagePolicy": "\")珷\u003cº", + "imagePullPolicy": "TwMȗ礼2ħ籦ö嗏ʑ\u003e季", + "securityContext": { + "capabilities": { + "add": [ + "畬x骀Šĸů湙騘\u0026" + ], + "drop": [ + "川J缮ǚbJ5ʬ" + ] + }, + "privileged": true, + "seLinuxOptions": { + "user": "185", + "role": "186", + "type": "187", + "level": "188" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "189", + "gmsaCredentialSpec": "190", + "runAsUserName": "191" + }, + "runAsUser": 570299180913049309, + "runAsGroup": -7029550403667587439, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "`诫z徃鷢6ȥ啕禗Ǐ2啗塧ȱ蓿彭聡A" + }, + "stdinOnce": true + } + ], + "containers": [ + { + "name": "192", + "image": "193", + "command": [ + "194" + ], + "args": [ + "195" + ], + "workingDir": "196", + "ports": [ + { + "name": "197", + "hostPort": -632157481, + "containerPort": -539733119, + "protocol": "楙¯ĦE勗E", + "hostIP": "198" + } + ], + "envFrom": [ + { + "prefix": "199", + "configMapRef": { + "name": "200", + "optional": false + }, + "secretRef": { + "name": "201", + "optional": true + } + } + ], + "env": [ + { + "name": "202", + "value": "203", + "valueFrom": { + "fieldRef": { + "apiVersion": "204", + "fieldPath": "205" + }, + "resourceFieldRef": { + "containerName": "206", + "resource": "207", + "divisor": "177" + }, + "configMapKeyRef": { + "name": "208", + "key": "209", + "optional": false + }, + "secretKeyRef": { + "name": "210", + "key": "211", + "optional": false + } + } + } + ], + "resources": { + "limits": { + "蓳嗘TʡȂŏ{sǡƟ狩鴈o_": "445" + }, + "requests": { + "ǘ\"^饣Vȿ": "900" + } + }, + "volumeMounts": [ + { + "name": "212", + "mountPath": "213", + "subPath": "214", + "mountPropagation": "怳冘HǺƶȤ^}穠C]躢|)黰eȪ嵛4", + "subPathExpr": "215" + } + ], + "volumeDevices": [ + { + "name": "216", + "devicePath": "217" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "218" + ] + }, + "httpGet": { + "path": "219", + "port": -144591150, + "host": "220", + "scheme": "ƛƟ)ÙæNǚ錯ƶRquA?瞲Ť倱\u003c", + "httpHeaders": [ + { + "name": "221", + "value": "222" + } + ] + }, + "tcpSocket": { + "port": "223", + "host": "224" + }, + "initialDelaySeconds": 1288053477, + "timeoutSeconds": -163325250, + "periodSeconds": 1607133856, + "successThreshold": 1891896870, + "failureThreshold": -1321131665 + }, + "readinessProbe": { + "exec": { + "command": [ + "225" + ] + }, + "httpGet": { + "path": "226", + "port": "227", + "host": "228", + "scheme": "0åȂ町恰nj揠8lj", + "httpHeaders": [ + { + "name": "229", + "value": "230" + } + ] + }, + "tcpSocket": { + "port": -2049272966, + "host": "231" + }, + "initialDelaySeconds": -1188153605, + "timeoutSeconds": -427769948, + "periodSeconds": 912004803, + "successThreshold": -2098817064, + "failureThreshold": 1231820696 + }, + "startupProbe": { + "exec": { + "command": [ + "232" + ] + }, + "httpGet": { + "path": "233", + "port": "234", + "host": "235", + "httpHeaders": [ + { + "name": "236", + "value": "237" + } + ] + }, + "tcpSocket": { + "port": 675406340, + "host": "238" + }, + "initialDelaySeconds": 994527057, + "timeoutSeconds": -1482763519, + "periodSeconds": -1346458591, + "successThreshold": 1234551517, + "failureThreshold": -1618937335 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "239" + ] + }, + "httpGet": { + "path": "240", + "port": "241", + "host": "242", + "scheme": "%:;栍dʪīT捘ɍi", + "httpHeaders": [ + { + "name": "243", + "value": "244" + } + ] + }, + "tcpSocket": { + "port": "245", + "host": "246" + } + }, + "preStop": { + "exec": { + "command": [ + "247" + ] + }, + "httpGet": { + "path": "248", + "port": -1171060347, + "host": "249", + "scheme": "咻痗ȡmƴy綸_Ú8參遼ūPH炮掊°", + "httpHeaders": [ + { + "name": "250", + "value": "251" + } + ] + }, + "tcpSocket": { + "port": "252", + "host": "253" + } + } + }, + "terminationMessagePath": "254", + "terminationMessagePolicy": "閼咎櫸eʔŊ", + "imagePullPolicy": "ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬", + "securityContext": { + "capabilities": { + "add": [ + "瓼猀2:öY鶪5w垁鷌辪" + ], + "drop": [ + "U珝Żwʮ馜üNșƶ4ĩĉ" + ] + }, + "privileged": false, + "seLinuxOptions": { + "user": "255", + "role": "256", + "type": "257", + "level": "258" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "259", + "gmsaCredentialSpec": "260", + "runAsUserName": "261" + }, + "runAsUser": -4642229086806245627, + "runAsGroup": 6165457529064596376, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "" + }, + "stdinOnce": true, + "tty": true + } + ], + "ephemeralContainers": [ + { + "name": "262", + "image": "263", + "command": [ + "264" + ], + "args": [ + "265" + ], + "workingDir": "266", + "ports": [ + { + "name": "267", + "hostPort": -1703360754, + "containerPort": -1569009987, + "protocol": "ɢǵʭd鲡:贅wE@Ȗs«öʮĀ\u003c", + "hostIP": "268" + } + ], + "envFrom": [ + { + "prefix": "269", + "configMapRef": { + "name": "270", + "optional": true + }, + "secretRef": { + "name": "271", + "optional": false + } + } + ], + "env": [ + { + "name": "272", + "value": "273", + "valueFrom": { + "fieldRef": { + "apiVersion": "274", + "fieldPath": "275" + }, + "resourceFieldRef": { + "containerName": "276", + "resource": "277", + "divisor": "405" + }, + "configMapKeyRef": { + "name": "278", + "key": "279", + "optional": false + }, + "secretKeyRef": { + "name": "280", + "key": "281", + "optional": false + } + } + } + ], + "resources": { + "limits": { + "豈ɃHŠơŴĿǹ_Áȉ彂Ŵ廷": "948" + }, + "requests": { + "": "83" + } + }, + "volumeMounts": [ + { + "name": "282", + "mountPath": "283", + "subPath": "284", + "mountPropagation": "@ùƸʋŀ樺ȃv", + "subPathExpr": "285" + } + ], + "volumeDevices": [ + { + "name": "286", + "devicePath": "287" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "288" + ] + }, + "httpGet": { + "path": "289", + "port": "290", + "host": "291", + "scheme": "Źʣy豎@ɀ羭,铻O", + "httpHeaders": [ + { + "name": "292", + "value": "293" + } + ] + }, + "tcpSocket": { + "port": "294", + "host": "295" + }, + "initialDelaySeconds": 1424053148, + "timeoutSeconds": 747521320, + "periodSeconds": 859639931, + "successThreshold": -1663149700, + "failureThreshold": -1131820775 + }, + "readinessProbe": { + "exec": { + "command": [ + "296" + ] + }, + "httpGet": { + "path": "297", + "port": -1710454086, + "host": "298", + "scheme": "mɩC[ó瓧", + "httpHeaders": [ + { + "name": "299", + "value": "300" + } + ] + }, + "tcpSocket": { + "port": -122979840, + "host": "301" + }, + "initialDelaySeconds": 915577348, + "timeoutSeconds": -590798124, + "periodSeconds": -1386967282, + "successThreshold": -2030286732, + "failureThreshold": -233378149 + }, + "startupProbe": { + "exec": { + "command": [ + "302" + ] + }, + "httpGet": { + "path": "303", + "port": -495373547, + "host": "304", + "scheme": "ʼn掏1ſ盷褎weLJ", + "httpHeaders": [ + { + "name": "305", + "value": "306" + } + ] + }, + "tcpSocket": { + "port": "307", + "host": "308" + }, + "initialDelaySeconds": -929354164, + "timeoutSeconds": 1972119760, + "periodSeconds": 1582773079, + "successThreshold": -1133499416, + "failureThreshold": 486195690 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "309" + ] + }, + "httpGet": { + "path": "310", + "port": -1589303862, + "host": "311", + "scheme": "ľǎɳ,ǿ飏騀呣ǎ", + "httpHeaders": [ + { + "name": "312", + "value": "313" + } + ] + }, + "tcpSocket": { + "port": "314", + "host": "315" + } + }, + "preStop": { + "exec": { + "command": [ + "316" + ] + }, + "httpGet": { + "path": "317", + "port": "318", + "host": "319", + "scheme": "Ƹ[Ęİ榌U髷裎$MVȟ@7", + "httpHeaders": [ + { + "name": "320", + "value": "321" + } + ] + }, + "tcpSocket": { + "port": "322", + "host": "323" + } + } + }, + "terminationMessagePath": "324", + "terminationMessagePolicy": "Ȋ礶", + "imagePullPolicy": "ʁ揆ɘȌ脾嚏吐ĠLƐ", + "securityContext": { + "capabilities": { + "add": [ + "3.v-鿧悮坮Ȣ" + ], + "drop": [ + "ļ腻ŬƩȿ" + ] + }, + "privileged": false, + "seLinuxOptions": { + "user": "325", + "role": "326", + "type": "327", + "level": "328" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "329", + "gmsaCredentialSpec": "330", + "runAsUserName": "331" + }, + "runAsUser": 9197199583783594492, + "runAsGroup": 241615716805649441, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "ħsĨɆâĺ" + }, + "stdin": true, + "tty": true, + "targetContainerName": "332" + } + ], + "restartPolicy": "倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶", + "terminationGracePeriodSeconds": -1689173322096612726, + "activeDeadlineSeconds": -9052689354742694982, + "dnsPolicy": "8鸖ɱJȉ罴ņ螡źȰ?$矡ȶ网棊ʢ", + "nodeSelector": { + "333": "334" + }, + "serviceAccountName": "335", + "serviceAccount": "336", + "automountServiceAccountToken": false, + "nodeName": "337", + "hostNetwork": true, + "hostPID": true, + "hostIPC": true, + "shareProcessNamespace": false, + "securityContext": { + "seLinuxOptions": { + "user": "338", + "role": "339", + "type": "340", + "level": "341" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "342", + "gmsaCredentialSpec": "343", + "runAsUserName": "344" + }, + "runAsUser": 7525448836100188460, + "runAsGroup": -860974700141841896, + "runAsNonRoot": true, + "supplementalGroups": [ + 7258403424756645907 + ], + "fsGroup": 6347577485454457915, + "sysctls": [ + { + "name": "345", + "value": "346" + } + ] + }, + "imagePullSecrets": [ + { + "name": "347" + } + ], + "hostname": "348", + "subdomain": "349", + "affinity": { + "nodeAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { + "matchExpressions": [ + { + "key": "350", + "operator": "}潷ʒ胵輓Ɔȓ蹣ɐǛv+8Ƥ熪军g\u003e", + "values": [ + "351" + ] + } + ], + "matchFields": [ + { + "key": "352", + "operator": "偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ圯W", + "values": [ + "353" + ] + } + ] + } + ] + }, + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -1418092595, + "preference": { + "matchExpressions": [ + { + "key": "354", + "operator": "唊#v铿", + "values": [ + "355" + ] + } + ], + "matchFields": [ + { + "key": "356", + "operator": "埄趛", + "values": [ + "357" + ] + } + ] + } + } + ] + }, + "podAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchLabels": { + "zo--4-1-2s39--6---fv--m-8--72-bca4m56au3f---tx-8----2d-4u-d7sn/48Y.q.0-_1-F.h-__k_K5._..O_.J_-G_--V-42E_--o90G_A6": "9_.5vN5.25aWx.2aM214_.-N_g-..__._____K_g1cXfr.4_.-_-_-...1y" + }, + "matchExpressions": [ + { + "key": "8x.2K_2qu_0S-CqW.D_8--21kF-c026.-iTl.1-.T", + "operator": "NotIn", + "values": [ + "H.I3.__-.u" + ] + } + ] + }, + "namespaces": [ + "364" + ], + "topologyKey": "365" + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -819013491, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "x_-a__0-8-.M-.-.-8v-J1zET_..3dCv3j._.-_pP__up2": "Ns-o779._-k5" + }, + "matchExpressions": [ + { + "key": "9d4i-m7---k8235--8--c83-4b-9-1o8w-4/4csh-3--Z1Tvw39F_C-rtSY.g._2F7.-_e..Or_-.3OHgt._U.-x_rC9.D", + "operator": "NotIn", + "values": [ + "G31-_I-A-_3bz._8M0U1_-__.71-_-9_.X" + ] + } + ] + }, + "namespaces": [ + "372" + ], + "topologyKey": "373" + } + } + ] + }, + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchLabels": { + "xm-.nx.sEK4.B.__65m8_x": "29_.-.Ms7_t.P_3..H..k9M86.9a_-0R1" + }, + "matchExpressions": [ + { + "key": "v8_.O_..8n.--z_-..6W.K", + "operator": "Exists" + } + ] + }, + "namespaces": [ + "380" + ], + "topologyKey": "381" + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -168773629, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "x-3/6-.7D.3_KPgL": "d._.Um.-__k.5" + }, + "matchExpressions": [ + { + "key": "1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C", + "operator": "In", + "values": [ + "p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw" + ] + } + ] + }, + "namespaces": [ + "388" + ], + "topologyKey": "389" + } + } + ] + } + }, + "schedulerName": "390", + "tolerations": [ + { + "key": "391", + "operator": "栣险¹贮獘薟8Mĕ霉", + "value": "392", + "effect": "ŪǗȦɆ悼j蛑q", + "tolerationSeconds": 4375148957048018073 + } + ], + "hostAliases": [ + { + "ip": "393", + "hostnames": [ + "394" + ] + } + ], + "priorityClassName": "395", + "priority": -1286809305, + "dnsConfig": { + "nameservers": [ + "396" + ], + "searches": [ + "397" + ], + "options": [ + { + "name": "398", + "value": "399" + } + ] + }, + "readinessGates": [ + { + "conditionType": "ųŎ群E牬庘颮6(|ǖû" + } + ], + "runtimeClassName": "400", + "enableServiceLinks": false, + "preemptionPolicy": "怨彬ɈNƋl塠傫ü", + "overhead": { + "ɮ6)": "299" + }, + "topologySpreadConstraints": [ + { + "maxSkew": -554557703, + "topologyKey": "401", + "whenUnsatisfiable": "¹t骳ɰɰUʜʔŜ0¢", + "labelSelector": { + "matchLabels": { + "o--5r-v-5-e-m78o-6-s.4-7--i1-8miw-7a-2408m-0--5--2-5----00/l_.23--_l": "b-L7.-__-G_2kCpS__.3g" + }, + "matchExpressions": [ + { + "key": "nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A", + "operator": "In", + "values": [ + "7M7y-Dy__3wc.q.8_00.0_._.-_L-__bf_9_-C-Pfx" + ] + } + ] + } + } + ] + }, + "status": { + "phase": "ș", + "conditions": [ + { + "type": "ļė[BN柌ë娒汙查o*Ĵ麻齔試", + "status": "昒", + "lastProbeTime": "2756-02-27T11:08:58Z", + "lastTransitionTime": "2296-12-01T04:10:44Z", + "reason": "408", + "message": "409" + } + ], + "message": "410", + "reason": "411", + "nominatedNodeName": "412", + "hostIP": "413", + "podIP": "414", + "podIPs": [ + { + "ip": "415" + } + ], + "initContainerStatuses": [ + { + "name": "416", + "state": { + "waiting": { + "reason": "417", + "message": "418" + }, + "running": { + "startedAt": "1972-12-08T08:30:11Z" + }, + "terminated": { + "exitCode": -1817503524, + "signal": 1558801645, + "reason": "419", + "message": "420", + "startedAt": "2746-03-08T01:39:40Z", + "finishedAt": "2341-12-07T04:14:17Z", + "containerID": "421" + } + }, + "lastState": { + "waiting": { + "reason": "422", + "message": "423" + }, + "running": { + "startedAt": "2329-01-28T22:43:42Z" + }, + "terminated": { + "exitCode": -545370104, + "signal": 1235883803, + "reason": "424", + "message": "425", + "startedAt": "2419-03-20T05:43:22Z", + "finishedAt": "2821-07-19T11:49:26Z", + "containerID": "426" + } + }, + "ready": true, + "restartCount": -810338968, + "image": "427", + "imageID": "428", + "containerID": "429", + "started": false, + "resources": { + + } + } + ], + "containerStatuses": [ + { + "name": "430", + "state": { + "waiting": { + "reason": "431", + "message": "432" + }, + "running": { + "startedAt": "2403-04-11T00:06:43Z" + }, + "terminated": { + "exitCode": -173761204, + "signal": 332998836, + "reason": "433", + "message": "434", + "startedAt": "2196-05-31T08:51:58Z", + "finishedAt": "2580-08-27T04:54:10Z", + "containerID": "435" + } + }, + "lastState": { + "waiting": { + "reason": "436", + "message": "437" + }, + "running": { + "startedAt": "2878-09-11T10:26:17Z" + }, + "terminated": { + "exitCode": -1569123121, + "signal": 199195373, + "reason": "438", + "message": "439", + "startedAt": "2873-01-20T06:54:43Z", + "finishedAt": "2454-07-07T22:08:36Z", + "containerID": "440" + } + }, + "ready": false, + "restartCount": 568619460, + "image": "441", + "imageID": "442", + "containerID": "443", + "started": false, + "resources": { + + } + } + ], + "qosClass": "刣ȱǍ;ġ縊CkǚŨ", + "ephemeralContainerStatuses": [ + { + "name": "444", + "state": { + "waiting": { + "reason": "445", + "message": "446" + }, + "running": { + "startedAt": "2807-07-11T05:23:59Z" + }, + "terminated": { + "exitCode": -496491540, + "signal": -1067633812, + "reason": "447", + "message": "448", + "startedAt": "2536-08-25T03:52:32Z", + "finishedAt": "2142-06-11T22:09:32Z", + "containerID": "449" + } + }, + "lastState": { + "waiting": { + "reason": "450", + "message": "451" + }, + "running": { + "startedAt": "2890-09-01T10:48:08Z" + }, + "terminated": { + "exitCode": 233999136, + "signal": 1701016188, + "reason": "452", + "message": "453", + "startedAt": "2420-06-19T09:33:57Z", + "finishedAt": "2387-07-09T16:21:33Z", + "containerID": "454" + } + }, + "ready": false, + "restartCount": 1730285145, + "image": "455", + "imageID": "456", + "containerID": "457", + "started": true, + "resources": { + + } + } + ] + } +} \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.pb b/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.pb index de5c444aeb513..7b4408a161790 100644 Binary files a/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.pb and b/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.pb differ diff --git a/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.yaml b/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.yaml new file mode 100644 index 0000000000000..00ac76a7b8556 --- /dev/null +++ b/staging/src/k8s.io/api/testdata/v1.17.0/core.v1.Pod.after_roundtrip.yaml @@ -0,0 +1,1029 @@ +apiVersion: v1 +kind: Pod +metadata: + annotations: + "9": "10" + clusterName: "15" + creationTimestamp: null + deletionGracePeriodSeconds: -4955867275792137171 + finalizers: + - "14" + generateName: "3" + generation: 8071137005907523419 + labels: + "7": "8" + managedFields: + - apiVersion: "17" + fieldsType: "18" + manager: "16" + operation: 鐊唊飙Ş-U圴÷a/ɔ}摁(湗Ć] + name: "2" + namespace: "4" + ownerReferences: + - apiVersion: "11" + blockOwnerDeletion: true + controller: false + kind: "12" + name: "13" + uid: Dz廔ȇ{sŊƏp + resourceVersion: "11042405498087606203" + selfLink: "5" + uid: "7" +spec: + activeDeadlineSeconds: -9052689354742694982 + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - preference: + matchExpressions: + - key: "354" + operator: 唊#v铿 + values: + - "355" + matchFields: + - key: "356" + operator: 埄趛 + values: + - "357" + weight: -1418092595 + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "350" + operator: '}潷ʒ胵輓Ɔȓ蹣ɐǛv+8Ƥ熪军g>' + values: + - "351" + matchFields: + - key: "352" + operator: 偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ圯W + values: + - "353" + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: 9d4i-m7---k8235--8--c83-4b-9-1o8w-4/4csh-3--Z1Tvw39F_C-rtSY.g._2F7.-_e..Or_-.3OHgt._U.-x_rC9.D + operator: NotIn + values: + - G31-_I-A-_3bz._8M0U1_-__.71-_-9_.X + matchLabels: + x_-a__0-8-.M-.-.-8v-J1zET_..3dCv3j._.-_pP__up2: Ns-o779._-k5 + namespaces: + - "372" + topologyKey: "373" + weight: -819013491 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: 8x.2K_2qu_0S-CqW.D_8--21kF-c026.-iTl.1-.T + operator: NotIn + values: + - H.I3.__-.u + matchLabels: + zo--4-1-2s39--6---fv--m-8--72-bca4m56au3f---tx-8----2d-4u-d7sn/48Y.q.0-_1-F.h-__k_K5._..O_.J_-G_--V-42E_--o90G_A6: 9_.5vN5.25aWx.2aM214_.-N_g-..__._____K_g1cXfr.4_.-_-_-...1y + namespaces: + - "364" + topologyKey: "365" + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: 1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C + operator: In + values: + - p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw + matchLabels: + x-3/6-.7D.3_KPgL: d._.Um.-__k.5 + namespaces: + - "388" + topologyKey: "389" + weight: -168773629 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: v8_.O_..8n.--z_-..6W.K + operator: Exists + matchLabels: + xm-.nx.sEK4.B.__65m8_x: 29_.-.Ms7_t.P_3..H..k9M86.9a_-0R1 + namespaces: + - "380" + topologyKey: "381" + automountServiceAccountToken: false + containers: + - args: + - "195" + command: + - "194" + env: + - name: "202" + value: "203" + valueFrom: + configMapKeyRef: + key: "209" + name: "208" + optional: false + fieldRef: + apiVersion: "204" + fieldPath: "205" + resourceFieldRef: + containerName: "206" + divisor: "177" + resource: "207" + secretKeyRef: + key: "211" + name: "210" + optional: false + envFrom: + - configMapRef: + name: "200" + optional: false + prefix: "199" + secretRef: + name: "201" + optional: true + image: "193" + imagePullPolicy: ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬 + lifecycle: + postStart: + exec: + command: + - "239" + httpGet: + host: "242" + httpHeaders: + - name: "243" + value: "244" + path: "240" + port: "241" + scheme: '%:;栍dʪīT捘ɍi' + tcpSocket: + host: "246" + port: "245" + preStop: + exec: + command: + - "247" + httpGet: + host: "249" + httpHeaders: + - name: "250" + value: "251" + path: "248" + port: -1171060347 + scheme: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + tcpSocket: + host: "253" + port: "252" + livenessProbe: + exec: + command: + - "218" + failureThreshold: -1321131665 + httpGet: + host: "220" + httpHeaders: + - name: "221" + value: "222" + path: "219" + port: -144591150 + scheme: ƛƟ)ÙæNǚ錯ƶRquA?瞲Ť倱< + initialDelaySeconds: 1288053477 + periodSeconds: 1607133856 + successThreshold: 1891896870 + tcpSocket: + host: "224" + port: "223" + timeoutSeconds: -163325250 + name: "192" + ports: + - containerPort: -539733119 + hostIP: "198" + hostPort: -632157481 + name: "197" + protocol: 楙¯ĦE勗E + readinessProbe: + exec: + command: + - "225" + failureThreshold: 1231820696 + httpGet: + host: "228" + httpHeaders: + - name: "229" + value: "230" + path: "226" + port: "227" + scheme: 0åȂ町恰nj揠8lj + initialDelaySeconds: -1188153605 + periodSeconds: 912004803 + successThreshold: -2098817064 + tcpSocket: + host: "231" + port: -2049272966 + timeoutSeconds: -427769948 + resources: + limits: + 蓳嗘TʡȂŏ{sǡƟ狩鴈o_: "445" + requests: + ǘ"^饣Vȿ: "900" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - 瓼猀2:öY鶪5w垁鷌辪 + drop: + - U珝Żwʮ馜üNșƶ4ĩĉ + privileged: false + procMount: "" + readOnlyRootFilesystem: false + runAsGroup: 6165457529064596376 + runAsNonRoot: false + runAsUser: -4642229086806245627 + seLinuxOptions: + level: "258" + role: "256" + type: "257" + user: "255" + windowsOptions: + gmsaCredentialSpec: "260" + gmsaCredentialSpecName: "259" + runAsUserName: "261" + startupProbe: + exec: + command: + - "232" + failureThreshold: -1618937335 + httpGet: + host: "235" + httpHeaders: + - name: "236" + value: "237" + path: "233" + port: "234" + initialDelaySeconds: 994527057 + periodSeconds: -1346458591 + successThreshold: 1234551517 + tcpSocket: + host: "238" + port: 675406340 + timeoutSeconds: -1482763519 + stdinOnce: true + terminationMessagePath: "254" + terminationMessagePolicy: 閼咎櫸eʔŊ + tty: true + volumeDevices: + - devicePath: "217" + name: "216" + volumeMounts: + - mountPath: "213" + mountPropagation: 怳冘HǺƶȤ^}穠C]躢|)黰eȪ嵛4 + name: "212" + subPath: "214" + subPathExpr: "215" + workingDir: "196" + dnsConfig: + nameservers: + - "396" + options: + - name: "398" + value: "399" + searches: + - "397" + dnsPolicy: 8鸖ɱJȉ罴ņ螡źȰ?$矡ȶ网棊ʢ + enableServiceLinks: false + ephemeralContainers: + - args: + - "265" + command: + - "264" + env: + - name: "272" + value: "273" + valueFrom: + configMapKeyRef: + key: "279" + name: "278" + optional: false + fieldRef: + apiVersion: "274" + fieldPath: "275" + resourceFieldRef: + containerName: "276" + divisor: "405" + resource: "277" + secretKeyRef: + key: "281" + name: "280" + optional: false + envFrom: + - configMapRef: + name: "270" + optional: true + prefix: "269" + secretRef: + name: "271" + optional: false + image: "263" + imagePullPolicy: ʁ揆ɘȌ脾嚏吐ĠLƐ + lifecycle: + postStart: + exec: + command: + - "309" + httpGet: + host: "311" + httpHeaders: + - name: "312" + value: "313" + path: "310" + port: -1589303862 + scheme: ľǎɳ,ǿ飏騀呣ǎ + tcpSocket: + host: "315" + port: "314" + preStop: + exec: + command: + - "316" + httpGet: + host: "319" + httpHeaders: + - name: "320" + value: "321" + path: "317" + port: "318" + scheme: Ƹ[Ęİ榌U髷裎$MVȟ@7 + tcpSocket: + host: "323" + port: "322" + livenessProbe: + exec: + command: + - "288" + failureThreshold: -1131820775 + httpGet: + host: "291" + httpHeaders: + - name: "292" + value: "293" + path: "289" + port: "290" + scheme: Źʣy豎@ɀ羭,铻O + initialDelaySeconds: 1424053148 + periodSeconds: 859639931 + successThreshold: -1663149700 + tcpSocket: + host: "295" + port: "294" + timeoutSeconds: 747521320 + name: "262" + ports: + - containerPort: -1569009987 + hostIP: "268" + hostPort: -1703360754 + name: "267" + protocol: ɢǵʭd鲡:贅wE@Ȗs«öʮĀ< + readinessProbe: + exec: + command: + - "296" + failureThreshold: -233378149 + httpGet: + host: "298" + httpHeaders: + - name: "299" + value: "300" + path: "297" + port: -1710454086 + scheme: mɩC[ó瓧 + initialDelaySeconds: 915577348 + periodSeconds: -1386967282 + successThreshold: -2030286732 + tcpSocket: + host: "301" + port: -122979840 + timeoutSeconds: -590798124 + resources: + limits: + 豈ɃHŠơŴĿǹ_Áȉ彂Ŵ廷: "948" + requests: + "": "83" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - 3.v-鿧悮坮Ȣ + drop: + - ļ腻ŬƩȿ + privileged: false + procMount: ħsĨɆâĺ + readOnlyRootFilesystem: false + runAsGroup: 241615716805649441 + runAsNonRoot: true + runAsUser: 9197199583783594492 + seLinuxOptions: + level: "328" + role: "326" + type: "327" + user: "325" + windowsOptions: + gmsaCredentialSpec: "330" + gmsaCredentialSpecName: "329" + runAsUserName: "331" + startupProbe: + exec: + command: + - "302" + failureThreshold: 486195690 + httpGet: + host: "304" + httpHeaders: + - name: "305" + value: "306" + path: "303" + port: -495373547 + scheme: ʼn掏1ſ盷褎weLJ + initialDelaySeconds: -929354164 + periodSeconds: 1582773079 + successThreshold: -1133499416 + tcpSocket: + host: "308" + port: "307" + timeoutSeconds: 1972119760 + stdin: true + targetContainerName: "332" + terminationMessagePath: "324" + terminationMessagePolicy: Ȋ礶 + tty: true + volumeDevices: + - devicePath: "287" + name: "286" + volumeMounts: + - mountPath: "283" + mountPropagation: '@ùƸʋŀ樺ȃv' + name: "282" + subPath: "284" + subPathExpr: "285" + workingDir: "266" + hostAliases: + - hostnames: + - "394" + ip: "393" + hostIPC: true + hostNetwork: true + hostPID: true + hostname: "348" + imagePullSecrets: + - name: "347" + initContainers: + - args: + - "127" + command: + - "126" + env: + - name: "134" + value: "135" + valueFrom: + configMapKeyRef: + key: "141" + name: "140" + optional: false + fieldRef: + apiVersion: "136" + fieldPath: "137" + resourceFieldRef: + containerName: "138" + divisor: "637" + resource: "139" + secretKeyRef: + key: "143" + name: "142" + optional: true + envFrom: + - configMapRef: + name: "132" + optional: false + prefix: "131" + secretRef: + name: "133" + optional: true + image: "125" + imagePullPolicy: TwMȗ礼2ħ籦ö嗏ʑ>季 + lifecycle: + postStart: + exec: + command: + - "171" + httpGet: + host: "174" + httpHeaders: + - name: "175" + value: "176" + path: "172" + port: "173" + scheme: 荎僋bŭDz鯰硰{舁吉蓨 + tcpSocket: + host: "177" + port: -662805900 + preStop: + exec: + command: + - "178" + httpGet: + host: "180" + httpHeaders: + - name: "181" + value: "182" + path: "179" + port: 249891070 + scheme: ɹ7\弌Þ帺萸Do©Ǿt'容柚ʕIã陫 + tcpSocket: + host: "183" + port: 266070687 + livenessProbe: + exec: + command: + - "150" + failureThreshold: 990374141 + httpGet: + host: "152" + httpHeaders: + - name: "153" + value: "154" + path: "151" + port: -1123620985 + scheme: l恕ɍȇ廄裭4懙鏮嵒 + initialDelaySeconds: -1177836822 + periodSeconds: 1149075888 + successThreshold: 1156607667 + tcpSocket: + host: "156" + port: "155" + timeoutSeconds: 1822289444 + name: "124" + ports: + - containerPort: -2040518604 + hostIP: "130" + hostPort: -2139825026 + name: "129" + readinessProbe: + exec: + command: + - "157" + failureThreshold: -1904823509 + httpGet: + host: "160" + httpHeaders: + - name: "161" + value: "162" + path: "158" + port: "159" + scheme: Ü郀 + initialDelaySeconds: -144625578 + periodSeconds: 694611906 + successThreshold: -1888506207 + tcpSocket: + host: "163" + port: 1184528004 + timeoutSeconds: -101708658 + resources: + limits: + ŨȈ>Ņ£趕ã/鈱$-议: "963" + requests: + 鄸靇杧ž譋娲瘹ɭȊɚɎ(dɅ囥糷磩窮秳: "781" + securityContext: + allowPrivilegeEscalation: true + capabilities: + add: + - 畬x骀Šĸů湙騘& + drop: + - 川J缮ǚbJ5ʬ + privileged: true + procMount: '`诫z徃鷢6ȥ啕禗Ǐ2啗塧ȱ蓿彭聡A' + readOnlyRootFilesystem: false + runAsGroup: -7029550403667587439 + runAsNonRoot: false + runAsUser: 570299180913049309 + seLinuxOptions: + level: "188" + role: "186" + type: "187" + user: "185" + windowsOptions: + gmsaCredentialSpec: "190" + gmsaCredentialSpecName: "189" + runAsUserName: "191" + startupProbe: + exec: + command: + - "164" + failureThreshold: 1247862962 + httpGet: + host: "166" + httpHeaders: + - name: "167" + value: "168" + path: "165" + port: 1693510057 + scheme: =y钡 + initialDelaySeconds: -529495213 + periodSeconds: 1727149457 + successThreshold: 1407547486 + tcpSocket: + host: "170" + port: "169" + timeoutSeconds: 23025317 + stdinOnce: true + terminationMessagePath: "184" + terminationMessagePolicy: '")珷<º' + volumeDevices: + - devicePath: "149" + name: "148" + volumeMounts: + - mountPath: "145" + mountPropagation: QZ{ʁgɸ=ǤÆ + name: "144" + readOnly: true + subPath: "146" + subPathExpr: "147" + workingDir: "128" + nodeName: "337" + nodeSelector: + "333": "334" + overhead: + ɮ6): "299" + preemptionPolicy: 怨彬ɈNƋl塠傫ü + priority: -1286809305 + priorityClassName: "395" + readinessGates: + - conditionType: ųŎ群E牬庘颮6(|ǖû + restartPolicy: 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶 + runtimeClassName: "400" + schedulerName: "390" + securityContext: + fsGroup: 6347577485454457915 + runAsGroup: -860974700141841896 + runAsNonRoot: true + runAsUser: 7525448836100188460 + seLinuxOptions: + level: "341" + role: "339" + type: "340" + user: "338" + supplementalGroups: + - 7258403424756645907 + sysctls: + - name: "345" + value: "346" + windowsOptions: + gmsaCredentialSpec: "343" + gmsaCredentialSpecName: "342" + runAsUserName: "344" + serviceAccount: "336" + serviceAccountName: "335" + shareProcessNamespace: false + subdomain: "349" + terminationGracePeriodSeconds: -1689173322096612726 + tolerations: + - effect: ŪǗȦɆ悼j蛑q + key: "391" + operator: 栣险¹贮獘薟8Mĕ霉 + tolerationSeconds: 4375148957048018073 + value: "392" + topologySpreadConstraints: + - labelSelector: + matchExpressions: + - key: nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A + operator: In + values: + - 7M7y-Dy__3wc.q.8_00.0_._.-_L-__bf_9_-C-Pfx + matchLabels: + o--5r-v-5-e-m78o-6-s.4-7--i1-8miw-7a-2408m-0--5--2-5----00/l_.23--_l: b-L7.-__-G_2kCpS__.3g + maxSkew: -554557703 + topologyKey: "401" + whenUnsatisfiable: ¹t骳ɰɰUʜʔŜ0¢ + volumes: + - awsElasticBlockStore: + fsType: "24" + partition: 1001983654 + volumeID: "23" + azureDisk: + cachingMode: ƕP喂ƈ + diskName: "87" + diskURI: "88" + fsType: "89" + kind: "" + readOnly: false + azureFile: + secretName: "73" + shareName: "74" + cephfs: + monitors: + - "58" + path: "59" + secretFile: "61" + secretRef: + name: "62" + user: "60" + cinder: + fsType: "56" + readOnly: true + secretRef: + name: "57" + volumeID: "55" + configMap: + defaultMode: 172857432 + items: + - key: "76" + mode: 1392988974 + path: "77" + name: "75" + optional: true + csi: + driver: "119" + fsType: "120" + nodePublishSecretRef: + name: "123" + readOnly: true + volumeAttributes: + "121": "122" + downwardAPI: + defaultMode: 1246233319 + items: + - fieldRef: + apiVersion: "66" + fieldPath: "67" + mode: -1639873916 + path: "65" + resourceFieldRef: + containerName: "68" + divisor: "387" + resource: "69" + emptyDir: + medium: Ƣ6/ʕVŚ(ĿȊ甞 + sizeLimit: "776" + fc: + fsType: "71" + lun: -1876826602 + targetWWNs: + - "70" + wwids: + - "72" + flexVolume: + driver: "50" + fsType: "51" + options: + "53": "54" + secretRef: + name: "52" + flocker: + datasetName: "63" + datasetUUID: "64" + gcePersistentDisk: + fsType: "22" + partition: -123438221 + pdName: "21" + readOnly: true + gitRepo: + directory: "27" + repository: "25" + revision: "26" + glusterfs: + endpoints: "40" + path: "41" + hostPath: + path: "20" + type: Hr鯹)晿郵[+ + values: + - "351" + matchFields: + - key: "352" + operator: 荙JLĹ]佱¿>犵殇ŕ + values: + - "353" + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: 3--j2---2--82--cj-1-s--op34-yw/A-_3bz._M + operator: Exists + matchLabels: + 3-----995----5sumf7ef8jzv4-9-30.rt--6g1-2-73m-e46-r-g63--gt1--6mx-r-927--m6-g/J0-8-.M-.-.-8v-J1zET_..3dCv3j._.-_pP__up.2L_s-7: m.__G-8...__.Q_c8.G.b_9_1o.w_aI._1 + namespaces: + - "372" + topologyKey: "373" + weight: -1058923098 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: ao26--26-hs5-jedse.7vc0260ni-l11q5--uk5mj-94-8134i5kq/aWx.2aM214_.-N_g-..__._____K_g1cXfr.4_.-_-_-...1py_8-3..s._.x2 + operator: Exists + matchLabels: + A_k_K5._..O_.J_-G_--V-42E_--o90G_A4..-L..L: 0N_N.O30-_u._-2hT.-z-._7-5lL..-_--.VEa-_gn.8-c.C3_F._oX-9 + namespaces: + - "364" + topologyKey: "365" + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: 1-_-3_L_2--_v2.5p_..Y-.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3C + operator: In + values: + - p_N-S..O-BZ..6-1.S-B3_.b17ca-_p-y.eQZ9p_6.Cw + matchLabels: + x-3/6-.7D.3_KPgL: d._.Um.-__k.5 + namespaces: + - "388" + topologyKey: "389" + weight: -168773629 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: v8_.O_..8n.--z_-..6W.K + operator: Exists + matchLabels: + sEK4.B.__65m8_x: 29_.-.Ms7_t.P_3..H..k9M86.9a_-0R1 + namespaces: + - "380" + topologyKey: "381" + automountServiceAccountToken: false + containers: + - args: + - "195" + command: + - "194" + env: + - name: "202" + value: "203" + valueFrom: + configMapKeyRef: + key: "209" + name: "208" + optional: false + fieldRef: + apiVersion: "204" + fieldPath: "205" + resourceFieldRef: + containerName: "206" + divisor: "177" + resource: "207" + secretKeyRef: + key: "211" + name: "210" + optional: false + envFrom: + - configMapRef: + name: "200" + optional: false + prefix: "199" + secretRef: + name: "201" + optional: true + image: "193" + imagePullPolicy: ȓƇ$缔獵偐ę腬瓷碑=ɉ鎷卩蝾H韹寬 + lifecycle: + postStart: + exec: + command: + - "239" + httpGet: + host: "242" + httpHeaders: + - name: "243" + value: "244" + path: "240" + port: "241" + scheme: '%:;栍dʪīT捘ɍi' + tcpSocket: + host: "246" + port: "245" + preStop: + exec: + command: + - "247" + httpGet: + host: "249" + httpHeaders: + - name: "250" + value: "251" + path: "248" + port: -1171060347 + scheme: 咻痗ȡmƴy綸_Ú8參遼ūPH炮掊° + tcpSocket: + host: "253" + port: "252" + livenessProbe: + exec: + command: + - "218" + failureThreshold: -1321131665 + httpGet: + host: "220" + httpHeaders: + - name: "221" + value: "222" + path: "219" + port: -144591150 + scheme: ƛƟ)ÙæNǚ錯ƶRquA?瞲Ť倱< + initialDelaySeconds: 1288053477 + periodSeconds: 1607133856 + successThreshold: 1891896870 + tcpSocket: + host: "224" + port: "223" + timeoutSeconds: -163325250 + name: "192" + ports: + - containerPort: -539733119 + hostIP: "198" + hostPort: -632157481 + name: "197" + protocol: 楙¯ĦE勗E + readinessProbe: + exec: + command: + - "225" + failureThreshold: 1231820696 + httpGet: + host: "228" + httpHeaders: + - name: "229" + value: "230" + path: "226" + port: "227" + scheme: 0åȂ町恰nj揠8lj + initialDelaySeconds: -1188153605 + periodSeconds: 912004803 + successThreshold: -2098817064 + tcpSocket: + host: "231" + port: -2049272966 + timeoutSeconds: -427769948 + resources: + limits: + 蓳嗘TʡȂŏ{sǡƟ狩鴈o_: "445" + requests: + ǘ"^饣Vȿ: "900" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - 瓼猀2:öY鶪5w垁鷌辪 + drop: + - U珝Żwʮ馜üNșƶ4ĩĉ + privileged: false + procMount: "" + readOnlyRootFilesystem: false + runAsGroup: 6165457529064596376 + runAsNonRoot: false + runAsUser: -4642229086806245627 + seLinuxOptions: + level: "258" + role: "256" + type: "257" + user: "255" + windowsOptions: + gmsaCredentialSpec: "260" + gmsaCredentialSpecName: "259" + runAsUserName: "261" + startupProbe: + exec: + command: + - "232" + failureThreshold: -1618937335 + httpGet: + host: "235" + httpHeaders: + - name: "236" + value: "237" + path: "233" + port: "234" + initialDelaySeconds: 994527057 + periodSeconds: -1346458591 + successThreshold: 1234551517 + tcpSocket: + host: "238" + port: 675406340 + timeoutSeconds: -1482763519 + stdinOnce: true + terminationMessagePath: "254" + terminationMessagePolicy: 閼咎櫸eʔŊ + tty: true + volumeDevices: + - devicePath: "217" + name: "216" + volumeMounts: + - mountPath: "213" + mountPropagation: 怳冘HǺƶȤ^}穠C]躢|)黰eȪ嵛4 + name: "212" + subPath: "214" + subPathExpr: "215" + workingDir: "196" + dnsConfig: + nameservers: + - "396" + options: + - name: "398" + value: "399" + searches: + - "397" + dnsPolicy: 8鸖ɱJȉ罴ņ螡źȰ?$矡ȶ网棊ʢ + enableServiceLinks: false + ephemeralContainers: + - args: + - "265" + command: + - "264" + env: + - name: "272" + value: "273" + valueFrom: + configMapKeyRef: + key: "279" + name: "278" + optional: false + fieldRef: + apiVersion: "274" + fieldPath: "275" + resourceFieldRef: + containerName: "276" + divisor: "405" + resource: "277" + secretKeyRef: + key: "281" + name: "280" + optional: false + envFrom: + - configMapRef: + name: "270" + optional: true + prefix: "269" + secretRef: + name: "271" + optional: false + image: "263" + imagePullPolicy: ʁ揆ɘȌ脾嚏吐ĠLƐ + lifecycle: + postStart: + exec: + command: + - "309" + httpGet: + host: "311" + httpHeaders: + - name: "312" + value: "313" + path: "310" + port: -1589303862 + scheme: ľǎɳ,ǿ飏騀呣ǎ + tcpSocket: + host: "315" + port: "314" + preStop: + exec: + command: + - "316" + httpGet: + host: "319" + httpHeaders: + - name: "320" + value: "321" + path: "317" + port: "318" + scheme: Ƹ[Ęİ榌U髷裎$MVȟ@7 + tcpSocket: + host: "323" + port: "322" + livenessProbe: + exec: + command: + - "288" + failureThreshold: -1131820775 + httpGet: + host: "291" + httpHeaders: + - name: "292" + value: "293" + path: "289" + port: "290" + scheme: Źʣy豎@ɀ羭,铻O + initialDelaySeconds: 1424053148 + periodSeconds: 859639931 + successThreshold: -1663149700 + tcpSocket: + host: "295" + port: "294" + timeoutSeconds: 747521320 + name: "262" + ports: + - containerPort: -1569009987 + hostIP: "268" + hostPort: -1703360754 + name: "267" + protocol: ɢǵʭd鲡:贅wE@Ȗs«öʮĀ< + readinessProbe: + exec: + command: + - "296" + failureThreshold: -233378149 + httpGet: + host: "298" + httpHeaders: + - name: "299" + value: "300" + path: "297" + port: -1710454086 + scheme: mɩC[ó瓧 + initialDelaySeconds: 915577348 + periodSeconds: -1386967282 + successThreshold: -2030286732 + tcpSocket: + host: "301" + port: -122979840 + timeoutSeconds: -590798124 + resources: + limits: + 豈ɃHŠơŴĿǹ_Áȉ彂Ŵ廷: "948" + requests: + "": "83" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - 3.v-鿧悮坮Ȣ + drop: + - ļ腻ŬƩȿ + privileged: false + procMount: ħsĨɆâĺ + readOnlyRootFilesystem: false + runAsGroup: 241615716805649441 + runAsNonRoot: true + runAsUser: 9197199583783594492 + seLinuxOptions: + level: "328" + role: "326" + type: "327" + user: "325" + windowsOptions: + gmsaCredentialSpec: "330" + gmsaCredentialSpecName: "329" + runAsUserName: "331" + startupProbe: + exec: + command: + - "302" + failureThreshold: 486195690 + httpGet: + host: "304" + httpHeaders: + - name: "305" + value: "306" + path: "303" + port: -495373547 + scheme: ʼn掏1ſ盷褎weLJ + initialDelaySeconds: -929354164 + periodSeconds: 1582773079 + successThreshold: -1133499416 + tcpSocket: + host: "308" + port: "307" + timeoutSeconds: 1972119760 + stdin: true + targetContainerName: "332" + terminationMessagePath: "324" + terminationMessagePolicy: Ȋ礶 + tty: true + volumeDevices: + - devicePath: "287" + name: "286" + volumeMounts: + - mountPath: "283" + mountPropagation: '@ùƸʋŀ樺ȃv' + name: "282" + subPath: "284" + subPathExpr: "285" + workingDir: "266" + hostAliases: + - hostnames: + - "394" + ip: "393" + hostIPC: true + hostNetwork: true + hostPID: true + hostname: "348" + imagePullSecrets: + - name: "347" + initContainers: + - args: + - "127" + command: + - "126" + env: + - name: "134" + value: "135" + valueFrom: + configMapKeyRef: + key: "141" + name: "140" + optional: false + fieldRef: + apiVersion: "136" + fieldPath: "137" + resourceFieldRef: + containerName: "138" + divisor: "637" + resource: "139" + secretKeyRef: + key: "143" + name: "142" + optional: true + envFrom: + - configMapRef: + name: "132" + optional: false + prefix: "131" + secretRef: + name: "133" + optional: true + image: "125" + imagePullPolicy: TwMȗ礼2ħ籦ö嗏ʑ>季 + lifecycle: + postStart: + exec: + command: + - "171" + httpGet: + host: "174" + httpHeaders: + - name: "175" + value: "176" + path: "172" + port: "173" + scheme: 荎僋bŭDz鯰硰{舁吉蓨 + tcpSocket: + host: "177" + port: -662805900 + preStop: + exec: + command: + - "178" + httpGet: + host: "180" + httpHeaders: + - name: "181" + value: "182" + path: "179" + port: 249891070 + scheme: ɹ7\弌Þ帺萸Do©Ǿt'容柚ʕIã陫 + tcpSocket: + host: "183" + port: 266070687 + livenessProbe: + exec: + command: + - "150" + failureThreshold: 990374141 + httpGet: + host: "152" + httpHeaders: + - name: "153" + value: "154" + path: "151" + port: -1123620985 + scheme: l恕ɍȇ廄裭4懙鏮嵒 + initialDelaySeconds: -1177836822 + periodSeconds: 1149075888 + successThreshold: 1156607667 + tcpSocket: + host: "156" + port: "155" + timeoutSeconds: 1822289444 + name: "124" + ports: + - containerPort: -2040518604 + hostIP: "130" + hostPort: -2139825026 + name: "129" + readinessProbe: + exec: + command: + - "157" + failureThreshold: -1904823509 + httpGet: + host: "160" + httpHeaders: + - name: "161" + value: "162" + path: "158" + port: "159" + scheme: Ü郀 + initialDelaySeconds: -144625578 + periodSeconds: 694611906 + successThreshold: -1888506207 + tcpSocket: + host: "163" + port: 1184528004 + timeoutSeconds: -101708658 + resources: + limits: + ŨȈ>Ņ£趕ã/鈱$-议: "963" + requests: + 鄸靇杧ž譋娲瘹ɭȊɚɎ(dɅ囥糷磩窮秳: "781" + securityContext: + allowPrivilegeEscalation: true + capabilities: + add: + - 畬x骀Šĸů湙騘& + drop: + - 川J缮ǚbJ5ʬ + privileged: true + procMount: '`诫z徃鷢6ȥ啕禗Ǐ2啗塧ȱ蓿彭聡A' + readOnlyRootFilesystem: false + runAsGroup: -7029550403667587439 + runAsNonRoot: false + runAsUser: 570299180913049309 + seLinuxOptions: + level: "188" + role: "186" + type: "187" + user: "185" + windowsOptions: + gmsaCredentialSpec: "190" + gmsaCredentialSpecName: "189" + runAsUserName: "191" + startupProbe: + exec: + command: + - "164" + failureThreshold: 1247862962 + httpGet: + host: "166" + httpHeaders: + - name: "167" + value: "168" + path: "165" + port: 1693510057 + scheme: =y钡 + initialDelaySeconds: -529495213 + periodSeconds: 1727149457 + successThreshold: 1407547486 + tcpSocket: + host: "170" + port: "169" + timeoutSeconds: 23025317 + stdinOnce: true + terminationMessagePath: "184" + terminationMessagePolicy: '")珷<º' + volumeDevices: + - devicePath: "149" + name: "148" + volumeMounts: + - mountPath: "145" + mountPropagation: QZ{ʁgɸ=ǤÆ + name: "144" + readOnly: true + subPath: "146" + subPathExpr: "147" + workingDir: "128" + nodeName: "337" + nodeSelector: + "333": "334" + overhead: + ɮ6): "299" + preemptionPolicy: 怨彬ɈNƋl塠傫ü + priority: -1286809305 + priorityClassName: "395" + readinessGates: + - conditionType: ųŎ群E牬庘颮6(|ǖû + restartPolicy: 倗S晒嶗UÐ_ƮA攤/ɸɎ R§耶 + runtimeClassName: "400" + schedulerName: "390" + securityContext: + fsGroup: 6347577485454457915 + fsGroupChangePolicy: 勅跦Opwǩ曬逴褜1Ø + runAsGroup: -860974700141841896 + runAsNonRoot: true + runAsUser: 7525448836100188460 + seLinuxOptions: + level: "341" + role: "339" + type: "340" + user: "338" + supplementalGroups: + - 7258403424756645907 + sysctls: + - name: "345" + value: "346" + windowsOptions: + gmsaCredentialSpec: "343" + gmsaCredentialSpecName: "342" + runAsUserName: "344" + serviceAccount: "336" + serviceAccountName: "335" + shareProcessNamespace: false + subdomain: "349" + terminationGracePeriodSeconds: -1689173322096612726 + tolerations: + - effect: ŪǗȦɆ悼j蛑q + key: "391" + operator: 栣险¹贮獘薟8Mĕ霉 + tolerationSeconds: 4375148957048018073 + value: "392" + topologySpreadConstraints: + - labelSelector: + matchExpressions: + - key: nw0-3i--a7-2--o--u0038mp9c10-k-r---3g7nz4-------385h---0-u73pj.brgvf3q-z-5z80n--t5--9-4-d2-22--i--40wv--in-870w--itk/5.m_2_--XZ-x.__.Y_2-n_5023Xl-3Pw_-r75--_A + operator: In + values: + - 7M7y-Dy__3wc.q.8_00.0_._.-_L-__bf_9_-C-Pfx + matchLabels: + o--5r-v-5-e-m78o-6-s.4-7--i1-8miw-7a-2408m-0--5--2-5----00/l_.23--_l: b-L7.-__-G_2kCpS__.3g + maxSkew: -554557703 + topologyKey: "401" + whenUnsatisfiable: ¹t骳ɰɰUʜʔŜ0¢ + volumes: + - awsElasticBlockStore: + fsType: "24" + partition: 1001983654 + volumeID: "23" + azureDisk: + cachingMode: ƕP喂ƈ + diskName: "87" + diskURI: "88" + fsType: "89" + kind: "" + readOnly: false + azureFile: + secretName: "73" + shareName: "74" + cephfs: + monitors: + - "58" + path: "59" + secretFile: "61" + secretRef: + name: "62" + user: "60" + cinder: + fsType: "56" + readOnly: true + secretRef: + name: "57" + volumeID: "55" + configMap: + defaultMode: 172857432 + items: + - key: "76" + mode: 1392988974 + path: "77" + name: "75" + optional: true + csi: + driver: "119" + fsType: "120" + nodePublishSecretRef: + name: "123" + readOnly: true + volumeAttributes: + "121": "122" + downwardAPI: + defaultMode: 1246233319 + items: + - fieldRef: + apiVersion: "66" + fieldPath: "67" + mode: -1639873916 + path: "65" + resourceFieldRef: + containerName: "68" + divisor: "387" + resource: "69" + emptyDir: + medium: Ƣ6/ʕVŚ(ĿȊ甞 + sizeLimit: "776" + fc: + fsType: "71" + lun: -1876826602 + targetWWNs: + - "70" + wwids: + - "72" + flexVolume: + driver: "50" + fsType: "51" + options: + "53": "54" + secretRef: + name: "52" + flocker: + datasetName: "63" + datasetUUID: "64" + gcePersistentDisk: + fsType: "22" + partition: -123438221 + pdName: "21" + readOnly: true + gitRepo: + directory: "27" + repository: "25" + revision: "26" + glusterfs: + endpoints: "40" + path: "41" + hostPath: + path: "20" + type: Hr鯹)晿 0 { i -= len(m.LogPath) copy(dAtA[i:], m.LogPath) @@ -11595,6 +11719,80 @@ func (m *ContainerStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *ContainerResources) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ContainerResources) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ContainerResources) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.R != nil { + { + size := m.R.Size() + i -= size + if _, err := m.R.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + } + } + return len(dAtA) - i, nil +} + +func (m *ContainerResources_Linux) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ContainerResources_Linux) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Linux != nil { + { + size, err := m.Linux.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} +func (m *ContainerResources_Windows) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ContainerResources_Windows) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Windows != nil { + { + size, err := m.Windows.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} func (m *UpdateContainerResourcesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -11615,6 +11813,18 @@ func (m *UpdateContainerResourcesRequest) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l + if m.Resources != nil { + { + size, err := m.Resources.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } if m.Linux != nil { { size, err := m.Linux.MarshalToSizedBuffer(dAtA[:i]) @@ -11976,21 +12186,21 @@ func (m *PortForwardRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.Port) > 0 { - dAtA47 := make([]byte, len(m.Port)*10) - var j46 int + dAtA51 := make([]byte, len(m.Port)*10) + var j50 int for _, num1 := range m.Port { num := uint64(num1) for num >= 1<<7 { - dAtA47[j46] = uint8(uint64(num)&0x7f | 0x80) + dAtA51[j50] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j46++ + j50++ } - dAtA47[j46] = uint8(num) - j46++ + dAtA51[j50] = uint8(num) + j50++ } - i -= j46 - copy(dAtA[i:], dAtA47[:j46]) - i = encodeVarintApi(dAtA, i, uint64(j46)) + i -= j50 + copy(dAtA[i:], dAtA51[:j50]) + i = encodeVarintApi(dAtA, i, uint64(j50)) i-- dAtA[i] = 0x12 } @@ -14838,6 +15048,10 @@ func (m *ContainerStatus) Size() (n int) { if l > 0 { n += 1 + l + sovApi(uint64(l)) } + if m.Resources != nil { + l = m.Resources.Size() + n += 2 + l + sovApi(uint64(l)) + } return n } @@ -14862,6 +15076,42 @@ func (m *ContainerStatusResponse) Size() (n int) { return n } +func (m *ContainerResources) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.R != nil { + n += m.R.Size() + } + return n +} + +func (m *ContainerResources_Linux) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Linux != nil { + l = m.Linux.Size() + n += 1 + l + sovApi(uint64(l)) + } + return n +} +func (m *ContainerResources_Windows) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Windows != nil { + l = m.Windows.Size() + n += 1 + l + sovApi(uint64(l)) + } + return n +} func (m *UpdateContainerResourcesRequest) Size() (n int) { if m == nil { return 0 @@ -14876,6 +15126,10 @@ func (m *UpdateContainerResourcesRequest) Size() (n int) { l = m.Linux.Size() n += 1 + l + sovApi(uint64(l)) } + if m.Resources != nil { + l = m.Resources.Size() + n += 1 + l + sovApi(uint64(l)) + } return n } @@ -16562,6 +16816,7 @@ func (this *ContainerStatus) String() string { `Annotations:` + mapStringForAnnotations + `,`, `Mounts:` + repeatedStringForMounts + `,`, `LogPath:` + fmt.Sprintf("%v", this.LogPath) + `,`, + `Resources:` + strings.Replace(this.Resources.String(), "ContainerResources", "ContainerResources", 1) + `,`, `}`, }, "") return s @@ -16587,6 +16842,36 @@ func (this *ContainerStatusResponse) String() string { }, "") return s } +func (this *ContainerResources) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ContainerResources{`, + `R:` + fmt.Sprintf("%v", this.R) + `,`, + `}`, + }, "") + return s +} +func (this *ContainerResources_Linux) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ContainerResources_Linux{`, + `Linux:` + strings.Replace(fmt.Sprintf("%v", this.Linux), "LinuxContainerResources", "LinuxContainerResources", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ContainerResources_Windows) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ContainerResources_Windows{`, + `Windows:` + strings.Replace(fmt.Sprintf("%v", this.Windows), "WindowsContainerResources", "WindowsContainerResources", 1) + `,`, + `}`, + }, "") + return s +} func (this *UpdateContainerResourcesRequest) String() string { if this == nil { return "nil" @@ -16594,6 +16879,7 @@ func (this *UpdateContainerResourcesRequest) String() string { s := strings.Join([]string{`&UpdateContainerResourcesRequest{`, `ContainerId:` + fmt.Sprintf("%v", this.ContainerId) + `,`, `Linux:` + strings.Replace(this.Linux.String(), "LinuxContainerResources", "LinuxContainerResources", 1) + `,`, + `Resources:` + strings.Replace(this.Resources.String(), "ContainerResources", "ContainerResources", 1) + `,`, `}`, }, "") return s @@ -27482,6 +27768,42 @@ func (m *ContainerStatus) Unmarshal(dAtA []byte) error { } m.LogPath = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Resources == nil { + m.Resources = &ContainerResources{} + } + if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -27722,6 +28044,129 @@ func (m *ContainerStatusResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *ContainerResources) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ContainerResources: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ContainerResources: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Linux", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &LinuxContainerResources{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.R = &ContainerResources_Linux{v} + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Windows", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &WindowsContainerResources{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.R = &ContainerResources_Windows{v} + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *UpdateContainerResourcesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -27819,6 +28264,42 @@ func (m *UpdateContainerResourcesRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Resources == nil { + m.Resources = &ContainerResources{} + } + if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) diff --git a/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.proto b/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.proto index 1a024e632b872..a4cfab3a8f309 100644 --- a/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.proto +++ b/staging/src/k8s.io/cri-api/pkg/apis/runtime/v1alpha2/api.proto @@ -939,6 +939,8 @@ message ContainerStatus { repeated Mount mounts = 14; // Log path of container. string log_path = 15; + // Resource limits configuration of the container. + ContainerResources resources = 16; } message ContainerStatusResponse { @@ -951,11 +953,23 @@ message ContainerStatusResponse { map info = 2; } +// ContainerResources holds resource limits configuration for a container. +message ContainerResources { + oneof r { + // Resource limits configuration specific to Linux container. + LinuxContainerResources linux = 1; + // Resource limits configuration specific to Windows container. + WindowsContainerResources windows = 2; + } +} + message UpdateContainerResourcesRequest { // ID of the container to update. string container_id = 1; // Resource configuration specific to Linux containers. LinuxContainerResources linux = 2; + // Resource configuration for the container. + ContainerResources resources = 3; } message UpdateContainerResourcesResponse {} diff --git a/staging/src/k8s.io/cri-api/pkg/apis/services.go b/staging/src/k8s.io/cri-api/pkg/apis/services.go index 9a22ecbf031dd..33d4d14c329b7 100644 --- a/staging/src/k8s.io/cri-api/pkg/apis/services.go +++ b/staging/src/k8s.io/cri-api/pkg/apis/services.go @@ -43,8 +43,8 @@ type ContainerManager interface { ListContainers(filter *runtimeapi.ContainerFilter) ([]*runtimeapi.Container, error) // ContainerStatus returns the status of the container. ContainerStatus(containerID string) (*runtimeapi.ContainerStatus, error) - // UpdateContainerResources updates the cgroup resources for the container. - UpdateContainerResources(containerID string, resources *runtimeapi.LinuxContainerResources) error + // UpdateContainerResources updates resource configuration for the container. + UpdateContainerResources(containerID string, resources *runtimeapi.ContainerResources) error // ExecSync executes a command in the container, and returns the stdout output. // If command exits with a non-zero exit code, an error is returned. ExecSync(containerID string, cmd []string, timeout time.Duration) (stdout []byte, stderr []byte, err error) diff --git a/staging/src/k8s.io/cri-api/pkg/apis/testing/fake_runtime_service.go b/staging/src/k8s.io/cri-api/pkg/apis/testing/fake_runtime_service.go index e761d3089287d..e352e43d2a0d2 100644 --- a/staging/src/k8s.io/cri-api/pkg/apis/testing/fake_runtime_service.go +++ b/staging/src/k8s.io/cri-api/pkg/apis/testing/fake_runtime_service.go @@ -472,7 +472,7 @@ func (r *FakeRuntimeService) ContainerStatus(containerID string) (*runtimeapi.Co return &status, nil } -func (r *FakeRuntimeService) UpdateContainerResources(string, *runtimeapi.LinuxContainerResources) error { +func (r *FakeRuntimeService) UpdateContainerResources(string, *runtimeapi.ContainerResources) error { r.Lock() defer r.Unlock() diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe.go b/staging/src/k8s.io/kubectl/pkg/describe/describe.go index fa84b8337c21d..5769d8a96d72f 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe.go @@ -1705,6 +1705,13 @@ func describeContainerResource(container corev1.Container, w PrefixWriter) { quantity := resources.Requests[name] w.Write(LEVEL_3, "%s:\t%s\n", name, quantity.String()) } + if len(container.ResourcesAllocated) > 0 { + w.Write(LEVEL_2, "Allocations:\n") + } + for _, name := range SortedResourceNames(container.ResourcesAllocated) { + quantity := container.ResourcesAllocated[name] + w.Write(LEVEL_3, "%s:\t%s\n", name, quantity.String()) + } } func describeContainerState(status corev1.ContainerStatus, w PrefixWriter) { @@ -3701,8 +3708,8 @@ func describeHorizontalPodAutoscalerV1(hpa *autoscalingv1.HorizontalPodAutoscale func describeNodeResource(nodeNonTerminatedPodsList *corev1.PodList, node *corev1.Node, w PrefixWriter) { w.Write(LEVEL_0, "Non-terminated Pods:\t(%d in total)\n", len(nodeNonTerminatedPodsList.Items)) - w.Write(LEVEL_1, "Namespace\tName\t\tCPU Requests\tCPU Limits\tMemory Requests\tMemory Limits\tAGE\n") - w.Write(LEVEL_1, "---------\t----\t\t------------\t----------\t---------------\t-------------\t---\n") + w.Write(LEVEL_1, "Namespace\tName\t\tCPU Requests\tCPU Limits\tCPU Allocations\tMemory Requests\tMemory Limits\tMemory Allocations\tAGE\n") + w.Write(LEVEL_1, "---------\t----\t\t------------\t----------\t---------------\t---------------\t-------------\t------------------\t---\n") allocatable := node.Status.Capacity if len(node.Status.Allocatable) > 0 { allocatable = node.Status.Allocatable @@ -3715,15 +3722,20 @@ func describeNodeResource(nodeNonTerminatedPodsList *corev1.PodList, node *corev fractionCpuLimit := float64(cpuLimit.MilliValue()) / float64(allocatable.Cpu().MilliValue()) * 100 fractionMemoryReq := float64(memoryReq.Value()) / float64(allocatable.Memory().Value()) * 100 fractionMemoryLimit := float64(memoryLimit.Value()) / float64(allocatable.Memory().Value()) * 100 - w.Write(LEVEL_1, "%s\t%s\t\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\t%s\n", pod.Namespace, pod.Name, - cpuReq.String(), int64(fractionCpuReq), cpuLimit.String(), int64(fractionCpuLimit), - memoryReq.String(), int64(fractionMemoryReq), memoryLimit.String(), int64(fractionMemoryLimit), translateTimestampSince(pod.CreationTimestamp)) + alloc := resourcehelper.PodResourceAllocations(&pod) + cpuAlloc, memoryAlloc := alloc[corev1.ResourceCPU], alloc[corev1.ResourceMemory] + fractionCpuAlloc := float64(cpuAlloc.MilliValue()) / float64(allocatable.Cpu().MilliValue()) * 100 + fractionMemoryAlloc := float64(memoryAlloc.Value()) / float64(allocatable.Memory().Value()) * 100 + w.Write(LEVEL_1, "%s\t%s\t\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\t%s\n", pod.Namespace, pod.Name, + cpuReq.String(), int64(fractionCpuReq), cpuLimit.String(), int64(fractionCpuLimit), cpuAlloc.String(), int64(fractionCpuAlloc), + memoryReq.String(), int64(fractionMemoryReq), memoryLimit.String(), int64(fractionMemoryLimit), memoryAlloc.String(), int64(fractionMemoryAlloc), + translateTimestampSince(pod.CreationTimestamp)) } w.Write(LEVEL_0, "Allocated resources:\n (Total limits may be over 100 percent, i.e., overcommitted.)\n") - w.Write(LEVEL_1, "Resource\tRequests\tLimits\n") - w.Write(LEVEL_1, "--------\t--------\t------\n") - reqs, limits := getPodsTotalRequestsAndLimits(nodeNonTerminatedPodsList) + w.Write(LEVEL_1, "Resource\tRequests\tLimits\tAllocations\n") + w.Write(LEVEL_1, "--------\t--------\t------\t-----------\n") + reqs, allocs, limits := getPodsTotalRequestsAllocsAndLimits(nodeNonTerminatedPodsList) cpuReqs, cpuLimits, memoryReqs, memoryLimits, ephemeralstorageReqs, ephemeralstorageLimits := reqs[corev1.ResourceCPU], limits[corev1.ResourceCPU], reqs[corev1.ResourceMemory], limits[corev1.ResourceMemory], reqs[corev1.ResourceEphemeralStorage], limits[corev1.ResourceEphemeralStorage] fractionCpuReqs := float64(0) @@ -3744,13 +3756,28 @@ func describeNodeResource(nodeNonTerminatedPodsList *corev1.PodList, node *corev fractionEphemeralStorageReqs = float64(ephemeralstorageReqs.Value()) / float64(allocatable.StorageEphemeral().Value()) * 100 fractionEphemeralStorageLimits = float64(ephemeralstorageLimits.Value()) / float64(allocatable.StorageEphemeral().Value()) * 100 } - w.Write(LEVEL_1, "%s\t%s (%d%%)\t%s (%d%%)\n", - corev1.ResourceCPU, cpuReqs.String(), int64(fractionCpuReqs), cpuLimits.String(), int64(fractionCpuLimits)) - w.Write(LEVEL_1, "%s\t%s (%d%%)\t%s (%d%%)\n", - corev1.ResourceMemory, memoryReqs.String(), int64(fractionMemoryReqs), memoryLimits.String(), int64(fractionMemoryLimits)) - w.Write(LEVEL_1, "%s\t%s (%d%%)\t%s (%d%%)\n", - corev1.ResourceEphemeralStorage, ephemeralstorageReqs.String(), int64(fractionEphemeralStorageReqs), ephemeralstorageLimits.String(), int64(fractionEphemeralStorageLimits)) - + cpuAllocs, memoryAllocs, ephemeralstorageAllocs := allocs[corev1.ResourceCPU], allocs[corev1.ResourceMemory], allocs[corev1.ResourceEphemeralStorage] + fractionCpuAllocs := float64(0) + if allocatable.Cpu().MilliValue() != 0 { + fractionCpuAllocs = float64(cpuAllocs.MilliValue()) / float64(allocatable.Cpu().MilliValue()) * 100 + } + fractionMemoryAllocs := float64(0) + if allocatable.Memory().Value() != 0 { + fractionMemoryAllocs = float64(memoryAllocs.Value()) / float64(allocatable.Memory().Value()) * 100 + } + fractionEphemeralStorageAllocs := float64(0) + if allocatable.StorageEphemeral().Value() != 0 { + fractionEphemeralStorageAllocs = float64(ephemeralstorageAllocs.Value()) / float64(allocatable.StorageEphemeral().Value()) * 100 + } + w.Write(LEVEL_1, "%s\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\n", + corev1.ResourceCPU, cpuReqs.String(), int64(fractionCpuReqs), + cpuLimits.String(), int64(fractionCpuLimits), cpuAllocs.String(), int64(fractionCpuAllocs)) + w.Write(LEVEL_1, "%s\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\n", + corev1.ResourceMemory, memoryReqs.String(), int64(fractionMemoryReqs), + memoryLimits.String(), int64(fractionMemoryLimits), memoryAllocs.String(), int64(fractionMemoryAllocs)) + w.Write(LEVEL_1, "%s\t%s (%d%%)\t%s (%d%%)\t%s (%d%%)\n", + corev1.ResourceEphemeralStorage, ephemeralstorageReqs.String(), int64(fractionEphemeralStorageReqs), + ephemeralstorageLimits.String(), int64(fractionEphemeralStorageLimits), ephemeralstorageAllocs.String(), int64(fractionEphemeralStorageAllocs)) extResources := make([]string, 0, len(allocatable)) hugePageResources := make([]string, 0, len(allocatable)) for resource := range allocatable { @@ -3782,8 +3809,9 @@ func describeNodeResource(nodeNonTerminatedPodsList *corev1.PodList, node *corev } } -func getPodsTotalRequestsAndLimits(podList *corev1.PodList) (reqs map[corev1.ResourceName]resource.Quantity, limits map[corev1.ResourceName]resource.Quantity) { +func getPodsTotalRequestsAllocsAndLimits(podList *corev1.PodList) (reqs, allocs, limits map[corev1.ResourceName]resource.Quantity) { reqs, limits = map[corev1.ResourceName]resource.Quantity{}, map[corev1.ResourceName]resource.Quantity{} + allocs = map[corev1.ResourceName]resource.Quantity{} for _, pod := range podList.Items { podReqs, podLimits := resourcehelper.PodRequestsAndLimits(&pod) for podReqName, podReqValue := range podReqs { @@ -3802,6 +3830,15 @@ func getPodsTotalRequestsAndLimits(podList *corev1.PodList) (reqs map[corev1.Res limits[podLimitName] = value } } + podAllocs := resourcehelper.PodResourceAllocations(&pod) + for podAllocName, podAllocValue := range podAllocs { + if value, ok := allocs[podAllocName]; !ok { + allocs[podAllocName] = podAllocValue.DeepCopy() + } else { + value.Add(podAllocValue) + allocs[podAllocName] = value + } + } } return } diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go b/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go index 6536c76189a5f..2ef3bcdb49565 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go @@ -1020,7 +1020,7 @@ func TestGetPodsTotalRequests(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { - reqs, _ := getPodsTotalRequestsAndLimits(testCase.pods) + reqs, _, _ := getPodsTotalRequestsAllocsAndLimits(testCase.pods) if !apiequality.Semantic.DeepEqual(reqs, testCase.expectedReqs) { t.Errorf("Expected %v, got %v", testCase.expectedReqs, reqs) } @@ -4025,11 +4025,11 @@ func TestDescribeNode(t *testing.T) { expectedOut := []string{"Unschedulable", "true", "holder", `Allocated resources: (Total limits may be over 100 percent, i.e., overcommitted.) - Resource Requests Limits - -------- -------- ------ - cpu 1 (25%) 2 (50%) - memory 1Gi (8%) 2Gi (16%) - ephemeral-storage 0 (0%) 0 (0%) + Resource Requests Limits Allocations + -------- -------- ------ ----------- + cpu 1 (25%) 2 (50%) 0 (0%) + memory 1Gi (8%) 2Gi (16%) 0 (0%) + ephemeral-storage 0 (0%) 0 (0%) 0 (0%) hugepages-1Gi 0 (0%) 0 (0%) hugepages-2Mi 512Mi (25%) 512Mi (25%)`} for _, expected := range expectedOut { diff --git a/staging/src/k8s.io/kubectl/pkg/util/resource/resource.go b/staging/src/k8s.io/kubectl/pkg/util/resource/resource.go index 8308f1583f741..e9c22fbc26f21 100644 --- a/staging/src/k8s.io/kubectl/pkg/util/resource/resource.go +++ b/staging/src/k8s.io/kubectl/pkg/util/resource/resource.go @@ -57,6 +57,22 @@ func PodRequestsAndLimits(pod *corev1.Pod) (reqs, limits corev1.ResourceList) { return } +// PodResourceAllocations returns a dictionary of resources allocated to the containers of pod. +func PodResourceAllocations(pod *corev1.Pod) (allocations corev1.ResourceList) { + allocations = corev1.ResourceList{} + for _, container := range pod.Spec.Containers { + addResourceList(allocations, container.ResourcesAllocated) + } + // init containers define the minimum of any resource + for _, container := range pod.Spec.InitContainers { + maxResourceList(allocations, container.Resources.Requests) + } + if pod.Spec.Overhead != nil { + addResourceList(allocations, pod.Spec.Overhead) + } + return +} + // addResourceList adds the resources in newList to list func addResourceList(list, new corev1.ResourceList) { for name, quantity := range new { @@ -107,6 +123,12 @@ func ExtractContainerResourceValue(fs *corev1.ResourceFieldSelector, container * return convertResourceMemoryToString(container.Resources.Requests.Memory(), divisor) case "requests.ephemeral-storage": return convertResourceEphemeralStorageToString(container.Resources.Requests.StorageEphemeral(), divisor) + case "resourcesAllocated.cpu": + return convertResourceCPUToString(container.ResourcesAllocated.Cpu(), divisor) + case "resourcesAllocated.memory": + return convertResourceMemoryToString(container.ResourcesAllocated.Memory(), divisor) + case "resourcesAllocated.ephemeral-storage": + return convertResourceEphemeralStorageToString(container.ResourcesAllocated.StorageEphemeral(), divisor) } return "", fmt.Errorf("Unsupported container resource : %v", fs.Resource) diff --git a/test/e2e/common/BUILD b/test/e2e/common/BUILD index 5d8f37709a074..ab84488066848 100644 --- a/test/e2e/common/BUILD +++ b/test/e2e/common/BUILD @@ -25,6 +25,7 @@ go_library( "lifecycle_hook.go", "networking.go", "node_lease.go", + "pod_resize.go", "pods.go", "podtemplates.go", "privileged.go", @@ -46,6 +47,7 @@ go_library( "//pkg/api/v1/pod:go_default_library", "//pkg/client/conditions:go_default_library", "//pkg/kubelet:go_default_library", + "//pkg/kubelet/cm:go_default_library", "//pkg/kubelet/events:go_default_library", "//pkg/kubelet/images:go_default_library", "//pkg/kubelet/runtimeclass/testing:go_default_library", @@ -67,10 +69,12 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", + "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/client-go/dynamic:go_default_library", "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/watch:go_default_library", + "//staging/src/k8s.io/component-base/featuregate:go_default_library", "//test/e2e/framework:go_default_library", "//test/e2e/framework/events:go_default_library", "//test/e2e/framework/network:go_default_library", diff --git a/test/e2e/common/pod_resize.go b/test/e2e/common/pod_resize.go new file mode 100644 index 0000000000000..9ef68692541a3 --- /dev/null +++ b/test/e2e/common/pod_resize.go @@ -0,0 +1,437 @@ +/* +Copyright 2020 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 common + +import ( + "context" + "fmt" + "strconv" + "strings" + "time" + + v1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" + utilfeature "k8s.io/apiserver/pkg/util/feature" + "k8s.io/component-base/featuregate" + kubecm "k8s.io/kubernetes/pkg/kubelet/cm" + + "k8s.io/kubernetes/test/e2e/framework" + e2epod "k8s.io/kubernetes/test/e2e/framework/pod" + imageutils "k8s.io/kubernetes/test/utils/image" + + "github.com/onsi/ginkgo" +) + +const ( + InPlacePodVerticalScalingFeature featuregate.Feature = "InPlacePodVerticalScaling" + + CgroupCPUPeriod string = "/sys/fs/cgroup/cpu/cpu.cfs_period_us" + CgroupCPUShares string = "/sys/fs/cgroup/cpu/cpu.shares" + CgroupCPUQuota string = "/sys/fs/cgroup/cpu/cpu.cfs_quota_us" + CgroupMemLimit string = "/sys/fs/cgroup/memory/memory.limit_in_bytes" + + PollInterval time.Duration = 2 * time.Second + PollTimeout time.Duration = time.Minute +) + +type ContainerResources struct { + CPUReq, CPULim, MemReq, MemLim, EphStorReq, EphStorLim string +} + +type ContainerAllocations struct { + CPUAlloc, MemAlloc, ephStorAlloc string +} + +type TestContainerInfo struct { + Name string + Resources *ContainerResources + Allocations *ContainerAllocations + CPUPolicy *v1.ContainerResizePolicy + MemPolicy *v1.ContainerResizePolicy +} + +func makeTestContainer(tcInfo TestContainerInfo) v1.Container { + var res v1.ResourceRequirements + var alloc v1.ResourceList + var resizePol []v1.ResizePolicy + cmd := "trap exit TERM; while true; do sleep 1; done" + + if tcInfo.Resources != nil { + res = v1.ResourceRequirements{ + Limits: make(v1.ResourceList), + Requests: make(v1.ResourceList), + } + if tcInfo.Resources.CPULim != "" { + res.Limits[v1.ResourceCPU] = resource.MustParse(tcInfo.Resources.CPULim) + } + if tcInfo.Resources.MemLim != "" { + res.Limits[v1.ResourceMemory] = resource.MustParse(tcInfo.Resources.MemLim) + } + if tcInfo.Resources.EphStorLim != "" { + res.Limits[v1.ResourceEphemeralStorage] = resource.MustParse(tcInfo.Resources.EphStorLim) + } + if tcInfo.Resources.CPUReq != "" { + res.Requests[v1.ResourceCPU] = resource.MustParse(tcInfo.Resources.CPUReq) + } + if tcInfo.Resources.MemReq != "" { + res.Requests[v1.ResourceMemory] = resource.MustParse(tcInfo.Resources.MemReq) + } + if tcInfo.Resources.EphStorReq != "" { + res.Requests[v1.ResourceEphemeralStorage] = resource.MustParse(tcInfo.Resources.EphStorReq) + } + } + if tcInfo.Allocations != nil { + alloc = make(v1.ResourceList) + if tcInfo.Allocations.CPUAlloc != "" { + alloc[v1.ResourceCPU] = resource.MustParse(tcInfo.Allocations.CPUAlloc) + } + if tcInfo.Allocations.MemAlloc != "" { + alloc[v1.ResourceMemory] = resource.MustParse(tcInfo.Allocations.MemAlloc) + } + if tcInfo.Allocations.ephStorAlloc != "" { + alloc[v1.ResourceEphemeralStorage] = resource.MustParse(tcInfo.Allocations.ephStorAlloc) + } + + } + if tcInfo.CPUPolicy != nil { + cpuPol := v1.ResizePolicy{ResourceName: v1.ResourceCPU, Policy: *tcInfo.CPUPolicy} + resizePol = append(resizePol, cpuPol) + } + if tcInfo.MemPolicy != nil { + memPol := v1.ResizePolicy{ResourceName: v1.ResourceMemory, Policy: *tcInfo.MemPolicy} + resizePol = append(resizePol, memPol) + } + + tc := v1.Container{ + Name: tcInfo.Name, + Image: imageutils.GetE2EImage(imageutils.BusyBox), + Command: []string{"/bin/sh"}, + Args: []string{"-c", cmd}, + Resources: res, + ResourcesAllocated: alloc, + ResizePolicy: resizePol, + } + return tc +} + +func makeTestPod(ns, name, timeStamp string, tcInfo []TestContainerInfo) *v1.Pod { + var testContainers []v1.Container + for _, ci := range tcInfo { + tc := makeTestContainer(ci) + testContainers = append(testContainers, tc) + } + pod := &v1.Pod{ + TypeMeta: metav1.TypeMeta{ + Kind: "Pod", + APIVersion: "v1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: ns, + Labels: map[string]string{ + "name": "fooPod", + "time": timeStamp, + }, + }, + Spec: v1.PodSpec{ + Containers: testContainers, + RestartPolicy: v1.RestartPolicyOnFailure, + }, + } + return pod +} + +func verifyPodResizePolicy(pod *v1.Pod, tcInfo []TestContainerInfo) { + cMap := make(map[string]*v1.Container) + for i, c := range pod.Spec.Containers { + cMap[c.Name] = &pod.Spec.Containers[i] + } + for _, ci := range tcInfo { + c, found := cMap[ci.Name] + framework.ExpectEqual(found, true) + tc := makeTestContainer(ci) + framework.ExpectEqual(c.ResizePolicy, tc.ResizePolicy) + } +} + +func verifyPodResources(pod *v1.Pod, tcInfo []TestContainerInfo) { + cMap := make(map[string]*v1.Container) + for i, c := range pod.Spec.Containers { + cMap[c.Name] = &pod.Spec.Containers[i] + } + for _, ci := range tcInfo { + c, found := cMap[ci.Name] + framework.ExpectEqual(found, true) + tc := makeTestContainer(ci) + framework.ExpectEqual(c.Resources, tc.Resources) + } +} + +func verifyPodAllocations(pod *v1.Pod, tcInfo []TestContainerInfo) { + cMap := make(map[string]*v1.Container) + for i, c := range pod.Spec.Containers { + cMap[c.Name] = &pod.Spec.Containers[i] + } + for _, ci := range tcInfo { + c, found := cMap[ci.Name] + framework.ExpectEqual(found, true) + if ci.Allocations == nil { + alloc := &ContainerAllocations{CPUAlloc: ci.Resources.CPUReq, MemAlloc: ci.Resources.MemReq} + ci.Allocations = alloc + defer func() { + ci.Allocations = nil + }() + } + tc := makeTestContainer(ci) + framework.ExpectEqual(c.ResourcesAllocated, tc.ResourcesAllocated) + } +} + +func verifyPodStatusResources(pod *v1.Pod, tcInfo []TestContainerInfo) { + csMap := make(map[string]*v1.ContainerStatus) + for i, c := range pod.Status.ContainerStatuses { + csMap[c.Name] = &pod.Status.ContainerStatuses[i] + } + for _, ci := range tcInfo { + cs, found := csMap[ci.Name] + framework.ExpectEqual(found, true) + tc := makeTestContainer(ci) + framework.ExpectEqual(cs.Resources, tc.Resources) + } +} + +func verifyPodContainersCgroupConfig(pod *v1.Pod, tcInfo []TestContainerInfo) { + verifyCgroupValue := func(cName, cgPath, expectedCgValue string) { + cmd := []string{"head", "-n", "1", cgPath} + cgValue, err := framework.LookForStringInPodExecToContainer(pod.Namespace, pod.Name, cName, cmd, expectedCgValue, PollTimeout) + framework.ExpectNoError(err, "failed to find expected cgroup value in container") + cgValue = strings.Trim(cgValue, "\n") + framework.ExpectEqual(cgValue, expectedCgValue) + } + for _, ci := range tcInfo { + if ci.Resources == nil { + continue + } + tc := makeTestContainer(ci) + if tc.Resources.Limits != nil || tc.Resources.Requests != nil { + var cpuShares int64 + memLimitInBytes := tc.Resources.Limits.Memory().Value() + cpuRequest := tc.Resources.Requests.Cpu() + cpuLimit := tc.Resources.Limits.Cpu() + if cpuRequest.IsZero() && !cpuLimit.IsZero() { + cpuShares = int64(kubecm.MilliCPUToShares(cpuLimit.MilliValue())) + } else { + cpuShares = int64(kubecm.MilliCPUToShares(cpuRequest.MilliValue())) + } + cpuQuota := kubecm.MilliCPUToQuota(cpuLimit.MilliValue(), kubecm.QuotaPeriod) + verifyCgroupValue(ci.Name, CgroupCPUShares, strconv.FormatInt(cpuShares, 10)) + verifyCgroupValue(ci.Name, CgroupCPUQuota, strconv.FormatInt(cpuQuota, 10)) + verifyCgroupValue(ci.Name, CgroupMemLimit, strconv.FormatInt(memLimitInBytes, 10)) + } + } +} + +var _ = ginkgo.Describe("[sig-node] PodInPlaceResize", func() { + f := framework.NewDefaultFramework("pod-resize") + var podClient *framework.PodClient + var ns string + + if !utilfeature.DefaultFeatureGate.Enabled(InPlacePodVerticalScalingFeature) { + return + } + + ginkgo.BeforeEach(func() { + podClient = f.PodClient() + ns = f.Namespace.Name + }) + + type testCase struct { + name string + containers []TestContainerInfo + patchString string + expected []TestContainerInfo + } + + noRestart := v1.NoRestart + tests := []testCase{ + { + name: "Guaranteed QoS pod, one container - increase CPU & memory", + containers: []TestContainerInfo{ + { + Name: "c1", + Resources: &ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "200Mi", MemLim: "200Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + }, + patchString: `{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"200m","memory":"400Mi"},"limits":{"cpu":"200m","memory":"400Mi"}}} + ]}}`, + expected: []TestContainerInfo{ + { + Name: "c1", + Resources: &ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "400Mi", MemLim: "400Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + }, + }, + { + name: "Guaranteed QoS pod, one container - decrease CPU & memory", + containers: []TestContainerInfo{ + { + Name: "c1", + Resources: &ContainerResources{CPUReq: "300m", CPULim: "300m", MemReq: "500Mi", MemLim: "500Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + }, + patchString: `{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"100m","memory":"250Mi"},"limits":{"cpu":"100m","memory":"250Mi"}}} + ]}}`, + expected: []TestContainerInfo{ + { + Name: "c1", + Resources: &ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "250Mi", MemLim: "250Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + }, + }, + { + name: "Guaranteed QoS pod, three containers (c1, c2, c3) - increase: CPU (c1,c3), memory (c2) ; decrease: CPU (c2), memory (c1,c3)", + containers: []TestContainerInfo{ + { + Name: "c1", + Resources: &ContainerResources{CPUReq: "100m", CPULim: "100m", MemReq: "100Mi", MemLim: "100Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + { + Name: "c2", + Resources: &ContainerResources{CPUReq: "200m", CPULim: "200m", MemReq: "200Mi", MemLim: "200Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + { + Name: "c3", + Resources: &ContainerResources{CPUReq: "300m", CPULim: "300m", MemReq: "300Mi", MemLim: "300Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + }, + patchString: `{"spec":{"containers":[ + {"name":"c1", "resources":{"requests":{"cpu":"140m","memory":"50Mi"},"limits":{"cpu":"140m","memory":"50Mi"}}}, + {"name":"c2", "resources":{"requests":{"cpu":"150m","memory":"240Mi"},"limits":{"cpu":"150m","memory":"240Mi"}}}, + {"name":"c3", "resources":{"requests":{"cpu":"340m","memory":"250Mi"},"limits":{"cpu":"340m","memory":"250Mi"}}} + ]}}`, + expected: []TestContainerInfo{ + { + Name: "c1", + Resources: &ContainerResources{CPUReq: "140m", CPULim: "140m", MemReq: "50Mi", MemLim: "50Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + { + Name: "c2", + Resources: &ContainerResources{CPUReq: "150m", CPULim: "150m", MemReq: "240Mi", MemLim: "240Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + { + Name: "c3", + Resources: &ContainerResources{CPUReq: "340m", CPULim: "340m", MemReq: "250Mi", MemLim: "250Mi"}, + CPUPolicy: &noRestart, + MemPolicy: &noRestart, + }, + }, + }, + } + + for idx := range tests { + tc := tests[idx] + ginkgo.It(tc.name, func() { + tStamp := strconv.Itoa(time.Now().Nanosecond()) + tPod := makeTestPod(ns, "testpod", tStamp, tc.containers) + + ginkgo.By("creating pod") + pod := podClient.CreateSync(tPod) + + ginkgo.By("verifying the pod is in kubernetes") + selector := labels.SelectorFromSet(labels.Set(map[string]string{"time": tStamp})) + options := metav1.ListOptions{LabelSelector: selector.String()} + pods, err := podClient.List(context.TODO(), options) + framework.ExpectNoError(err, "failed to query for pods") + framework.ExpectEqual(len(pods.Items), 1) + + ginkgo.By("verifying pod resources and allocations are as expected") + verifyPodResources(pod, tc.containers) + verifyPodAllocations(pod, tc.containers) + verifyPodResizePolicy(pod, tc.containers) + + ginkgo.By("verifying pod status resources are as expected") + verifyPodStatusResources(pod, tc.containers) + + ginkgo.By("patching pod for resize") + pPod, pErr := f.ClientSet.CoreV1().Pods(pod.Namespace).Patch(context.TODO(), pod.Name, + types.StrategicMergePatchType, []byte(tc.patchString), metav1.PatchOptions{}) + framework.ExpectNoError(pErr, "failed to patch pod for resize") + + ginkgo.By("verifying pod patched for resize") + verifyPodResources(pPod, tc.expected) + verifyPodAllocations(pPod, tc.containers) + + ginkgo.By("verifying cgroup configuration in containers") + verifyPodContainersCgroupConfig(pPod, tc.expected) + + ginkgo.By("verifying pod resources, allocations, and status after resize") + waitPodStatusResourcesEqualSpecResources := func() (*v1.Pod, error) { + for start := time.Now(); time.Since(start) < PollTimeout; time.Sleep(PollInterval) { + pod, err := podClient.Get(context.TODO(), pod.Name, metav1.GetOptions{}) + if err != nil { + return nil, err + } + differs := false + for idx, c := range pod.Spec.Containers { + if diff.ObjectDiff(c.Resources, pod.Status.ContainerStatuses[idx].Resources) != "" { + differs = true + break + } + } + if differs { + continue + } + return pod, nil + } + return nil, fmt.Errorf("timed out waiting for pod spec resources to match status resources") + } + rPod, rErr := waitPodStatusResourcesEqualSpecResources() + framework.ExpectNoError(rErr, "failed to get pod") + verifyPodResources(rPod, tc.expected) + verifyPodAllocations(rPod, tc.expected) + verifyPodStatusResources(rPod, tc.expected) + + ginkgo.By("deleting pod") + err = e2epod.DeletePodWithWait(f.ClientSet, pod) + framework.ExpectNoError(err, "failed to delete pod") + }) + } +}) diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 1a777315063c3..44bddd2a0b68f 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -506,6 +506,17 @@ func LookForStringInPodExec(ns, podName string, command []string, expectedString }) } +// LookForStringInPodExecToContainer looks for the given string in the output of a command +// executed in a specific pod container. +func LookForStringInPodExecToContainer(ns, podName, containerName string, command []string, expectedString string, timeout time.Duration) (result string, err error) { + return lookForString(expectedString, timeout, func() string { + // use the first container + args := []string{"exec", podName, "-c", containerName, fmt.Sprintf("--namespace=%v", ns), "--"} + args = append(args, command...) + return RunKubectlOrDie(ns, args...) + }) +} + // lookForString looks for the given string in the output of fn, repeatedly calling fn until // the timeout is reached or the string is found. Returns last log and possibly // error if the string was not found.