Uploaded image for project: 'Satellite'
  1. Satellite
  2. SAT-12286

installer sometimes loads modules from /etc/puppetlabs, breaking execution

XMLWordPrintable

    • None
    • None
    • None
    • None

      Description of problem:
      For reasons unknown to me, a user had a broken puppet-lvm module in /etc/puppetlabs/code/modules/puppetlabs-lvm/, which resulted in the following error when Puppet tried to load it:
      Error: Could not run: cannot load such file – puppet_x/lvm/output

      Such a local issue should not have an effect on the execution of the Installer (as it should not load random modules from /etc/puppetlabs, those could be incompatible with the contents of the installer).

      Kafo, when running Puppet, does generate a custom configuration to avoid this problem:

      1. cat /tmp/kafo_installation20220818-28102-108x1gp/puppet.conf
        [main]
        basemodulepath = /usr/share/foreman-installer/modules:/usr/share/gems/gems/kafo-6.4.0/lib/kafo/../..//modules
        color = false
        environmentpath = /tmp/kafo_installation20220818-28102-108x1gp/environments
        evaltrace = true
        factpath = /tmp/kafo_installation20220818-28102-108x1gp/facts
        hiera_config = /usr/share/foreman-installer/config/foreman-hiera.yaml
        noop = false
        profile = false
        reports =
        show_diff = true

      However, we also have a `apply_puppet_code` function in our hooks (https://github.com/theforeman/foreman-installer/blob/43067e91db3439d662adad313ac43853b4cf0992/hooks/boot/01-kafo-hook-extensions.rb#L34-L37) which does NOT pass a custom config and thus loads the global one from /etc, which DOES read the modules and explodes.

      This results in the following error when the installer is executed:
      2022-08-18 10:17:51 [ERROR ] [root] Failed to ensure rh-postgresql12-postgresql-server, rh-redis5-redis, foreman-selinux, katello-selinux, candlepin-selinux, pulpcore-selinux are installed
      2022-08-18 10:17:51 [ERROR ] [root] Error: Could not run: cannot load such file – puppet_x/lvm/output
      Failed to ensure rh-postgresql12-postgresql-server, rh-redis5-redis, foreman-selinux, katello-selinux, candlepin-selinux, pulpcore-selinux are installed
      Error: Could not run: cannot load such file – puppet_x/lvm/output

      Version-Release number of selected component (if applicable):
      6.11

      How reproducible:
      100%

      Steps to Reproduce:
      1. break some auto-loaded code in /etc/puppetlabs/code
      2. run installer

      Actual results:
      Installer fails

      Expected results:
      Installer succeeds

      Additional info:

              ekohlvan@redhat.com Ewoud Kohl van Wijngaarden
              egolov@redhat.com Evgeni Golov
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: