Foreman-Installer Foreman-Proxy ssl_port

Problem:
Hi,
Foreman-Installer fails if i try to change ssl_port for Foreman-Proxy. With ‘foreman-installer --scenario katello’ the ssl_port parameter defaults to ‘9090’ which interfere with the default port from Cockpit. I try to use port ‘9000’ but the installer fails with ‘Systemd start for foreman-proxy failed!’ which is not true, foreman-proxy.service is running on my system. If i run foreman-installer after the failing run again the installer succeeds.

Expected outcome:
Successful run of ‘foreman-installer --scenario katello’ with Foreman-Proxy listen on HTTPS port ‘9000’.

Foreman and Proxy versions:
Foreman 1.17.1
Foreman-Proxy 1.17.1
Katello 3.6.0
(CentOS 7.5.1804)

Foreman and Proxy plugin versions:
Default

katello-answers.yml.gz (751 Bytes)
katello.log.gz (170.6 KB)

I don’t know why your answers file isn’t being used correctly, but for a workaround, you can you stop cockpit, install foreman, and then update :https_port: in /etc/foreman-proxy/settings.yml and restart the foreman-proxy service. You should then be able to start the cockpit service back up. You will then need to log in to foreman and go to Infrastructure->Smart Proxies and edit the smart proxy and update the port in the url field.

I think the problem is https://github.com/theforeman/puppet-service_wait which can’t handle changed ports. There is no way to override the following line:

That means it waits for the URL to be available at the wrong location and fails even though it’s up. In the next run it just looks at the systemd status and since that’s running, it doesn’t restart it and everything looks fine. In 1.18 we’ve gotten rid of the entire module but I think in all current released versions you need to live with running the installer twice when you want to change a port.

2 Likes