foreman-nightly-rpm-pipeline 1273 failed

Foreman RPM nightly pipeline failed:

https://ci.theforeman.org/job/foreman-nightly-rpm-pipeline/1273/

foreman-pipeline-foreman-nightly-centos7-install (failed) (remote job)
foreman-pipeline-foreman-nightly-centos8-install (failed) (remote job)
foreman-pipeline-foreman-nightly-centos8-stream-install (failed) (remote job)
foreman-pipeline-foreman-nightly-centos7-upgrade (failed) (remote job)
foreman-pipeline-foreman-nightly-centos8-stream-upgrade (failed) (remote job)

fails somewhere in the Puppet integration, cc @ezr-ondrej

I really want to believe that it is about the namespaces fuss in the core.
I do not know how to find out reliably tho. (apart of fixing the fuss).

Looking at a failed setup here (but it’s Debian 11, so might be not too representative):

2021-11-25T14:55:21 [I|app|b377478b] Started GET "/node/pipe-foreman-server-nightly-debian11.kangae.example.com?format=yml" for 192.168.122.55 at 2021-11-25 14:55:21 +0000
2021-11-25T14:55:21 [F|app|b377478b]   
 b377478b | AbstractController::ActionNotFound (The action 'externalNodes' could not be found for HostsController):

The logs are also full of

2021-11-25T15:00:06 [W|app|] ForemanPuppet: skipping engine hook (uninitialized constant ActiveRecord::Base::EnsureNotUsedBy)
 | /usr/share/foreman/vendor/ruby/2.7.0/gems/foreman_puppet-2.0.0/app/models/concerns/foreman_puppet/extensions/provisioning_template.rb:8:in `block in <module:ProvisioningTemplate>'

If you want to find out, the above linked jobs should have sosreports attached, and those should have production.log in there.

And because I am a nice guy, I patched my local instance with your foreman_puppet patch, but the following test still fails:

 ✗ import motd puppet class
   (in test file fb-test-puppet.bats, line 72)
     `hammer proxy import-classes --name $(hostname -f)' failed with status 64
   Error: Unrecognised option '--name'.
   
   See: 'hammer proxy import-classes --help'.

Which is correct, according to --help:

# hammer proxy import-classes --help
Usage:
    hammer proxy import-classes [OPTIONS]

Options:
 --dryrun                               Do not run the import
 --puppet-environment[-id] VALUE/NUMBER Name/id of associated Puppet environment
 -h, --help                             Print help

Hah, of course, it works fine once you regenerate the apipie cache and tell hammer to reload it :blush: