diff --git a/k8s/crds/kops.k8s.io_clusters.yaml b/k8s/crds/kops.k8s.io_clusters.yaml index 99084b8105cd2..fb80b405e8fa8 100644 --- a/k8s/crds/kops.k8s.io_clusters.yaml +++ b/k8s/crds/kops.k8s.io_clusters.yaml @@ -2152,6 +2152,11 @@ spec: are allowed to sync concurrently (default 5). format: int32 type: integer + concurrentJobSyncs: + description: The number of job objects that are allowed to sync + concurrently (default 5). + format: int32 + type: integer concurrentNamespaceSyncs: description: The number of namespace objects that are allowed to sync concurrently. diff --git a/pkg/apis/kops/componentconfig.go b/pkg/apis/kops/componentconfig.go index 99ca800f010fd..8f9bd4d2979fc 100644 --- a/pkg/apis/kops/componentconfig.go +++ b/pkg/apis/kops/componentconfig.go @@ -655,6 +655,8 @@ type KubeControllerManagerConfig struct { ConcurrentRCSyncs *int32 `json:"concurrentRCSyncs,omitempty" flag:"concurrent-rc-syncs"` // The number of horizontal pod autoscaler objects that are allowed to sync concurrently (default 5). ConcurrentHorizontalPodAustoscalerSyncs *int32 `json:"concurrentHorizontalPodAustoscalerSyncs,omitempty" flag:"concurrent-horizontal-pod-autoscaler-syncs"` + // The number of job objects that are allowed to sync concurrently (default 5). + ConcurrentJobSyncs *int32 `json:"concurrentJobSyncs,omitempty" flag:"concurrent-job-syncs"` // AuthenticationKubeconfig is the path to an Authentication Kubeconfig AuthenticationKubeconfig string `json:"authenticationKubeconfig,omitempty" flag:"authentication-kubeconfig"` // AuthorizationKubeconfig is the path to an Authorization Kubeconfig diff --git a/pkg/apis/kops/v1alpha2/componentconfig.go b/pkg/apis/kops/v1alpha2/componentconfig.go index 4af9c382312d0..d06eda7eddd9b 100644 --- a/pkg/apis/kops/v1alpha2/componentconfig.go +++ b/pkg/apis/kops/v1alpha2/componentconfig.go @@ -663,6 +663,8 @@ type KubeControllerManagerConfig struct { ConcurrentRCSyncs *int32 `json:"concurrentRcSyncs,omitempty" flag:"concurrent-rc-syncs"` // The number of horizontal pod autoscaler objects that are allowed to sync concurrently (default 5). ConcurrentHorizontalPodAustoscalerSyncs *int32 `json:"concurrentHorizontalPodAustoscalerSyncs,omitempty" flag:"concurrent-horizontal-pod-autoscaler-syncs"` + // The number of job objects that are allowed to sync concurrently (default 5). + ConcurrentJobSyncs *int32 `json:"concurrentJobSyncs,omitempty" flag:"concurrent-job-syncs"` // AuthenticationKubeconfig is the path to an Authentication Kubeconfig AuthenticationKubeconfig string `json:"authenticationKubeconfig,omitempty" flag:"authentication-kubeconfig"` // AuthorizationKubeconfig is the path to an Authorization Kubeconfig diff --git a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go index d4f26b1da66d9..60199892e7bfb 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go @@ -5140,6 +5140,7 @@ func autoConvert_v1alpha2_KubeControllerManagerConfig_To_kops_KubeControllerMana out.ConcurrentServiceaccountTokenSyncs = in.ConcurrentServiceaccountTokenSyncs out.ConcurrentRCSyncs = in.ConcurrentRCSyncs out.ConcurrentHorizontalPodAustoscalerSyncs = in.ConcurrentHorizontalPodAustoscalerSyncs + out.ConcurrentJobSyncs = in.ConcurrentJobSyncs out.AuthenticationKubeconfig = in.AuthenticationKubeconfig out.AuthorizationKubeconfig = in.AuthorizationKubeconfig out.AuthorizationAlwaysAllowPaths = in.AuthorizationAlwaysAllowPaths @@ -5215,6 +5216,7 @@ func autoConvert_kops_KubeControllerManagerConfig_To_v1alpha2_KubeControllerMana out.ConcurrentServiceaccountTokenSyncs = in.ConcurrentServiceaccountTokenSyncs out.ConcurrentRCSyncs = in.ConcurrentRCSyncs out.ConcurrentHorizontalPodAustoscalerSyncs = in.ConcurrentHorizontalPodAustoscalerSyncs + out.ConcurrentJobSyncs = in.ConcurrentJobSyncs out.AuthenticationKubeconfig = in.AuthenticationKubeconfig out.AuthorizationKubeconfig = in.AuthorizationKubeconfig out.AuthorizationAlwaysAllowPaths = in.AuthorizationAlwaysAllowPaths diff --git a/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go index f8ffe2e36b668..bf22be223691f 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go @@ -3596,6 +3596,11 @@ func (in *KubeControllerManagerConfig) DeepCopyInto(out *KubeControllerManagerCo *out = new(int32) **out = **in } + if in.ConcurrentJobSyncs != nil { + in, out := &in.ConcurrentJobSyncs, &out.ConcurrentJobSyncs + *out = new(int32) + **out = **in + } if in.AuthorizationAlwaysAllowPaths != nil { in, out := &in.AuthorizationAlwaysAllowPaths, &out.AuthorizationAlwaysAllowPaths *out = make([]string, len(*in)) diff --git a/pkg/apis/kops/v1alpha3/componentconfig.go b/pkg/apis/kops/v1alpha3/componentconfig.go index f975932349f9d..d336b4ead3d30 100644 --- a/pkg/apis/kops/v1alpha3/componentconfig.go +++ b/pkg/apis/kops/v1alpha3/componentconfig.go @@ -654,6 +654,8 @@ type KubeControllerManagerConfig struct { ConcurrentRCSyncs *int32 `json:"concurrentRCSyncs,omitempty" flag:"concurrent-rc-syncs"` // The number of horizontal pod autoscaler objects that are allowed to sync concurrently (default 5). ConcurrentHorizontalPodAustoscalerSyncs *int32 `json:"concurrentHorizontalPodAustoscalerSyncs,omitempty" flag:"concurrent-horizontal-pod-autoscaler-syncs"` + // The number of job objects that are allowed to sync concurrently (default 5). + ConcurrentJobSyncs *int32 `json:"concurrentJobSyncs,omitempty" flag:"concurrent-job-syncs"` // AuthenticationKubeconfig is the path to an Authentication Kubeconfig AuthenticationKubeconfig string `json:"authenticationKubeconfig,omitempty" flag:"authentication-kubeconfig"` // AuthorizationKubeconfig is the path to an Authorization Kubeconfig diff --git a/pkg/apis/kops/v1alpha3/zz_generated.conversion.go b/pkg/apis/kops/v1alpha3/zz_generated.conversion.go index 2ba9510722fc6..5aba9f361e086 100644 --- a/pkg/apis/kops/v1alpha3/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha3/zz_generated.conversion.go @@ -5535,6 +5535,7 @@ func autoConvert_v1alpha3_KubeControllerManagerConfig_To_kops_KubeControllerMana out.ConcurrentServiceaccountTokenSyncs = in.ConcurrentServiceaccountTokenSyncs out.ConcurrentRCSyncs = in.ConcurrentRCSyncs out.ConcurrentHorizontalPodAustoscalerSyncs = in.ConcurrentHorizontalPodAustoscalerSyncs + out.ConcurrentJobSyncs = in.ConcurrentJobSyncs out.AuthenticationKubeconfig = in.AuthenticationKubeconfig out.AuthorizationKubeconfig = in.AuthorizationKubeconfig out.AuthorizationAlwaysAllowPaths = in.AuthorizationAlwaysAllowPaths @@ -5610,6 +5611,7 @@ func autoConvert_kops_KubeControllerManagerConfig_To_v1alpha3_KubeControllerMana out.ConcurrentServiceaccountTokenSyncs = in.ConcurrentServiceaccountTokenSyncs out.ConcurrentRCSyncs = in.ConcurrentRCSyncs out.ConcurrentHorizontalPodAustoscalerSyncs = in.ConcurrentHorizontalPodAustoscalerSyncs + out.ConcurrentJobSyncs = in.ConcurrentJobSyncs out.AuthenticationKubeconfig = in.AuthenticationKubeconfig out.AuthorizationKubeconfig = in.AuthorizationKubeconfig out.AuthorizationAlwaysAllowPaths = in.AuthorizationAlwaysAllowPaths diff --git a/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go b/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go index 82eda0ae8c432..7aa4bf0e07f2a 100644 --- a/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go +++ b/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go @@ -3570,6 +3570,11 @@ func (in *KubeControllerManagerConfig) DeepCopyInto(out *KubeControllerManagerCo *out = new(int32) **out = **in } + if in.ConcurrentJobSyncs != nil { + in, out := &in.ConcurrentJobSyncs, &out.ConcurrentJobSyncs + *out = new(int32) + **out = **in + } if in.AuthorizationAlwaysAllowPaths != nil { in, out := &in.AuthorizationAlwaysAllowPaths, &out.AuthorizationAlwaysAllowPaths *out = make([]string, len(*in)) diff --git a/pkg/apis/kops/zz_generated.deepcopy.go b/pkg/apis/kops/zz_generated.deepcopy.go index 4a91ef9edbd18..ecadcf9a3ecd0 100644 --- a/pkg/apis/kops/zz_generated.deepcopy.go +++ b/pkg/apis/kops/zz_generated.deepcopy.go @@ -3673,6 +3673,11 @@ func (in *KubeControllerManagerConfig) DeepCopyInto(out *KubeControllerManagerCo *out = new(int32) **out = **in } + if in.ConcurrentJobSyncs != nil { + in, out := &in.ConcurrentJobSyncs, &out.ConcurrentJobSyncs + *out = new(int32) + **out = **in + } if in.AuthorizationAlwaysAllowPaths != nil { in, out := &in.AuthorizationAlwaysAllowPaths, &out.AuthorizationAlwaysAllowPaths *out = make([]string, len(*in)) diff --git a/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data b/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data index 306665d992afe..cfb05807d2c49 100644 --- a/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data +++ b/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data @@ -137,7 +137,7 @@ ClusterName: complex.example.com ConfigBase: memfs://clusters.example.com/complex.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane -NodeupConfigHash: oS9f/2989IOxnyiWmx1lnkIQsogeQAhSZLPP6TSUsKo= +NodeupConfigHash: ZeUk/d08NY4je+aTu+UhnnDUGxSeI42OPRdC0Z2skRw= __EOF_KUBE_ENV diff --git a/tests/integration/update_cluster/complex/data/aws_s3_object_cluster-completed.spec_content b/tests/integration/update_cluster/complex/data/aws_s3_object_cluster-completed.spec_content index 578c4f7f47a73..4f54a4eddb241 100644 --- a/tests/integration/update_cluster/complex/data/aws_s3_object_cluster-completed.spec_content +++ b/tests/integration/update_cluster/complex/data/aws_s3_object_cluster-completed.spec_content @@ -136,6 +136,7 @@ spec: clusterCIDR: 100.96.0.0/11 clusterName: complex.example.com concurrentHorizontalPodAustoscalerSyncs: 10 + concurrentJobSyncs: 10 configureCloudRoutes: false featureGates: CSIMigrationAWS: "true" diff --git a/tests/integration/update_cluster/complex/data/aws_s3_object_nodeupconfig-master-us-test-1a_content b/tests/integration/update_cluster/complex/data/aws_s3_object_nodeupconfig-master-us-test-1a_content index 164f95c45dea6..37481b87b8406 100644 --- a/tests/integration/update_cluster/complex/data/aws_s3_object_nodeupconfig-master-us-test-1a_content +++ b/tests/integration/update_cluster/complex/data/aws_s3_object_nodeupconfig-master-us-test-1a_content @@ -242,6 +242,7 @@ ControlPlaneConfig: clusterCIDR: 100.96.0.0/11 clusterName: complex.example.com concurrentHorizontalPodAustoscalerSyncs: 10 + concurrentJobSyncs: 10 configureCloudRoutes: false featureGates: CSIMigrationAWS: "true" diff --git a/tests/integration/update_cluster/complex/in-legacy-v1alpha2.yaml b/tests/integration/update_cluster/complex/in-legacy-v1alpha2.yaml index 90d113985c65e..64aef46ef75e2 100644 --- a/tests/integration/update_cluster/complex/in-legacy-v1alpha2.yaml +++ b/tests/integration/update_cluster/complex/in-legacy-v1alpha2.yaml @@ -52,6 +52,7 @@ spec: memoryLimit: 1000Mi kubeControllerManager: concurrentHorizontalPodAustoscalerSyncs: 10 + concurrentJobSyncs: 10 kubelet: anonymousAuth: false kubernetesVersion: v1.24.0 diff --git a/tests/integration/update_cluster/complex/in-v1alpha2.yaml b/tests/integration/update_cluster/complex/in-v1alpha2.yaml index 5cf3eddc1f99d..e3f815cfd337b 100644 --- a/tests/integration/update_cluster/complex/in-v1alpha2.yaml +++ b/tests/integration/update_cluster/complex/in-v1alpha2.yaml @@ -29,6 +29,7 @@ spec: concurrentNodeSyncs: 5 kubeControllerManager: concurrentHorizontalPodAustoscalerSyncs: 10 + concurrentJobSyncs: 10 cloudProvider: aws cloudLabels: Owner: John Doe