Skip to content

Commit 3ee2719

Browse files
Merge pull request openshift#8502 from alebedev87/OCPBUGS-33793
OCPBUGS-33793: Make Ingress capability required for standalone OpenShift
2 parents e7a8199 + fe472ec commit 3ee2719

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

pkg/types/validation/installconfig.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@ func ValidateInstallConfig(c *types.InstallConfig, usingAgentMethod bool) field.
214214
allErrs = append(allErrs, field.Invalid(field.NewPath("additionalEnabledCapabilities"), c.Capabilities.AdditionalEnabledCapabilities,
215215
"platform baremetal requires the baremetal capability"))
216216
}
217+
if !enabledCaps.Has(configv1.ClusterVersionCapabilityIngress) {
218+
allErrs = append(allErrs, field.Invalid(field.NewPath("additionalEnabledCapabilities"), c.Capabilities.AdditionalEnabledCapabilities,
219+
"the Ingress capability is required"))
220+
}
217221
}
218222

219223
if !enabledCaps.Has(configv1.ClusterVersionCapabilityCloudCredential) {

pkg/types/validation/installconfig_test.go

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2262,7 +2262,7 @@ func TestValidateInstallConfig(t *testing.T) {
22622262
c.Capabilities = &types.Capabilities{
22632263
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
22642264
}
2265-
c.Capabilities.AdditionalEnabledCapabilities = append(c.Capabilities.AdditionalEnabledCapabilities, configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityCloudControllerManager)
2265+
c.Capabilities.AdditionalEnabledCapabilities = append(c.Capabilities.AdditionalEnabledCapabilities, configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityCloudControllerManager, configv1.ClusterVersionCapabilityIngress)
22662266
return c
22672267
}(),
22682268
},
@@ -2272,7 +2272,7 @@ func TestValidateInstallConfig(t *testing.T) {
22722272
c := validInstallConfig()
22732273
c.Capabilities = &types.Capabilities{
22742274
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2275-
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityBaremetal, configv1.ClusterVersionCapabilityMachineAPI, configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityCloudControllerManager},
2275+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityBaremetal, configv1.ClusterVersionCapabilityMachineAPI, configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityCloudControllerManager, configv1.ClusterVersionCapabilityIngress},
22762276
}
22772277
return c
22782278
}(),
@@ -2283,7 +2283,7 @@ func TestValidateInstallConfig(t *testing.T) {
22832283
c := validInstallConfig()
22842284
c.Capabilities = &types.Capabilities{
22852285
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2286-
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityMachineAPI, configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityCloudControllerManager},
2286+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityMachineAPI, configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityCloudControllerManager, configv1.ClusterVersionCapabilityIngress},
22872287
}
22882288
return c
22892289
}(),
@@ -2342,7 +2342,7 @@ func TestValidateInstallConfig(t *testing.T) {
23422342
c.AWS = nil
23432343
c.Capabilities = &types.Capabilities{
23442344
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2345-
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityBaremetal, configv1.ClusterVersionCapabilityMachineAPI},
2345+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityBaremetal, configv1.ClusterVersionCapabilityMachineAPI, configv1.ClusterVersionCapabilityIngress},
23462346
}
23472347
return c
23482348
}(),
@@ -2365,7 +2365,8 @@ func TestValidateInstallConfig(t *testing.T) {
23652365
c.Platform.AWS = nil
23662366
c.Platform.None = &none.Platform{}
23672367
c.Capabilities = &types.Capabilities{
2368-
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2368+
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2369+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityIngress},
23692370
}
23702371
return c
23712372
}(),
@@ -2378,7 +2379,7 @@ func TestValidateInstallConfig(t *testing.T) {
23782379
c.Platform.BareMetal = validBareMetalPlatform()
23792380
c.Capabilities = &types.Capabilities{
23802381
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2381-
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityBaremetal, configv1.ClusterVersionCapabilityMachineAPI},
2382+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityBaremetal, configv1.ClusterVersionCapabilityMachineAPI, configv1.ClusterVersionCapabilityIngress},
23822383
}
23832384
return c
23842385
}(),
@@ -2391,7 +2392,7 @@ func TestValidateInstallConfig(t *testing.T) {
23912392
c.Platform.External = &external.Platform{}
23922393
c.Capabilities = &types.Capabilities{
23932394
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2394-
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityCloudCredential},
2395+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityIngress},
23952396
}
23962397
return c
23972398
}(),
@@ -2406,7 +2407,7 @@ func TestValidateInstallConfig(t *testing.T) {
24062407
}
24072408
c.Capabilities = &types.Capabilities{
24082409
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2409-
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityCloudCredential},
2410+
AdditionalEnabledCapabilities: []configv1.ClusterVersionCapability{configv1.ClusterVersionCapabilityCloudCredential, configv1.ClusterVersionCapabilityIngress},
24102411
}
24112412
return c
24122413
}(),
@@ -2427,6 +2428,17 @@ func TestValidateInstallConfig(t *testing.T) {
24272428
}(),
24282429
expectedError: "disabling CloudControllerManager on External platform supported only with cloudControllerManager value none",
24292430
},
2431+
{
2432+
name: "Ingress can't be disabled",
2433+
installConfig: func() *types.InstallConfig {
2434+
c := validInstallConfig()
2435+
c.Capabilities = &types.Capabilities{
2436+
BaselineCapabilitySet: configv1.ClusterVersionCapabilitySetNone,
2437+
}
2438+
return c
2439+
}(),
2440+
expectedError: "the Ingress capability is required",
2441+
},
24302442
}
24312443
for _, tc := range cases {
24322444
t.Run(tc.name, func(t *testing.T) {

0 commit comments

Comments
 (0)