diff --git a/controllers/controlplane/kopscontrolplane_controller.go b/controllers/controlplane/kopscontrolplane_controller.go index 36f0cb8..afff060 100644 --- a/controllers/controlplane/kopscontrolplane_controller.go +++ b/controllers/controlplane/kopscontrolplane_controller.go @@ -233,11 +233,6 @@ func (r *KopsControlPlaneReconciler) PrepareCustomCloudResources(ctx context.Con "kops.k8s.io/managed-by": "kops-controller", }) - // TODO: remove this after upgrading to Karpenter 0.37 - // This is needed because of the mismatch between the current karpenter version 0.32.4 - // and the dependency version - nodePool.Spec.Disruption.Budgets = nil - // Create NodePool if _, err := karpenterResourcesContent.Write([]byte("---\n")); err != nil { return err diff --git a/controllers/controlplane/kopscontrolplane_controller_test.go b/controllers/controlplane/kopscontrolplane_controller_test.go index 7f80548..aaacda3 100644 --- a/controllers/controlplane/kopscontrolplane_controller_test.go +++ b/controllers/controlplane/kopscontrolplane_controller_test.go @@ -1987,6 +1987,16 @@ func TestPrepareCustomCloudResources(t *testing.T) { }, Spec: karpenterv1beta1.NodePoolSpec{ Disruption: karpenterv1beta1.Disruption{ + Budgets: []karpenterv1beta1.Budget{ + { + Nodes: "10%", + }, + { + Nodes: "0", + Schedule: helpers.StringPtr("0 * * * *"), + Duration: &metav1.Duration{Duration: 40 * time.Minute}, + }, + }, ConsolidationPolicy: karpenterv1beta1.ConsolidationPolicyWhenUnderutilized, }, Template: karpenterv1beta1.NodeClaimTemplate{ diff --git a/utils/templates/tests/data/karpenter_resource_output_node_pool.yaml b/utils/templates/tests/data/karpenter_resource_output_node_pool.yaml index 6b0dc17..4b0f700 100644 --- a/utils/templates/tests/data/karpenter_resource_output_node_pool.yaml +++ b/utils/templates/tests/data/karpenter_resource_output_node_pool.yaml @@ -15,6 +15,11 @@ metadata: name: test-node-pool spec: disruption: + budgets: + - nodes: 10% + - duration: 40m0s + nodes: "0" + schedule: 0 * * * * consolidationPolicy: WhenUnderutilized expireAfter: Never template: