Skip to content

Commit 8c3dfe7

Browse files
committed
Fix error loop for ignition
1 parent 558a099 commit 8c3dfe7

File tree

3 files changed

+61
-2
lines changed

3 files changed

+61
-2
lines changed

controllers/awsmachine_controller.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -775,7 +775,12 @@ func (r *AWSMachineReconciler) ignitionUserData(scope *scope.MachineScope, objec
775775
}
776776

777777
func (r *AWSMachineReconciler) deleteBootstrapData(machineScope *scope.MachineScope, clusterScope cloud.ClusterScoper, objectStoreScope scope.S3Scope) error {
778-
if !machineScope.AWSMachine.Spec.CloudInit.InsecureSkipSecretsManager {
778+
_, userDataFormat, err := machineScope.GetRawBootstrapDataWithFormat()
779+
if err != nil {
780+
return errors.Wrap(err, "failed to get raw userdata")
781+
}
782+
783+
if machineScope.UseSecretsManager(userDataFormat) {
779784
if err := r.deleteEncryptedBootstrapDataSecret(machineScope, clusterScope); err != nil {
780785
return err
781786
}

controllers/awsmachine_controller_test.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,17 @@ func TestAWSMachineReconcilerIntegrationTests(t *testing.T) {
177177
ns, err := testEnv.CreateNamespace(ctx, fmt.Sprintf("integ-test-%s", util.RandomString(5)))
178178
g.Expect(err).To(BeNil())
179179

180+
secret := &corev1.Secret{
181+
ObjectMeta: metav1.ObjectMeta{
182+
Name: "bootstrap-data",
183+
Namespace: ns.Name,
184+
},
185+
Data: map[string][]byte{
186+
"value": []byte("shell-script"),
187+
},
188+
}
189+
g.Expect(testEnv.Create(ctx, secret)).To(Succeed())
190+
180191
setup(t, g)
181192
awsMachine := getAWSMachine()
182193
awsMachine.Namespace = ns.Name
@@ -337,6 +348,17 @@ func TestAWSMachineReconcilerIntegrationTests(t *testing.T) {
337348
ns, err := testEnv.CreateNamespace(ctx, fmt.Sprintf("integ-test-%s", util.RandomString(5)))
338349
g.Expect(err).To(BeNil())
339350

351+
secret := &corev1.Secret{
352+
ObjectMeta: metav1.ObjectMeta{
353+
Name: "bootstrap-data",
354+
Namespace: ns.Name,
355+
},
356+
Data: map[string][]byte{
357+
"value": []byte("shell-script"),
358+
},
359+
}
360+
g.Expect(testEnv.Create(ctx, secret)).To(Succeed())
361+
340362
setup(t, g)
341363
awsMachine := getAWSMachine()
342364
awsMachine.Namespace = ns.Name

controllers/awsmachine_controller_unit_test.go

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1109,6 +1109,28 @@ func TestAWSMachineReconciler(t *testing.T) {
11091109

11101110
_, _ = reconciler.reconcileDelete(ms, cs, cs, cs, cs)
11111111
})
1112+
t.Run("should delete the secret from the S3 bucket", func(t *testing.T) {
1113+
g := NewWithT(t)
1114+
awsMachine := getAWSMachine()
1115+
setup(t, g, awsMachine)
1116+
defer teardown(t, g)
1117+
setNodeRef(t, g)
1118+
1119+
ms.AWSMachine.Spec.CloudInit = infrav1.CloudInit{}
1120+
ms.AWSMachine.Spec.Ignition = &infrav1.Ignition{
1121+
Version: "2.3",
1122+
}
1123+
1124+
buf := new(bytes.Buffer)
1125+
klog.SetOutput(buf)
1126+
1127+
objectStoreSvc.EXPECT().Delete(gomock.Any()).Return(nil).Times(1)
1128+
ec2Svc.EXPECT().TerminateInstance(gomock.Any()).Return(nil).AnyTimes()
1129+
1130+
_, err := reconciler.reconcileDelete(ms, cs, cs, cs, cs)
1131+
g.Expect(err).To(BeNil())
1132+
g.Expect(buf.String()).To(ContainSubstring("Deleting unneeded entry from AWS S3"))
1133+
})
11121134
})
11131135

11141136
t.Run("Secrets management lifecycle when there's only a secret ARN and no node ref", func(t *testing.T) {
@@ -2495,7 +2517,17 @@ func TestAWSMachineReconcilerReconcileDefaultsToLoadBalancerTypeClassic(t *testi
24952517
},
24962518
}
24972519

2498-
fakeClient := fake.NewClientBuilder().WithObjects(ownerCluster, awsCluster, ownerMachine, awsMachine, controllerIdentity).Build()
2520+
secret := &corev1.Secret{
2521+
ObjectMeta: metav1.ObjectMeta{
2522+
Name: "bootstrap-data",
2523+
Namespace: ns,
2524+
},
2525+
Data: map[string][]byte{
2526+
"value": []byte("shell-script"),
2527+
},
2528+
}
2529+
2530+
fakeClient := fake.NewClientBuilder().WithObjects(ownerCluster, awsCluster, ownerMachine, awsMachine, controllerIdentity, secret).Build()
24992531

25002532
recorder := record.NewFakeRecorder(10)
25012533
reconciler := &AWSMachineReconciler{

0 commit comments

Comments
 (0)