Bug #16782


Different MAC addresses used in DHCP leases and TFTP when MAC address is set for libvirt VM

Added by Oleksii Levan almost 8 years ago. Updated about 6 years ago.

Target version:
Fixed in Releases:
Found in Releases:


When I specify a MAC address for a new host, it's used in DHCP leases, but when the actual libvirt VM boots, it has another, auto-generated MAC address, which is used by TFTP server. The problem is, that with new MAC address, it cannot obtain an IP address and TFTP's location from DHCP, and doesn't boot as the result.

As a workaround, I had to manually edit the DHCP leases file to use the auto-generated MAC address, then the boot proceeds as expected.

Actions #1

Updated by Marek Hulán almost 8 years ago

  • Category set to Compute resources - libvirt

As far as I know, fog_libivrt, a library that we use to talk to libvirt, ignores the MAC when we send it. You could perhaps open issue on their issue tracker. If you keep MAC field empty, Foreman loads randomly generated MAC from libvirt VM after it creates the VM, so just not specifying the MAC should be OK unless you need some specific MAC address.

Actions #2

Updated by Marek Hulán over 7 years ago

  • Category changed from Compute resources - libvirt to Network
Actions #3

Updated by Marek Hulán over 7 years ago

  • Bugzilla link set to 1388147

This is not specific to libvirt. The DHCP orchestration creates the DHCP record with old MAC, also the interface becomes invalid and when the VM calls back to /built?, the nic orchestration is not triggered since the interface can't be saved and TFTP file remains untouched. The original TFTP file is being created correctly for the new MAC.

Actions #4

Updated by The Foreman Bot over 7 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Marek Hulán
  • Pull request added
Actions #5

Updated by Marek Hulán over 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #6

Updated by Dominic Cleal over 7 years ago

  • Translation missing: en.field_release set to 210

Also available in: Atom PDF