Project

General

Profile

Actions

Bug #21120

closed

Multiple DHCP orchestration is no longer possible with PXELoader

Added by Stephan Schultchen about 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
DHCP
Target version:
Fixed in Releases:
Found in Releases:

Description

Hey,

since upgrading from foreman 14.x to 15.4 we have issues when modifying dhcp entries.

whenever we chage the bootloader from Grub2 UEFI to PXELinux BIOS, or vice versa, the foreman smart proxy start creating duplicate dhcp entries for this host.

how to repoduce:

1. create host with PXELinux BIOS bootloader
2. modify host to to use Grub2 UEFI
2. press submit (you will get a modal saying there already is a dhcp enty, and if you like to overwrite it)
3. acknowledge the modal and press the "overwrite" botton
4. now the "submit" button of the host is named "overwrite" -> press it
5. you will get a error message, complaining about a HTTP 409 from the dhcp smart proxy

if you check the leases file of the dhcp server, you will now have at least 2 entries for the same host. i have already see up to 33 entries for the same host within a file.

it also seems that the deleting a host will not always remove a entry from the dhcp leases file, but i have to admit that i am not 100% sure if the host will directly disappear from the leases file after it has been deleted.

to "fix" the issue, you have to:
- delete the host
- stop dhcpd
- remove broken entries from leases file
- start dhcpd
- recreate the host

here is a example from broken dhcp entries for the same host:

host samplehost.example.com {
dynamic;
deleted;
}
host samplehost.example.com {
dynamic;
hardware ethernet 00:50:56:91:a2:84;
fixed-address 172.21.55.57;
supersede server.filename = "pxelinux.0";
supersede server.next-server = ac:15:3a:05;
supersede host-name = "samplehost.example.com";
}
host samplehost.example.com {
dynamic;
deleted;
}
host samplehost.example.com {
dynamic;
hardware ethernet 00:50:56:91:9b:fb;
fixed-address 172.21.55.57;
supersede server.filename = "pxelinux.0";
supersede server.next-server = ac:15:3a:05;
supersede host-name = "samplehost.example.com";
}
host samplehost.example.com {
dynamic;
deleted;
}
host samplehost.example.com {
dynamic;
hardware ethernet 00:50:56:91:d5:f7;
fixed-address 172.21.55.57;
supersede server.filename = "pxelinux.0";
supersede server.next-server = ac:15:3a:05;
supersede host-name = "samplehost.example.com";
}
host samplehost.example.com {
dynamic;
deleted;
}
host samplehost.example.com {
dynamic;
hardware ethernet 00:50:56:91:ae:e9;
fixed-address 172.21.55.57;
supersede server.filename = "pxelinux.0";
supersede server.next-server = ac:15:3a:05;
supersede host-name = "samplehost.example.com";
}


Related issues 5 (0 open5 closed)

Related to Foreman - Refactor #19706: Don't treat DHCP leases as conflictsClosedLukas Zapletal05/30/2017Actions
Related to Foreman - Bug #21482: Unable to change host's PXE loaderDuplicate10/26/2017Actions
Related to Smart Proxy - Bug #21975: DHCP filename option is ignoredClosed12/14/2017Actions
Related to Foreman - Bug #26104: Multiple NIC orchestrations are not orchestratedClosedLukas ZapletalActions
Related to Foreman - Bug #27877: DHCP conflict when editing PXE loader for existing hostClosedLukas ZapletalActions
Actions

Also available in: Atom PDF