Skip to content

Commit 831aaaf

Browse files
Merge pull request #2087 from fedepaol/removeadvancedroutingfeaturegate
ClusterNetworkOperator API: promote the additionalRoutingCapabilities gate
2 parents e8315e5 + 7f92859 commit 831aaaf

File tree

8 files changed

+49
-16
lines changed

8 files changed

+49
-16
lines changed

features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
| GatewayAPI| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | |
1010
| NewOLM| | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> |
1111
| AWSClusterHostedDNS| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
12-
| AdditionalRoutingCapabilities| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
1312
| AutomatedEtcdBackup| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
1413
| BootcNodeManagement| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
1514
| CPMSMachineNamePrefix| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
@@ -56,6 +55,7 @@
5655
| VolumeGroupSnapshot| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
5756
| ExternalOIDC| <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
5857
| AWSEFSDriverVolumeMetrics| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
58+
| AdditionalRoutingCapabilities| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
5959
| AdminNetworkPolicy| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
6060
| AlibabaPlatform| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
6161
| AzureWorkloadIdentity| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |

features/features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ var (
256256
contactPerson("jcaamano").
257257
productScope(ocpSpecific).
258258
enhancementPR(legacyFeatureGateWithoutEnhancement).
259-
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
259+
enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
260260
mustRegister()
261261

262262
FeatureGateRouteAdvertisements = newFeatureGate("RouteAdvertisements").

operator/v1/types_network.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ type NetworkList struct {
5454

5555
// NetworkSpec is the top-level network configuration object.
5656
// +kubebuilder:validation:XValidation:rule="!has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.gatewayConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding) || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == oldSelf.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == 'Restricted' || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == 'Global'",message="invalid value for IPForwarding, valid values are 'Restricted' or 'Global'"
57-
// +openshift:validation:FeatureGateAwareXValidation:featureGate=AdditionalRoutingCapabilities,rule="(has(self.additionalRoutingCapabilities) && ('FRR' in self.additionalRoutingCapabilities.providers)) || !has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements) || self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements != 'Enabled'",message="Route advertisements cannot be Enabled if 'FRR' routing capability provider is not available"
57+
// +openshift:validation:FeatureGateAwareXValidation:featureGate=RouteAdvertisements,rule="(has(self.additionalRoutingCapabilities) && ('FRR' in self.additionalRoutingCapabilities.providers)) || !has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements) || self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements != 'Enabled'",message="Route advertisements cannot be Enabled if 'FRR' routing capability provider is not available"
5858
type NetworkSpec struct {
5959
OperatorSpec `json:",inline"`
6060

operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-Default.crd.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,39 @@ spec:
178178
x-kubernetes-list-map-keys:
179179
- name
180180
x-kubernetes-list-type: map
181+
additionalRoutingCapabilities:
182+
description: |-
183+
additionalRoutingCapabilities describes components and relevant
184+
configuration providing additional routing capabilities. When set, it
185+
enables such components and the usage of the routing capabilities they
186+
provide for the machine network. Upstream operators, like MetalLB
187+
operator, requiring these capabilities may rely on, or automatically set
188+
this attribute. Network plugins may leverage advanced routing
189+
capabilities acquired through the enablement of these components but may
190+
require specific configuration on their side to do so; refer to their
191+
respective documentation and configuration options.
192+
properties:
193+
providers:
194+
description: |-
195+
providers is a set of enabled components that provide additional routing
196+
capabilities. Entries on this list must be unique. The only valid value
197+
is currrently "FRR" which provides FRR routing capabilities through the
198+
deployment of FRR.
199+
items:
200+
description: RoutingCapabilitiesProvider is a component providing
201+
routing capabilities.
202+
enum:
203+
- FRR
204+
type: string
205+
maxItems: 1
206+
minItems: 1
207+
type: array
208+
x-kubernetes-list-type: atomic
209+
x-kubernetes-validations:
210+
- rule: self.all(x, self.exists_one(y, x == y))
211+
required:
212+
- providers
213+
type: object
181214
clusterNetwork:
182215
description: |-
183216
clusterNetwork is the IP address pool to use for pod IPs.

operator/v1/zz_generated.featuregated-crd-manifests/networks.operator.openshift.io/AdditionalRoutingCapabilities.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -874,13 +874,6 @@ spec:
874874
type: boolean
875875
type: object
876876
x-kubernetes-validations:
877-
- message: Route advertisements cannot be Enabled if 'FRR' routing capability
878-
provider is not available
879-
rule: (has(self.additionalRoutingCapabilities) && ('FRR' in self.additionalRoutingCapabilities.providers))
880-
|| !has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig)
881-
|| !has(self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements)
882-
|| self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements !=
883-
'Enabled'
884877
- message: invalid value for IPForwarding, valid values are 'Restricted'
885878
or 'Global'
886879
rule: '!has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig)

operator/v1/zz_generated.featuregated-crd-manifests/networks.operator.openshift.io/RouteAdvertisements.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,13 @@ spec:
857857
type: boolean
858858
type: object
859859
x-kubernetes-validations:
860+
- message: Route advertisements cannot be Enabled if 'FRR' routing capability
861+
provider is not available
862+
rule: (has(self.additionalRoutingCapabilities) && ('FRR' in self.additionalRoutingCapabilities.providers))
863+
|| !has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig)
864+
|| !has(self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements)
865+
|| self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements !=
866+
'Enabled'
860867
- message: invalid value for IPForwarding, valid values are 'Restricted'
861868
or 'Global'
862869
rule: '!has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig)

payload-manifests/featuregates/featureGate-Hypershift-Default.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
{
1717
"name": "AWSClusterHostedDNS"
1818
},
19-
{
20-
"name": "AdditionalRoutingCapabilities"
21-
},
2219
{
2320
"name": "AutomatedEtcdBackup"
2421
},
@@ -180,6 +177,9 @@
180177
{
181178
"name": "AWSEFSDriverVolumeMetrics"
182179
},
180+
{
181+
"name": "AdditionalRoutingCapabilities"
182+
},
183183
{
184184
"name": "AdminNetworkPolicy"
185185
},

payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
{
1717
"name": "AWSClusterHostedDNS"
1818
},
19-
{
20-
"name": "AdditionalRoutingCapabilities"
21-
},
2219
{
2320
"name": "AutomatedEtcdBackup"
2421
},
@@ -180,6 +177,9 @@
180177
{
181178
"name": "AWSEFSDriverVolumeMetrics"
182179
},
180+
{
181+
"name": "AdditionalRoutingCapabilities"
182+
},
183183
{
184184
"name": "AdminNetworkPolicy"
185185
},

0 commit comments

Comments
 (0)