KVM: clean up persistent VXLAN network bridges on all hosts on delete - #14240
MitchDrage wants to merge 4 commits into
Conversation
|
@blueorangutan package |
|
@DaanHoogland - Did the package task fail to run? |
|
@blueorangutan package |
|
@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19371 |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## 4.20 #14240 +/- ##
============================================
+ Coverage 16.38% 16.40% +0.02%
- Complexity 13614 13646 +32
============================================
Files 5669 5669
Lines 501532 501554 +22
Branches 60922 60927 +5
============================================
+ Hits 82153 82298 +145
+ Misses 410172 410032 -140
- Partials 9207 9224 +17
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19380 |
|
@blueorangutan test |
|
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-17069)
|
|
@Damans227 , is this good to go/ready for testing now? (cc @MitchDrage ) |
@DaanHoogland yes, the leftover multicast route is fixed now and the tests cover both cases. good to go for testing from my side. |
Description
Fixes #13966
Deleting a persistent VXLAN network left its bridge and VXLAN interface behind on every host that never ran a VM on it. Two changes were needed:
networkMeetsPersistenceCriteria()only accepted theVlanbroadcast scheme, soCleanupPersistentNetworkResourceCommandwas never sent forvxlan://networks. It now acceptsVlanandVxlan.BridgeVifDriver.deleteBr()always built the VLAN-style bridge name (br<pif>-<vni>), while VXLAN bridges are created asbrvx-<vni>. Once the command was dispatched, the agent still found no bridge and reported success. It now deletesbrvx-<vni>for VXLAN networks.I've written this PR which #13968 had started on, but didn't fix the KVM side of the issue.
L2 persistent VXLAN networks now also get their bridges set up on all hosts at implement time, matching VLAN behaviour.
Types of changes
Feature/Enhancement Scale or Bug Severity
Bug Severity
How Has This Been Tested?
NetworkOrchestratorTestcovers the persistence criteria for VLAN and VXLAN. I added some more testing toBridgeVifDriverTestfor VLAN and VXLAN.createVnetBr()anddeleteBr()with the realmodifyvxlan.sh/modifyvlan.shin a privileged container. With the fix, both bridges are removed. Without it,brvx-5000andvxlan5000remain.CleanupPersistentNetworkResourceCommandreaches all 4 hosts for both. Without it, it reaches none.Not yet tested end to end on physical KVM hosts.
How did you try to break this feature and the system with this change?
cloud-engine-orchestration, 157 tests;cloud-plugin-hypervisor-kvm, 535 tests). All pass.NetworkOrchestratororBridgeVifDriver, since two methods were madeprotectedfor testing.Co-authored-by: @waterWang