Skip to content

Networking 101

Network settings are the most common cause of failed or surprising migrations. This guide is organized by situation: find the scenario that matches yours, apply the settings, and check the expected outcome before you migrate.

Every scenario reports two separate outcomes:

  • The OpenStack port — the address and MAC that OpenStack assigns to the network port.
  • Inside the guest — what the migrated VM’s own network configuration looks like on first boot.

These two can differ. A preserved port address does not always mean the guest is statically configured to match it.

The five settings

SettingWhat it controls
Preserve IPCarry the discovered source IP onto the OpenStack port.
IP address boxLeave as-is (discovered IP), type one IPv4 address, or leave empty.
Preserve MACCarry the source MAC, or let OpenStack generate a new one.
Fallback to DHCPOn = accept an OpenStack-assigned address rather than fail. Off = stop the migration on conflict or mismatch.
Persist source network interfacesRestore the original interface names inside the guest. Only available when Preserve IP is on.

Quick picker

Your situationScenario
Same subnet, keep the exact IP and MAC, fail if the address is takenA
Same subnet, prefer the IP but accept DHCP during a bulk moveB
Destination is a different subnetC
Assign a specific new IPD
Force everything onto DHCPE
Keep the IP but re-issue the MACF
Source VM is powered offG
Destination is an L2-only networkH
Attach the port with no address at allI
Preserve IP and MAC, but Persist Network is offJ

A — Keep the same IP and the same MAC

Use this when

  • The destination network carries the same subnet as the source.
  • The VM is powered on and its IP was discovered correctly.
  • DNS records, firewall rules, or MAC-locked licences depend on the address surviving the move.

Settings

SettingValue
Preserve IPOn
IP address boxLeave as-is (shows the discovered IP)
Preserve MACOn
Fallback to DHCPOff — you want the migration to stop rather than silently change the address
Persist source network interfacesOn — keeps the original interface names too

What you get

  • OpenStack port: the same IP address, provided nothing else in the network already holds it.
  • Port MAC: the same MAC address.
  • Inside the guest: unchanged. A static NIC stays static on the same address; a DHCP NIC stays on DHCP. The original interface names are restored.

B — Prefer the same IP, but accept DHCP rather than fail

Use this when

  • Same subnet as Scenario A, but you are migrating in bulk and would rather a few VMs come up on a different address than have the whole batch stop.

Settings

SettingValue
Preserve IPOn
IP address boxLeave as-is
Preserve MACOn
Fallback to DHCPOn
Persist source network interfacesOn

What you get

  • OpenStack port: the same IP where possible; an OpenStack-assigned address where not.
  • Port MAC: the same MAC address.
  • Inside the guest: the original static configuration where the address was preserved; DHCP where it was not.

C — The destination is on a different subnet

Use this when

  • The destination OpenStack network does not carry the source VM’s subnet.

This is the most common cause of failed migrations.

Settings

SettingValue
Preserve IPOff
IP address boxEmpty (or type an address valid in the new subnet — see Scenario D)
Preserve MACEither — your choice
Fallback to DHCPOn — required
Persist source network interfacesUnavailable — the UI greys it out automatically

What you get

  • OpenStack port: an address allocated by OpenStack from the destination subnet.
  • Port MAC: the same MAC if Preserve MAC is on, otherwise a newly generated one.
  • Inside the guest: DHCP.

D — Assign a specific new IP address

Use this when

  • You are re-addressing the VM as part of the move and already know the address it should get.

Settings

SettingValue
Preserve IPOff
IP address boxType the new address — one IPv4 address only
Preserve MACEither — your choice
Fallback to DHCPOff if a wrong address should stop the migration; on if a DHCP address is an acceptable substitute
Persist source network interfacesUnavailable

What you get

  • OpenStack port: the address you typed, provided it belongs to a subnet on the destination network.
  • If it does not belong to a subnet: the migration fails (Fallback off) or the port gets an OpenStack-assigned address (Fallback on).
  • Inside the guest: DHCP configuration on the assigned address.

E — Force everything onto DHCP

Use this when

  • You want a clean start: OpenStack allocates all addresses and no source addressing is carried over.

Settings

SettingValue
Preserve IPOff on every NIC
IP address boxEmpty
Preserve MACEither — your choice
Fallback to DHCPOn — required, see below
Persist source network interfacesUnavailable

