Repository navigation
Configure the Octavia amphora provider driver and related networking in ci-multinode on OVS - #2685
saadtariq38 wants to merge 11 commits into
Conversation
… mesh device so that it is treated as a VXLAN instead of an ethernet port
…so it does not error out on a bridge not exisiting
Covers the Amphora provider driver on OVS, the nova_compute_virt_type change to kvm, and the move of the VXLAN mesh device into a Linux bridge so that the host and Neutron both receive frames on the management VLAN.
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
3bfa53d to
7b02b50
Compare
LeafCloud does not support kvm and is the default for CI multinode runs at the moment. Amphora driver can be manually enabled for any SMSLab runs
The current ci-multinode environment does not have the networking support
needed to run Octavia's Amphora provider driver
Octavia now picks its driver from a new
octavia_amphora_driver_enabledvariable, which defaults to
false. When it is false the environment keeps theOVN provider driver and QEMU, exactly as before.
The amphora driver needs a few extra things, which this adds:
physnet we already have
leads to timeout failures in tempest tests
/dev/kvm-> This is specific to our current SMSLab env and support for nested virtual. Could be changed as needed in the future.octaviaandoctavia-smokeload listsFix
The kernel was giving a frame to the VLAN subinterface first since it had the health manager, which would
accept and then drop it because the health manager lives on the controller
host, so Open vSwitch would never see it. Amphorae started up but Octavia could not
reach them, and they could not even reach DHCP
The fix was to put the VXLAN mesh device inside a Linux bridge and connect Open
vSwitch to that same bridge with a veth pair. A Linux bridge sends a copy of
the traffic to everything attached to it (broadcast), so the host and Open
vSwitch both get one and things work. All the VLAN subinterfaces were also
moved onto the bridge.
This also prevents a lot of similar problems that might have come up in future,
since the previous implementation seemed like a workaround. It fixes one such
problem already:
stackhpc.vxlanandMichaelRigart.interfacesboth wrotevxlan<vni>.nmconnection, and Kayobe wrote it second as an ethernet profile,which cannot create a software device. The mesh device would never reboot since ethernet profile could not recreate the device.
Applies to
By default, no CI job uses the amphora driver.
octavia_amphora_driver_enabledis off because the leaf cloud that runs the multinode jobs has no nested
virt. Every job therefore behaves as it does today.
Deployments that do have nested virtualisation can set the variable to
trueand get the driver, the certificates, the amphora image and the Octavia Tempest
run with no further configuration.
Moving the multinode jobs to SMS and turning
this on was decided to be a separate ticket: https://stackhpc.atlassian.net/browse/INFRA-1972
Testing
Leafcloud is not testing Octavia at all currently. This work can not test it there either and so was
verified by hand on SMSLab with KVM enabled
octaviaload list: 51 passed, 16 skipped, 0 failedRegression test with OVN on the CI cloud, to confirm the networking change does
not affect existing jobs:
test_create_delete_image, timed out with the snapshot stuck inSAVING.seems to be multimodes usual failures on OVN/OVS periodics
Depends on/Linked to
(stackhpc/terraform-kayobe-multinode#131)
Future Work: https://stackhpc.atlassian.net/browse/INFRA-1972