Commit 2822e4fd authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #36651 from mwielgus/evict-from-b1

Automatic merge from submit-queue Switch pod eviction client from v1alpha1 to v1beta Generated client 1.5 has a function to evict a pod. The function uses v1alpha1.Eviction object instead of v1beta1. This pr changes the api version that is being used. cc: @davidopp @caesarxuchao
parents dd681f91 6f235de1
......@@ -44,7 +44,7 @@ go_library(
"//pkg/api/unversioned:go_default_library",
"//pkg/api/v1:go_default_library",
"//pkg/apimachinery/registered:go_default_library",
"//pkg/apis/policy/v1alpha1:go_default_library",
"//pkg/apis/policy/v1beta1:go_default_library",
"//pkg/client/restclient:go_default_library",
"//pkg/fields:go_default_library",
"//pkg/runtime:go_default_library",
......
......@@ -42,7 +42,7 @@ go_library(
"//pkg/api:go_default_library",
"//pkg/api/unversioned:go_default_library",
"//pkg/api/v1:go_default_library",
"//pkg/apis/policy/v1alpha1:go_default_library",
"//pkg/apis/policy/v1beta1:go_default_library",
"//pkg/client/clientset_generated/release_1_5/typed/core/v1:go_default_library",
"//pkg/client/restclient:go_default_library",
"//pkg/client/testing/core:go_default_library",
......
......@@ -18,7 +18,7 @@ package fake
import (
"k8s.io/kubernetes/pkg/api/v1"
policy "k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/testing/core"
)
......
......@@ -19,7 +19,7 @@ package v1
import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
policy "k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1"
"k8s.io/kubernetes/pkg/client/restclient"
)
......
......@@ -18,7 +18,7 @@ package fake
import (
"k8s.io/client-go/pkg/api/v1"
policy "k8s.io/client-go/pkg/apis/policy/v1alpha1"
policy "k8s.io/client-go/pkg/apis/policy/v1beta1"
"k8s.io/client-go/rest"
"k8s.io/client-go/testing"
)
......
......@@ -19,7 +19,7 @@ package v1
import (
"k8s.io/client-go/pkg/api"
"k8s.io/client-go/pkg/api/v1"
policy "k8s.io/client-go/pkg/apis/policy/v1alpha1"
policy "k8s.io/client-go/pkg/apis/policy/v1beta1"
"k8s.io/client-go/rest"
)
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -289,6 +289,8 @@ type VolumeSource struct {
// AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
// +optional
AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty"`
// PhotonPersistentDisk represents a Photon Controller persistent disk attached and mounted on kubelets host machine
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty"`
}
// Similar to VolumeSource but meant for the administrator who creates PVs.
......@@ -349,6 +351,8 @@ type PersistentVolumeSource struct {
// AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
// +optional
AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty"`
// PhotonPersistentDisk represents a Photon Controller persistent disk attached and mounted on kubelets host machine
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty"`
}
type PersistentVolumeClaimVolumeSource struct {
......@@ -936,6 +940,16 @@ type VsphereVirtualDiskVolumeSource struct {
FSType string `json:"fsType,omitempty"`
}
// Represents a Photon Controller persistent disk resource.
type PhotonPersistentDiskVolumeSource struct {
// ID that identifies Photon Controller persistent disk
PdID string `json:"pdID"`
// Filesystem type to mount.
// Must be a filesystem type supported by the host operating system.
// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
FSType string `json:"fsType,omitempty"`
}
type AzureDataDiskCachingMode string
const (
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2033,6 +2033,9 @@ message PersistentVolumeSource {
// AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
// +optional
optional AzureDiskVolumeSource azureDisk = 16;
// PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
optional PhotonPersistentDiskVolumeSource photonPersistentDisk = 17;
}
// PersistentVolumeSpec is the specification of a persistent volume.
......@@ -2082,6 +2085,17 @@ message PersistentVolumeStatus {
optional string reason = 3;
}
// Represents a Photon Controller persistent disk resource.
message PhotonPersistentDiskVolumeSource {
// ID that identifies Photon Controller persistent disk
optional string pdID = 1;
// Filesystem type to mount.
// Must be a filesystem type supported by the host operating system.
// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
optional string fsType = 2;
}
// Pod is a collection of containers that can run on a host. This resource is created
// by clients and scheduled onto hosts.
message Pod {
......@@ -3541,6 +3555,9 @@ message VolumeSource {
// AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
// +optional
optional AzureDiskVolumeSource azureDisk = 22;
// PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
optional PhotonPersistentDiskVolumeSource photonPersistentDisk = 23;
}
// Represents a vSphere volume resource.
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -322,6 +322,8 @@ type VolumeSource struct {
// AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
// +optional
AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,22,opt,name=azureDisk"`
// PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,23,opt,name=photonPersistentDisk"`
}
// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.
......@@ -405,6 +407,8 @@ type PersistentVolumeSource struct {
// AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
// +optional
AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,16,opt,name=azureDisk"`
// PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,17,opt,name=photonPersistentDisk"`
}
// +genclient=true
......@@ -1023,6 +1027,17 @@ type VsphereVirtualDiskVolumeSource struct {
// +optional
FSType string `json:"fsType,omitempty" protobuf:"bytes,2,opt,name=fsType"`
}
// Represents a Photon Controller persistent disk resource.
type PhotonPersistentDiskVolumeSource struct {
// ID that identifies Photon Controller persistent disk
PdID string `json:"pdID" protobuf:"bytes,1,opt,name=pdID"`
// Filesystem type to mount.
// Must be a filesystem type supported by the host operating system.
// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
FSType string `json:"fsType,omitempty" protobuf:"bytes,2,opt,name=fsType"`
}
type AzureDataDiskCachingMode string
const (
......
......@@ -1098,6 +1098,7 @@ var map_PersistentVolumeSource = map[string]string{
"vsphereVolume": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"quobyte": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
"azureDisk": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"photonPersistentDisk": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
}
func (PersistentVolumeSource) SwaggerDoc() map[string]string {
......@@ -1127,6 +1128,16 @@ func (PersistentVolumeStatus) SwaggerDoc() map[string]string {
return map_PersistentVolumeStatus
}
var map_PhotonPersistentDiskVolumeSource = map[string]string{
"": "Represents a Photon Controller persistent disk resource.",
"pdID": "ID that identifies Photon Controller persistent disk",
"fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
}
func (PhotonPersistentDiskVolumeSource) SwaggerDoc() map[string]string {
return map_PhotonPersistentDiskVolumeSource
}
var map_Pod = map[string]string{
"": "Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.",
"metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
......@@ -1787,18 +1798,19 @@ var map_VolumeSource = map[string]string{
"iscsi": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md",
"glusterfs": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md",
"persistentVolumeClaim": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims",
"rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.",
"cinder": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
"flocker": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
"downwardAPI": "DownwardAPI represents downward API about the pod that should populate this volume",
"fc": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
"azureFile": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
"configMap": "ConfigMap represents a configMap that should populate this volume",
"vsphereVolume": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"quobyte": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
"azureDisk": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"rbd": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
"flexVolume": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.",
"cinder": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
"cephfs": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
"flocker": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
"downwardAPI": "DownwardAPI represents downward API about the pod that should populate this volume",
"fc": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
"azureFile": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
"configMap": "ConfigMap represents a configMap that should populate this volume",
"vsphereVolume": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"quobyte": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
"azureDisk": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"photonPersistentDisk": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
}
func (VolumeSource) SwaggerDoc() map[string]string {
......
......@@ -229,6 +229,8 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_api_PersistentVolumeSpec_To_v1_PersistentVolumeSpec,
Convert_v1_PersistentVolumeStatus_To_api_PersistentVolumeStatus,
Convert_api_PersistentVolumeStatus_To_v1_PersistentVolumeStatus,
Convert_v1_PhotonPersistentDiskVolumeSource_To_api_PhotonPersistentDiskVolumeSource,
Convert_api_PhotonPersistentDiskVolumeSource_To_v1_PhotonPersistentDiskVolumeSource,
Convert_v1_Pod_To_api_Pod,
Convert_api_Pod_To_v1_Pod,
Convert_v1_PodAffinity_To_api_PodAffinity,
......@@ -2649,6 +2651,7 @@ func autoConvert_v1_PersistentVolumeSource_To_api_PersistentVolumeSource(in *Per
out.VsphereVolume = (*api.VsphereVirtualDiskVolumeSource)(unsafe.Pointer(in.VsphereVolume))
out.Quobyte = (*api.QuobyteVolumeSource)(unsafe.Pointer(in.Quobyte))
out.AzureDisk = (*api.AzureDiskVolumeSource)(unsafe.Pointer(in.AzureDisk))
out.PhotonPersistentDisk = (*api.PhotonPersistentDiskVolumeSource)(unsafe.Pointer(in.PhotonPersistentDisk))
return nil
}
......@@ -2673,6 +2676,7 @@ func autoConvert_api_PersistentVolumeSource_To_v1_PersistentVolumeSource(in *api
out.AzureFile = (*AzureFileVolumeSource)(unsafe.Pointer(in.AzureFile))
out.VsphereVolume = (*VsphereVirtualDiskVolumeSource)(unsafe.Pointer(in.VsphereVolume))
out.AzureDisk = (*AzureDiskVolumeSource)(unsafe.Pointer(in.AzureDisk))
out.PhotonPersistentDisk = (*PhotonPersistentDiskVolumeSource)(unsafe.Pointer(in.PhotonPersistentDisk))
return nil
}
......@@ -2732,6 +2736,26 @@ func Convert_api_PersistentVolumeStatus_To_v1_PersistentVolumeStatus(in *api.Per
return autoConvert_api_PersistentVolumeStatus_To_v1_PersistentVolumeStatus(in, out, s)
}
func autoConvert_v1_PhotonPersistentDiskVolumeSource_To_api_PhotonPersistentDiskVolumeSource(in *PhotonPersistentDiskVolumeSource, out *api.PhotonPersistentDiskVolumeSource, s conversion.Scope) error {
out.PdID = in.PdID
out.FSType = in.FSType
return nil
}
func Convert_v1_PhotonPersistentDiskVolumeSource_To_api_PhotonPersistentDiskVolumeSource(in *PhotonPersistentDiskVolumeSource, out *api.PhotonPersistentDiskVolumeSource, s conversion.Scope) error {
return autoConvert_v1_PhotonPersistentDiskVolumeSource_To_api_PhotonPersistentDiskVolumeSource(in, out, s)
}
func autoConvert_api_PhotonPersistentDiskVolumeSource_To_v1_PhotonPersistentDiskVolumeSource(in *api.PhotonPersistentDiskVolumeSource, out *PhotonPersistentDiskVolumeSource, s conversion.Scope) error {
out.PdID = in.PdID
out.FSType = in.FSType
return nil
}
func Convert_api_PhotonPersistentDiskVolumeSource_To_v1_PhotonPersistentDiskVolumeSource(in *api.PhotonPersistentDiskVolumeSource, out *PhotonPersistentDiskVolumeSource, s conversion.Scope) error {
return autoConvert_api_PhotonPersistentDiskVolumeSource_To_v1_PhotonPersistentDiskVolumeSource(in, out, s)
}
func autoConvert_v1_Pod_To_api_Pod(in *Pod, out *api.Pod, s conversion.Scope) error {
if err := Convert_v1_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil {
return err
......@@ -4266,6 +4290,7 @@ func autoConvert_v1_VolumeSource_To_api_VolumeSource(in *VolumeSource, out *api.
out.VsphereVolume = (*api.VsphereVirtualDiskVolumeSource)(unsafe.Pointer(in.VsphereVolume))
out.Quobyte = (*api.QuobyteVolumeSource)(unsafe.Pointer(in.Quobyte))
out.AzureDisk = (*api.AzureDiskVolumeSource)(unsafe.Pointer(in.AzureDisk))
out.PhotonPersistentDisk = (*api.PhotonPersistentDiskVolumeSource)(unsafe.Pointer(in.PhotonPersistentDisk))
return nil
}
......@@ -4296,6 +4321,7 @@ func autoConvert_api_VolumeSource_To_v1_VolumeSource(in *api.VolumeSource, out *
out.ConfigMap = (*ConfigMapVolumeSource)(unsafe.Pointer(in.ConfigMap))
out.VsphereVolume = (*VsphereVirtualDiskVolumeSource)(unsafe.Pointer(in.VsphereVolume))
out.AzureDisk = (*AzureDiskVolumeSource)(unsafe.Pointer(in.AzureDisk))
out.PhotonPersistentDisk = (*PhotonPersistentDiskVolumeSource)(unsafe.Pointer(in.PhotonPersistentDisk))
return nil
}
......
......@@ -132,6 +132,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PersistentVolumeSource, InType: reflect.TypeOf(&PersistentVolumeSource{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PersistentVolumeSpec, InType: reflect.TypeOf(&PersistentVolumeSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PersistentVolumeStatus, InType: reflect.TypeOf(&PersistentVolumeStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PhotonPersistentDiskVolumeSource, InType: reflect.TypeOf(&PhotonPersistentDiskVolumeSource{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Pod, InType: reflect.TypeOf(&Pod{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PodAffinity, InType: reflect.TypeOf(&PodAffinity{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PodAffinityTerm, InType: reflect.TypeOf(&PodAffinityTerm{})},
......@@ -2231,6 +2232,13 @@ func DeepCopy_v1_PersistentVolumeSource(in interface{}, out interface{}, c *conv
} else {
out.AzureDisk = nil
}
if in.PhotonPersistentDisk != nil {
in, out := &in.PhotonPersistentDisk, &out.PhotonPersistentDisk
*out = new(PhotonPersistentDiskVolumeSource)
**out = **in
} else {
out.PhotonPersistentDisk = nil
}
return nil
}
}
......@@ -2283,6 +2291,16 @@ func DeepCopy_v1_PersistentVolumeStatus(in interface{}, out interface{}, c *conv
}
}
func DeepCopy_v1_PhotonPersistentDiskVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PhotonPersistentDiskVolumeSource)
out := out.(*PhotonPersistentDiskVolumeSource)
out.PdID = in.PdID
out.FSType = in.FSType
return nil
}
}
func DeepCopy_v1_Pod(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Pod)
......@@ -3706,6 +3724,13 @@ func DeepCopy_v1_VolumeSource(in interface{}, out interface{}, c *conversion.Clo
} else {
out.AzureDisk = nil
}
if in.PhotonPersistentDisk != nil {
in, out := &in.PhotonPersistentDisk, &out.PhotonPersistentDisk
*out = new(PhotonPersistentDiskVolumeSource)
**out = **in
} else {
out.PhotonPersistentDisk = nil
}
return nil
}
}
......
......@@ -136,6 +136,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PersistentVolumeSource, InType: reflect.TypeOf(&PersistentVolumeSource{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PersistentVolumeSpec, InType: reflect.TypeOf(&PersistentVolumeSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PersistentVolumeStatus, InType: reflect.TypeOf(&PersistentVolumeStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PhotonPersistentDiskVolumeSource, InType: reflect.TypeOf(&PhotonPersistentDiskVolumeSource{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Pod, InType: reflect.TypeOf(&Pod{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PodAffinity, InType: reflect.TypeOf(&PodAffinity{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PodAffinityTerm, InType: reflect.TypeOf(&PodAffinityTerm{})},
......@@ -2290,6 +2291,13 @@ func DeepCopy_api_PersistentVolumeSource(in interface{}, out interface{}, c *con
} else {
out.AzureDisk = nil
}
if in.PhotonPersistentDisk != nil {
in, out := &in.PhotonPersistentDisk, &out.PhotonPersistentDisk
*out = new(PhotonPersistentDiskVolumeSource)
**out = **in
} else {
out.PhotonPersistentDisk = nil
}
return nil
}
}
......@@ -2342,6 +2350,16 @@ func DeepCopy_api_PersistentVolumeStatus(in interface{}, out interface{}, c *con
}
}
func DeepCopy_api_PhotonPersistentDiskVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PhotonPersistentDiskVolumeSource)
out := out.(*PhotonPersistentDiskVolumeSource)
out.PdID = in.PdID
out.FSType = in.FSType
return nil
}
}
func DeepCopy_api_Pod(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Pod)
......@@ -3752,6 +3770,13 @@ func DeepCopy_api_VolumeSource(in interface{}, out interface{}, c *conversion.Cl
} else {
out.AzureDisk = nil
}
if in.PhotonPersistentDisk != nil {
in, out := &in.PhotonPersistentDisk, &out.PhotonPersistentDisk
*out = new(PhotonPersistentDiskVolumeSource)
**out = **in
} else {
out.PhotonPersistentDisk = nil
}
return nil
}
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -326,8 +326,6 @@ type KubeletConfiguration struct {
RktPath string `json:"rktPath,omitempty"`
// experimentalMounterPath is the path of mounter binary. Leave empty to use the default mount path
ExperimentalMounterPath string `json:"experimentalMounterPath,omitempty"`
// experimentalMounterRootfsPath is the absolute path to root filesystem for the mounter binary.
ExperimentalMounterRootfsPath string `json:"experimentalMounterRootfsPath,omitempty"`
// rktApiEndpoint is the endpoint of the rkt API service to communicate with.
// +optional
RktAPIEndpoint string `json:"rktAPIEndpoint,omitempty"`
......@@ -468,6 +466,10 @@ type KubeletConfiguration struct {
// TODO(#34726:1.8.0): Remove the opt-in for failing when swap is enabled.
// Tells the Kubelet to fail to start if swap is enabled on the node.
ExperimentalFailSwapOn bool `json:"experimentalFailSwapOn,omitempty"`
// This flag, if set, enables a check prior to mount operations to verify that the required components
// (binaries, etc.) to mount the volume are available on the underlying node. If the check is enabled
// and fails the mount operation fails.
ExperimentalCheckNodeCapabilitiesBeforeMount bool `json:"ExperimentalCheckNodeCapabilitiesBeforeMount,omitempty"`
}
type KubeletAuthorizationMode string
......
......@@ -340,7 +340,7 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) {
obj.SerializeImagePulls = boolVar(true)
}
if obj.SeccompProfileRoot == "" {
filepath.Join(defaultRootDir, "seccomp")
obj.SeccompProfileRoot = filepath.Join(defaultRootDir, "seccomp")
}
if obj.StreamingConnectionIdleTimeout == zeroDuration {
obj.StreamingConnectionIdleTimeout = unversioned.Duration{Duration: 4 * time.Hour}
......
......@@ -374,8 +374,6 @@ type KubeletConfiguration struct {
// experimentalMounterPath is the path to mounter binary. If not set, kubelet will attempt to use mount
// binary that is available via $PATH,
ExperimentalMounterPath string `json:"experimentalMounterPath,omitempty"`
// experimentalMounterRootfsPath is the absolute path to root filesystem for the mounter binary.
ExperimentalMounterRootfsPath string `json:"experimentalMounterRootfsPath,omitempty"`
// rktApiEndpoint is the endpoint of the rkt API service to communicate with.
RktAPIEndpoint string `json:"rktAPIEndpoint"`
// rktStage1Image is the image to use as stage1. Local paths and
......@@ -507,6 +505,10 @@ type KubeletConfiguration struct {
// TODO(#34726:1.8.0): Remove the opt-in for failing when swap is enabled.
// Tells the Kubelet to fail to start if swap is enabled on the node.
ExperimentalFailSwapOn bool `json:"experimentalFailSwapOn,omitempty"`
// This flag, if set, enables a check prior to mount operations to verify that the required components
// (binaries, etc.) to mount the volume are available on the underlying node. If the check is enabled
// and fails the mount operation fails.
ExperimentalCheckNodeCapabilitiesBeforeMount bool `json:"ExperimentalCheckNodeCapabilitiesBeforeMount,omitempty"`
}
type KubeletAuthorizationMode string
......
......@@ -340,7 +340,6 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu
out.RuntimeRequestTimeout = in.RuntimeRequestTimeout
out.RktPath = in.RktPath
out.ExperimentalMounterPath = in.ExperimentalMounterPath
out.ExperimentalMounterRootfsPath = in.ExperimentalMounterRootfsPath
out.RktAPIEndpoint = in.RktAPIEndpoint
out.RktStage1Image = in.RktStage1Image
if err := api.Convert_Pointer_string_To_string(&in.LockFilePath, &out.LockFilePath, s); err != nil {
......@@ -408,6 +407,7 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu
out.FeatureGates = in.FeatureGates
out.EnableCRI = in.EnableCRI
out.ExperimentalFailSwapOn = in.ExperimentalFailSwapOn
out.ExperimentalCheckNodeCapabilitiesBeforeMount = in.ExperimentalCheckNodeCapabilitiesBeforeMount
return nil
}
......@@ -509,7 +509,6 @@ func autoConvert_componentconfig_KubeletConfiguration_To_v1alpha1_KubeletConfigu
out.RuntimeRequestTimeout = in.RuntimeRequestTimeout
out.RktPath = in.RktPath
out.ExperimentalMounterPath = in.ExperimentalMounterPath
out.ExperimentalMounterRootfsPath = in.ExperimentalMounterRootfsPath
out.RktAPIEndpoint = in.RktAPIEndpoint
out.RktStage1Image = in.RktStage1Image
if err := api.Convert_string_To_Pointer_string(&in.LockFilePath, &out.LockFilePath, s); err != nil {
......@@ -577,6 +576,7 @@ func autoConvert_componentconfig_KubeletConfiguration_To_v1alpha1_KubeletConfigu
out.FeatureGates = in.FeatureGates
out.EnableCRI = in.EnableCRI
out.ExperimentalFailSwapOn = in.ExperimentalFailSwapOn
out.ExperimentalCheckNodeCapabilitiesBeforeMount = in.ExperimentalCheckNodeCapabilitiesBeforeMount
return nil
}
......
......@@ -316,7 +316,6 @@ func DeepCopy_v1alpha1_KubeletConfiguration(in interface{}, out interface{}, c *
out.RuntimeRequestTimeout = in.RuntimeRequestTimeout
out.RktPath = in.RktPath
out.ExperimentalMounterPath = in.ExperimentalMounterPath
out.ExperimentalMounterRootfsPath = in.ExperimentalMounterRootfsPath
out.RktAPIEndpoint = in.RktAPIEndpoint
out.RktStage1Image = in.RktStage1Image
if in.LockFilePath != nil {
......@@ -462,6 +461,7 @@ func DeepCopy_v1alpha1_KubeletConfiguration(in interface{}, out interface{}, c *
out.FeatureGates = in.FeatureGates
out.EnableCRI = in.EnableCRI
out.ExperimentalFailSwapOn = in.ExperimentalFailSwapOn
out.ExperimentalCheckNodeCapabilitiesBeforeMount = in.ExperimentalCheckNodeCapabilitiesBeforeMount
return nil
}
}
......
......@@ -319,7 +319,6 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface
out.RuntimeRequestTimeout = in.RuntimeRequestTimeout
out.RktPath = in.RktPath
out.ExperimentalMounterPath = in.ExperimentalMounterPath
out.ExperimentalMounterRootfsPath = in.ExperimentalMounterRootfsPath
out.RktAPIEndpoint = in.RktAPIEndpoint
out.RktStage1Image = in.RktStage1Image
out.LockFilePath = in.LockFilePath
......@@ -393,6 +392,7 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface
out.FeatureGates = in.FeatureGates
out.EnableCRI = in.EnableCRI
out.ExperimentalFailSwapOn = in.ExperimentalFailSwapOn
out.ExperimentalCheckNodeCapabilitiesBeforeMount = in.ExperimentalCheckNodeCapabilitiesBeforeMount
return nil
}
}
......
......@@ -898,6 +898,7 @@ var (
VsphereVolume FSType = "vsphereVolume"
Quobyte FSType = "quobyte"
AzureDisk FSType = "azureDisk"
PhotonPersistentDisk FSType = "photonPersistentDisk"
All FSType = "*"
)
......
......@@ -362,12 +362,13 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
} else {
yysep24 := !z.EncBinary()
yy2arr24 := z.EncBasicHandle().StructToArray
var yyq24 [5]bool
var yyq24 [6]bool
_, _, _ = yysep24, yyq24, yy2arr24
const yyr24 bool = false
yyq24[0] = x.ObservedGeneration != 0
var yynn24 int
if yyr24 || yy2arr24 {
r.EncodeArrayStart(5)
r.EncodeArrayStart(6)
} else {
yynn24 = 5
for _, b := range yyq24 {
......@@ -380,8 +381,60 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym26 := z.EncBinary()
_ = yym26
if yyq24[0] {
yym26 := z.EncBinary()
_ = yym26
if false {
} else {
r.EncodeInt(int64(x.ObservedGeneration))
}
} else {
r.EncodeInt(0)
}
} else {
if yyq24[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym27 := z.EncBinary()
_ = yym27
if false {
} else {
r.EncodeInt(int64(x.ObservedGeneration))
}
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym29 := z.EncBinary()
_ = yym29
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("disruptedPods"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym30 := z.EncBinary()
_ = yym30
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym32 := z.EncBinary()
_ = yym32
if false {
} else {
r.EncodeInt(int64(x.PodDisruptionsAllowed))
......@@ -390,8 +443,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("disruptionsAllowed"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym27 := z.EncBinary()
_ = yym27
yym33 := z.EncBinary()
_ = yym33
if false {
} else {
r.EncodeInt(int64(x.PodDisruptionsAllowed))
......@@ -399,8 +452,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym29 := z.EncBinary()
_ = yym29
yym35 := z.EncBinary()
_ = yym35
if false {
} else {
r.EncodeInt(int64(x.CurrentHealthy))
......@@ -409,8 +462,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("currentHealthy"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym30 := z.EncBinary()
_ = yym30
yym36 := z.EncBinary()
_ = yym36
if false {
} else {
r.EncodeInt(int64(x.CurrentHealthy))
......@@ -418,8 +471,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym32 := z.EncBinary()
_ = yym32
yym38 := z.EncBinary()
_ = yym38
if false {
} else {
r.EncodeInt(int64(x.DesiredHealthy))
......@@ -428,8 +481,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("desiredHealthy"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym33 := z.EncBinary()
_ = yym33
yym39 := z.EncBinary()
_ = yym39
if false {
} else {
r.EncodeInt(int64(x.DesiredHealthy))
......@@ -437,8 +490,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym35 := z.EncBinary()
_ = yym35
yym41 := z.EncBinary()
_ = yym41
if false {
} else {
r.EncodeInt(int64(x.ExpectedPods))
......@@ -447,41 +500,14 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("expectedPods"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym36 := z.EncBinary()
_ = yym36
yym42 := z.EncBinary()
_ = yym42
if false {
} else {
r.EncodeInt(int64(x.ExpectedPods))
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym38 := z.EncBinary()
_ = yym38
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("disruptedPods"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym39 := z.EncBinary()
_ = yym39
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -494,25 +520,25 @@ func (x *PodDisruptionBudgetStatus) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym40 := z.DecBinary()
_ = yym40
yym43 := z.DecBinary()
_ = yym43
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct41 := r.ContainerType()
if yyct41 == codecSelferValueTypeMap1234 {
yyl41 := r.ReadMapStart()
if yyl41 == 0 {
yyct44 := r.ContainerType()
if yyct44 == codecSelferValueTypeMap1234 {
yyl44 := r.ReadMapStart()
if yyl44 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl41, d)
x.codecDecodeSelfFromMap(yyl44, d)
}
} else if yyct41 == codecSelferValueTypeArray1234 {
yyl41 := r.ReadArrayStart()
if yyl41 == 0 {
} else if yyct44 == codecSelferValueTypeArray1234 {
yyl44 := r.ReadArrayStart()
if yyl44 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl41, d)
x.codecDecodeSelfFromArray(yyl44, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -524,12 +550,12 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromMap(l int, d *codec1978.D
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys42Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys42Slc
var yyhl42 bool = l >= 0
for yyj42 := 0; ; yyj42++ {
if yyhl42 {
if yyj42 >= l {
var yys45Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys45Slc
var yyhl45 bool = l >= 0
for yyj45 := 0; ; yyj45++ {
if yyhl45 {
if yyj45 >= l {
break
}
} else {
......@@ -538,10 +564,28 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromMap(l int, d *codec1978.D
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys42Slc = r.DecodeBytes(yys42Slc, true, true)
yys42 := string(yys42Slc)
yys45Slc = r.DecodeBytes(yys45Slc, true, true)
yys45 := string(yys45Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys42 {
switch yys45 {
case "observedGeneration":
if r.TryDecodeAsNil() {
x.ObservedGeneration = 0
} else {
x.ObservedGeneration = int64(r.DecodeInt(64))
}
case "disruptedPods":
if r.TryDecodeAsNil() {
x.DisruptedPods = nil
} else {
yyv47 := &x.DisruptedPods
yym48 := z.DecBinary()
_ = yym48
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv47), d)
}
}
case "disruptionsAllowed":
if r.TryDecodeAsNil() {
x.PodDisruptionsAllowed = 0
......@@ -566,22 +610,10 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromMap(l int, d *codec1978.D
} else {
x.ExpectedPods = int32(r.DecodeInt(32))
}
case "disruptedPods":
if r.TryDecodeAsNil() {
x.DisruptedPods = nil
} else {
yyv47 := &x.DisruptedPods
yym48 := z.DecBinary()
_ = yym48
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv47), d)
}
}
default:
z.DecStructFieldNotFound(-1, yys42)
} // end switch yys42
} // end for yyj42
z.DecStructFieldNotFound(-1, yys45)
} // end switch yys45
} // end for yyj45
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -589,107 +621,123 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromArray(l int, d *codec1978
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj49 int
var yyb49 bool
var yyhl49 bool = l >= 0
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
var yyj53 int
var yyb53 bool
var yyhl53 bool = l >= 0
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.PodDisruptionsAllowed = 0
x.ObservedGeneration = 0
} else {
x.PodDisruptionsAllowed = int32(r.DecodeInt(32))
x.ObservedGeneration = int64(r.DecodeInt(64))
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.CurrentHealthy = 0
x.DisruptedPods = nil
} else {
x.CurrentHealthy = int32(r.DecodeInt(32))
yyv55 := &x.DisruptedPods
yym56 := z.DecBinary()
_ = yym56
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv55), d)
}
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.DesiredHealthy = 0
x.PodDisruptionsAllowed = 0
} else {
x.DesiredHealthy = int32(r.DecodeInt(32))
x.PodDisruptionsAllowed = int32(r.DecodeInt(32))
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ExpectedPods = 0
x.CurrentHealthy = 0
} else {
x.ExpectedPods = int32(r.DecodeInt(32))
x.CurrentHealthy = int32(r.DecodeInt(32))
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.DisruptedPods = nil
x.DesiredHealthy = 0
} else {
yyv54 := &x.DisruptedPods
yym55 := z.DecBinary()
_ = yym55
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv54), d)
}
x.DesiredHealthy = int32(r.DecodeInt(32))
}
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb53 = r.CheckBreak()
}
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ExpectedPods = 0
} else {
x.ExpectedPods = int32(r.DecodeInt(32))
}
for {
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj49-1, "")
z.DecStructFieldNotFound(yyj53-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -701,39 +749,39 @@ func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder) {
if x == nil {
r.EncodeNil()
} else {
yym56 := z.EncBinary()
_ = yym56
yym61 := z.EncBinary()
_ = yym61
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep57 := !z.EncBinary()
yy2arr57 := z.EncBasicHandle().StructToArray
var yyq57 [5]bool
_, _, _ = yysep57, yyq57, yy2arr57
const yyr57 bool = false
yyq57[0] = x.Kind != ""
yyq57[1] = x.APIVersion != ""
yyq57[2] = true
yyq57[3] = true
yyq57[4] = true
var yynn57 int
if yyr57 || yy2arr57 {
yysep62 := !z.EncBinary()
yy2arr62 := z.EncBasicHandle().StructToArray
var yyq62 [5]bool
_, _, _ = yysep62, yyq62, yy2arr62
const yyr62 bool = false
yyq62[0] = x.Kind != ""
yyq62[1] = x.APIVersion != ""
yyq62[2] = true
yyq62[3] = true
yyq62[4] = true
var yynn62 int
if yyr62 || yy2arr62 {
r.EncodeArrayStart(5)
} else {
yynn57 = 0
for _, b := range yyq57 {
yynn62 = 0
for _, b := range yyq62 {
if b {
yynn57++
yynn62++
}
}
r.EncodeMapStart(yynn57)
yynn57 = 0
r.EncodeMapStart(yynn62)
yynn62 = 0
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[0] {
yym59 := z.EncBinary()
_ = yym59
if yyq62[0] {
yym64 := z.EncBinary()
_ = yym64
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
......@@ -742,23 +790,23 @@ func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq57[0] {
if yyq62[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym60 := z.EncBinary()
_ = yym60
yym65 := z.EncBinary()
_ = yym65
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[1] {
yym62 := z.EncBinary()
_ = yym62
if yyq62[1] {
yym67 := z.EncBinary()
_ = yym67
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
......@@ -767,70 +815,70 @@ func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq57[1] {
if yyq62[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym63 := z.EncBinary()
_ = yym63
yym68 := z.EncBinary()
_ = yym68
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[2] {
yy65 := &x.ObjectMeta
yy65.CodecEncodeSelf(e)
if yyq62[2] {
yy70 := &x.ObjectMeta
yy70.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq57[2] {
if yyq62[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy66 := &x.ObjectMeta
yy66.CodecEncodeSelf(e)
yy71 := &x.ObjectMeta
yy71.CodecEncodeSelf(e)
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[3] {
yy68 := &x.Spec
yy68.CodecEncodeSelf(e)
if yyq62[3] {
yy73 := &x.Spec
yy73.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq57[3] {
if yyq62[3] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("spec"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy69 := &x.Spec
yy69.CodecEncodeSelf(e)
yy74 := &x.Spec
yy74.CodecEncodeSelf(e)
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[4] {
yy71 := &x.Status
yy71.CodecEncodeSelf(e)
if yyq62[4] {
yy76 := &x.Status
yy76.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq57[4] {
if yyq62[4] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("status"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy72 := &x.Status
yy72.CodecEncodeSelf(e)
yy77 := &x.Status
yy77.CodecEncodeSelf(e)
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -843,25 +891,25 @@ func (x *PodDisruptionBudget) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym73 := z.DecBinary()
_ = yym73
yym78 := z.DecBinary()
_ = yym78
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct74 := r.ContainerType()
if yyct74 == codecSelferValueTypeMap1234 {
yyl74 := r.ReadMapStart()
if yyl74 == 0 {
yyct79 := r.ContainerType()
if yyct79 == codecSelferValueTypeMap1234 {
yyl79 := r.ReadMapStart()
if yyl79 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl74, d)
x.codecDecodeSelfFromMap(yyl79, d)
}
} else if yyct74 == codecSelferValueTypeArray1234 {
yyl74 := r.ReadArrayStart()
if yyl74 == 0 {
} else if yyct79 == codecSelferValueTypeArray1234 {
yyl79 := r.ReadArrayStart()
if yyl79 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl74, d)
x.codecDecodeSelfFromArray(yyl79, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -873,12 +921,12 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromMap(l int, d *codec1978.Decoder
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys75Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys75Slc
var yyhl75 bool = l >= 0
for yyj75 := 0; ; yyj75++ {
if yyhl75 {
if yyj75 >= l {
var yys80Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys80Slc
var yyhl80 bool = l >= 0
for yyj80 := 0; ; yyj80++ {
if yyhl80 {
if yyj80 >= l {
break
}
} else {
......@@ -887,10 +935,10 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromMap(l int, d *codec1978.Decoder
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys75Slc = r.DecodeBytes(yys75Slc, true, true)
yys75 := string(yys75Slc)
yys80Slc = r.DecodeBytes(yys80Slc, true, true)
yys80 := string(yys80Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys75 {
switch yys80 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
......@@ -907,27 +955,27 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromMap(l int, d *codec1978.Decoder
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_api.ObjectMeta{}
} else {
yyv78 := &x.ObjectMeta
yyv78.CodecDecodeSelf(d)
yyv83 := &x.ObjectMeta
yyv83.CodecDecodeSelf(d)
}
case "spec":
if r.TryDecodeAsNil() {
x.Spec = PodDisruptionBudgetSpec{}
} else {
yyv79 := &x.Spec
yyv79.CodecDecodeSelf(d)
yyv84 := &x.Spec
yyv84.CodecDecodeSelf(d)
}
case "status":
if r.TryDecodeAsNil() {
x.Status = PodDisruptionBudgetStatus{}
} else {
yyv80 := &x.Status
yyv80.CodecDecodeSelf(d)
yyv85 := &x.Status
yyv85.CodecDecodeSelf(d)
}
default:
z.DecStructFieldNotFound(-1, yys75)
} // end switch yys75
} // end for yyj75
z.DecStructFieldNotFound(-1, yys80)
} // end switch yys80
} // end for yyj80
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -935,16 +983,16 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj81 int
var yyb81 bool
var yyhl81 bool = l >= 0
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
var yyj86 int
var yyb86 bool
var yyhl86 bool = l >= 0
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -954,13 +1002,13 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
} else {
x.Kind = string(r.DecodeString())
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -970,13 +1018,13 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
} else {
x.APIVersion = string(r.DecodeString())
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -984,16 +1032,16 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_api.ObjectMeta{}
} else {
yyv84 := &x.ObjectMeta
yyv84.CodecDecodeSelf(d)
yyv89 := &x.ObjectMeta
yyv89.CodecDecodeSelf(d)
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1001,16 +1049,16 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
if r.TryDecodeAsNil() {
x.Spec = PodDisruptionBudgetSpec{}
} else {
yyv85 := &x.Spec
yyv85.CodecDecodeSelf(d)
yyv90 := &x.Spec
yyv90.CodecDecodeSelf(d)
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1018,21 +1066,21 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
if r.TryDecodeAsNil() {
x.Status = PodDisruptionBudgetStatus{}
} else {
yyv86 := &x.Status
yyv86.CodecDecodeSelf(d)
yyv91 := &x.Status
yyv91.CodecDecodeSelf(d)
}
for {
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj81-1, "")
z.DecStructFieldNotFound(yyj86-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1044,37 +1092,37 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
if x == nil {
r.EncodeNil()
} else {
yym87 := z.EncBinary()
_ = yym87
yym92 := z.EncBinary()
_ = yym92
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep88 := !z.EncBinary()
yy2arr88 := z.EncBasicHandle().StructToArray
var yyq88 [4]bool
_, _, _ = yysep88, yyq88, yy2arr88
const yyr88 bool = false
yyq88[0] = x.Kind != ""
yyq88[1] = x.APIVersion != ""
yyq88[2] = true
var yynn88 int
if yyr88 || yy2arr88 {
yysep93 := !z.EncBinary()
yy2arr93 := z.EncBasicHandle().StructToArray
var yyq93 [4]bool
_, _, _ = yysep93, yyq93, yy2arr93
const yyr93 bool = false
yyq93[0] = x.Kind != ""
yyq93[1] = x.APIVersion != ""
yyq93[2] = true
var yynn93 int
if yyr93 || yy2arr93 {
r.EncodeArrayStart(4)
} else {
yynn88 = 1
for _, b := range yyq88 {
yynn93 = 1
for _, b := range yyq93 {
if b {
yynn88++
yynn93++
}
}
r.EncodeMapStart(yynn88)
yynn88 = 0
r.EncodeMapStart(yynn93)
yynn93 = 0
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq88[0] {
yym90 := z.EncBinary()
_ = yym90
if yyq93[0] {
yym95 := z.EncBinary()
_ = yym95
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
......@@ -1083,23 +1131,23 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq88[0] {
if yyq93[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym91 := z.EncBinary()
_ = yym91
yym96 := z.EncBinary()
_ = yym96
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq88[1] {
yym93 := z.EncBinary()
_ = yym93
if yyq93[1] {
yym98 := z.EncBinary()
_ = yym98
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
......@@ -1108,54 +1156,54 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq88[1] {
if yyq93[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym94 := z.EncBinary()
_ = yym94
yym99 := z.EncBinary()
_ = yym99
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq88[2] {
yy96 := &x.ListMeta
yym97 := z.EncBinary()
_ = yym97
if yyq93[2] {
yy101 := &x.ListMeta
yym102 := z.EncBinary()
_ = yym102
if false {
} else if z.HasExtensions() && z.EncExt(yy96) {
} else if z.HasExtensions() && z.EncExt(yy101) {
} else {
z.EncFallback(yy96)
z.EncFallback(yy101)
}
} else {
r.EncodeNil()
}
} else {
if yyq88[2] {
if yyq93[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy98 := &x.ListMeta
yym99 := z.EncBinary()
_ = yym99
yy103 := &x.ListMeta
yym104 := z.EncBinary()
_ = yym104
if false {
} else if z.HasExtensions() && z.EncExt(yy98) {
} else if z.HasExtensions() && z.EncExt(yy103) {
} else {
z.EncFallback(yy98)
z.EncFallback(yy103)
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.Items == nil {
r.EncodeNil()
} else {
yym101 := z.EncBinary()
_ = yym101
yym106 := z.EncBinary()
_ = yym106
if false {
} else {
h.encSlicePodDisruptionBudget(([]PodDisruptionBudget)(x.Items), e)
......@@ -1168,15 +1216,15 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
if x.Items == nil {
r.EncodeNil()
} else {
yym102 := z.EncBinary()
_ = yym102
yym107 := z.EncBinary()
_ = yym107
if false {
} else {
h.encSlicePodDisruptionBudget(([]PodDisruptionBudget)(x.Items), e)
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -1189,25 +1237,25 @@ func (x *PodDisruptionBudgetList) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym103 := z.DecBinary()
_ = yym103
yym108 := z.DecBinary()
_ = yym108
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct104 := r.ContainerType()
if yyct104 == codecSelferValueTypeMap1234 {
yyl104 := r.ReadMapStart()
if yyl104 == 0 {
yyct109 := r.ContainerType()
if yyct109 == codecSelferValueTypeMap1234 {
yyl109 := r.ReadMapStart()
if yyl109 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl104, d)
x.codecDecodeSelfFromMap(yyl109, d)
}
} else if yyct104 == codecSelferValueTypeArray1234 {
yyl104 := r.ReadArrayStart()
if yyl104 == 0 {
} else if yyct109 == codecSelferValueTypeArray1234 {
yyl109 := r.ReadArrayStart()
if yyl109 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl104, d)
x.codecDecodeSelfFromArray(yyl109, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -1219,12 +1267,12 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromMap(l int, d *codec1978.Dec
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys105Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys105Slc
var yyhl105 bool = l >= 0
for yyj105 := 0; ; yyj105++ {
if yyhl105 {
if yyj105 >= l {
var yys110Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys110Slc
var yyhl110 bool = l >= 0
for yyj110 := 0; ; yyj110++ {
if yyhl110 {
if yyj110 >= l {
break
}
} else {
......@@ -1233,10 +1281,10 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromMap(l int, d *codec1978.Dec
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys105Slc = r.DecodeBytes(yys105Slc, true, true)
yys105 := string(yys105Slc)
yys110Slc = r.DecodeBytes(yys110Slc, true, true)
yys110 := string(yys110Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys105 {
switch yys110 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
......@@ -1253,31 +1301,31 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromMap(l int, d *codec1978.Dec
if r.TryDecodeAsNil() {
x.ListMeta = pkg2_unversioned.ListMeta{}
} else {
yyv108 := &x.ListMeta
yym109 := z.DecBinary()
_ = yym109
yyv113 := &x.ListMeta
yym114 := z.DecBinary()
_ = yym114
if false {
} else if z.HasExtensions() && z.DecExt(yyv108) {
} else if z.HasExtensions() && z.DecExt(yyv113) {
} else {
z.DecFallback(yyv108, false)
z.DecFallback(yyv113, false)
}
}
case "items":
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv110 := &x.Items
yym111 := z.DecBinary()
_ = yym111
yyv115 := &x.Items
yym116 := z.DecBinary()
_ = yym116
if false {
} else {
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv110), d)
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv115), d)
}
}
default:
z.DecStructFieldNotFound(-1, yys105)
} // end switch yys105
} // end for yyj105
z.DecStructFieldNotFound(-1, yys110)
} // end switch yys110
} // end for yyj110
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -1285,16 +1333,16 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj112 int
var yyb112 bool
var yyhl112 bool = l >= 0
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
var yyj117 int
var yyb117 bool
var yyhl117 bool = l >= 0
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1304,13 +1352,13 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
} else {
x.Kind = string(r.DecodeString())
}
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1320,13 +1368,13 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
} else {
x.APIVersion = string(r.DecodeString())
}
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1334,22 +1382,22 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
if r.TryDecodeAsNil() {
x.ListMeta = pkg2_unversioned.ListMeta{}
} else {
yyv115 := &x.ListMeta
yym116 := z.DecBinary()
_ = yym116
yyv120 := &x.ListMeta
yym121 := z.DecBinary()
_ = yym121
if false {
} else if z.HasExtensions() && z.DecExt(yyv115) {
} else if z.HasExtensions() && z.DecExt(yyv120) {
} else {
z.DecFallback(yyv115, false)
z.DecFallback(yyv120, false)
}
}
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1357,26 +1405,26 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv117 := &x.Items
yym118 := z.DecBinary()
_ = yym118
yyv122 := &x.Items
yym123 := z.DecBinary()
_ = yym123
if false {
} else {
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv117), d)
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv122), d)
}
}
for {
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj112-1, "")
z.DecStructFieldNotFound(yyj117-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1388,38 +1436,38 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
if x == nil {
r.EncodeNil()
} else {
yym119 := z.EncBinary()
_ = yym119
yym124 := z.EncBinary()
_ = yym124
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep120 := !z.EncBinary()
yy2arr120 := z.EncBasicHandle().StructToArray
var yyq120 [4]bool
_, _, _ = yysep120, yyq120, yy2arr120
const yyr120 bool = false
yyq120[0] = x.Kind != ""
yyq120[1] = x.APIVersion != ""
yyq120[2] = true
yyq120[3] = x.DeleteOptions != nil
var yynn120 int
if yyr120 || yy2arr120 {
yysep125 := !z.EncBinary()
yy2arr125 := z.EncBasicHandle().StructToArray
var yyq125 [4]bool
_, _, _ = yysep125, yyq125, yy2arr125
const yyr125 bool = false
yyq125[0] = x.Kind != ""
yyq125[1] = x.APIVersion != ""
yyq125[2] = true
yyq125[3] = x.DeleteOptions != nil
var yynn125 int
if yyr125 || yy2arr125 {
r.EncodeArrayStart(4)
} else {
yynn120 = 0
for _, b := range yyq120 {
yynn125 = 0
for _, b := range yyq125 {
if b {
yynn120++
yynn125++
}
}
r.EncodeMapStart(yynn120)
yynn120 = 0
r.EncodeMapStart(yynn125)
yynn125 = 0
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[0] {
yym122 := z.EncBinary()
_ = yym122
if yyq125[0] {
yym127 := z.EncBinary()
_ = yym127
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
......@@ -1428,23 +1476,23 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq120[0] {
if yyq125[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym123 := z.EncBinary()
_ = yym123
yym128 := z.EncBinary()
_ = yym128
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[1] {
yym125 := z.EncBinary()
_ = yym125
if yyq125[1] {
yym130 := z.EncBinary()
_ = yym130
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
......@@ -1453,38 +1501,38 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq120[1] {
if yyq125[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym126 := z.EncBinary()
_ = yym126
yym131 := z.EncBinary()
_ = yym131
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[2] {
yy128 := &x.ObjectMeta
yy128.CodecEncodeSelf(e)
if yyq125[2] {
yy133 := &x.ObjectMeta
yy133.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq120[2] {
if yyq125[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy129 := &x.ObjectMeta
yy129.CodecEncodeSelf(e)
yy134 := &x.ObjectMeta
yy134.CodecEncodeSelf(e)
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[3] {
if yyq125[3] {
if x.DeleteOptions == nil {
r.EncodeNil()
} else {
......@@ -1494,7 +1542,7 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeNil()
}
} else {
if yyq120[3] {
if yyq125[3] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("deleteOptions"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
......@@ -1505,7 +1553,7 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
}
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -1518,25 +1566,25 @@ func (x *Eviction) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym131 := z.DecBinary()
_ = yym131
yym136 := z.DecBinary()
_ = yym136
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct132 := r.ContainerType()
if yyct132 == codecSelferValueTypeMap1234 {
yyl132 := r.ReadMapStart()
if yyl132 == 0 {
yyct137 := r.ContainerType()
if yyct137 == codecSelferValueTypeMap1234 {
yyl137 := r.ReadMapStart()
if yyl137 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl132, d)
x.codecDecodeSelfFromMap(yyl137, d)
}
} else if yyct132 == codecSelferValueTypeArray1234 {
yyl132 := r.ReadArrayStart()
if yyl132 == 0 {
} else if yyct137 == codecSelferValueTypeArray1234 {
yyl137 := r.ReadArrayStart()
if yyl137 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl132, d)
x.codecDecodeSelfFromArray(yyl137, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -1548,12 +1596,12 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys133Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys133Slc
var yyhl133 bool = l >= 0
for yyj133 := 0; ; yyj133++ {
if yyhl133 {
if yyj133 >= l {
var yys138Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys138Slc
var yyhl138 bool = l >= 0
for yyj138 := 0; ; yyj138++ {
if yyhl138 {
if yyj138 >= l {
break
}
} else {
......@@ -1562,10 +1610,10 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys133Slc = r.DecodeBytes(yys133Slc, true, true)
yys133 := string(yys133Slc)
yys138Slc = r.DecodeBytes(yys138Slc, true, true)
yys138 := string(yys138Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys133 {
switch yys138 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
......@@ -1582,8 +1630,8 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_api.ObjectMeta{}
} else {
yyv136 := &x.ObjectMeta
yyv136.CodecDecodeSelf(d)
yyv141 := &x.ObjectMeta
yyv141.CodecDecodeSelf(d)
}
case "deleteOptions":
if r.TryDecodeAsNil() {
......@@ -1597,9 +1645,9 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
x.DeleteOptions.CodecDecodeSelf(d)
}
default:
z.DecStructFieldNotFound(-1, yys133)
} // end switch yys133
} // end for yyj133
z.DecStructFieldNotFound(-1, yys138)
} // end switch yys138
} // end for yyj138
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -1607,16 +1655,16 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj138 int
var yyb138 bool
var yyhl138 bool = l >= 0
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
var yyj143 int
var yyb143 bool
var yyhl143 bool = l >= 0
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1626,13 +1674,13 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else {
x.Kind = string(r.DecodeString())
}
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1642,13 +1690,13 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else {
x.APIVersion = string(r.DecodeString())
}
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1656,16 +1704,16 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_api.ObjectMeta{}
} else {
yyv141 := &x.ObjectMeta
yyv141.CodecDecodeSelf(d)
yyv146 := &x.ObjectMeta
yyv146.CodecDecodeSelf(d)
}
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1681,17 +1729,17 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
x.DeleteOptions.CodecDecodeSelf(d)
}
for {
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj138-1, "")
z.DecStructFieldNotFound(yyj143-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1701,26 +1749,26 @@ func (x codecSelfer1234) encMapstringunversioned_Time(v map[string]pkg2_unversio
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
r.EncodeMapStart(len(v))
for yyk143, yyv143 := range v {
for yyk148, yyv148 := range v {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
yym144 := z.EncBinary()
_ = yym144
yym149 := z.EncBinary()
_ = yym149
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(yyk143))
r.EncodeString(codecSelferC_UTF81234, string(yyk148))
}
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy145 := &yyv143
yym146 := z.EncBinary()
_ = yym146
yy150 := &yyv148
yym151 := z.EncBinary()
_ = yym151
if false {
} else if z.HasExtensions() && z.EncExt(yy145) {
} else if yym146 {
z.EncBinaryMarshal(yy145)
} else if !yym146 && z.IsJSONHandle() {
z.EncJSONMarshal(yy145)
} else if z.HasExtensions() && z.EncExt(yy150) {
} else if yym151 {
z.EncBinaryMarshal(yy150)
} else if !yym151 && z.IsJSONHandle() {
z.EncJSONMarshal(yy150)
} else {
z.EncFallback(yy145)
z.EncFallback(yy150)
}
}
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -1731,90 +1779,90 @@ func (x codecSelfer1234) decMapstringunversioned_Time(v *map[string]pkg2_unversi
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yyv147 := *v
yyl147 := r.ReadMapStart()
yybh147 := z.DecBasicHandle()
if yyv147 == nil {
yyrl147, _ := z.DecInferLen(yyl147, yybh147.MaxInitLen, 40)
yyv147 = make(map[string]pkg2_unversioned.Time, yyrl147)
*v = yyv147
}
var yymk147 string
var yymv147 pkg2_unversioned.Time
var yymg147 bool
if yybh147.MapValueReset {
yymg147 = true
}
if yyl147 > 0 {
for yyj147 := 0; yyj147 < yyl147; yyj147++ {
yyv152 := *v
yyl152 := r.ReadMapStart()
yybh152 := z.DecBasicHandle()
if yyv152 == nil {
yyrl152, _ := z.DecInferLen(yyl152, yybh152.MaxInitLen, 40)
yyv152 = make(map[string]pkg2_unversioned.Time, yyrl152)
*v = yyv152
}
var yymk152 string
var yymv152 pkg2_unversioned.Time
var yymg152 bool
if yybh152.MapValueReset {
yymg152 = true
}
if yyl152 > 0 {
for yyj152 := 0; yyj152 < yyl152; yyj152++ {
z.DecSendContainerState(codecSelfer_containerMapKey1234)
if r.TryDecodeAsNil() {
yymk147 = ""
yymk152 = ""
} else {
yymk147 = string(r.DecodeString())
yymk152 = string(r.DecodeString())
}
if yymg147 {
yymv147 = yyv147[yymk147]
if yymg152 {
yymv152 = yyv152[yymk152]
} else {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
}
z.DecSendContainerState(codecSelfer_containerMapValue1234)
if r.TryDecodeAsNil() {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
} else {
yyv149 := &yymv147
yym150 := z.DecBinary()
_ = yym150
yyv154 := &yymv152
yym155 := z.DecBinary()
_ = yym155
if false {
} else if z.HasExtensions() && z.DecExt(yyv149) {
} else if yym150 {
z.DecBinaryUnmarshal(yyv149)
} else if !yym150 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv149)
} else if z.HasExtensions() && z.DecExt(yyv154) {
} else if yym155 {
z.DecBinaryUnmarshal(yyv154)
} else if !yym155 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv154)
} else {
z.DecFallback(yyv149, false)
z.DecFallback(yyv154, false)
}
}
if yyv147 != nil {
yyv147[yymk147] = yymv147
if yyv152 != nil {
yyv152[yymk152] = yymv152
}
}
} else if yyl147 < 0 {
for yyj147 := 0; !r.CheckBreak(); yyj147++ {
} else if yyl152 < 0 {
for yyj152 := 0; !r.CheckBreak(); yyj152++ {
z.DecSendContainerState(codecSelfer_containerMapKey1234)
if r.TryDecodeAsNil() {
yymk147 = ""
yymk152 = ""
} else {
yymk147 = string(r.DecodeString())
yymk152 = string(r.DecodeString())
}
if yymg147 {
yymv147 = yyv147[yymk147]
if yymg152 {
yymv152 = yyv152[yymk152]
} else {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
}
z.DecSendContainerState(codecSelfer_containerMapValue1234)
if r.TryDecodeAsNil() {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
} else {
yyv152 := &yymv147
yym153 := z.DecBinary()
_ = yym153
yyv157 := &yymv152
yym158 := z.DecBinary()
_ = yym158
if false {
} else if z.HasExtensions() && z.DecExt(yyv152) {
} else if yym153 {
z.DecBinaryUnmarshal(yyv152)
} else if !yym153 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv152)
} else if z.HasExtensions() && z.DecExt(yyv157) {
} else if yym158 {
z.DecBinaryUnmarshal(yyv157)
} else if !yym158 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv157)
} else {
z.DecFallback(yyv152, false)
z.DecFallback(yyv157, false)
}
}
if yyv147 != nil {
yyv147[yymk147] = yymv147
if yyv152 != nil {
yyv152[yymk152] = yymv152
}
}
} // else len==0: TODO: Should we clear map entries?
......@@ -1826,10 +1874,10 @@ func (x codecSelfer1234) encSlicePodDisruptionBudget(v []PodDisruptionBudget, e
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
r.EncodeArrayStart(len(v))
for _, yyv154 := range v {
for _, yyv159 := range v {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yy155 := &yyv154
yy155.CodecEncodeSelf(e)
yy160 := &yyv159
yy160.CodecEncodeSelf(e)
}
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1839,83 +1887,83 @@ func (x codecSelfer1234) decSlicePodDisruptionBudget(v *[]PodDisruptionBudget, d
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yyv156 := *v
yyh156, yyl156 := z.DecSliceHelperStart()
var yyc156 bool
if yyl156 == 0 {
if yyv156 == nil {
yyv156 = []PodDisruptionBudget{}
yyc156 = true
} else if len(yyv156) != 0 {
yyv156 = yyv156[:0]
yyc156 = true
yyv161 := *v
yyh161, yyl161 := z.DecSliceHelperStart()
var yyc161 bool
if yyl161 == 0 {
if yyv161 == nil {
yyv161 = []PodDisruptionBudget{}
yyc161 = true
} else if len(yyv161) != 0 {
yyv161 = yyv161[:0]
yyc161 = true
}
} else if yyl156 > 0 {
var yyrr156, yyrl156 int
var yyrt156 bool
if yyl156 > cap(yyv156) {
} else if yyl161 > 0 {
var yyrr161, yyrl161 int
var yyrt161 bool
if yyl161 > cap(yyv161) {
yyrg156 := len(yyv156) > 0
yyv2156 := yyv156
yyrl156, yyrt156 = z.DecInferLen(yyl156, z.DecBasicHandle().MaxInitLen, 320)
if yyrt156 {
if yyrl156 <= cap(yyv156) {
yyv156 = yyv156[:yyrl156]
yyrg161 := len(yyv161) > 0
yyv2161 := yyv161
yyrl161, yyrt161 = z.DecInferLen(yyl161, z.DecBasicHandle().MaxInitLen, 328)
if yyrt161 {
if yyrl161 <= cap(yyv161) {
yyv161 = yyv161[:yyrl161]
} else {
yyv156 = make([]PodDisruptionBudget, yyrl156)
yyv161 = make([]PodDisruptionBudget, yyrl161)
}
} else {
yyv156 = make([]PodDisruptionBudget, yyrl156)
yyv161 = make([]PodDisruptionBudget, yyrl161)
}
yyc156 = true
yyrr156 = len(yyv156)
if yyrg156 {
copy(yyv156, yyv2156)
yyc161 = true
yyrr161 = len(yyv161)
if yyrg161 {
copy(yyv161, yyv2161)
}
} else if yyl156 != len(yyv156) {
yyv156 = yyv156[:yyl156]
yyc156 = true
} else if yyl161 != len(yyv161) {
yyv161 = yyv161[:yyl161]
yyc161 = true
}
yyj156 := 0
for ; yyj156 < yyrr156; yyj156++ {
yyh156.ElemContainerState(yyj156)
yyj161 := 0
for ; yyj161 < yyrr161; yyj161++ {
yyh161.ElemContainerState(yyj161)
if r.TryDecodeAsNil() {
yyv156[yyj156] = PodDisruptionBudget{}
yyv161[yyj161] = PodDisruptionBudget{}
} else {
yyv157 := &yyv156[yyj156]
yyv157.CodecDecodeSelf(d)
yyv162 := &yyv161[yyj161]
yyv162.CodecDecodeSelf(d)
}
}
if yyrt156 {
for ; yyj156 < yyl156; yyj156++ {
yyv156 = append(yyv156, PodDisruptionBudget{})
yyh156.ElemContainerState(yyj156)
if yyrt161 {
for ; yyj161 < yyl161; yyj161++ {
yyv161 = append(yyv161, PodDisruptionBudget{})
yyh161.ElemContainerState(yyj161)
if r.TryDecodeAsNil() {
yyv156[yyj156] = PodDisruptionBudget{}
yyv161[yyj161] = PodDisruptionBudget{}
} else {
yyv158 := &yyv156[yyj156]
yyv158.CodecDecodeSelf(d)
yyv163 := &yyv161[yyj161]
yyv163.CodecDecodeSelf(d)
}
}
}
} else {
yyj156 := 0
for ; !r.CheckBreak(); yyj156++ {
yyj161 := 0
for ; !r.CheckBreak(); yyj161++ {
if yyj156 >= len(yyv156) {
yyv156 = append(yyv156, PodDisruptionBudget{}) // var yyz156 PodDisruptionBudget
yyc156 = true
if yyj161 >= len(yyv161) {
yyv161 = append(yyv161, PodDisruptionBudget{}) // var yyz161 PodDisruptionBudget
yyc161 = true
}
yyh156.ElemContainerState(yyj156)
if yyj156 < len(yyv156) {
yyh161.ElemContainerState(yyj161)
if yyj161 < len(yyv161) {
if r.TryDecodeAsNil() {
yyv156[yyj156] = PodDisruptionBudget{}
yyv161[yyj161] = PodDisruptionBudget{}
} else {
yyv159 := &yyv156[yyj156]
yyv159.CodecDecodeSelf(d)
yyv164 := &yyv161[yyj161]
yyv164.CodecDecodeSelf(d)
}
} else {
......@@ -1923,16 +1971,16 @@ func (x codecSelfer1234) decSlicePodDisruptionBudget(v *[]PodDisruptionBudget, d
}
}
if yyj156 < len(yyv156) {
yyv156 = yyv156[:yyj156]
yyc156 = true
} else if yyj156 == 0 && yyv156 == nil {
yyv156 = []PodDisruptionBudget{}
yyc156 = true
if yyj161 < len(yyv161) {
yyv161 = yyv161[:yyj161]
yyc161 = true
} else if yyj161 == 0 && yyv161 == nil {
yyv161 = []PodDisruptionBudget{}
yyc161 = true
}
}
yyh156.End()
if yyc156 {
*v = yyv156
yyh161.End()
if yyc161 {
*v = yyv161
}
}
......@@ -40,17 +40,10 @@ type PodDisruptionBudgetSpec struct {
// PodDisruptionBudgetStatus represents information about the status of a
// PodDisruptionBudget. Status may trail the actual state of a system.
type PodDisruptionBudgetStatus struct {
// Number of pod disruptions that are currently allowed.
PodDisruptionsAllowed int32 `json:"disruptionsAllowed"`
// current number of healthy pods
CurrentHealthy int32 `json:"currentHealthy"`
// minimum desired number of healthy pods
DesiredHealthy int32 `json:"desiredHealthy"`
// total number of pods counted by this disruption budget
ExpectedPods int32 `json:"expectedPods"`
// Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other
// status informatio is valid only if observedGeneration equals to PDB's object generation.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// DisruptedPods contains information about pods whose eviction was
// processed by the API server eviction subresource handler but has not
......@@ -64,6 +57,18 @@ type PodDisruptionBudgetStatus struct {
// If everything goes smooth this map should be empty for the most of the time.
// Large number of entries in the map may indicate problems with pod deletions.
DisruptedPods map[string]unversioned.Time `json:"disruptedPods" protobuf:"bytes,5,rep,name=disruptedPods"`
// Number of pod disruptions that are currently allowed.
PodDisruptionsAllowed int32 `json:"disruptionsAllowed"`
// current number of healthy pods
CurrentHealthy int32 `json:"currentHealthy"`
// minimum desired number of healthy pods
DesiredHealthy int32 `json:"desiredHealthy"`
// total number of pods counted by this disruption budget
ExpectedPods int32 `json:"expectedPods"`
}
// +genclient=true
......
......@@ -253,19 +253,10 @@ func (m *PodDisruptionBudgetStatus) MarshalTo(data []byte) (int, error) {
_ = l
data[i] = 0x8
i++
i = encodeVarintGenerated(data, i, uint64(m.PodDisruptionsAllowed))
data[i] = 0x10
i++
i = encodeVarintGenerated(data, i, uint64(m.CurrentHealthy))
data[i] = 0x18
i++
i = encodeVarintGenerated(data, i, uint64(m.DesiredHealthy))
data[i] = 0x20
i++
i = encodeVarintGenerated(data, i, uint64(m.ExpectedPods))
i = encodeVarintGenerated(data, i, uint64(m.ObservedGeneration))
if len(m.DisruptedPods) > 0 {
for k := range m.DisruptedPods {
data[i] = 0x2a
data[i] = 0x12
i++
v := m.DisruptedPods[k]
msgSize := (&v).Size()
......@@ -285,6 +276,18 @@ func (m *PodDisruptionBudgetStatus) MarshalTo(data []byte) (int, error) {
i += n9
}
}
data[i] = 0x18
i++
i = encodeVarintGenerated(data, i, uint64(m.PodDisruptionsAllowed))
data[i] = 0x20
i++
i = encodeVarintGenerated(data, i, uint64(m.CurrentHealthy))
data[i] = 0x28
i++
i = encodeVarintGenerated(data, i, uint64(m.DesiredHealthy))
data[i] = 0x30
i++
i = encodeVarintGenerated(data, i, uint64(m.ExpectedPods))
return i, nil
}
......@@ -368,10 +371,7 @@ func (m *PodDisruptionBudgetSpec) Size() (n int) {
func (m *PodDisruptionBudgetStatus) Size() (n int) {
var l int
_ = l
n += 1 + sovGenerated(uint64(m.PodDisruptionsAllowed))
n += 1 + sovGenerated(uint64(m.CurrentHealthy))
n += 1 + sovGenerated(uint64(m.DesiredHealthy))
n += 1 + sovGenerated(uint64(m.ExpectedPods))
n += 1 + sovGenerated(uint64(m.ObservedGeneration))
if len(m.DisruptedPods) > 0 {
for k, v := range m.DisruptedPods {
_ = k
......@@ -381,6 +381,10 @@ func (m *PodDisruptionBudgetStatus) Size() (n int) {
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
n += 1 + sovGenerated(uint64(m.PodDisruptionsAllowed))
n += 1 + sovGenerated(uint64(m.CurrentHealthy))
n += 1 + sovGenerated(uint64(m.DesiredHealthy))
n += 1 + sovGenerated(uint64(m.ExpectedPods))
return n
}
......@@ -457,11 +461,12 @@ func (this *PodDisruptionBudgetStatus) String() string {
}
mapStringForDisruptedPods += "}"
s := strings.Join([]string{`&PodDisruptionBudgetStatus{`,
`ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`,
`DisruptedPods:` + mapStringForDisruptedPods + `,`,
`PodDisruptionsAllowed:` + fmt.Sprintf("%v", this.PodDisruptionsAllowed) + `,`,
`CurrentHealthy:` + fmt.Sprintf("%v", this.CurrentHealthy) + `,`,
`DesiredHealthy:` + fmt.Sprintf("%v", this.DesiredHealthy) + `,`,
`ExpectedPods:` + fmt.Sprintf("%v", this.ExpectedPods) + `,`,
`DisruptedPods:` + mapStringForDisruptedPods + `,`,
`}`,
}, "")
return s
......@@ -982,9 +987,9 @@ func (m *PodDisruptionBudgetStatus) Unmarshal(data []byte) error {
switch fieldNum {
case 1:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field PodDisruptionsAllowed", wireType)
return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
}
m.PodDisruptionsAllowed = 0
m.ObservedGeneration = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
......@@ -994,69 +999,12 @@ func (m *PodDisruptionBudgetStatus) Unmarshal(data []byte) error {
}
b := data[iNdEx]
iNdEx++
m.PodDisruptionsAllowed |= (int32(b) & 0x7F) << shift
m.ObservedGeneration |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 2:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field CurrentHealthy", wireType)
}
m.CurrentHealthy = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.CurrentHealthy |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field DesiredHealthy", wireType)
}
m.DesiredHealthy = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.DesiredHealthy |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 4:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field ExpectedPods", wireType)
}
m.ExpectedPods = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.ExpectedPods |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field DisruptedPods", wireType)
}
......@@ -1172,6 +1120,82 @@ func (m *PodDisruptionBudgetStatus) Unmarshal(data []byte) error {
}
m.DisruptedPods[mapkey] = *mapvalue
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field PodDisruptionsAllowed", wireType)
}
m.PodDisruptionsAllowed = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.PodDisruptionsAllowed |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 4:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field CurrentHealthy", wireType)
}
m.CurrentHealthy = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.CurrentHealthy |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 5:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field DesiredHealthy", wireType)
}
m.DesiredHealthy = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.DesiredHealthy |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 6:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field ExpectedPods", wireType)
}
m.ExpectedPods = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.ExpectedPods |= (int32(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
default:
iNdEx = preIndex
skippy, err := skipGenerated(data[iNdEx:])
......@@ -1299,51 +1323,53 @@ var (
)
var fileDescriptorGenerated = []byte{
// 728 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0xcf, 0x6e, 0xd3, 0x4e,
0x10, 0xc7, 0xe3, 0x26, 0xe9, 0x2f, 0xbf, 0x6d, 0x52, 0x95, 0x85, 0x42, 0x88, 0x84, 0x8b, 0x72,
0x6a, 0x05, 0x5d, 0x2b, 0x15, 0x48, 0x85, 0x43, 0xa5, 0x9a, 0x54, 0xa2, 0x12, 0x55, 0x2b, 0x17,
0x09, 0x84, 0x04, 0x92, 0x63, 0x0f, 0xee, 0x12, 0xc7, 0xb6, 0x76, 0xd7, 0x81, 0xdc, 0x78, 0x04,
0x0e, 0x3c, 0x05, 0xaf, 0xc1, 0xa5, 0xe2, 0xd4, 0x23, 0x17, 0x2a, 0x9a, 0xbe, 0x08, 0xf2, 0x66,
0x93, 0xda, 0xf9, 0x53, 0x55, 0x2a, 0xdc, 0xbc, 0xbb, 0xf3, 0xf9, 0xce, 0x7c, 0x67, 0x67, 0x8d,
0x9e, 0xb4, 0x37, 0x39, 0xa1, 0xa1, 0xd1, 0x8e, 0x5b, 0xc0, 0x02, 0x10, 0xc0, 0x8d, 0xa8, 0xed,
0x19, 0x76, 0x44, 0xb9, 0x11, 0x85, 0x3e, 0x75, 0x7a, 0x46, 0xb7, 0xd1, 0x02, 0x61, 0x37, 0x0c,
0x0f, 0x02, 0x60, 0xb6, 0x00, 0x97, 0x44, 0x2c, 0x14, 0x21, 0x5e, 0x1b, 0xa0, 0xe4, 0x02, 0x25,
0x51, 0xdb, 0x23, 0x09, 0x4a, 0x06, 0x28, 0x51, 0x68, 0x6d, 0xdd, 0xa3, 0xe2, 0x28, 0x6e, 0x11,
0x27, 0xec, 0x18, 0x5e, 0xe8, 0x85, 0x86, 0x54, 0x68, 0xc5, 0xef, 0xe5, 0x4a, 0x2e, 0xe4, 0xd7,
0x40, 0xb9, 0xb6, 0x31, 0xb3, 0x28, 0x83, 0x01, 0x0f, 0x63, 0xe6, 0xc0, 0x78, 0x35, 0xb5, 0xc7,
0xb3, 0x99, 0x38, 0xe8, 0x02, 0xe3, 0x34, 0x0c, 0xc0, 0x9d, 0xc0, 0x1e, 0xce, 0xc6, 0xba, 0x13,
0x96, 0x6b, 0xeb, 0xd3, 0xa3, 0x59, 0x1c, 0x08, 0xda, 0x99, 0xac, 0xa9, 0x31, 0x3d, 0x3c, 0x16,
0xd4, 0x37, 0x68, 0x20, 0xb8, 0x60, 0xe3, 0x48, 0xfd, 0x87, 0x86, 0x4a, 0x3b, 0x5d, 0xea, 0x08,
0x1a, 0x06, 0xf8, 0x35, 0x2a, 0x75, 0x40, 0xd8, 0xae, 0x2d, 0xec, 0xaa, 0x76, 0x5f, 0x5b, 0x5d,
0xd8, 0x58, 0x25, 0x33, 0x9b, 0x4e, 0xba, 0x0d, 0xb2, 0xdf, 0xfa, 0x00, 0x8e, 0xd8, 0x03, 0x61,
0x9b, 0xf8, 0xf8, 0x74, 0x25, 0xd7, 0x3f, 0x5d, 0x41, 0x17, 0x7b, 0xd6, 0x48, 0x0d, 0xbb, 0xa8,
0xe2, 0x82, 0x0f, 0x02, 0xf6, 0xa3, 0x24, 0x13, 0xaf, 0xce, 0x49, 0xf9, 0x07, 0x97, 0xcb, 0x37,
0xd3, 0x88, 0x79, 0xa3, 0x7f, 0xba, 0x52, 0xc9, 0x6c, 0x59, 0x59, 0xd1, 0xfa, 0xf7, 0x39, 0x74,
0xf3, 0x20, 0x74, 0x9b, 0x94, 0xb3, 0x58, 0x6e, 0x99, 0xb1, 0xeb, 0x81, 0xf8, 0xa7, 0xbe, 0x0a,
0x3c, 0x02, 0x47, 0xd9, 0x31, 0xc9, 0x95, 0x47, 0x94, 0x4c, 0xa9, 0xf3, 0x30, 0x02, 0xc7, 0x2c,
0xab, 0x7c, 0x85, 0x64, 0x65, 0x49, 0x75, 0xec, 0xa3, 0x79, 0x2e, 0x6c, 0x11, 0xf3, 0x6a, 0x5e,
0xe6, 0x69, 0x5e, 0x33, 0x8f, 0xd4, 0x32, 0x17, 0x55, 0xa6, 0xf9, 0xc1, 0xda, 0x52, 0x39, 0xea,
0xbf, 0x34, 0x74, 0x67, 0x0a, 0xf5, 0x82, 0x72, 0x81, 0xdf, 0x4e, 0x74, 0xd2, 0xb8, 0xa4, 0x93,
0xa9, 0x87, 0x40, 0x12, 0x5c, 0x36, 0x74, 0x49, 0xa5, 0x2d, 0x0d, 0x77, 0x52, 0xed, 0x74, 0x50,
0x91, 0x0a, 0xe8, 0x24, 0xe3, 0x91, 0x5f, 0x5d, 0xd8, 0xd8, 0xba, 0x9e, 0x4f, 0xb3, 0xa2, 0x52,
0x15, 0x77, 0x13, 0x51, 0x6b, 0xa0, 0x5d, 0x3f, 0x9f, 0xee, 0x2f, 0xe9, 0x37, 0x3e, 0x42, 0xe5,
0x0e, 0x0d, 0xb6, 0xbb, 0x36, 0xf5, 0xed, 0x96, 0x0f, 0xca, 0x23, 0x99, 0x51, 0x47, 0xf2, 0xb0,
0xc8, 0xe0, 0x61, 0x91, 0xdd, 0x40, 0xec, 0xb3, 0x43, 0xc1, 0x68, 0xe0, 0x99, 0xb7, 0x54, 0xde,
0xf2, 0x5e, 0x4a, 0xcb, 0xca, 0x28, 0xe3, 0x77, 0xa8, 0xc4, 0xc1, 0x07, 0x47, 0x84, 0x4c, 0x4d,
0xcf, 0xa3, 0xab, 0x76, 0xd2, 0x6e, 0x81, 0x7f, 0xa8, 0x58, 0xb3, 0x9c, 0xb4, 0x72, 0xb8, 0xb2,
0x46, 0x9a, 0xf5, 0x6f, 0x05, 0x74, 0x77, 0xe6, 0xdd, 0xe3, 0x3d, 0x84, 0xdd, 0xd1, 0x09, 0xdf,
0xf6, 0xfd, 0xf0, 0x23, 0xb8, 0xd2, 0x6d, 0xd1, 0xbc, 0xa7, 0xaa, 0x5f, 0xce, 0xe0, 0xc3, 0x20,
0x6b, 0x0a, 0x88, 0xb7, 0xd0, 0xa2, 0x13, 0x33, 0x06, 0x81, 0x78, 0x0e, 0xb6, 0x2f, 0x8e, 0x7a,
0xd2, 0x52, 0xd1, 0xbc, 0xad, 0xa4, 0x16, 0x9f, 0x65, 0x4e, 0xad, 0xb1, 0xe8, 0x84, 0x77, 0x81,
0x53, 0x06, 0xee, 0x90, 0xcf, 0x67, 0xf9, 0x66, 0xe6, 0xd4, 0x1a, 0x8b, 0xc6, 0x9b, 0xa8, 0x0c,
0x9f, 0x22, 0x70, 0x04, 0xb8, 0x07, 0xa1, 0xcb, 0xab, 0x05, 0x49, 0x8f, 0xae, 0x61, 0x27, 0x75,
0x66, 0x65, 0x22, 0xf1, 0x57, 0x0d, 0x55, 0x94, 0x21, 0xc5, 0x16, 0xe5, 0xe8, 0xbd, 0xfa, 0x1b,
0x4f, 0x8c, 0x34, 0xd3, 0xca, 0x3b, 0x81, 0x60, 0x3d, 0x73, 0x59, 0x15, 0x55, 0xc9, 0x9c, 0x59,
0xd9, 0x22, 0x6a, 0x1d, 0x84, 0x27, 0x59, 0xbc, 0x84, 0xf2, 0x6d, 0xe8, 0xc9, 0x6b, 0xfa, 0xdf,
0x4a, 0x3e, 0xf1, 0x36, 0x2a, 0x76, 0x6d, 0x3f, 0x86, 0x2b, 0xfc, 0x4f, 0xd3, 0x23, 0xf4, 0x92,
0x76, 0xc0, 0x1a, 0x90, 0x4f, 0xe7, 0x36, 0x35, 0x73, 0xed, 0xf8, 0x4c, 0xcf, 0x9d, 0x9c, 0xe9,
0xb9, 0x9f, 0x67, 0x7a, 0xee, 0x73, 0x5f, 0xd7, 0x8e, 0xfb, 0xba, 0x76, 0xd2, 0xd7, 0xb5, 0xdf,
0x7d, 0x5d, 0xfb, 0x72, 0xae, 0xe7, 0xde, 0xfc, 0xa7, 0xcc, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff,
0xd0, 0x3c, 0x91, 0x46, 0xc1, 0x07, 0x00, 0x00,
// 758 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0xcf, 0x6f, 0xdb, 0x36,
0x14, 0xc7, 0xad, 0xd8, 0xce, 0x3c, 0xc6, 0x0e, 0x32, 0x6e, 0xd9, 0x3c, 0x03, 0x53, 0x06, 0x9f,
0x12, 0x6c, 0xa1, 0xe0, 0x60, 0x03, 0xb2, 0x1d, 0x02, 0x44, 0x73, 0xb0, 0x65, 0x58, 0xe0, 0x40,
0x19, 0xb0, 0x61, 0xc0, 0x0a, 0xe8, 0xc7, 0xab, 0xc2, 0x5a, 0x16, 0x05, 0x92, 0x52, 0xeb, 0x5b,
0xff, 0x84, 0x1e, 0xfa, 0x1f, 0xf5, 0x12, 0xf4, 0x94, 0x63, 0x2f, 0x0d, 0x1a, 0xe7, 0x7f, 0xe8,
0xb9, 0x90, 0x44, 0x3b, 0x96, 0x7f, 0x04, 0x01, 0xd2, 0xde, 0x44, 0xf2, 0x7d, 0xbe, 0xdf, 0xf7,
0x1e, 0x1f, 0x85, 0x7e, 0xe9, 0xef, 0x0b, 0x42, 0x99, 0xd1, 0x8f, 0x1d, 0xe0, 0x21, 0x48, 0x10,
0x46, 0xd4, 0xf7, 0x0d, 0x3b, 0xa2, 0xc2, 0x88, 0x58, 0x40, 0xdd, 0xa1, 0x91, 0x74, 0x1c, 0x90,
0x76, 0xc7, 0xf0, 0x21, 0x04, 0x6e, 0x4b, 0xf0, 0x48, 0xc4, 0x99, 0x64, 0x78, 0x27, 0x47, 0xc9,
0x2d, 0x4a, 0xa2, 0xbe, 0x4f, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0x6b, 0xd7, 0xa7, 0xf2, 0x3c,
0x76, 0x88, 0xcb, 0x06, 0x86, 0xcf, 0x7c, 0x66, 0x64, 0x0a, 0x4e, 0xfc, 0x38, 0x5b, 0x65, 0x8b,
0xec, 0x2b, 0x57, 0x6e, 0xed, 0x2d, 0x4d, 0xca, 0xe0, 0x20, 0x58, 0xcc, 0x5d, 0x98, 0xcd, 0xa6,
0xf5, 0xf3, 0x72, 0x26, 0x0e, 0x13, 0xe0, 0x82, 0xb2, 0x10, 0xbc, 0x39, 0xec, 0xc7, 0xe5, 0x58,
0x32, 0x57, 0x72, 0x6b, 0x77, 0x71, 0x34, 0x8f, 0x43, 0x49, 0x07, 0xf3, 0x39, 0x75, 0x16, 0x87,
0xc7, 0x92, 0x06, 0x06, 0x0d, 0xa5, 0x90, 0x7c, 0x16, 0x69, 0xbf, 0xd6, 0x50, 0xed, 0x28, 0xa1,
0xae, 0xa4, 0x2c, 0xc4, 0xff, 0xa2, 0xda, 0x00, 0xa4, 0xed, 0xd9, 0xd2, 0x6e, 0x6a, 0xdf, 0x6b,
0xdb, 0x6b, 0x7b, 0xdb, 0x64, 0x69, 0xd3, 0x49, 0xd2, 0x21, 0x3d, 0xe7, 0x09, 0xb8, 0xf2, 0x04,
0xa4, 0x6d, 0xe2, 0x8b, 0xab, 0xad, 0xd2, 0xe8, 0x6a, 0x0b, 0xdd, 0xee, 0x59, 0x13, 0x35, 0xec,
0xa1, 0x86, 0x07, 0x01, 0x48, 0xe8, 0x45, 0xa9, 0x93, 0x68, 0xae, 0x64, 0xf2, 0x3f, 0xdc, 0x2d,
0xdf, 0x9d, 0x46, 0xcc, 0x2f, 0x46, 0x57, 0x5b, 0x8d, 0xc2, 0x96, 0x55, 0x14, 0x6d, 0xbf, 0x5a,
0x41, 0x5f, 0x9e, 0x32, 0xaf, 0x4b, 0x05, 0x8f, 0xb3, 0x2d, 0x33, 0xf6, 0x7c, 0x90, 0x9f, 0xb4,
0xae, 0x8a, 0x88, 0xc0, 0x55, 0xe5, 0x98, 0xe4, 0xde, 0x23, 0x4a, 0x16, 0xe4, 0x79, 0x16, 0x81,
0x6b, 0xd6, 0x95, 0x5f, 0x25, 0x5d, 0x59, 0x99, 0x3a, 0x0e, 0xd0, 0xaa, 0x90, 0xb6, 0x8c, 0x45,
0xb3, 0x9c, 0xf9, 0x74, 0x1f, 0xe8, 0x93, 0x69, 0x99, 0xeb, 0xca, 0x69, 0x35, 0x5f, 0x5b, 0xca,
0xa3, 0xfd, 0x56, 0x43, 0xdf, 0x2c, 0xa0, 0xfe, 0xa2, 0x42, 0xe2, 0xff, 0xe7, 0x3a, 0x69, 0xdc,
0xd1, 0xc9, 0xa9, 0x87, 0x40, 0x52, 0x3c, 0x6b, 0xe8, 0x86, 0xb2, 0xad, 0x8d, 0x77, 0xa6, 0xda,
0xe9, 0xa2, 0x2a, 0x95, 0x30, 0x48, 0xc7, 0xa3, 0xbc, 0xbd, 0xb6, 0x77, 0xf0, 0xb0, 0x3a, 0xcd,
0x86, 0xb2, 0xaa, 0x1e, 0xa7, 0xa2, 0x56, 0xae, 0xdd, 0xbe, 0x59, 0x5c, 0x5f, 0xda, 0x6f, 0x7c,
0x8e, 0xea, 0x03, 0x1a, 0x1e, 0x26, 0x36, 0x0d, 0x6c, 0x27, 0x00, 0x55, 0x23, 0x59, 0x92, 0x47,
0xfa, 0xb0, 0x48, 0xfe, 0xb0, 0xc8, 0x71, 0x28, 0x7b, 0xfc, 0x4c, 0x72, 0x1a, 0xfa, 0xe6, 0x57,
0xca, 0xb7, 0x7e, 0x32, 0xa5, 0x65, 0x15, 0x94, 0xf1, 0x23, 0x54, 0x13, 0x10, 0x80, 0x2b, 0x19,
0x57, 0xd3, 0xf3, 0xd3, 0x7d, 0x3b, 0x69, 0x3b, 0x10, 0x9c, 0x29, 0xd6, 0xac, 0xa7, 0xad, 0x1c,
0xaf, 0xac, 0x89, 0x66, 0xfb, 0x7d, 0x05, 0x7d, 0xbb, 0xf4, 0xee, 0xf1, 0x9f, 0x08, 0x33, 0x47,
0x00, 0x4f, 0xc0, 0xfb, 0x3d, 0xff, 0x23, 0x50, 0x16, 0x66, 0xd5, 0x96, 0xcd, 0x96, 0xca, 0x1e,
0xf7, 0xe6, 0x22, 0xac, 0x05, 0x14, 0x7e, 0xa9, 0xa1, 0x86, 0x97, 0xdb, 0x80, 0x77, 0xca, 0xbc,
0xf1, 0xed, 0xfd, 0xf3, 0x31, 0xa6, 0x94, 0x74, 0xa7, 0x95, 0x8f, 0x42, 0xc9, 0x87, 0xe6, 0xa6,
0x4a, 0xb0, 0x51, 0x38, 0xb3, 0x8a, 0x49, 0xe0, 0x13, 0x84, 0xbd, 0x89, 0xa4, 0x38, 0x0c, 0x02,
0xf6, 0x14, 0xbc, 0xec, 0x01, 0x55, 0xcd, 0xef, 0x94, 0xc2, 0x66, 0xc1, 0x77, 0x1c, 0x64, 0x2d,
0x00, 0xf1, 0x01, 0x5a, 0x77, 0x63, 0xce, 0x21, 0x94, 0x7f, 0x80, 0x1d, 0xc8, 0xf3, 0x61, 0xb3,
0x92, 0x49, 0x7d, 0xad, 0xa4, 0xd6, 0x7f, 0x2b, 0x9c, 0x5a, 0x33, 0xd1, 0x29, 0xef, 0x81, 0xa0,
0x1c, 0xbc, 0x31, 0x5f, 0x2d, 0xf2, 0xdd, 0xc2, 0xa9, 0x35, 0x13, 0x8d, 0xf7, 0x51, 0x1d, 0x9e,
0x45, 0xe0, 0x8e, 0x7b, 0xbc, 0x9a, 0xd1, 0x93, 0x49, 0x3b, 0x9a, 0x3a, 0xb3, 0x0a, 0x91, 0xad,
0x01, 0xc2, 0xf3, 0x4d, 0xc4, 0x1b, 0xa8, 0xdc, 0x87, 0x61, 0x76, 0xe5, 0x9f, 0x5b, 0xe9, 0x27,
0x3e, 0x44, 0xd5, 0xc4, 0x0e, 0x62, 0xb8, 0xc7, 0xbf, 0x79, 0x7a, 0x1c, 0xff, 0xa6, 0x03, 0xb0,
0x72, 0xf2, 0xd7, 0x95, 0x7d, 0xcd, 0xdc, 0xb9, 0xb8, 0xd6, 0x4b, 0x97, 0xd7, 0x7a, 0xe9, 0xcd,
0xb5, 0x5e, 0x7a, 0x3e, 0xd2, 0xb5, 0x8b, 0x91, 0xae, 0x5d, 0x8e, 0x74, 0xed, 0xdd, 0x48, 0xd7,
0x5e, 0xdc, 0xe8, 0xa5, 0xff, 0x3e, 0x53, 0xb7, 0xfe, 0x21, 0x00, 0x00, 0xff, 0xff, 0x59, 0x3e,
0xe1, 0xf8, 0x0d, 0x08, 0x00, 0x00,
}
......@@ -75,17 +75,10 @@ message PodDisruptionBudgetSpec {
// PodDisruptionBudgetStatus represents information about the status of a
// PodDisruptionBudget. Status may trail the actual state of a system.
message PodDisruptionBudgetStatus {
// Number of pod disruptions that are currently allowed.
optional int32 disruptionsAllowed = 1;
// current number of healthy pods
optional int32 currentHealthy = 2;
// minimum desired number of healthy pods
optional int32 desiredHealthy = 3;
// total number of pods counted by this disruption budget
optional int32 expectedPods = 4;
// Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other
// status informatio is valid only if observedGeneration equals to PDB's object generation.
// +optional
optional int64 observedGeneration = 1;
// DisruptedPods contains information about pods whose eviction was
// processed by the API server eviction subresource handler but has not
......@@ -98,6 +91,18 @@ message PodDisruptionBudgetStatus {
// the list automatically by PodDisruptionBudget controller after some time.
// If everything goes smooth this map should be empty for the most of the time.
// Large number of entries in the map may indicate problems with pod deletions.
map<string, k8s.io.kubernetes.pkg.api.unversioned.Time> disruptedPods = 5;
map<string, k8s.io.kubernetes.pkg.api.unversioned.Time> disruptedPods = 2;
// Number of pod disruptions that are currently allowed.
optional int32 disruptionsAllowed = 3;
// current number of healthy pods
optional int32 currentHealthy = 4;
// minimum desired number of healthy pods
optional int32 desiredHealthy = 5;
// total number of pods counted by this disruption budget
optional int32 expectedPods = 6;
}
......@@ -362,12 +362,13 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
} else {
yysep24 := !z.EncBinary()
yy2arr24 := z.EncBasicHandle().StructToArray
var yyq24 [5]bool
var yyq24 [6]bool
_, _, _ = yysep24, yyq24, yy2arr24
const yyr24 bool = false
yyq24[0] = x.ObservedGeneration != 0
var yynn24 int
if yyr24 || yy2arr24 {
r.EncodeArrayStart(5)
r.EncodeArrayStart(6)
} else {
yynn24 = 5
for _, b := range yyq24 {
......@@ -380,8 +381,60 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym26 := z.EncBinary()
_ = yym26
if yyq24[0] {
yym26 := z.EncBinary()
_ = yym26
if false {
} else {
r.EncodeInt(int64(x.ObservedGeneration))
}
} else {
r.EncodeInt(0)
}
} else {
if yyq24[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym27 := z.EncBinary()
_ = yym27
if false {
} else {
r.EncodeInt(int64(x.ObservedGeneration))
}
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym29 := z.EncBinary()
_ = yym29
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("disruptedPods"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym30 := z.EncBinary()
_ = yym30
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym32 := z.EncBinary()
_ = yym32
if false {
} else {
r.EncodeInt(int64(x.PodDisruptionsAllowed))
......@@ -390,8 +443,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("disruptionsAllowed"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym27 := z.EncBinary()
_ = yym27
yym33 := z.EncBinary()
_ = yym33
if false {
} else {
r.EncodeInt(int64(x.PodDisruptionsAllowed))
......@@ -399,8 +452,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym29 := z.EncBinary()
_ = yym29
yym35 := z.EncBinary()
_ = yym35
if false {
} else {
r.EncodeInt(int64(x.CurrentHealthy))
......@@ -409,8 +462,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("currentHealthy"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym30 := z.EncBinary()
_ = yym30
yym36 := z.EncBinary()
_ = yym36
if false {
} else {
r.EncodeInt(int64(x.CurrentHealthy))
......@@ -418,8 +471,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym32 := z.EncBinary()
_ = yym32
yym38 := z.EncBinary()
_ = yym38
if false {
} else {
r.EncodeInt(int64(x.DesiredHealthy))
......@@ -428,8 +481,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("desiredHealthy"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym33 := z.EncBinary()
_ = yym33
yym39 := z.EncBinary()
_ = yym39
if false {
} else {
r.EncodeInt(int64(x.DesiredHealthy))
......@@ -437,8 +490,8 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym35 := z.EncBinary()
_ = yym35
yym41 := z.EncBinary()
_ = yym41
if false {
} else {
r.EncodeInt(int64(x.ExpectedPods))
......@@ -447,41 +500,14 @@ func (x *PodDisruptionBudgetStatus) CodecEncodeSelf(e *codec1978.Encoder) {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("expectedPods"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym36 := z.EncBinary()
_ = yym36
yym42 := z.EncBinary()
_ = yym42
if false {
} else {
r.EncodeInt(int64(x.ExpectedPods))
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym38 := z.EncBinary()
_ = yym38
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("disruptedPods"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.DisruptedPods == nil {
r.EncodeNil()
} else {
yym39 := z.EncBinary()
_ = yym39
if false {
} else {
h.encMapstringunversioned_Time((map[string]pkg2_unversioned.Time)(x.DisruptedPods), e)
}
}
}
if yyr24 || yy2arr24 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -494,25 +520,25 @@ func (x *PodDisruptionBudgetStatus) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym40 := z.DecBinary()
_ = yym40
yym43 := z.DecBinary()
_ = yym43
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct41 := r.ContainerType()
if yyct41 == codecSelferValueTypeMap1234 {
yyl41 := r.ReadMapStart()
if yyl41 == 0 {
yyct44 := r.ContainerType()
if yyct44 == codecSelferValueTypeMap1234 {
yyl44 := r.ReadMapStart()
if yyl44 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl41, d)
x.codecDecodeSelfFromMap(yyl44, d)
}
} else if yyct41 == codecSelferValueTypeArray1234 {
yyl41 := r.ReadArrayStart()
if yyl41 == 0 {
} else if yyct44 == codecSelferValueTypeArray1234 {
yyl44 := r.ReadArrayStart()
if yyl44 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl41, d)
x.codecDecodeSelfFromArray(yyl44, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -524,12 +550,12 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromMap(l int, d *codec1978.D
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys42Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys42Slc
var yyhl42 bool = l >= 0
for yyj42 := 0; ; yyj42++ {
if yyhl42 {
if yyj42 >= l {
var yys45Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys45Slc
var yyhl45 bool = l >= 0
for yyj45 := 0; ; yyj45++ {
if yyhl45 {
if yyj45 >= l {
break
}
} else {
......@@ -538,10 +564,28 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromMap(l int, d *codec1978.D
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys42Slc = r.DecodeBytes(yys42Slc, true, true)
yys42 := string(yys42Slc)
yys45Slc = r.DecodeBytes(yys45Slc, true, true)
yys45 := string(yys45Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys42 {
switch yys45 {
case "observedGeneration":
if r.TryDecodeAsNil() {
x.ObservedGeneration = 0
} else {
x.ObservedGeneration = int64(r.DecodeInt(64))
}
case "disruptedPods":
if r.TryDecodeAsNil() {
x.DisruptedPods = nil
} else {
yyv47 := &x.DisruptedPods
yym48 := z.DecBinary()
_ = yym48
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv47), d)
}
}
case "disruptionsAllowed":
if r.TryDecodeAsNil() {
x.PodDisruptionsAllowed = 0
......@@ -566,22 +610,10 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromMap(l int, d *codec1978.D
} else {
x.ExpectedPods = int32(r.DecodeInt(32))
}
case "disruptedPods":
if r.TryDecodeAsNil() {
x.DisruptedPods = nil
} else {
yyv47 := &x.DisruptedPods
yym48 := z.DecBinary()
_ = yym48
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv47), d)
}
}
default:
z.DecStructFieldNotFound(-1, yys42)
} // end switch yys42
} // end for yyj42
z.DecStructFieldNotFound(-1, yys45)
} // end switch yys45
} // end for yyj45
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -589,107 +621,123 @@ func (x *PodDisruptionBudgetStatus) codecDecodeSelfFromArray(l int, d *codec1978
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj49 int
var yyb49 bool
var yyhl49 bool = l >= 0
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
var yyj53 int
var yyb53 bool
var yyhl53 bool = l >= 0
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.PodDisruptionsAllowed = 0
x.ObservedGeneration = 0
} else {
x.PodDisruptionsAllowed = int32(r.DecodeInt(32))
x.ObservedGeneration = int64(r.DecodeInt(64))
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.CurrentHealthy = 0
x.DisruptedPods = nil
} else {
x.CurrentHealthy = int32(r.DecodeInt(32))
yyv55 := &x.DisruptedPods
yym56 := z.DecBinary()
_ = yym56
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv55), d)
}
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.DesiredHealthy = 0
x.PodDisruptionsAllowed = 0
} else {
x.DesiredHealthy = int32(r.DecodeInt(32))
x.PodDisruptionsAllowed = int32(r.DecodeInt(32))
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ExpectedPods = 0
x.CurrentHealthy = 0
} else {
x.ExpectedPods = int32(r.DecodeInt(32))
x.CurrentHealthy = int32(r.DecodeInt(32))
}
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.DisruptedPods = nil
x.DesiredHealthy = 0
} else {
yyv54 := &x.DisruptedPods
yym55 := z.DecBinary()
_ = yym55
if false {
} else {
h.decMapstringunversioned_Time((*map[string]pkg2_unversioned.Time)(yyv54), d)
}
x.DesiredHealthy = int32(r.DecodeInt(32))
}
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb53 = r.CheckBreak()
}
if yyb53 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ExpectedPods = 0
} else {
x.ExpectedPods = int32(r.DecodeInt(32))
}
for {
yyj49++
if yyhl49 {
yyb49 = yyj49 > l
yyj53++
if yyhl53 {
yyb53 = yyj53 > l
} else {
yyb49 = r.CheckBreak()
yyb53 = r.CheckBreak()
}
if yyb49 {
if yyb53 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj49-1, "")
z.DecStructFieldNotFound(yyj53-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -701,39 +749,39 @@ func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder) {
if x == nil {
r.EncodeNil()
} else {
yym56 := z.EncBinary()
_ = yym56
yym61 := z.EncBinary()
_ = yym61
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep57 := !z.EncBinary()
yy2arr57 := z.EncBasicHandle().StructToArray
var yyq57 [5]bool
_, _, _ = yysep57, yyq57, yy2arr57
const yyr57 bool = false
yyq57[0] = x.Kind != ""
yyq57[1] = x.APIVersion != ""
yyq57[2] = true
yyq57[3] = true
yyq57[4] = true
var yynn57 int
if yyr57 || yy2arr57 {
yysep62 := !z.EncBinary()
yy2arr62 := z.EncBasicHandle().StructToArray
var yyq62 [5]bool
_, _, _ = yysep62, yyq62, yy2arr62
const yyr62 bool = false
yyq62[0] = x.Kind != ""
yyq62[1] = x.APIVersion != ""
yyq62[2] = true
yyq62[3] = true
yyq62[4] = true
var yynn62 int
if yyr62 || yy2arr62 {
r.EncodeArrayStart(5)
} else {
yynn57 = 0
for _, b := range yyq57 {
yynn62 = 0
for _, b := range yyq62 {
if b {
yynn57++
yynn62++
}
}
r.EncodeMapStart(yynn57)
yynn57 = 0
r.EncodeMapStart(yynn62)
yynn62 = 0
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[0] {
yym59 := z.EncBinary()
_ = yym59
if yyq62[0] {
yym64 := z.EncBinary()
_ = yym64
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
......@@ -742,23 +790,23 @@ func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq57[0] {
if yyq62[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym60 := z.EncBinary()
_ = yym60
yym65 := z.EncBinary()
_ = yym65
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[1] {
yym62 := z.EncBinary()
_ = yym62
if yyq62[1] {
yym67 := z.EncBinary()
_ = yym67
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
......@@ -767,70 +815,70 @@ func (x *PodDisruptionBudget) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq57[1] {
if yyq62[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym63 := z.EncBinary()
_ = yym63
yym68 := z.EncBinary()
_ = yym68
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[2] {
yy65 := &x.ObjectMeta
yy65.CodecEncodeSelf(e)
if yyq62[2] {
yy70 := &x.ObjectMeta
yy70.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq57[2] {
if yyq62[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy66 := &x.ObjectMeta
yy66.CodecEncodeSelf(e)
yy71 := &x.ObjectMeta
yy71.CodecEncodeSelf(e)
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[3] {
yy68 := &x.Spec
yy68.CodecEncodeSelf(e)
if yyq62[3] {
yy73 := &x.Spec
yy73.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq57[3] {
if yyq62[3] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("spec"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy69 := &x.Spec
yy69.CodecEncodeSelf(e)
yy74 := &x.Spec
yy74.CodecEncodeSelf(e)
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq57[4] {
yy71 := &x.Status
yy71.CodecEncodeSelf(e)
if yyq62[4] {
yy76 := &x.Status
yy76.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq57[4] {
if yyq62[4] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("status"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy72 := &x.Status
yy72.CodecEncodeSelf(e)
yy77 := &x.Status
yy77.CodecEncodeSelf(e)
}
}
if yyr57 || yy2arr57 {
if yyr62 || yy2arr62 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -843,25 +891,25 @@ func (x *PodDisruptionBudget) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym73 := z.DecBinary()
_ = yym73
yym78 := z.DecBinary()
_ = yym78
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct74 := r.ContainerType()
if yyct74 == codecSelferValueTypeMap1234 {
yyl74 := r.ReadMapStart()
if yyl74 == 0 {
yyct79 := r.ContainerType()
if yyct79 == codecSelferValueTypeMap1234 {
yyl79 := r.ReadMapStart()
if yyl79 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl74, d)
x.codecDecodeSelfFromMap(yyl79, d)
}
} else if yyct74 == codecSelferValueTypeArray1234 {
yyl74 := r.ReadArrayStart()
if yyl74 == 0 {
} else if yyct79 == codecSelferValueTypeArray1234 {
yyl79 := r.ReadArrayStart()
if yyl79 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl74, d)
x.codecDecodeSelfFromArray(yyl79, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -873,12 +921,12 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromMap(l int, d *codec1978.Decoder
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys75Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys75Slc
var yyhl75 bool = l >= 0
for yyj75 := 0; ; yyj75++ {
if yyhl75 {
if yyj75 >= l {
var yys80Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys80Slc
var yyhl80 bool = l >= 0
for yyj80 := 0; ; yyj80++ {
if yyhl80 {
if yyj80 >= l {
break
}
} else {
......@@ -887,10 +935,10 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromMap(l int, d *codec1978.Decoder
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys75Slc = r.DecodeBytes(yys75Slc, true, true)
yys75 := string(yys75Slc)
yys80Slc = r.DecodeBytes(yys80Slc, true, true)
yys80 := string(yys80Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys75 {
switch yys80 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
......@@ -907,27 +955,27 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromMap(l int, d *codec1978.Decoder
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_v1.ObjectMeta{}
} else {
yyv78 := &x.ObjectMeta
yyv78.CodecDecodeSelf(d)
yyv83 := &x.ObjectMeta
yyv83.CodecDecodeSelf(d)
}
case "spec":
if r.TryDecodeAsNil() {
x.Spec = PodDisruptionBudgetSpec{}
} else {
yyv79 := &x.Spec
yyv79.CodecDecodeSelf(d)
yyv84 := &x.Spec
yyv84.CodecDecodeSelf(d)
}
case "status":
if r.TryDecodeAsNil() {
x.Status = PodDisruptionBudgetStatus{}
} else {
yyv80 := &x.Status
yyv80.CodecDecodeSelf(d)
yyv85 := &x.Status
yyv85.CodecDecodeSelf(d)
}
default:
z.DecStructFieldNotFound(-1, yys75)
} // end switch yys75
} // end for yyj75
z.DecStructFieldNotFound(-1, yys80)
} // end switch yys80
} // end for yyj80
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -935,16 +983,16 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj81 int
var yyb81 bool
var yyhl81 bool = l >= 0
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
var yyj86 int
var yyb86 bool
var yyhl86 bool = l >= 0
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -954,13 +1002,13 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
} else {
x.Kind = string(r.DecodeString())
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -970,13 +1018,13 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
} else {
x.APIVersion = string(r.DecodeString())
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -984,16 +1032,16 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_v1.ObjectMeta{}
} else {
yyv84 := &x.ObjectMeta
yyv84.CodecDecodeSelf(d)
yyv89 := &x.ObjectMeta
yyv89.CodecDecodeSelf(d)
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1001,16 +1049,16 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
if r.TryDecodeAsNil() {
x.Spec = PodDisruptionBudgetSpec{}
} else {
yyv85 := &x.Spec
yyv85.CodecDecodeSelf(d)
yyv90 := &x.Spec
yyv90.CodecDecodeSelf(d)
}
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1018,21 +1066,21 @@ func (x *PodDisruptionBudget) codecDecodeSelfFromArray(l int, d *codec1978.Decod
if r.TryDecodeAsNil() {
x.Status = PodDisruptionBudgetStatus{}
} else {
yyv86 := &x.Status
yyv86.CodecDecodeSelf(d)
yyv91 := &x.Status
yyv91.CodecDecodeSelf(d)
}
for {
yyj81++
if yyhl81 {
yyb81 = yyj81 > l
yyj86++
if yyhl86 {
yyb86 = yyj86 > l
} else {
yyb81 = r.CheckBreak()
yyb86 = r.CheckBreak()
}
if yyb81 {
if yyb86 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj81-1, "")
z.DecStructFieldNotFound(yyj86-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1044,37 +1092,37 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
if x == nil {
r.EncodeNil()
} else {
yym87 := z.EncBinary()
_ = yym87
yym92 := z.EncBinary()
_ = yym92
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep88 := !z.EncBinary()
yy2arr88 := z.EncBasicHandle().StructToArray
var yyq88 [4]bool
_, _, _ = yysep88, yyq88, yy2arr88
const yyr88 bool = false
yyq88[0] = x.Kind != ""
yyq88[1] = x.APIVersion != ""
yyq88[2] = true
var yynn88 int
if yyr88 || yy2arr88 {
yysep93 := !z.EncBinary()
yy2arr93 := z.EncBasicHandle().StructToArray
var yyq93 [4]bool
_, _, _ = yysep93, yyq93, yy2arr93
const yyr93 bool = false
yyq93[0] = x.Kind != ""
yyq93[1] = x.APIVersion != ""
yyq93[2] = true
var yynn93 int
if yyr93 || yy2arr93 {
r.EncodeArrayStart(4)
} else {
yynn88 = 1
for _, b := range yyq88 {
yynn93 = 1
for _, b := range yyq93 {
if b {
yynn88++
yynn93++
}
}
r.EncodeMapStart(yynn88)
yynn88 = 0
r.EncodeMapStart(yynn93)
yynn93 = 0
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq88[0] {
yym90 := z.EncBinary()
_ = yym90
if yyq93[0] {
yym95 := z.EncBinary()
_ = yym95
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
......@@ -1083,23 +1131,23 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq88[0] {
if yyq93[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym91 := z.EncBinary()
_ = yym91
yym96 := z.EncBinary()
_ = yym96
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq88[1] {
yym93 := z.EncBinary()
_ = yym93
if yyq93[1] {
yym98 := z.EncBinary()
_ = yym98
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
......@@ -1108,54 +1156,54 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq88[1] {
if yyq93[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym94 := z.EncBinary()
_ = yym94
yym99 := z.EncBinary()
_ = yym99
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq88[2] {
yy96 := &x.ListMeta
yym97 := z.EncBinary()
_ = yym97
if yyq93[2] {
yy101 := &x.ListMeta
yym102 := z.EncBinary()
_ = yym102
if false {
} else if z.HasExtensions() && z.EncExt(yy96) {
} else if z.HasExtensions() && z.EncExt(yy101) {
} else {
z.EncFallback(yy96)
z.EncFallback(yy101)
}
} else {
r.EncodeNil()
}
} else {
if yyq88[2] {
if yyq93[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy98 := &x.ListMeta
yym99 := z.EncBinary()
_ = yym99
yy103 := &x.ListMeta
yym104 := z.EncBinary()
_ = yym104
if false {
} else if z.HasExtensions() && z.EncExt(yy98) {
} else if z.HasExtensions() && z.EncExt(yy103) {
} else {
z.EncFallback(yy98)
z.EncFallback(yy103)
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.Items == nil {
r.EncodeNil()
} else {
yym101 := z.EncBinary()
_ = yym101
yym106 := z.EncBinary()
_ = yym106
if false {
} else {
h.encSlicePodDisruptionBudget(([]PodDisruptionBudget)(x.Items), e)
......@@ -1168,15 +1216,15 @@ func (x *PodDisruptionBudgetList) CodecEncodeSelf(e *codec1978.Encoder) {
if x.Items == nil {
r.EncodeNil()
} else {
yym102 := z.EncBinary()
_ = yym102
yym107 := z.EncBinary()
_ = yym107
if false {
} else {
h.encSlicePodDisruptionBudget(([]PodDisruptionBudget)(x.Items), e)
}
}
}
if yyr88 || yy2arr88 {
if yyr93 || yy2arr93 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -1189,25 +1237,25 @@ func (x *PodDisruptionBudgetList) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym103 := z.DecBinary()
_ = yym103
yym108 := z.DecBinary()
_ = yym108
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct104 := r.ContainerType()
if yyct104 == codecSelferValueTypeMap1234 {
yyl104 := r.ReadMapStart()
if yyl104 == 0 {
yyct109 := r.ContainerType()
if yyct109 == codecSelferValueTypeMap1234 {
yyl109 := r.ReadMapStart()
if yyl109 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl104, d)
x.codecDecodeSelfFromMap(yyl109, d)
}
} else if yyct104 == codecSelferValueTypeArray1234 {
yyl104 := r.ReadArrayStart()
if yyl104 == 0 {
} else if yyct109 == codecSelferValueTypeArray1234 {
yyl109 := r.ReadArrayStart()
if yyl109 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl104, d)
x.codecDecodeSelfFromArray(yyl109, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -1219,12 +1267,12 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromMap(l int, d *codec1978.Dec
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys105Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys105Slc
var yyhl105 bool = l >= 0
for yyj105 := 0; ; yyj105++ {
if yyhl105 {
if yyj105 >= l {
var yys110Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys110Slc
var yyhl110 bool = l >= 0
for yyj110 := 0; ; yyj110++ {
if yyhl110 {
if yyj110 >= l {
break
}
} else {
......@@ -1233,10 +1281,10 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromMap(l int, d *codec1978.Dec
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys105Slc = r.DecodeBytes(yys105Slc, true, true)
yys105 := string(yys105Slc)
yys110Slc = r.DecodeBytes(yys110Slc, true, true)
yys110 := string(yys110Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys105 {
switch yys110 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
......@@ -1253,31 +1301,31 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromMap(l int, d *codec1978.Dec
if r.TryDecodeAsNil() {
x.ListMeta = pkg2_unversioned.ListMeta{}
} else {
yyv108 := &x.ListMeta
yym109 := z.DecBinary()
_ = yym109
yyv113 := &x.ListMeta
yym114 := z.DecBinary()
_ = yym114
if false {
} else if z.HasExtensions() && z.DecExt(yyv108) {
} else if z.HasExtensions() && z.DecExt(yyv113) {
} else {
z.DecFallback(yyv108, false)
z.DecFallback(yyv113, false)
}
}
case "items":
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv110 := &x.Items
yym111 := z.DecBinary()
_ = yym111
yyv115 := &x.Items
yym116 := z.DecBinary()
_ = yym116
if false {
} else {
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv110), d)
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv115), d)
}
}
default:
z.DecStructFieldNotFound(-1, yys105)
} // end switch yys105
} // end for yyj105
z.DecStructFieldNotFound(-1, yys110)
} // end switch yys110
} // end for yyj110
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -1285,16 +1333,16 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj112 int
var yyb112 bool
var yyhl112 bool = l >= 0
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
var yyj117 int
var yyb117 bool
var yyhl117 bool = l >= 0
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1304,13 +1352,13 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
} else {
x.Kind = string(r.DecodeString())
}
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1320,13 +1368,13 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
} else {
x.APIVersion = string(r.DecodeString())
}
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1334,22 +1382,22 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
if r.TryDecodeAsNil() {
x.ListMeta = pkg2_unversioned.ListMeta{}
} else {
yyv115 := &x.ListMeta
yym116 := z.DecBinary()
_ = yym116
yyv120 := &x.ListMeta
yym121 := z.DecBinary()
_ = yym121
if false {
} else if z.HasExtensions() && z.DecExt(yyv115) {
} else if z.HasExtensions() && z.DecExt(yyv120) {
} else {
z.DecFallback(yyv115, false)
z.DecFallback(yyv120, false)
}
}
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1357,26 +1405,26 @@ func (x *PodDisruptionBudgetList) codecDecodeSelfFromArray(l int, d *codec1978.D
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv117 := &x.Items
yym118 := z.DecBinary()
_ = yym118
yyv122 := &x.Items
yym123 := z.DecBinary()
_ = yym123
if false {
} else {
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv117), d)
h.decSlicePodDisruptionBudget((*[]PodDisruptionBudget)(yyv122), d)
}
}
for {
yyj112++
if yyhl112 {
yyb112 = yyj112 > l
yyj117++
if yyhl117 {
yyb117 = yyj117 > l
} else {
yyb112 = r.CheckBreak()
yyb117 = r.CheckBreak()
}
if yyb112 {
if yyb117 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj112-1, "")
z.DecStructFieldNotFound(yyj117-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1388,38 +1436,38 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
if x == nil {
r.EncodeNil()
} else {
yym119 := z.EncBinary()
_ = yym119
yym124 := z.EncBinary()
_ = yym124
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep120 := !z.EncBinary()
yy2arr120 := z.EncBasicHandle().StructToArray
var yyq120 [4]bool
_, _, _ = yysep120, yyq120, yy2arr120
const yyr120 bool = false
yyq120[0] = x.Kind != ""
yyq120[1] = x.APIVersion != ""
yyq120[2] = true
yyq120[3] = x.DeleteOptions != nil
var yynn120 int
if yyr120 || yy2arr120 {
yysep125 := !z.EncBinary()
yy2arr125 := z.EncBasicHandle().StructToArray
var yyq125 [4]bool
_, _, _ = yysep125, yyq125, yy2arr125
const yyr125 bool = false
yyq125[0] = x.Kind != ""
yyq125[1] = x.APIVersion != ""
yyq125[2] = true
yyq125[3] = x.DeleteOptions != nil
var yynn125 int
if yyr125 || yy2arr125 {
r.EncodeArrayStart(4)
} else {
yynn120 = 0
for _, b := range yyq120 {
yynn125 = 0
for _, b := range yyq125 {
if b {
yynn120++
yynn125++
}
}
r.EncodeMapStart(yynn120)
yynn120 = 0
r.EncodeMapStart(yynn125)
yynn125 = 0
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[0] {
yym122 := z.EncBinary()
_ = yym122
if yyq125[0] {
yym127 := z.EncBinary()
_ = yym127
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
......@@ -1428,23 +1476,23 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq120[0] {
if yyq125[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym123 := z.EncBinary()
_ = yym123
yym128 := z.EncBinary()
_ = yym128
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[1] {
yym125 := z.EncBinary()
_ = yym125
if yyq125[1] {
yym130 := z.EncBinary()
_ = yym130
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
......@@ -1453,38 +1501,38 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq120[1] {
if yyq125[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym126 := z.EncBinary()
_ = yym126
yym131 := z.EncBinary()
_ = yym131
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[2] {
yy128 := &x.ObjectMeta
yy128.CodecEncodeSelf(e)
if yyq125[2] {
yy133 := &x.ObjectMeta
yy133.CodecEncodeSelf(e)
} else {
r.EncodeNil()
}
} else {
if yyq120[2] {
if yyq125[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy129 := &x.ObjectMeta
yy129.CodecEncodeSelf(e)
yy134 := &x.ObjectMeta
yy134.CodecEncodeSelf(e)
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq120[3] {
if yyq125[3] {
if x.DeleteOptions == nil {
r.EncodeNil()
} else {
......@@ -1494,7 +1542,7 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
r.EncodeNil()
}
} else {
if yyq120[3] {
if yyq125[3] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("deleteOptions"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
......@@ -1505,7 +1553,7 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) {
}
}
}
if yyr120 || yy2arr120 {
if yyr125 || yy2arr125 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -1518,25 +1566,25 @@ func (x *Eviction) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym131 := z.DecBinary()
_ = yym131
yym136 := z.DecBinary()
_ = yym136
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct132 := r.ContainerType()
if yyct132 == codecSelferValueTypeMap1234 {
yyl132 := r.ReadMapStart()
if yyl132 == 0 {
yyct137 := r.ContainerType()
if yyct137 == codecSelferValueTypeMap1234 {
yyl137 := r.ReadMapStart()
if yyl137 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl132, d)
x.codecDecodeSelfFromMap(yyl137, d)
}
} else if yyct132 == codecSelferValueTypeArray1234 {
yyl132 := r.ReadArrayStart()
if yyl132 == 0 {
} else if yyct137 == codecSelferValueTypeArray1234 {
yyl137 := r.ReadArrayStart()
if yyl137 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl132, d)
x.codecDecodeSelfFromArray(yyl137, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
......@@ -1548,12 +1596,12 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys133Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys133Slc
var yyhl133 bool = l >= 0
for yyj133 := 0; ; yyj133++ {
if yyhl133 {
if yyj133 >= l {
var yys138Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys138Slc
var yyhl138 bool = l >= 0
for yyj138 := 0; ; yyj138++ {
if yyhl138 {
if yyj138 >= l {
break
}
} else {
......@@ -1562,10 +1610,10 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys133Slc = r.DecodeBytes(yys133Slc, true, true)
yys133 := string(yys133Slc)
yys138Slc = r.DecodeBytes(yys138Slc, true, true)
yys138 := string(yys138Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys133 {
switch yys138 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
......@@ -1582,8 +1630,8 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_v1.ObjectMeta{}
} else {
yyv136 := &x.ObjectMeta
yyv136.CodecDecodeSelf(d)
yyv141 := &x.ObjectMeta
yyv141.CodecDecodeSelf(d)
}
case "deleteOptions":
if r.TryDecodeAsNil() {
......@@ -1597,9 +1645,9 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
x.DeleteOptions.CodecDecodeSelf(d)
}
default:
z.DecStructFieldNotFound(-1, yys133)
} // end switch yys133
} // end for yyj133
z.DecStructFieldNotFound(-1, yys138)
} // end switch yys138
} // end for yyj138
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
......@@ -1607,16 +1655,16 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj138 int
var yyb138 bool
var yyhl138 bool = l >= 0
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
var yyj143 int
var yyb143 bool
var yyhl143 bool = l >= 0
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1626,13 +1674,13 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else {
x.Kind = string(r.DecodeString())
}
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1642,13 +1690,13 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else {
x.APIVersion = string(r.DecodeString())
}
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1656,16 +1704,16 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg3_v1.ObjectMeta{}
} else {
yyv141 := &x.ObjectMeta
yyv141.CodecDecodeSelf(d)
yyv146 := &x.ObjectMeta
yyv146.CodecDecodeSelf(d)
}
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
......@@ -1681,17 +1729,17 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
x.DeleteOptions.CodecDecodeSelf(d)
}
for {
yyj138++
if yyhl138 {
yyb138 = yyj138 > l
yyj143++
if yyhl143 {
yyb143 = yyj143 > l
} else {
yyb138 = r.CheckBreak()
yyb143 = r.CheckBreak()
}
if yyb138 {
if yyb143 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj138-1, "")
z.DecStructFieldNotFound(yyj143-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1701,26 +1749,26 @@ func (x codecSelfer1234) encMapstringunversioned_Time(v map[string]pkg2_unversio
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
r.EncodeMapStart(len(v))
for yyk143, yyv143 := range v {
for yyk148, yyv148 := range v {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
yym144 := z.EncBinary()
_ = yym144
yym149 := z.EncBinary()
_ = yym149
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(yyk143))
r.EncodeString(codecSelferC_UTF81234, string(yyk148))
}
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy145 := &yyv143
yym146 := z.EncBinary()
_ = yym146
yy150 := &yyv148
yym151 := z.EncBinary()
_ = yym151
if false {
} else if z.HasExtensions() && z.EncExt(yy145) {
} else if yym146 {
z.EncBinaryMarshal(yy145)
} else if !yym146 && z.IsJSONHandle() {
z.EncJSONMarshal(yy145)
} else if z.HasExtensions() && z.EncExt(yy150) {
} else if yym151 {
z.EncBinaryMarshal(yy150)
} else if !yym151 && z.IsJSONHandle() {
z.EncJSONMarshal(yy150)
} else {
z.EncFallback(yy145)
z.EncFallback(yy150)
}
}
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
......@@ -1731,90 +1779,90 @@ func (x codecSelfer1234) decMapstringunversioned_Time(v *map[string]pkg2_unversi
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yyv147 := *v
yyl147 := r.ReadMapStart()
yybh147 := z.DecBasicHandle()
if yyv147 == nil {
yyrl147, _ := z.DecInferLen(yyl147, yybh147.MaxInitLen, 40)
yyv147 = make(map[string]pkg2_unversioned.Time, yyrl147)
*v = yyv147
}
var yymk147 string
var yymv147 pkg2_unversioned.Time
var yymg147 bool
if yybh147.MapValueReset {
yymg147 = true
}
if yyl147 > 0 {
for yyj147 := 0; yyj147 < yyl147; yyj147++ {
yyv152 := *v
yyl152 := r.ReadMapStart()
yybh152 := z.DecBasicHandle()
if yyv152 == nil {
yyrl152, _ := z.DecInferLen(yyl152, yybh152.MaxInitLen, 40)
yyv152 = make(map[string]pkg2_unversioned.Time, yyrl152)
*v = yyv152
}
var yymk152 string
var yymv152 pkg2_unversioned.Time
var yymg152 bool
if yybh152.MapValueReset {
yymg152 = true
}
if yyl152 > 0 {
for yyj152 := 0; yyj152 < yyl152; yyj152++ {
z.DecSendContainerState(codecSelfer_containerMapKey1234)
if r.TryDecodeAsNil() {
yymk147 = ""
yymk152 = ""
} else {
yymk147 = string(r.DecodeString())
yymk152 = string(r.DecodeString())
}
if yymg147 {
yymv147 = yyv147[yymk147]
if yymg152 {
yymv152 = yyv152[yymk152]
} else {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
}
z.DecSendContainerState(codecSelfer_containerMapValue1234)
if r.TryDecodeAsNil() {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
} else {
yyv149 := &yymv147
yym150 := z.DecBinary()
_ = yym150
yyv154 := &yymv152
yym155 := z.DecBinary()
_ = yym155
if false {
} else if z.HasExtensions() && z.DecExt(yyv149) {
} else if yym150 {
z.DecBinaryUnmarshal(yyv149)
} else if !yym150 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv149)
} else if z.HasExtensions() && z.DecExt(yyv154) {
} else if yym155 {
z.DecBinaryUnmarshal(yyv154)
} else if !yym155 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv154)
} else {
z.DecFallback(yyv149, false)
z.DecFallback(yyv154, false)
}
}
if yyv147 != nil {
yyv147[yymk147] = yymv147
if yyv152 != nil {
yyv152[yymk152] = yymv152
}
}
} else if yyl147 < 0 {
for yyj147 := 0; !r.CheckBreak(); yyj147++ {
} else if yyl152 < 0 {
for yyj152 := 0; !r.CheckBreak(); yyj152++ {
z.DecSendContainerState(codecSelfer_containerMapKey1234)
if r.TryDecodeAsNil() {
yymk147 = ""
yymk152 = ""
} else {
yymk147 = string(r.DecodeString())
yymk152 = string(r.DecodeString())
}
if yymg147 {
yymv147 = yyv147[yymk147]
if yymg152 {
yymv152 = yyv152[yymk152]
} else {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
}
z.DecSendContainerState(codecSelfer_containerMapValue1234)
if r.TryDecodeAsNil() {
yymv147 = pkg2_unversioned.Time{}
yymv152 = pkg2_unversioned.Time{}
} else {
yyv152 := &yymv147
yym153 := z.DecBinary()
_ = yym153
yyv157 := &yymv152
yym158 := z.DecBinary()
_ = yym158
if false {
} else if z.HasExtensions() && z.DecExt(yyv152) {
} else if yym153 {
z.DecBinaryUnmarshal(yyv152)
} else if !yym153 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv152)
} else if z.HasExtensions() && z.DecExt(yyv157) {
} else if yym158 {
z.DecBinaryUnmarshal(yyv157)
} else if !yym158 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv157)
} else {
z.DecFallback(yyv152, false)
z.DecFallback(yyv157, false)
}
}
if yyv147 != nil {
yyv147[yymk147] = yymv147
if yyv152 != nil {
yyv152[yymk152] = yymv152
}
}
} // else len==0: TODO: Should we clear map entries?
......@@ -1826,10 +1874,10 @@ func (x codecSelfer1234) encSlicePodDisruptionBudget(v []PodDisruptionBudget, e
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
r.EncodeArrayStart(len(v))
for _, yyv154 := range v {
for _, yyv159 := range v {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yy155 := &yyv154
yy155.CodecEncodeSelf(e)
yy160 := &yyv159
yy160.CodecEncodeSelf(e)
}
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}
......@@ -1839,83 +1887,83 @@ func (x codecSelfer1234) decSlicePodDisruptionBudget(v *[]PodDisruptionBudget, d
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yyv156 := *v
yyh156, yyl156 := z.DecSliceHelperStart()
var yyc156 bool
if yyl156 == 0 {
if yyv156 == nil {
yyv156 = []PodDisruptionBudget{}
yyc156 = true
} else if len(yyv156) != 0 {
yyv156 = yyv156[:0]
yyc156 = true
yyv161 := *v
yyh161, yyl161 := z.DecSliceHelperStart()
var yyc161 bool
if yyl161 == 0 {
if yyv161 == nil {
yyv161 = []PodDisruptionBudget{}
yyc161 = true
} else if len(yyv161) != 0 {
yyv161 = yyv161[:0]
yyc161 = true
}
} else if yyl156 > 0 {
var yyrr156, yyrl156 int
var yyrt156 bool
if yyl156 > cap(yyv156) {
} else if yyl161 > 0 {
var yyrr161, yyrl161 int
var yyrt161 bool
if yyl161 > cap(yyv161) {
yyrg156 := len(yyv156) > 0
yyv2156 := yyv156
yyrl156, yyrt156 = z.DecInferLen(yyl156, z.DecBasicHandle().MaxInitLen, 320)
if yyrt156 {
if yyrl156 <= cap(yyv156) {
yyv156 = yyv156[:yyrl156]
yyrg161 := len(yyv161) > 0
yyv2161 := yyv161
yyrl161, yyrt161 = z.DecInferLen(yyl161, z.DecBasicHandle().MaxInitLen, 328)
if yyrt161 {
if yyrl161 <= cap(yyv161) {
yyv161 = yyv161[:yyrl161]
} else {
yyv156 = make([]PodDisruptionBudget, yyrl156)
yyv161 = make([]PodDisruptionBudget, yyrl161)
}
} else {
yyv156 = make([]PodDisruptionBudget, yyrl156)
yyv161 = make([]PodDisruptionBudget, yyrl161)
}
yyc156 = true
yyrr156 = len(yyv156)
if yyrg156 {
copy(yyv156, yyv2156)
yyc161 = true
yyrr161 = len(yyv161)
if yyrg161 {
copy(yyv161, yyv2161)
}
} else if yyl156 != len(yyv156) {
yyv156 = yyv156[:yyl156]
yyc156 = true
} else if yyl161 != len(yyv161) {
yyv161 = yyv161[:yyl161]
yyc161 = true
}
yyj156 := 0
for ; yyj156 < yyrr156; yyj156++ {
yyh156.ElemContainerState(yyj156)
yyj161 := 0
for ; yyj161 < yyrr161; yyj161++ {
yyh161.ElemContainerState(yyj161)
if r.TryDecodeAsNil() {
yyv156[yyj156] = PodDisruptionBudget{}
yyv161[yyj161] = PodDisruptionBudget{}
} else {
yyv157 := &yyv156[yyj156]
yyv157.CodecDecodeSelf(d)
yyv162 := &yyv161[yyj161]
yyv162.CodecDecodeSelf(d)
}
}
if yyrt156 {
for ; yyj156 < yyl156; yyj156++ {
yyv156 = append(yyv156, PodDisruptionBudget{})
yyh156.ElemContainerState(yyj156)
if yyrt161 {
for ; yyj161 < yyl161; yyj161++ {
yyv161 = append(yyv161, PodDisruptionBudget{})
yyh161.ElemContainerState(yyj161)
if r.TryDecodeAsNil() {
yyv156[yyj156] = PodDisruptionBudget{}
yyv161[yyj161] = PodDisruptionBudget{}
} else {
yyv158 := &yyv156[yyj156]
yyv158.CodecDecodeSelf(d)
yyv163 := &yyv161[yyj161]
yyv163.CodecDecodeSelf(d)
}
}
}
} else {
yyj156 := 0
for ; !r.CheckBreak(); yyj156++ {
yyj161 := 0
for ; !r.CheckBreak(); yyj161++ {
if yyj156 >= len(yyv156) {
yyv156 = append(yyv156, PodDisruptionBudget{}) // var yyz156 PodDisruptionBudget
yyc156 = true
if yyj161 >= len(yyv161) {
yyv161 = append(yyv161, PodDisruptionBudget{}) // var yyz161 PodDisruptionBudget
yyc161 = true
}
yyh156.ElemContainerState(yyj156)
if yyj156 < len(yyv156) {
yyh161.ElemContainerState(yyj161)
if yyj161 < len(yyv161) {
if r.TryDecodeAsNil() {
yyv156[yyj156] = PodDisruptionBudget{}
yyv161[yyj161] = PodDisruptionBudget{}
} else {
yyv159 := &yyv156[yyj156]
yyv159.CodecDecodeSelf(d)
yyv164 := &yyv161[yyj161]
yyv164.CodecDecodeSelf(d)
}
} else {
......@@ -1923,16 +1971,16 @@ func (x codecSelfer1234) decSlicePodDisruptionBudget(v *[]PodDisruptionBudget, d
}
}
if yyj156 < len(yyv156) {
yyv156 = yyv156[:yyj156]
yyc156 = true
} else if yyj156 == 0 && yyv156 == nil {
yyv156 = []PodDisruptionBudget{}
yyc156 = true
if yyj161 < len(yyv161) {
yyv161 = yyv161[:yyj161]
yyc161 = true
} else if yyj161 == 0 && yyv161 == nil {
yyv161 = []PodDisruptionBudget{}
yyc161 = true
}
}
yyh156.End()
if yyc156 {
*v = yyv156
yyh161.End()
if yyc161 {
*v = yyv161
}
}
......@@ -38,17 +38,10 @@ type PodDisruptionBudgetSpec struct {
// PodDisruptionBudgetStatus represents information about the status of a
// PodDisruptionBudget. Status may trail the actual state of a system.
type PodDisruptionBudgetStatus struct {
// Number of pod disruptions that are currently allowed.
PodDisruptionsAllowed int32 `json:"disruptionsAllowed" protobuf:"varint,1,opt,name=disruptionsAllowed"`
// current number of healthy pods
CurrentHealthy int32 `json:"currentHealthy" protobuf:"varint,2,opt,name=currentHealthy"`
// minimum desired number of healthy pods
DesiredHealthy int32 `json:"desiredHealthy" protobuf:"varint,3,opt,name=desiredHealthy"`
// total number of pods counted by this disruption budget
ExpectedPods int32 `json:"expectedPods" protobuf:"varint,4,opt,name=expectedPods"`
// Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other
// status informatio is valid only if observedGeneration equals to PDB's object generation.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
// DisruptedPods contains information about pods whose eviction was
// processed by the API server eviction subresource handler but has not
......@@ -61,7 +54,19 @@ type PodDisruptionBudgetStatus struct {
// the list automatically by PodDisruptionBudget controller after some time.
// If everything goes smooth this map should be empty for the most of the time.
// Large number of entries in the map may indicate problems with pod deletions.
DisruptedPods map[string]unversioned.Time `json:"disruptedPods" protobuf:"bytes,5,rep,name=disruptedPods"`
DisruptedPods map[string]unversioned.Time `json:"disruptedPods" protobuf:"bytes,2,rep,name=disruptedPods"`
// Number of pod disruptions that are currently allowed.
PodDisruptionsAllowed int32 `json:"disruptionsAllowed" protobuf:"varint,3,opt,name=disruptionsAllowed"`
// current number of healthy pods
CurrentHealthy int32 `json:"currentHealthy" protobuf:"varint,4,opt,name=currentHealthy"`
// minimum desired number of healthy pods
DesiredHealthy int32 `json:"desiredHealthy" protobuf:"varint,5,opt,name=desiredHealthy"`
// total number of pods counted by this disruption budget
ExpectedPods int32 `json:"expectedPods" protobuf:"varint,6,opt,name=expectedPods"`
}
// +genclient=true
......
......@@ -67,11 +67,12 @@ func (PodDisruptionBudgetSpec) SwaggerDoc() map[string]string {
var map_PodDisruptionBudgetStatus = map[string]string{
"": "PodDisruptionBudgetStatus represents information about the status of a PodDisruptionBudget. Status may trail the actual state of a system.",
"observedGeneration": "Most recent generation observed when updating this PDB status. PodDisruptionsAllowed and other status informatio is valid only if observedGeneration equals to PDB's object generation.",
"disruptedPods": "DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.",
"disruptionsAllowed": "Number of pod disruptions that are currently allowed.",
"currentHealthy": "current number of healthy pods",
"desiredHealthy": "minimum desired number of healthy pods",
"expectedPods": "total number of pods counted by this disruption budget",
"disruptedPods": "DisruptedPods contains information about pods whose eviction was processed by the API server eviction subresource handler but has not yet been observed by the PodDisruptionBudget controller. A pod will be in this map from the time when the API server processed the eviction request to the time when the pod is seen by PDB controller as having been marked for deletion (or after a timeout). The key in the map is the name of the pod and the value is the time when the API server processed the eviction request. If the deletion didn't occur and a pod is still there it will be removed from the list automatically by PodDisruptionBudget controller after some time. If everything goes smooth this map should be empty for the most of the time. Large number of entries in the map may indicate problems with pod deletions.",
}
func (PodDisruptionBudgetStatus) SwaggerDoc() map[string]string {
......
......@@ -154,11 +154,12 @@ func Convert_policy_PodDisruptionBudgetSpec_To_v1beta1_PodDisruptionBudgetSpec(i
}
func autoConvert_v1beta1_PodDisruptionBudgetStatus_To_policy_PodDisruptionBudgetStatus(in *PodDisruptionBudgetStatus, out *policy.PodDisruptionBudgetStatus, s conversion.Scope) error {
out.ObservedGeneration = in.ObservedGeneration
out.DisruptedPods = *(*map[string]unversioned.Time)(unsafe.Pointer(&in.DisruptedPods))
out.PodDisruptionsAllowed = in.PodDisruptionsAllowed
out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
out.DisruptedPods = *(*map[string]unversioned.Time)(unsafe.Pointer(&in.DisruptedPods))
return nil
}
......@@ -167,11 +168,12 @@ func Convert_v1beta1_PodDisruptionBudgetStatus_To_policy_PodDisruptionBudgetStat
}
func autoConvert_policy_PodDisruptionBudgetStatus_To_v1beta1_PodDisruptionBudgetStatus(in *policy.PodDisruptionBudgetStatus, out *PodDisruptionBudgetStatus, s conversion.Scope) error {
out.ObservedGeneration = in.ObservedGeneration
out.DisruptedPods = *(*map[string]unversioned.Time)(unsafe.Pointer(&in.DisruptedPods))
out.PodDisruptionsAllowed = in.PodDisruptionsAllowed
out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
out.DisruptedPods = *(*map[string]unversioned.Time)(unsafe.Pointer(&in.DisruptedPods))
return nil
}
......
......@@ -126,10 +126,7 @@ func DeepCopy_v1beta1_PodDisruptionBudgetStatus(in interface{}, out interface{},
{
in := in.(*PodDisruptionBudgetStatus)
out := out.(*PodDisruptionBudgetStatus)
out.PodDisruptionsAllowed = in.PodDisruptionsAllowed
out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
out.ObservedGeneration = in.ObservedGeneration
if in.DisruptedPods != nil {
in, out := &in.DisruptedPods, &out.DisruptedPods
*out = make(map[string]unversioned.Time)
......@@ -139,6 +136,10 @@ func DeepCopy_v1beta1_PodDisruptionBudgetStatus(in interface{}, out interface{},
} else {
out.DisruptedPods = nil
}
out.PodDisruptionsAllowed = in.PodDisruptionsAllowed
out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
return nil
}
}
......@@ -126,10 +126,7 @@ func DeepCopy_policy_PodDisruptionBudgetStatus(in interface{}, out interface{},
{
in := in.(*PodDisruptionBudgetStatus)
out := out.(*PodDisruptionBudgetStatus)
out.PodDisruptionsAllowed = in.PodDisruptionsAllowed
out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
out.ObservedGeneration = in.ObservedGeneration
if in.DisruptedPods != nil {
in, out := &in.DisruptedPods, &out.DisruptedPods
*out = make(map[string]unversioned.Time)
......@@ -139,6 +136,10 @@ func DeepCopy_policy_PodDisruptionBudgetStatus(in interface{}, out interface{},
} else {
out.DisruptedPods = nil
}
out.PodDisruptionsAllowed = in.PodDisruptionsAllowed
out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
return nil
}
}
......@@ -69,6 +69,7 @@ func (i *DefaultInfo) GetExtra() map[string][]string {
// well-known user and group names
const (
SystemPrivilegedGroup = "system:masters"
NodesGroup = "system:nodes"
AllUnauthenticated = "system:unauthenticated"
AllAuthenticated = "system:authenticated"
......
......@@ -36,33 +36,42 @@ var ForeverTestTimeout = time.Second * 30
// NeverStop may be passed to Until to make it never stop.
var NeverStop <-chan struct{} = make(chan struct{})
// Forever is syntactic sugar on top of Until
// Forever calls f every period for ever.
//
// Forever is syntactic sugar on top of Until.
func Forever(f func(), period time.Duration) {
Until(f, period, NeverStop)
}
// Until loops until stop channel is closed, running f every period.
// Until is syntactic sugar on top of JitterUntil with zero jitter
// factor, with sliding = true (which means the timer for period
// starts after the f completes).
//
// Until is syntactic sugar on top of JitterUntil with zero jitter factor and
// with sliding = true (which means the timer for period starts after the f
// completes).
func Until(f func(), period time.Duration, stopCh <-chan struct{}) {
JitterUntil(f, period, 0.0, true, stopCh)
}
// NonSlidingUntil loops until stop channel is closed, running f every
// period. NonSlidingUntil is syntactic sugar on top of JitterUntil
// with zero jitter factor, with sliding = false (meaning the timer for
// period starts at the same time as the function starts).
// period.
//
// NonSlidingUntil is syntactic sugar on top of JitterUntil with zero jitter
// factor, with sliding = false (meaning the timer for period starts at the same
// time as the function starts).
func NonSlidingUntil(f func(), period time.Duration, stopCh <-chan struct{}) {
JitterUntil(f, period, 0.0, false, stopCh)
}
// JitterUntil loops until stop channel is closed, running f every period.
//
// If jitterFactor is positive, the period is jittered before every run of f.
// If jitterFactor is not positive, the period is unchanged.
// Catches any panics, and keeps going. f may not be invoked if
// stop channel is already closed. Pass NeverStop to Until if you
// don't want it stop.
// If jitterFactor is not positive, the period is unchanged and not jitterd.
//
// If slidingis true, the period is computed after f runs. If it is false then
// period includes the runtime for f.
//
// Close stopCh to stop. f may not be invoked if stop channel is already
// closed. Pass NeverStop to if you don't want it stop.
func JitterUntil(f func(), period time.Duration, jitterFactor float64, sliding bool, stopCh <-chan struct{}) {
for {
......@@ -104,9 +113,11 @@ func JitterUntil(f func(), period time.Duration, jitterFactor float64, sliding b
}
}
// Jitter returns a time.Duration between duration and duration + maxFactor * duration,
// to allow clients to avoid converging on periodic behavior. If maxFactor is 0.0, a
// suggested default value will be chosen.
// Jitter returns a time.Duration between duration and duration + maxFactor *
// duration.
//
// This allows clients to avoid converging on periodic behavior. If maxFactor
// is 0.0, a suggested default value will be chosen.
func Jitter(duration time.Duration, maxFactor float64) time.Duration {
if maxFactor <= 0.0 {
maxFactor = 1.0
......@@ -115,26 +126,31 @@ func Jitter(duration time.Duration, maxFactor float64) time.Duration {
return wait
}
// ErrWaitTimeout is returned when the condition exited without success
// ErrWaitTimeout is returned when the condition exited without success.
var ErrWaitTimeout = errors.New("timed out waiting for the condition")
// ConditionFunc returns true if the condition is satisfied, or an error
// if the loop should be aborted.
type ConditionFunc func() (done bool, err error)
// Backoff is parameters applied to a Backoff function.
// Backoff holds parameters applied to a Backoff function.
type Backoff struct {
Duration time.Duration
Factor float64
Jitter float64
Steps int
Duration time.Duration // the base duration
Factor float64 // Duration is multipled by factor each iteration
Jitter float64 // The amount of jitter applied each iteration
Steps int // Exit with error after this many steps
}
// ExponentialBackoff repeats a condition check up to steps times, increasing the wait
// by multipling the previous duration by factor. If jitter is greater than zero,
// a random amount of each duration is added (between duration and duration*(1+jitter)).
// If the condition never returns true, ErrWaitTimeout is returned. All other errors
// terminate immediately.
// ExponentialBackoff repeats a condition check with exponential backoff.
//
// It checks the condition up to Steps times, increasing the wait by multipling
// the previous duration by Factor.
//
// If Jitter is greater than zero, a random amount of each duration is added
// (between duration and duration*(1+jitter)).
//
// If the condition never returns true, ErrWaitTimeout is returned. All other
// errors terminate immediately.
func ExponentialBackoff(backoff Backoff, condition ConditionFunc) error {
duration := backoff.Duration
for i := 0; i < backoff.Steps; i++ {
......@@ -154,22 +170,33 @@ func ExponentialBackoff(backoff Backoff, condition ConditionFunc) error {
}
// Poll tries a condition func until it returns true, an error, or the timeout
// is reached. condition will always be invoked at least once but some intervals
// may be missed if the condition takes too long or the time window is too short.
// is reached.
//
// Poll always waits the interval before the run of 'condition'.
// 'condition' will always be invoked at least once.
//
// Some intervals may be missed if the condition takes too long or the time
// window is too short.
//
// If you want to Poll something forever, see PollInfinite.
// Poll always waits the interval before the first check of the condition.
func Poll(interval, timeout time.Duration, condition ConditionFunc) error {
return pollInternal(poller(interval, timeout), condition)
}
func pollInternal(wait WaitFunc, condition ConditionFunc) error {
done := make(chan struct{})
defer close(done)
return WaitFor(wait, condition, done)
return WaitFor(wait, condition, NeverStop)
}
// PollImmediate is identical to Poll, except that it performs the first check
// immediately, not waiting interval beforehand.
// PollImmediate tries a condition func until it returns true, an error, or the timeout
// is reached.
//
// Poll always checks 'condition' before waiting for the interval. 'condition'
// will always be invoked at least once.
//
// Some intervals may be missed if the condition takes too long or the time
// window is too short.
//
// If you want to Poll something forever, see PollInfinite.
func PollImmediate(interval, timeout time.Duration, condition ConditionFunc) error {
return pollImmediateInternal(poller(interval, timeout), condition)
}
......@@ -185,16 +212,24 @@ func pollImmediateInternal(wait WaitFunc, condition ConditionFunc) error {
return pollInternal(wait, condition)
}
// PollInfinite polls forever.
// PollInfinite tries a condition func until it returns true or an error
//
// PollInfinite always waits the interval before the run of 'condition'.
//
// Some intervals may be missed if the condition takes too long or the time
// window is too short.
func PollInfinite(interval time.Duration, condition ConditionFunc) error {
done := make(chan struct{})
defer close(done)
return PollUntil(interval, condition, done)
}
// PollImmediateInfinite is identical to PollInfinite, except that it
// performs the first check immediately, not waiting interval
// beforehand.
// PollImmediateInfinite tries a condition func until it returns true or an error
//
// PollImmediateInfinite runs the 'condition' before waiting for the interval.
//
// Some intervals may be missed if the condition takes too long or the time
// window is too short.
func PollImmediateInfinite(interval time.Duration, condition ConditionFunc) error {
done, err := condition()
if err != nil {
......@@ -206,7 +241,11 @@ func PollImmediateInfinite(interval time.Duration, condition ConditionFunc) erro
return PollInfinite(interval, condition)
}
// PollUntil is like Poll, but it takes a stop change instead of total duration
// PollUntil tries a condition func until it returns true, an error or stopCh is
// closed.
//
// PolUntil always waits interval before the first run of 'condition'.
// 'condition' will always be invoked at least once.
func PollUntil(interval time.Duration, condition ConditionFunc, stopCh <-chan struct{}) error {
return WaitFor(poller(interval, 0), condition, stopCh)
}
......@@ -215,11 +254,16 @@ func PollUntil(interval time.Duration, condition ConditionFunc, stopCh <-chan st
// should be executed and is closed when the last test should be invoked.
type WaitFunc func(done <-chan struct{}) <-chan struct{}
// WaitFor gets a channel from wait(), and then invokes fn once for every value
// placed on the channel and once more when the channel is closed. If fn
// returns an error the loop ends and that error is returned, and if fn returns
// true the loop ends and nil is returned. ErrWaitTimeout will be returned if
// the channel is closed without fn ever returning true.
// WaitFor continually checks 'fn' as driven by 'wait'.
//
// WaitFor gets a channel from 'wait()'', and then invokes 'fn' once for every value
// placed on the channel and once more when the channel is closed.
//
// If 'fn' returns an error the loop ends and that error is returned, and if
// 'fn' returns true the loop ends and nil is returned.
//
// ErrWaitTimeout will be returned if the channel is closed without fn ever
// returning true.
func WaitFor(wait WaitFunc, fn ConditionFunc, done <-chan struct{}) error {
c := wait(done)
for {
......@@ -238,11 +282,14 @@ func WaitFor(wait WaitFunc, fn ConditionFunc, done <-chan struct{}) error {
return ErrWaitTimeout
}
// poller returns a WaitFunc that will send to the channel every
// interval until timeout has elapsed and then close the channel.
// Over very short intervals you may receive no ticks before
// the channel is closed. If timeout is 0, the channel
// will never be closed.
// poller returns a WaitFunc that will send to the channel every interval until
// timeout has elapsed and then closes the channel.
//
// Over very short intervals you may receive no ticks before the channel is
// closed. A timeout of 0 is interpreted as an infinity.
//
// Output ticks are not buffered. If the channel is not ready to receive an
// item, the tick is skipped.
func poller(interval, timeout time.Duration) WaitFunc {
return WaitFunc(func(done <-chan struct{}) <-chan struct{} {
ch := make(chan struct{})
......
......@@ -29,7 +29,7 @@ import (
type Config struct {
// The queue for your objects; either a FIFO or
// a DeltaFIFO. Your Process() function should accept
// the output of this Oueue's Pop() method.
// the output of this Queue's Pop() method.
Queue
// Something that can list and watch your objects.
......@@ -121,6 +121,11 @@ func (c *Controller) Requeue(obj interface{}) error {
// TODO: Consider doing the processing in parallel. This will require a little thought
// to make sure that we don't end up processing the same object multiple times
// concurrently.
//
// TODO: Plumb through the stopCh here (and down to the queue) so that this can
// actually exit when the controller is stopped. Or just give up on this stuff
// ever being stoppable. Converting this whole package to use Context would
// also be helpful.
func (c *Controller) processLoop() {
for {
obj, err := c.config.Queue.Pop(PopProcessFunc(c.config.Process))
......@@ -134,7 +139,7 @@ func (c *Controller) processLoop() {
}
// ResourceEventHandler can handle notifications for events that happen to a
// resource. The events are informational only, so you can't return an
// resource. The events are informational only, so you can't return an
// error.
// * OnAdd is called when an object is added.
// * OnUpdate is called when an object is modified. Note that oldObj is the
......
......@@ -283,6 +283,9 @@ func TestHammerController(t *testing.T) {
time.Sleep(100 * time.Millisecond)
close(stop)
// TODO: Verify that no goroutines were leaked here and that everything shut
// down cleanly.
outputSetLock.Lock()
t.Logf("got: %#v", outputSet)
}
......
......@@ -45,7 +45,7 @@ import (
// Reflector watches a specified resource and causes all changes to be reflected in the given store.
type Reflector struct {
// name identifies this reflector. By default it will be a file:line if possible.
// name identifies this reflector. By default it will be a file:line if possible.
name string
// The type of object we expect to place in the store.
......@@ -74,12 +74,6 @@ var (
// However, it can be modified to avoid periodic resync to break the
// TCP connection.
minWatchTimeout = 5 * time.Minute
// If we are within 'forceResyncThreshold' from the next planned resync
// and are just before issuing Watch(), resync will be forced now.
forceResyncThreshold = 3 * time.Second
// We try to set timeouts for Watch() so that we will finish about
// than 'timeoutThreshold' from next planned periodic resync.
timeoutThreshold = 1 * time.Second
)
// NewNamespaceKeyedIndexerAndReflector creates an Indexer and a Reflector
......@@ -114,7 +108,7 @@ func NewNamedReflector(name string, lw ListerWatcher, expectedType interface{},
return r
}
// internalPackages are packages that ignored when creating a default reflector name. These packages are in the common
// internalPackages are packages that ignored when creating a default reflector name. These packages are in the common
// call chains to NewReflector, so they'd be low entropy names for reflectors
var internalPackages = []string{"kubernetes/pkg/client/cache/", "/runtime/asm_"}
......
......@@ -8951,7 +8951,7 @@ go_library(
"//vendor:k8s.io/client-go/pkg/api/unversioned",
"//vendor:k8s.io/client-go/pkg/api/v1",
"//vendor:k8s.io/client-go/pkg/apimachinery/registered",
"//vendor:k8s.io/client-go/pkg/apis/policy/v1alpha1",
"//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1",
"//vendor:k8s.io/client-go/pkg/fields",
"//vendor:k8s.io/client-go/pkg/runtime",
"//vendor:k8s.io/client-go/pkg/runtime/serializer",
......@@ -8994,7 +8994,7 @@ go_library(
"//vendor:k8s.io/client-go/pkg/api",
"//vendor:k8s.io/client-go/pkg/api/unversioned",
"//vendor:k8s.io/client-go/pkg/api/v1",
"//vendor:k8s.io/client-go/pkg/apis/policy/v1alpha1",
"//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1",
"//vendor:k8s.io/client-go/pkg/fields",
"//vendor:k8s.io/client-go/pkg/labels",
"//vendor:k8s.io/client-go/pkg/runtime",
......@@ -9870,11 +9870,13 @@ go_library(
"k8s.io/client-go/pkg/apis/componentconfig/doc.go",
"k8s.io/client-go/pkg/apis/componentconfig/helpers.go",
"k8s.io/client-go/pkg/apis/componentconfig/register.go",
"k8s.io/client-go/pkg/apis/componentconfig/types.generated.go",
"k8s.io/client-go/pkg/apis/componentconfig/types.go",
"k8s.io/client-go/pkg/apis/componentconfig/zz_generated.deepcopy.go",
],
tags = ["automanaged"],
deps = [
"//vendor:github.com/ugorji/go/codec",
"//vendor:k8s.io/client-go/pkg/api/unversioned",
"//vendor:k8s.io/client-go/pkg/conversion",
"//vendor:k8s.io/client-go/pkg/runtime",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment