Problem:
I use discovery for new hosts. The hosts gets discovered. I can configure it. When I click on submit, I get:
ERF42-9666 [Foreman::Exception]: HTTP boot requires proxy with httpboot feature and http_port exposed setting
Expected outcome:
The new host is rebootet and installed.
Other relevant data:
I used foreman-installer --full-help
to print my current settings and uploaded them to pastebin: https://pastebin.com/j79Zs2b7
I hope this helps, if you prefer to have them here in the board, please tell me.
When I got the error the first time I found: Cannot create host : ERF42-9666 with Foreman 1.24RC2
But running foreman-installer --foreman-proxy-httpboot true
did not fix it, though it was false before. The setting --foreman-proxy-httpboot-listen-on is “both” by default.
You also need to make sure that proxy also listens on HTTP endpoint (8448/8000) using --foreman-proxy-http true. Then refresh proxy features to recognize endpoints.
You’re not the first who has a problem with this and I think we should somehow improve this flow. How to phrase the error message so it becomes clear how to fix it? Any suggestions?
We should probably have switched all the services to listen only on HTTPS instead disabling HTTP endpoint globally if that was what we were aiming for from the security standpoint. This way HTTP Boot could have been set to both and when enabled it would work normally. Or make puppet changes in a way that if there is no both/http settings, http would have been disabled.
Every host must have a Subnet associated on the provision interface. Find that subnet, go to the detail page and there is a tab called Proxies. Find HTTPBoot one and it must be set to an existing proxy. If you do not see any HTTPBoot dropdown, refresh features of a smart proxy which you enabled HTTPBoot feature on via Infrastructure - Smart proxies - Refresh features.