SLES15, install from source, want to use it together with Ansible

Hi,
I would like to use Foreman (3.13) together with Ansible. Unfortunately, I don’t have the chance to test it at all because I can’t import roles or do anything with it.

I’m referred to the instructions here, which I’m obviously trying to follow. I’m working with a SLES15SP6 and have built Foreman from the sources and it works. I know you like to refer to packages for easier installation. But you don’t have any for SLES. You mention that I should run the following:

foreman-installer
–enable-foreman-plugin-ansible
–enable-foreman-proxy-plugin-ansible

It’s not clear to me whether the foreman-proxy-plugin-ansible is really essential, even if I’m not running a smart proxy.

Since I don’t have a ‘foreman-installer’, I installed the ruby ​​gems manually like this:

in bundler.d/gemfile.local.rb

gem ‘foreman_ansible’

gem ‘foreman_remote_execution’

gem ‘smart_proxy_ansible’

The relevant versions are:

foreman_remote_execution 14.0.2

foreman_ansible 15.0.1

smart_proxy_remote_execution_ssh 0.11.5

smart_proxy_ansible 3.5.8

Then run

bundle install

bundle exec rake db:migrate

Unfortunately, I get the following error and I need help here…

rake aborted!

NameError: uninitialized constant Proxy
Did you mean? Proc
/home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/smart_proxy_dynflow-0.9.4/lib/smart_proxy_dynflow/task_launcher_registry.rb:3:in <top (required)>' /home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require’
/home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require' /home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/smart_proxy_dynflow-0.9.4/lib/smart_proxy_dynflow.rb:5:in <top (required)>’
/home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require' /home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require’
/home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/smart_proxy_ansible-3.5.8/lib/smart_proxy_ansible.rb:1:in <top (required)>' /home/foreman/foreman/3.13/config/application.rb:57:in <top (required)>’
/home/foreman/foreman/3.13/Rakefile:1:in require' /home/foreman/foreman/3.13/Rakefile:1:in <top (required)>’
/home/foreman/foreman/3.13/vendor/ruby/3.1.0/gems/rake-13.2.1/exe/rake:27:in <top (required)>' /home/foreman/.rubies/foreman_3.1.6/bin/bundle:25:in load’
/home/foreman/.rubies/foreman_3.1.6/bin/bundle:25:in `’
(See full trace by running task with --trace)

It is indeed as communication with external services is done via the Smart Proxy, so the import is triggered by the UI, asks the chosen Smart Proxy and gets the Roles located in /etc/ansible from the system the Smart Proxy runs on.

As Dirk mentioned, the smart-proxy is essential for quite a number of operations. You should always be running at least one smart-proxy, the default setup from the installer always sets up a smart-proxy on the same host Foreman itself is running on, so that would probably be what you need to do first. The error your get is caused by the fact that you are trying to import a smart-proxy plugin into the main Foreman application, while it should be imported into a smart-proxy.