Getting "Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter provider on Vcsrepo" while using puppet providers with multiple environments on satellite 6.1
Issue
-
Problem using puppet providers with multiple environments.
-
A bug exists in Puppet that causes issues when attempting to use modules that make use of custom providers in combination with multiple environments:
https://tickets.puppetlabs.com/browse/PUP-1515
This bug manifests itself prominently in Satellite, due to the extensive use of environments through Content Views.
- A manifest with the following code (using vcsrepo) triggers this issue:
vcsrepo { '/opt/git/hosdep-scripts':
ensure => latest,
provider => git,
require => [ Package["git"], File["/opt/git/ssh/id_rsa"] ],
source => 'git@eicilll009:hosdep.test.git',
identity => '/opt/git/ssh/id_rsa'
}
with the following output on a puppet run:
# puppet agent -t -v
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/staging_http_get.rb
Info: Loading facts in /var/lib/puppet/lib/facter/ip6tables_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/apt_reboot_required.rb
Info: Loading facts in /var/lib/puppet/lib/facter/service_provider.rb
Info: Loading facts in /var/lib/puppet/lib/facter/mysql_server_id.rb
Info: Loading facts in /var/lib/puppet/lib/facter/staging_windir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/apt_update_last_success.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/apt_updates.rb
Info: Loading facts in /var/lib/puppet/lib/facter/package_provider.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/rh_certificates.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables_persistent_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/haproxy_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppetgem.rb
Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/rsyslog_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/gemhome.rb
Info: Loading facts in /var/lib/puppet/lib/facter/mysql_version.rb
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter provider on Vcsrepo[/opt/git/hosdep-scripts] at /etc/puppet/environments/KT_European_Parliament_Lab_RHEL7_x86_64_2/modules/ep_base/manifests/ep_gitclone.pp:29 on node rhlinux02.ep.parl.union.eu
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
- The work around for this issue is manually applying the patch proposed here:
https://github.com/puppetlabs/puppet/pull/2963/files
This change works well for specific use case. This fix will be included in Puppet 3.7.5 according to the bugreport.
- Can this be backported ?
Environment
- Red Hat Satellite 6.1
- Puppet 3.7.5
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.