Project

General

Profile

Actions

Bug #30478

closed

Kexec does not handle NEW/OLD discovered IP

Added by vi won almost 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
High
Category:
-
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

1
19h

Finally got around to updating to Foreman 2.1 and discovered a new behavior.

If you use the Discovery ISO, and boot using the DHCP option, the system will get a DHCP IP like say 192.168.0.100, and then connect to the smart proxy and discover (Success) as normal.

However, if you then go to Discovered Hosts, do all the setup of that system, including setting the “final” IP address you want on the system after being built like say 192.168.0.200, and then click submit to kick off the kexec and start the build. It will FAIL.

What I am seeing in the logs is that Foreman 2.1 seems to be doing is trying to kexec the FINAL IP of the system, not the current IP. This used to work correctly and Foreman would send the kexec to the current IP of the discovered host.

2020-07-22T14:40:05 [W|app|2b782eb3] Unable to perform kexec on mac005056abcxxx (https://mysmarproxy.mydomain.com:9090/discovery/192.168.0.200): 500 Internal Server Error
2020-07-22T14:40:05 [W|app|2b782eb3] Unable to kexec

Also seeing foreman-proxy sending the discovery client power request to the wrong IP.

Started PUT /discovery/NEW IP/power/kexec
Finished PUT /discovery/NEW IP/power/kexec with 500

instead of what it should be doing

Started PUT /discovery/CURRENT IP/power/kexec
Finished PUT /discovery/CURRENT IP/power/kexec with 200

If you select MANUAL network setup when booting the Discovery ISO, and use the same IP as the final IP then it works fine, because the system is currently at the final IP so the kexec attempt works.

This is a definite CHANGE in behavior from previous versions, and it makes the DHCP option on the Foreman Discovery ISO unable to be used at all.

I have verified this behavior changed from our other Foreman 1.20 environment.


Related issues 3 (0 open3 closed)

Related to Discovery - Bug #28330: Reboot/kexec is ussed against new (reserved) IP addressClosedLukas ZapletalActions
Related to Foreman - Bug #30836: Nil pointer exception on unused_ip discovery callClosedLukas ZapletalActions
Related to Discovery - Bug #30958: Argument error when refresh facts failsClosedLukas ZapletalActions
Actions

Also available in: Atom PDF