Skip to content

bgp_dt05: generate octavia net-attach-def as macvlan - #4273

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
eduolivares:feature/bgp-dt05-octavia-macvlan-nad
Oct 21, 2026
Merged

openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
eduolivares:feature/bgp-dt05-octavia-macvlan-nad

Conversation

@eduolivares

@eduolivares eduolivares commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

On bgp_dt05 the Octavia management network is a VLAN-23 provider network extended to the Networker nodes. Octavia service pods must attach to it via a macvlan whose master is the host "octavia" VLAN interface, so their traffic egresses onto VLAN 23 toward the OVN provider gateway on the Networkers.

This updates the ci_gen_kustomize_values bgp_dt05 network-values template to generate the values that design needs:

  • Generate the octavia net-attach-def as a macvlan (master octavia) instead of the default linux-bridge; all other networks keep the bridge type.
  • Emit per-node octavia_ip. The OCP workers are not assigned an octavia IP in the networking-env-definition, so (like loopback_ip) it is read from the architecture values.yaml via original_content. worker-3 (tester) has no octavia_ip and is skipped. Without this the architecture nncp replacement fails with fieldPath data.node_3.octavia_ip is missing.

This matches the architecture bgp_dt05 change that switches the octavia NAD and NNCP host interface to the VLAN-23 provider design.

Related: openstack-k8s-operators/architecture#842

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@fernandoroyosanchez

Copy link
Copy Markdown

/lgtm

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/d9bd82e0fdcf470992f050c64c5a8d91

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 41m 19s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 23m 00s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 19m 20s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 28m 52s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 1h 59m 39s (non-voting)
✔️ periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc SUCCESS in 1h 53m 44s (non-voting)
✔️ cifmw-pod-zuul-files SUCCESS in 4m 30s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 43m 17s
❌ cifmw-crc-podified-edpm-baremetal-bootc FAILURE in 1h 48m 17s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 06s
✔️ cifmw-pod-k8s-snippets-source SUCCESS in 4m 09s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 25s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 19s
✔️ cifmw-molecule-ci_gen_kustomize_values SUCCESS in 6m 48s

…s macvlan

On bgp_dt05 the Octavia management network is a VLAN-23 provider network
extended to the Networker nodes. Octavia service pods must attach to it via a
macvlan whose master is the host "octavia" VLAN interface, so their traffic
egresses onto VLAN 23 toward the OVN provider gateway on the Networkers.

Generate the octavia net-attach-def as a macvlan (master "octavia") instead of
the default linux-bridge; all other networks keep the bridge type.

Also emit per-node octavia_ip: the OCP workers are not assigned an octavia IP in
the networking-env-definition, so (like loopback_ip) it is read from the
architecture values.yaml via original_content. worker-3 (tester) has no
octavia_ip and is skipped. Without this the architecture nncp replacement fails:
"fieldPath data.node_3.octavia_ip is missing".

This matches the architecture bgp_dt05 change that switches the octavia NAD and
NNCP host interface to the VLAN-23 provider design.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
@eduolivares
eduolivares force-pushed the feature/bgp-dt05-octavia-macvlan-nad branch from 85a294e to c6cb866 Compare October 21, 2026 07:59
@openshift-ci openshift-ci Bot removed the lgtm label Oct 21, 2026
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/9f75472c01ce466f92e7e3c83c32fa1d

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 54m 28s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 20m 35s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 18m 19s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 31m 56s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 05m 40s (non-voting)
✔️ periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc SUCCESS in 2h 03m 13s (non-voting)
✔️ cifmw-pod-zuul-files SUCCESS in 5m 52s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 42m 34s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 26m 51s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 07s
✔️ cifmw-pod-k8s-snippets-source SUCCESS in 4m 57s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 06s
✔️ cifmw-architecture-validate-hci SUCCESS in 6m 37s
✔️ cifmw-molecule-ci_gen_kustomize_values SUCCESS in 7m 48s

@fernandoroyosanchez

Copy link
Copy Markdown

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Oct 21, 2026
@eduolivares

Copy link
Copy Markdown
Contributor Author

verified downstream. Please review.

@michburk michburk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@openshift-ci

openshift-ci Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: michburk

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot
openshift-merge-bot Bot merged commit 9345b67 into openstack-k8s-operators:main Oct 21, 2026
13 checks passed
centosinfra-prod-github-app Bot added a commit to openstack-k8s-operators/architecture that referenced this pull request Oct 26, 2026
…n-vlan-provider

bgp_dt05: route Octavia mgmt through the VLAN-23 provider network

The merged VLAN-provider staging (lbMgmtNetwork vlan/23 + octavia:br-octavia on the networkers) was incomplete: the OCP-side octavia network was still an in-cluster linux-bridge reached via BGP, and br-octavia had no physical uplink, so Octavia services could not reach the amphorae through the Networker nodes.
Complete the VLAN-23 provider design (validated on titan62, where the LB then reaches ACTIVE/ONLINE):

nncp: make the workers' "octavia" host interface a VLAN-23 sub-interface of the dedicated octavia NIC (enp6s0) instead of a linux-bridge, with per-host IPs (172.23.0.20-22), and route 172.24.0.0/16 via the provider gateway 172.23.0.1 on dev octavia instead of over BGP. worker-3 (tester) keeps reaching octavia mgmt via BGP and gets no octavia interface.
nncp: switch the octavia net-attach-def from a bridge to a macvlan whose master is the "octavia" VLAN interface, so pod traffic egresses onto VLAN 23.
edpm/networkers/r{0,1,2}: add nic1 as the br-octavia trunk member (the bridge previously had no physical uplink). OVN tags VLAN 23 on the localnet, so no VLAN sub-interface or IP is needed on br-octavia.

Note: this requires an octavia-operator that supports lbMgmtNetwork providerNetworkType, deployed before Octavia is first created; otherwise the flat management network persists and must be recreated.
Depends-On: openstack-k8s-operators/ci-framework#4273

Reviewed-by: Andrew Bays <andrew.bays@gmail.com>
Reviewed-by: John Fulton <johfulto@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants