Different MAC addresses used in DHCP leases and TFTP when MAC address is set for libvirt VM
|Assigned To:||Marek Hulán|
|Found in release:||1.13.0||Pull request:||https://github.com/theforeman/foreman/pull/4126|
|Velocity based estimate||-|
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.
#1 Updated by Marek Hulán 7 months 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.
#3 Updated by Marek Hulán 4 months 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.