What you get

  • OpenStack port: an address allocated by OpenStack.
  • Port MAC: preserved or newly generated, per your choice.
  • Inside the guest: DHCP.

F — Keep the IP but let OpenStack pick a new MAC

Use this when

  • The source MAC clashes with something in the destination, or you are deliberately re-issuing hardware addresses.

Settings

SettingValue
Preserve IPOn
IP address boxLeave as-is
Preserve MACOff
Fallback to DHCPYour choice — as in Scenarios A and B
Persist source network interfacesYour choice

What you get

  • OpenStack port: the same IP address.
  • Port MAC: a newly generated address. The UI shows a warning triangle next to the NIC to confirm this.
  • Inside the guest: DHCP. The guest cannot match its old static settings to a hardware address it has never seen.

G — The source VM is powered off

Use this when

  • The VM is not running, so VMware Tools reported no addresses.

Settings

SettingValue
Preserve IPForced off and greyed out — nothing to preserve
IP address boxType the address you want, or leave empty for DHCP
Preserve MACAvailable, and usually worth keeping on
Fallback to DHCPOn if you left the address box empty
Persist source network interfacesUnavailable

What you get

  • OpenStack port: your typed address, an OpenStack-assigned one, or no address if the box was empty with Fallback off.
  • Port MAC: preserved. The MAC is read from the virtual NIC rather than the guest, so it survives a powered-off migration.
  • Inside the guest: no IP configuration is injected if no address was requested.

H — The destination is an L2-only network

Use this when

  • The destination OpenStack network is tagged as an L2 network and has no subnets.

Settings

SettingValue
Preserve IPNo effect on the port — no fixed IPs can be assigned
IP address boxIgnored
Preserve MACWorks normally — keep it on if you need the MAC
Fallback to DHCPGreyed out
Persist source network interfacesYour choice

What you get

  • OpenStack port: created with no fixed IP addresses.
  • Port MAC: preserved or newly generated, per your choice.
  • Inside the guest (Ubuntu with netplan): a wildcard configuration puts every interface on DHCP.

I — Create the port with no address at all

Use this when

  • You intend to configure addressing yourself after the migration, and want the port attached but unaddressed.

Rarely used. If you reached this by accident, you probably wanted Scenario E.

Settings

SettingValue
Preserve IPOff
IP address boxEmpty
Preserve MACEither — your choice
Fallback to DHCPOff
Persist source network interfacesUnavailable

What you get

  • OpenStack port: created and attached, with no fixed IP.
  • Port MAC: preserved or newly generated, per your choice.
  • Inside the guest: that interface is skipped entirely. No address, no DHCP client, nothing.

J — Preserve IP and MAC, but Persist Network is off

Use this when

  • You want the address and MAC carried over, but do not need the original interface names restored.
  • Or Persist source network interfaces was simply left at its default (off) and you want to know what to expect.

This is the case Scenarios A and B point at. The port outcome is identical to them — only the guest differs.

Settings

SettingValue
Preserve IPOn
IP address boxLeave as-is
Preserve MACOn
Fallback to DHCPYour choice — as in Scenarios A and B
Persist source network interfacesOff

What you get

  • OpenStack port: exactly as in Scenario A or B — the preserved IP, or a DHCP address if Fallback rescued it.
  • Port MAC: the same MAC address.
  • Inside the guest: this is where it differs, and it depends on the guest OS rather than on the source configuration.

Guest outcome by OS

Guest OSSource NIC was on DHCPSource NIC was static
Ubuntu 17.10 and newerConverted to a static address — pinned to whatever address it happened to hold when discoveredStays static on the same address
Ubuntu older than 17.10Stays on DHCP. Only interface-name rules are writtenStays static, per the guest’s own configuration
RHEL family 6 and olderLegacy interface handling runs — verify after bootLegacy interface handling runs — verify after boot
RHEL / CentOS / Rocky 7+, SUSE, other LinuxNothing is written. The guest keeps its own configurationNothing is written. The guest keeps its own configuration
WindowsNothing is written. The guest keeps its own configurationNothing is written. The guest keeps its own configuration

On Ubuntu 17.10 and newer, the existing /etc/netplan directory is moved aside to /etc/netplan-bkp and replaced with a single generated file. Interfaces are renamed vj0, vj1, and so on, matched by MAC address. The netmask comes from what VMware Tools reported; if it is unknown, /24 is assumed.