Skip to content

Commit 7cf9bf8

Browse files
Merge pull request #1403 from openshift-cherrypick-robot/cherry-pick-1399-to-release-4.19
[release-4.19] fix for OCPBUGS-60427: userDataSecret.name should be a Required value on AWS
2 parents 7cf7a44 + 843709d commit 7cf9bf8

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

pkg/webhooks/machine_webhook.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,8 @@ func (a awsDefaulter) defaultAWS(m *machinev1beta1.Machine, config *admissionCon
615615

616616
if providerSpec.UserDataSecret == nil {
617617
providerSpec.UserDataSecret = &corev1.LocalObjectReference{Name: defaultUserDataSecret}
618+
} else if providerSpec.UserDataSecret.Name == "" {
619+
providerSpec.UserDataSecret.Name = defaultUserDataSecret
618620
}
619621

620622
if providerSpec.CredentialsSecret == nil {
@@ -724,13 +726,9 @@ func validateAWS(m *machinev1beta1.Machine, config *admissionConfig) (bool, []st
724726
}
725727

726728
if providerSpec.UserDataSecret == nil {
727-
errs = append(
728-
errs,
729-
field.Required(
730-
field.NewPath("providerSpec", "userDataSecret"),
731-
"expected providerSpec.userDataSecret to be populated",
732-
),
733-
)
729+
errs = append(errs, field.Required(field.NewPath("providerSpec", "userDataSecret"), "expected providerSpec.userDataSecret to be populated"))
730+
} else if providerSpec.UserDataSecret.Name == "" {
731+
errs = append(errs, field.Required(field.NewPath("providerSpec", "userDataSecret", "name"), "expected providerSpec.userDataSecret.name to be provided"))
734732
}
735733

736734
if providerSpec.CredentialsSecret == nil {

pkg/webhooks/machine_webhook_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2382,6 +2382,14 @@ func TestValidateAWSProviderSpec(t *testing.T) {
23822382
expectedOk: false,
23832383
expectedError: "providerSpec.userDataSecret: Required value: expected providerSpec.userDataSecret to be populated",
23842384
},
2385+
{
2386+
testCase: "with no user data secret name it fails",
2387+
modifySpec: func(p *machinev1beta1.AWSMachineProviderConfig) {
2388+
p.UserDataSecret.Name = ""
2389+
},
2390+
expectedOk: false,
2391+
expectedError: "providerSpec.userDataSecret.name: Required value: expected providerSpec.userDataSecret.name to be provided",
2392+
},
23852393
{
23862394
testCase: "with no credentials secret it fails",
23872395
modifySpec: func(p *machinev1beta1.AWSMachineProviderConfig) {

0 commit comments

Comments
 (0)