From 950481b5c8b7fa1368cc2e57e3766edac0be2f25 Mon Sep 17 00:00:00 2001 From: Eduardo Olivares Date: Thu, 31 Oct 2024 09:16:34 +0100 Subject: [PATCH] [UniAlpha][Octavia] Enable createDefaultLbMgmtNetwork and manageLbMgmtNetworks When octavia is configured with AZs, parameters createDefaultLbMgmtNetwork and manageLbMgmtNetworks are set to False by default. With this change, they are set to True on the unialpha config. --- automation/vars/uni01alpha.yaml | 2 +- dt/bgp/kustomization.yaml | 23 ++++++++++++++++++ dt/uni01alpha/kustomization.yaml | 4 ++-- .../bgp_dt01/control-plane/nncp/values.yaml | 14 ++++++++++- .../dt/bgp/bgp_dt01/edpm/computes/values.yaml | 24 ++++++++++++++++++- .../bgp/bgp_dt01/edpm/networkers/values.yaml | 24 ++++++++++++++++++- .../dt/bgp/control-plane/nncp/values.yaml | 14 ++++++++++- .../control-plane/service-values.yaml | 7 ++++-- 8 files changed, 103 insertions(+), 9 deletions(-) diff --git a/automation/vars/uni01alpha.yaml b/automation/vars/uni01alpha.yaml index 9245df435..4d7d04f0c 100644 --- a/automation/vars/uni01alpha.yaml +++ b/automation/vars/uni01alpha.yaml @@ -80,7 +80,7 @@ vas: oc -n openstack wait openstackdataplanedeployment edpm-deployment --for condition=Ready - --timeout=40m + --timeout=80m values: - name: edpm-deployment-values src_file: values.yaml diff --git a/dt/bgp/kustomization.yaml b/dt/bgp/kustomization.yaml index 71f7ef16b..69783ede5 100644 --- a/dt/bgp/kustomization.yaml +++ b/dt/bgp/kustomization.yaml @@ -33,6 +33,19 @@ resources: - ocp_networks_octavia_netattach.yaml patches: + # Add octavia network to NetConfig + - target: + kind: NetConfig + name: netconfig + patch: |- + - op: add + path: /spec/networks/- + value: + dnsDomain: octavia.example.com + name: octavia + subnets: + - _replaced_ + mtu: 1500 # Add BGP networks to NetConfig - target: kind: NetConfig @@ -101,6 +114,16 @@ patches: networkAttachment: internalapi replacements: + # octavia NetConfig customizations + - source: + kind: ConfigMap + name: network-values + fieldPath: data.octavia.subnets + targets: + - select: + kind: NetConfig + fieldPaths: + - spec.networks.[name=octavia].subnets # BGP NetConfig customizations - source: kind: ConfigMap diff --git a/dt/uni01alpha/kustomization.yaml b/dt/uni01alpha/kustomization.yaml index 9a40b00df..f5921e3ea 100644 --- a/dt/uni01alpha/kustomization.yaml +++ b/dt/uni01alpha/kustomization.yaml @@ -204,12 +204,12 @@ replacements: - source: kind: ConfigMap name: service-values - fieldPath: data.octavia.availabilityZones + fieldPath: data.octavia.lbMgmtNetwork targets: - select: kind: OpenStackControlPlane fieldPaths: - - spec.octavia.template.lbMgmtNetwork.availabilityZones + - spec.octavia.template.lbMgmtNetwork options: create: true diff --git a/examples/dt/bgp/bgp_dt01/control-plane/nncp/values.yaml b/examples/dt/bgp/bgp_dt01/control-plane/nncp/values.yaml index 8605b5db1..6f16f249d 100644 --- a/examples/dt/bgp/bgp_dt01/control-plane/nncp/values.yaml +++ b/examples/dt/bgp/bgp_dt01/control-plane/nncp/values.yaml @@ -237,7 +237,19 @@ data: } } octavia: - dnsDomain: octavia.openstack.lab + dnsDomain: octavia.example.com + subnets: + - allocationRanges: + - end: 172.23.0.250 + # we need some extra offset to avoid overlapping with octavia + # controlplane IPs + start: 172.23.0.115 + cidr: 172.23.0.0/24 + name: subnet1 + vlan: 23 + routes: + - destination: 172.24.0.0/16 + nexthop: 172.23.0.150 mtu: 1500 vlan: 23 base_iface: enp7s0 diff --git a/examples/dt/bgp/bgp_dt01/edpm/computes/values.yaml b/examples/dt/bgp/bgp_dt01/edpm/computes/values.yaml index 87517ffb9..afea9d951 100644 --- a/examples/dt/bgp/bgp_dt01/edpm/computes/values.yaml +++ b/examples/dt/bgp/bgp_dt01/edpm/computes/values.yaml @@ -28,6 +28,9 @@ data: edpm_frr_bgp_uplinks: - nic3 - nic4 + edpm_ovn_bridge_mappings: + - "datacentre:br-ex" + - "octavia:br-octavia" timesync_ntp_servers: - hostname: pool.ntp.org # conntrack is necessary for some tobiko tests @@ -64,7 +67,7 @@ data: # force the MAC address of the bridge to this interface primary: true {% for network in nodeset_networks %} - {% if not network.lower().startswith('bgp') %} + {% if not network.lower().startswith('bgp') and network.lower() != 'octavia' %} - type: vlan mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }} vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }} @@ -78,6 +81,25 @@ data: routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }} {% endif %} {% endfor %} + - type: ovs_bridge + name: br-octavia + use_dhcp: false + # dns_servers: {{ ctlplane_dns_nameservers }} + # domain: {{ dns_search_domains }} + addresses: [] + routes: [] + members: + - type: vlan + mtu: {{ lookup('vars', 'octavia_mtu') }} + vlan_id: {{ lookup('vars', 'octavia_vlan_id') }} + addresses: + - ip_netmask: >- + {{ + lookup('vars', 'octavia_ip') + }}/{{ + lookup('vars', 'octavia_cidr') + }} + routes: {{ lookup('vars', 'octavia_host_routes') }} - type: interface name: nic3 use_dhcp: false diff --git a/examples/dt/bgp/bgp_dt01/edpm/networkers/values.yaml b/examples/dt/bgp/bgp_dt01/edpm/networkers/values.yaml index 788897633..99b6acdcd 100644 --- a/examples/dt/bgp/bgp_dt01/edpm/networkers/values.yaml +++ b/examples/dt/bgp/bgp_dt01/edpm/networkers/values.yaml @@ -30,6 +30,9 @@ data: edpm_frr_bgp_uplinks: - nic3 - nic4 + edpm_ovn_bridge_mappings: + - "datacentre:br-ex" + - "octavia:br-octavia" timesync_ntp_servers: - hostname: pool.ntp.org # conntrack is necessary for some tobiko tests @@ -66,7 +69,7 @@ data: # force the MAC address of the bridge to this interface primary: true {% for network in nodeset_networks %} - {% if not network.lower().startswith('bgp') %} + {% if not network.lower().startswith('bgp') and network.lower() != 'octavia' %} - type: vlan mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }} vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }} @@ -80,6 +83,25 @@ data: routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }} {% endif %} {% endfor %} + - type: ovs_bridge + name: br-octavia + use_dhcp: false + # dns_servers: {{ ctlplane_dns_nameservers }} + # domain: {{ dns_search_domains }} + addresses: [] + routes: [] + members: + - type: vlan + mtu: {{ lookup('vars', 'octavia_mtu') }} + vlan_id: {{ lookup('vars', 'octavia_vlan_id') }} + addresses: + - ip_netmask: >- + {{ + lookup('vars', 'octavia_ip') + }}/{{ + lookup('vars', 'octavia_cidr') + }} + routes: {{ lookup('vars', 'octavia_host_routes') }} - type: interface name: nic3 use_dhcp: false diff --git a/examples/dt/bgp/control-plane/nncp/values.yaml b/examples/dt/bgp/control-plane/nncp/values.yaml index d48374acb..e909663e8 100644 --- a/examples/dt/bgp/control-plane/nncp/values.yaml +++ b/examples/dt/bgp/control-plane/nncp/values.yaml @@ -177,7 +177,19 @@ data: } } octavia: - dnsDomain: octavia.openstack.lab + dnsDomain: octavia.example.com + subnets: + - allocationRanges: + - end: 172.23.0.250 + # we need some extra offset to avoid overlapping with octavia + # controlplane IPs + start: 172.23.0.115 + cidr: 172.23.0.0/24 + name: subnet1 + vlan: 23 + routes: + - destination: 172.24.0.0/16 + nexthop: 172.23.0.150 mtu: 1500 vlan: 23 base_iface: enp8s0 diff --git a/examples/dt/uni01alpha/control-plane/service-values.yaml b/examples/dt/uni01alpha/control-plane/service-values.yaml index fd340e1d8..e5daa184c 100644 --- a/examples/dt/uni01alpha/control-plane/service-values.yaml +++ b/examples/dt/uni01alpha/control-plane/service-values.yaml @@ -94,8 +94,11 @@ data: enabled: true amphoraImageContainerImage: quay.io/gthiemonge/octavia-amphora-image apacheContainerImage: registry.redhat.io/ubi9/httpd-24:latest - availabilityZones: - - zone-1 + lbMgmtNetwork: + availabilityZones: + - zone-1 + createDefaultLbMgmtNetwork: true + manageLbMgmtNetworks: true octaviaAPI: networkAttachments: - internalapi