Update IP from built request not being honored

Foreman 1.22.1 on CentOS 7. Attempting to inform foreman that my deployment is finished via https://foreman_host/unattended/built. Foreman is responding with a 409, and the following is being logged:

2019-09-11T15:58:38 [I|app|19b53a80] Started GET "/unattended/built" for 1.2.3.4 at 2019-09-11 15:58:38 +1000
2019-09-11T15:58:38 [I|app|19b53a80] Processing by UnattendedController#built as TEXT
2019-09-11T15:58:38 [D|app|19b53a80] Current user set to foreman_api_admin (admin)
2019-09-11T15:58:38 [D|app|19b53a80] Found hostname.domain.com
2019-09-11T15:58:38 [I|app|19b53a80] unattended: hostname.domain.com is built!
2019-09-11T15:58:38 [D|app|19b53a80] Enqueued task 'Disable PuppetCA autosigning for hostname.domain.com' to 'Host::Managed Post' queue
2019-09-11T15:58:39 [D|app|19b53a80] Comparing ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.0"] == ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.efi"]
2019-09-11T15:58:39 [D|app|19b53a80] Comparing ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.0"] == ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.efi"]
2019-09-11T15:58:39 [D|app|19b53a80] Comparing ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.0"] == ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.efi"]
2019-09-11T15:58:39 [D|app|19b53a80] Comparing ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.0"] == ["MAC_ADDRESS", "1.2.3.4", "1.2.3.0", "pxelinux.efi"]
2019-09-11T15:58:39 [W|app|19b53a80] DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists
2019-09-11T15:58:39 [W|app|19b53a80] Not queueing Nic::Managed: ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"] and ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"]
2019-09-11T15:58:39 [W|app|19b53a80] Not queueing Nic::Managed: ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"] and ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"]
2019-09-11T15:58:39 [W|app|19b53a80] Not queueing Nic::Managed: ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"] and ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"]
2019-09-11T15:58:39 [W|app|19b53a80] Not queueing Discovery reboot: Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists
2019-09-11T15:58:39 [W|app|19b53a80] Failed to set Build on hostname.domain.com: ["Conflict DHCP records hostname.domain.com-MAC_ADDRESS/1.2.3.4 already exists"]
2019-09-11T15:58:39 [I|app|19b53a80] Completed 409 Conflict in 710ms (ActiveRecord: 83.1ms)

“Update IP from built request” is set to false (by default apparently). Is there an overriding location for this setting, or is Foreman just ignoring it?

Somebody has changed PXE loader from “PXELinux BIOS” to “PXELinux EFI”, therefore Foreman detects the change and issues DHCP conflict error. It is actually a bug, not sure if someone has filed it already but it should say: Editing PXE loader in build mode does not orchestrate DHCP record update

If you can’t find it, please file new one. Workaround: exit the build mode manually, do not edit PXE loader when in build mode.

Thank you! That was it. That was changed for some other testing and I did not expect that to interfere.

NP we should fix this issue, multiple users hit it already.