apache / apache/cloudstack

KVM: Live migration of SSVM fails with dedicated VLAN

Open
#13,378 0 comments 0 reactions 0 assignees View on GitHub
component:kvm component:migration
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
32

Description

### 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_

Contributor guide

Open the contributing guide

Research direction

Start in BridgeVifDriver.createStorageVnetBridgeIfNeeded() and trace how PrepareForMigrationCommand handles the storage network during live migration. Reproduce the issue with a KVM zone using a dedicated storage VLAN, then verify that the destination creates the storage VLAN bridge and the Secondary Storage VM migration succeeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.