Skip to content

Commit 7367893

Browse files
committed
Add CAPA additional tags to karpenter resources
1 parent 0482904 commit 7367893

12 files changed

+9
-115
lines changed

controllers/controllersfakes/fake_awscluster_client.go

Lines changed: 0 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controllers/controllersfakes/fake_cluster_client.go

Lines changed: 0 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controllers/karpentermachinepool_controller.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ func (r *KarpenterMachinePoolReconciler) createOrUpdateKarpenterResources(ctx co
356356
}
357357

358358
// Create or update EC2NodeClass
359-
if err := r.createOrUpdateEC2NodeClass(ctx, logger, workloadClusterClient, cluster, awsCluster, karpenterMachinePool, bootstrapSecretValue); err != nil {
359+
if err := r.createOrUpdateEC2NodeClass(ctx, logger, workloadClusterClient, awsCluster, karpenterMachinePool, bootstrapSecretValue); err != nil {
360360
conditions.MarkEC2NodeClassNotReady(karpenterMachinePool, EC2NodeClassCreationFailedReason, err.Error())
361361
return fmt.Errorf("failed to create or update EC2NodeClass: %w", err)
362362
}
@@ -375,7 +375,7 @@ func (r *KarpenterMachinePoolReconciler) createOrUpdateKarpenterResources(ctx co
375375
}
376376

377377
// createOrUpdateEC2NodeClass creates or updates the EC2NodeClass resource in the workload cluster
378-
func (r *KarpenterMachinePoolReconciler) createOrUpdateEC2NodeClass(ctx context.Context, logger logr.Logger, workloadClusterClient client.Client, cluster *capi.Cluster, awsCluster *capa.AWSCluster, karpenterMachinePool *v1alpha1.KarpenterMachinePool, bootstrapSecretValue []byte) error {
378+
func (r *KarpenterMachinePoolReconciler) createOrUpdateEC2NodeClass(ctx context.Context, logger logr.Logger, workloadClusterClient client.Client, awsCluster *capa.AWSCluster, karpenterMachinePool *v1alpha1.KarpenterMachinePool, bootstrapSecretValue []byte) error {
379379
ec2NodeClassGVR := schema.GroupVersionResource{
380380
Group: EC2NodeClassAPIGroup,
381381
Version: "v1",
@@ -407,6 +407,7 @@ func (r *KarpenterMachinePoolReconciler) createOrUpdateEC2NodeClass(ctx context.
407407
"securityGroupSelectorTerms": karpenterMachinePool.Spec.EC2NodeClass.SecurityGroupSelectorTerms,
408408
"subnetSelectorTerms": karpenterMachinePool.Spec.EC2NodeClass.SubnetSelectorTerms,
409409
"userData": userData,
410+
"tags": awsCluster.Spec.AdditionalTags,
410411
}
411412

412413
ec2NodeClass.Object["spec"] = spec

controllers/karpentermachinepool_controller_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,6 @@ var _ = Describe("KarpenterMachinePool reconciler", func() {
7575
err = karpenterinfra.AddToScheme(scheme.Scheme)
7676
Expect(err).NotTo(HaveOccurred())
7777

78-
// fakeCtrlClient := fake.NewClientBuilder().
79-
// WithScheme(scheme.Scheme).
80-
// // WithStatusSubresource(&karpenterinfra.KarpenterMachinePool{}).
81-
// Build()
82-
8378
workloadClusterClientGetter := func(ctx context.Context, _ string, _ client.Client, _ client.ObjectKey) (client.Client, error) {
8479
// Return the same client that we're using for the test
8580
return k8sClient, nil
@@ -807,6 +802,9 @@ var _ = Describe("KarpenterMachinePool reconciler", func() {
807802
Name: ClusterName,
808803
},
809804
Spec: capa.AWSClusterSpec{
805+
AdditionalTags: map[string]string{
806+
"additional-tag-for-all-resources": "custom-tag",
807+
},
810808
IdentityRef: &capa.AWSIdentityReference{
811809
Name: "default",
812810
Kind: capa.ClusterRoleIdentityKind,
@@ -885,6 +883,8 @@ var _ = Describe("KarpenterMachinePool reconciler", func() {
885883

886884
ExpectUnstructured(ec2nodeclassList.Items[0], "spec", "userData").To(Equal(fmt.Sprintf("{\"ignition\":{\"config\":{\"merge\":[{\"source\":\"s3://%s/karpenter-machine-pool/%s\",\"verification\":{}}],\"replace\":{\"verification\":{}}},\"proxy\":{},\"security\":{\"tls\":{}},\"timeouts\":{},\"version\":\"3.4.0\"},\"kernelArguments\":{},\"passwd\":{},\"storage\":{},\"systemd\":{}}", AWSClusterBucketName, KarpenterMachinePoolName)))
887885
ExpectUnstructured(ec2nodeclassList.Items[0], "spec", "instanceProfile").To(Equal(KarpenterNodesInstanceProfile))
886+
ExpectUnstructured(ec2nodeclassList.Items[0], "spec", "tags").
887+
To(HaveKeyWithValue("additional-tag-for-all-resources", "custom-tag"))
888888

889889
ExpectUnstructured(ec2nodeclassList.Items[0], "spec", "blockDeviceMappings").To(HaveLen(1))
890890
ExpectUnstructured(ec2nodeclassList.Items[0], "spec", "blockDeviceMappings").To(
@@ -1283,8 +1283,7 @@ var _ = Describe("KarpenterMachinePool reconciler", func() {
12831283
})
12841284
})
12851285

1286-
// ExpectUnstructured digs into u.Object at the given path,
1287-
// asserts that it was found and error‐free, and returns
1286+
// ExpectUnstructured digs into u.Object at the given path, asserts that it was found and error‐free, and returns
12881287
// a GomegaAssertion on the raw interface{} value.
12891288
func ExpectUnstructured(u unstructured.Unstructured, fields ...string) Assertion {
12901289
v, found, err := unstructured.NestedFieldNoCopy(u.Object, fields...)

pkg/resolver/resolverfakes/fake_ec2client.go

Lines changed: 0 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/resolver/resolverfakes/fake_prefix_list_client.go

Lines changed: 0 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/resolver/resolverfakes/fake_ramclient.go

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/resolver/resolverfakes/fake_resolver_client.go

Lines changed: 0 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/resolver/resolverfakes/fake_route53client.go

Lines changed: 0 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/resolver/resolverfakes/fake_route_table_client.go

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)