Skip to content

KVM: Live migration of SSVM fails with "Cannot get interface MTU" when storage network uses a dedicated VLAN #13378

@Pearl1594

Description

@Pearl1594

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://<storage_vlan>
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-<storage_vlan> 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-<storage_vlan>': No such device

What to do about it?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions