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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
