Katello 3.16 to 3.17 upgrade fails with Could not autoload puppet/feature/npm

Problem:
Hello everyone,

I am receiving an error when running the foreman-installer command attempting to upgrade from 3.16. to 3.17.
Error: Could not autoload puppet/feature/npm: cannot load such file – puppet/util/npm

Expected outcome:
A successful upgrade; The instructions make the upgrade seem incredibly easy.

Foreman and Proxy versions:

  • foreman-2.1.4-1.el7.noarch
  • foreman-proxy-2.2.3-1.el7.noarch

Foreman and Proxy plugin versions:

Distribution and version:
Oracle Linux Server release 7.9

Other relevant data:

I am following the instruction step by step at https://www.theforeman.org/plugins/katello/3.17/upgrade/index.html

I also tried jumping a version to see if something might have been fixed in the next version and followed the guide at https://www.theforeman.org/plugins/katello/3.18/upgrade/index.html

The error below occurs when running the foreman-installer command. The screen output comes from the 3.18 attempt because it is more verbose but the error is the same in both versions.

2022-01-27 15:00:22 [NOTICE] [pre] Executing hooks in group pre
Failed to ensure rh-postgresql12-postgresql-server, rh-redis5-redis, foreman-selinux, katello-selinux, candlepin-selinux, pulpcore-selinux, crane-selinux, pulp-selinux are installed
2022-01-27 15:00:28 [ERROR ] [root] Failed to ensure rh-postgresql12-postgresql-server, rh-redis5-redis, foreman-selinux, katello-selinux, candlepin-selinux, pulpcore-selinux, crane-selinux, pulp-selinux are installed
Error: Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
Error: Facter: error while resolving custom fact "package_provider": Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
Error: Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
Error: Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
2022-01-27 15:00:28 [ERROR ] [root] Error: Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
Error: Facter: error while resolving custom fact "package_provider": Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
Error: Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm
Error: Could not autoload puppet/feature/npm: cannot load such file -- puppet/util/npm

The package verification error I don’t expect to occur because I verified that those packages are installed on the host.

[foreman-installer]# rpm -q rh-postgresql12-postgresql-server rh-redis5-redis foreman-selinux katello-selinux candlepin-selinux pulpcore-selinux crane-selinux pulp-selinux

rh-postgresql12-postgresql-server-12.7-1.el7.x86_64
rh-redis5-redis-5.0.5-3.el7.x86_64
foreman-selinux-2.3.5-1.el7.noarch
katello-selinux-3.5.0.1-1.el7.noarch
candlepin-selinux-3.1.22-1.el7.noarch
pulpcore-selinux-1.2.3-2.el7.x86_64
crane-selinux-3.5.0.1-1.el7.noarch
pulp-selinux-2.21.5-1.el7.noarch

I was not expecting the install to have npm issues as this system has been in production for years updated from previous versions. As a precaution I also re-attempted the upgrade after installing npm packages on the host with the same failure even though I think this error is related to the foreman-installer itself.

Thanks for your time,
Brad