Bug 1490728

Summary: For puppet4 foreman_scap_client and access_insights_client modules are missing
Product: Red Hat Satellite Reporter: Lukas Pramuk <lpramuk>
Component: PuppetAssignee: Marek Hulan <mhulan>
Status: CLOSED ERRATA QA Contact: Lukas Pramuk <lpramuk>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: bbuckingham, ehelms, mhulan
Target Milestone: UnspecifiedKeywords: Regression, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: foreman-installer-1.15.5 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-21 17:06:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lukas Pramuk 2017-09-12 07:05:25 UTC
Description of problem:
For puppet4 foreman_scap_client and access_insights_client modules are missing in puppet-sharedir (/opt/puppetlabs/puppet/), since the modules are statically deployed into puppet3 sharedir (/usr/share/puppet).

Though puppet-sharedir is correctly set to new puppet4 directory (/opt/puppetlab/puppet) by puppet-upgrade process, its content, modules are not handled.

The problem here is more with packaging since the modules are statically provided into puppet3 sharedir by following rpms:

redhat-access-insights-puppet-0.0.9-1.el7sat.noarch
puppet-foreman_scap_client-0.3.16-1.el7sat.noarch
puppetlabs-stdlib-4.2.1-1.20140510git08b00d9.el7sat.noarch

The solution might be to have p4 variants of these rpms and puppet-upgrade or puppet4 fresh install would replace the old rpms with the new ones .....  

Or another solution might that the installer would create symlinks for each module ...

Version-Release number of selected component (if applicable):
satellite-6.3.0-17.0.beta.el7sat.noarch
puppet-agent-1.8.2-2.el7sat.x86_64
redhat-access-insights-puppet-0.0.9-1.el7sat.noarch
puppet-foreman_scap_client-0.3.16-1.el7sat.noarch
puppetlabs-stdlib-4.2.1-1.20140510git08b00d9.el7sat.noarch


How reproducible:
100%

Steps to Reproduce:
1. @puppet4: # puppet module list
/etc/puppetlabs/code/environments/production/modules (no modules installed)
/etc/puppetlabs/code/environments/common (no modules installed)
/etc/puppetlabs/code/modules (no modules installed)
/opt/puppetlabs/puppet/modules (no modules installed)

vs.

1. @puppet3: # puppet module list
/etc/puppet/environments/production/modules (no modules installed)
/etc/puppet/environments/common (no modules installed)
/etc/puppet/modules (no modules installed)
/usr/share/puppet/modules
├── lphiri-access_insights_client (v0.0.9)
├── stdlib (???)
└── theforeman-foreman_scap_client (v0.3.16)

Actual results:
for puppet4 the modules are installed in wrong location

Expected results:
the modules are installed in correct locations no matter what version it is

Comment 3 Marek Hulan 2017-09-25 16:00:40 UTC
PR ready at https://github.com/theforeman/puppet-puppet/pull/552

Comment 7 Lukas Pramuk 2017-10-10 12:05:40 UTC
VERIFIED.

@satellite-6.3.0-19.0.beta.el7sat.noarch
foreman-installer-1.15.5-1.el7sat.noarch

# puppet -V
4.8.1

# puppet module list
Warning: Missing dependency 'puppetlabs-stdlib':
  'lphiri-access_insights_client' (v0.0.9) requires 'puppetlabs-stdlib' (>= 0.0.0)
  'theforeman-foreman_scap_client' (v0.3.16) requires 'puppetlabs-stdlib' (>= 4.2.0)
/etc/puppetlabs/code/environments/production/modules (no modules installed)
/etc/puppetlabs/code/environments/common (no modules installed)
/etc/puppetlabs/code/modules (no modules installed)
/opt/puppetlabs/puppet/modules (no modules installed)
/usr/share/puppet/modules
├── lphiri-access_insights_client (v0.0.9)
├── stdlib (???)
└── theforeman-foreman_scap_client (v0.3.16)

>>> the oscap and insights puppet modules are recognized, puppet-agent now looks also into /usr/share/puppet/modules

Comment 8 Lukas Pramuk 2017-10-10 12:32:10 UTC
Also, 

# grep basemodulepath /etc/puppetlabs/puppet/puppet.conf
    basemodulepath = /etc/puppetlabs/code/environments/common:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules:/usr/share/puppet/modules

Comment 9 Bryan Kearney 2018-02-21 17:06:32 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA.

For information on the advisory, and where to find the updated files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:0336