Bug 1733963

Summary: [RFE] Puppet4 and 5 shipped with Red Hat Satellite, should work with CFME Appliances
Product: Red Hat CloudForms Management Engine Reporter: Mihir Lele <mlele>
Component: ApplianceAssignee: Gregg Tanzillo <gtanzill>
Status: CLOSED WONTFIX QA Contact: Sudhir Mallamprabhakara <smallamp>
Severity: medium Docs Contact: Red Hat CloudForms Documentation <cloudforms-docs>
Priority: medium    
Version: 5.10.6CC: abellott, dmetzger, jocarter, mshriver, nachandr, obarenbo
Target Milestone: GAKeywords: Reopened
Target Release: cfme-future   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-04 20:01:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: Bug
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core Target Upstream Version:

Description Mihir Lele 2019-07-29 10:44:17 UTC
Description of problem:

Puppet Agent4 fails on a CFME appliance.

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

1) CFME-5.10.6
2) Satellite 6.3 with puppet4 


How reproducible:  Always


Steps to Reproduce:
1. Install puppet on the Appliance from rhel-7-server-satellite-tools-6.3-puppet4-rpms
2. Run "puppet --version" or any other puppet commands on the appliance.


Actual results:

Puppet utility fails on the appliance.

Expected results:

Puppet agent should run on the appliance for integration of puppet with the CFME Appliance.


Additional info:

====
[root@cfme ~]# puppet --version
/opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:160:in `chdir': ERROR: Failed to build gem native extension. (Gem::Ext::BuildError)

    No such file or directory @ dir_chdir - /usr/share/gems/gems/bcrypt-3.1.12/ext/mri

Gem files will remain installed in /usr/share/gems/gems/bcrypt-3.1.12 for inspection.
Results logged to /usr/share/gems/extensions/x86_64-linux/2.1.0/bcrypt-3.1.12/gem_make.out
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:160:in `block in build_extension'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:159:in `synchronize'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:159:in `build_extension'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:198:in `block in build_extensions'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:195:in `each'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/ext/builder.rb:195:in `build_extensions'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/specification.rb:1438:in `block in build_extensions'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/user_interaction.rb:45:in `use_ui'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/specification.rb:1436:in `build_extensions'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/stub_specification.rb:60:in `build_extensions'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/basic_specification.rb:56:in `contains_requirable_file?'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/specification.rb:927:in `block in find_inactive_by_path'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/specification.rb:926:in `each'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/specification.rb:926:in `find'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/specification.rb:926:in `find_inactive_by_path'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems.rb:185:in `try_activate'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:132:in `rescue in require'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:28:in `<top (required)>'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:12:in `<top (required)>'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /opt/puppetlabs/puppet/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/bin/puppet:4:in `<main>'
[root@cfme ~]# rpm -qa | grep puppet
puppet-agent-1.10.9-1.el7sat.x86_64

=====


Also, This works with puppet5 that is shipped with Satellite 6.4 and 6.5 but it throws the below message:


=====
[root@cfme ~]# puppet agent -t
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Ignoring bcrypt-3.1.12 because its extensions are not built.  Try: gem pristine bcrypt --version 3.1.12
Ignoring ffi-1.9.25 because its extensions are not built.  Try: gem pristine ffi --version 1.9.25
Ignoring hamlit-2.8.8 because its extensions are not built.  Try: gem pristine hamlit --version 2.8.8
Ignoring http_parser.rb-0.6.0 because its extensions are not built.  Try: gem pristine http_parser.rb --version 0.6.0
Ignoring json-2.1.0 because its extensions are not built.  Try: gem pristine json --version 2.1.0
Ignoring linux_block_device-0.2.1 because its extensions are not built.  Try: gem pristine linux_block_device --version 0.2.1
Ignoring memory_buffer-0.1.0 because its extensions are not built.  Try: gem pristine memory_buffer --version 0.1.0
Ignoring nio4r-2.3.1 because its extensions are not built.  Try: gem pristine nio4r --version 2.3.1
Ignoring nokogiri-1.8.2 because its extensions are not built.  Try: gem pristine nokogiri --version 1.8.2
Ignoring ovirt-engine-sdk-4.2.4 because its extensions are not built.  Try: gem pristine ovirt-engine-sdk --version 4.2.4
Ignoring pg-0.18.4 because its extensions are not built.  Try: gem pristine pg --version 0.18.4
Ignoring puma-3.7.1 because its extensions are not built.  Try: gem pristine puma --version 3.7.1
Ignoring qpid_proton-0.22.0 because its extensions are not built.  Try: gem pristine qpid_proton --version 0.22.0
Ignoring rugged-0.27.4 because its extensions are not built.  Try: gem pristine rugged --version 0.27.4
Ignoring sqlite3-1.3.13 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.13
Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5
Ignoring websocket-driver-0.6.5 because its extensions are not built.  Try: gem pristine websocket-driver --version 0.6.5
Error: Could not request certificate: Failed to open TCP connection to puppet:8140 (getaddrinfo: Name or service not known)
Exiting; failed to retrieve certificate and waitforcert is disabled

=======