Foreman Proxy Install Failure

Problem:
Cannot install foreman-proxy

Expected outcome:
Foreman-proxy installs correctly

Foreman and Proxy versions:
n/a - Installing latest - alma8

Foreman and Proxy plugin versions:
n/a

Distribution and version:

Other relevant data:
I am using the exact command from the install docs here:
https://docs.theforeman.org/nightly/Installing_Proxy/index-foreman-el.html#installing-capsule-server

Im trying to install it as a standalone, I dont need foreman, puppet, etc on this system.

Command fails:

 foreman-installer --enable-foreman-proxy --enable-puppet --foreman-proxy-foreman-base-url=https://xxxxxxx.ssnc-corp.cloud --foreman-proxy-oauth-consumer-key=xxxxxxxxxxx --foreman-proxy-oauth-consumer-secret=xxxxxxxxxxxxx --foreman-proxy-puppetca=false --foreman-proxy-tftp=false --foreman-proxy-trusted-hosts=xxxxxxx.ssnc-corp.cloud --no-enable-foreman --no-enable-foreman-cli --puppet-server-ca=false
2024-07-05 16:42:38 [NOTICE] [root] Loading installer configuration. This will take some time.
2024-07-05 16:42:40 [NOTICE] [root] Running installer with log based terminal output at level NOTICE.
2024-07-05 16:42:40 [NOTICE] [root] Use -l to set the terminal output log level to ERROR, WARN, NOTICE, INFO, or DEBUG. See --full-help for definitions.
2024-07-05 16:42:41 [NOTICE] [configure] Starting system configuration.
2024-07-05 16:42:43 [ERROR ] [configure] Evaluation Error: Error while evaluating a Resource Statement, Foreman::Plugin[puppet]:
2024-07-05 16:42:43 [ERROR ] [configure] parameter 'version' expects a String value, got Undef
2024-07-05 16:42:43 [ERROR ] [configure] parameter 'config_file_group' expects a String value, got Undef (file: /usr/share/foreman-installer/modules/foreman/manifests/plugin/puppet.pp, line: 6) on node 10-222-215-57.ssnc-corp.cloud
2024-07-05 16:42:43 [NOTICE] [configure] System configuration has finished.

There were errors detected during installation.
Please address the errors and re-run the installer to ensure the system is properly configured.
Failing to do so is likely to result in broken functionality.

The full log is at /var/log/foreman-installer/foreman.log

Anyone know how to install JUST the proxy? This is the command Im using, but it installs foreman, puppetserver, foreman-proxy, dynflow, etc. I want just the proxy.

foreman-installer --enable-foreman-proxy --enable-puppet --foreman-proxy-foreman-base-url=https://foreman.xxxx --foreman-proxy-oauth-consumer-key=xxxxx --foreman-proxy-oauth-consumer-secret=xxxxx --foreman-proxy-puppetca=false --foreman-proxy-tftp=false --foreman-proxy-trusted-hosts=foreman.xxxx --no-enable-foreman --no-enable-foreman-cli --puppet-server-ca=false --no-enable-foreman-plugin-puppet --no-enable-foreman-cli-puppet

Hi there,

I’m not sure that you could install “just” the Foreman Proxy. It relies on the Puppet Server for all the core functions. And the Puppet Agent is coming by default.

I have 6 Smart Proxies in my Foreman Infrastructure, and all of them have at least a Puppet Server/Agent, Foreman Proxy and DynFlow.

Thanks. I think youre right.

I ended up using my command which installed puppetserver and puppet-agent (along with dynflow and the foreman-proxy). Then afterwards I just stop/disabled and removed those services I didnt need. Bit of a strange way of having to do things.

What is it you really want from the proxy? It seems you want the proxy to do nothing, which defines the purpose… Which services should run through the proxy?

The example in the nightly docs enables the puppet module and thus installs the puppetmaster. If you don’t want the puppet module, don’t enable it. It works fine without it. Best example is the katello content proxy scenario which does not use the puppet module…

We need to install about 35-45 proxies on every saltmaster to run various commands and communicate with the salt-api running on each. There will be about 90,000 hosts utilized through foreman and its proxies.

Disabling the puppet module (at least with the other flags Ive put in) then the installer fails prematurely due to missing the version of puppet. It seems like a bug and there are some filings around it on redhat and here. I can’t find the exact log anymore.

We have about 25 proxies running pulp/katello, that is the first route I went, but then ran into issues where I couldnt use that installer option without pulp/katello. For now, Ive got working steps though.

Well, first that should be the issue you should post not the one where you explicitly enable the puppet module. If that doesn’t work that should be fixed.

Second, I don’t think you can disable the puppet module after you have enabled it on a server. Once you have enabled a module there are always files around which will cause issues if you try to disable it later.

Thus, the right way to do is not to use --enable-puppet during or initial or any later foreman-installer run. If that doesn’t work, it’s a bug.

Since I am working on a repeatable process, I will have to ultimately run the installer command a few more times. I will come back and post the error. Likely today or Monday.

I posted the original issue here, because based on the exact command from the proxy installation instructions, it does not work.

It doesn’t help, if you are using a command which does not do what you want.

Discussing the error in your original post doesn’t help you if you don’t want puppet to run anyway. That maybe an issue worth discussing elsewhere but it won’t help you. If you don’t want puppet, don’t enable puppet. If there is an error then, that’s what needs to discussed here for you to get what you need…

Unless you really want to know how to install a puppetserver with that command from the docs.

I made this post to simply point out that the command provided in the documentation does not work. I believe we are getting off topic. The issue wasn’t related to Puppet, Puppetserver, or similar components, and my focus isn’t on whether these are installed or not. It should be expected that the installation command for the proxy should function correctly, but unfortunately, it doesn’t.

It’s nightly and not yet officially released. Chances are that it doesn’t work. There is also a chance it might work on a nightly installation, though I doubt it. There is currently no documentation on this for 3.11. Thus it’s not surprising that there are still some docs which don’t cover the puppet module extraction properly. I’d say, they haven’t been touched for a while.

A while ago I have posted a tutorial how to install a proxy without content. However, I only use it to install a proxy with puppetserver. At that time it worked and through many updates it still works. But I haven’t looked at it to do a fresh installation with a current 4.13. But obviously, there is a huge difference between my tutorial and the nightly docs.

1 Like

Right. I checked the 3.11 docs as well. Thanks for the link to the tutorial!!