apache / apache/cloudstack

KVM: Live migration of SSVM fails with dedicated VLAN

Offen
#13,378 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
component:kvm component:migration
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.4k
Ø Merge
6 T. 19 Std.
Gemergte PRs (30 T.)
32

Beschreibung

### problem

Live migration of SSVMs fails on KVM when the zone has a dedicated storage network IP range configured with a VLAN. The destination agent never creates the storage VLAN bridge during
PrepareForMigrationCommand, so libvirt cannot find the bridge from the source VM's XML and aborts

This is because the storage network is created with broadcast_domain_type: Native and broadcastUri: storage://
And In BridgeVifDriver.createStorageVnetBridgeIfNeeded():
```

if (!Networks.BroadcastDomainType.Storage.equals(nic.getBroadcastType()) || nic.getBroadcastUri() == null) {
return storageBrName; // exits early and bridge is never created
}
```

the above check causes it to exit early and never create the bridge on the destination host

### versions

4.20.3 onward

### The steps to reproduce the bug

Steps to Reproduce

1. Create a zone with KVM hosts
2. Add a pod management network IP range (untagged)
3. Add a Storage Network IP Range to the pod with a non-zero VLAN ID (storage_vlan)
4. Start the zone - system VMs are created; confirm br- exists on the source host
5. Attempt live migration of the Secondary Storage VM to the other host
6. Migration fails with Cannot get interface MTU on 'br-': No such device

### What to do about it?

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in BridgeVifDriver.createStorageVnetBridgeIfNeeded() und verfolge, wie PrepareForMigrationCommand das Speichernetzwerk während einer Live-Migration behandelt. Reproduziere das Problem mit einer KVM-Zone, die ein dediziertes Storage-VLAN verwendet, und verifiziere anschließend, dass das Ziel die Storage-VLAN-Bridge erstellt und die Migration der Secondary Storage VM erfolgreich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
cloud, infrastructure
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.