Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Duplicate
-
None
-
None
-
We run Puppet on Ubuntu 16.04 LTS, Puppet Versions are:
puppet-agent: 1.6.0-1xenial
puppetserver: 2.5.0-1puppetlabs1Both packages installed from the Puppetlabs repo for Xenial.
Description
Hi,
after updating puppet-agent and puppetserver in our environment today, the manifests which use puppetlabs-apache (more specifically apache::mod::autoindex) won't compile anymore.
Before the update:
puppet-agent on Puppetmaster: 1.5.3
puppetserver on Puppetmaster: 2.4.0
puppetlabs-apache: 1.10.0
puppet-agent on node: 1.5.3
After the update:
puppet-agent on Puppetmaster: 1.6.0
puppetserver on Puppetmaster: 2.5.0
puppetlabs-apache: 1.10.0
puppet-agent on node: 1.6.0
The manifest on the node sets up an Apache with mod_autoindex:
include apache::mod::autoindex
root@node:/tmp# puppet agent -t --debug --trace --noop
Debug: Applying settings catalog for sections main, agent, ssl
Debug: Failed to load library 'selinux' for feature 'selinux'
Debug: Using settings: adding file resource 'confdir': 'File[/etc/puppetlabs/puppet]{:path=>"/etc/puppetlabs/puppet", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Using settings: adding file resource 'codedir': 'File[/etc/puppetlabs/code]{:path=>"/etc/puppetlabs/code", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'
Debug: Facter: searching for custom fact "operatingsystem".
Debug: Facter: searching for operatingsystem.rb in /opt/puppetlabs/puppet/cache/lib/facter.
Debug: Facter: searching for operatingsystem.rb in /opt/puppetlabs/puppet/cache/lib/facter.
Debug: Facter: fact "facterversion" has resolved to "3.4.0".
Debug: Facter: fact "aio_agent_version" has resolved to "1.6.0".
Debug: Facter: searching "/opt/puppetlabs/facter/facts.d" for external facts.
Debug: Facter: skipping external facts for "/etc/facter/facts.d": No such file or directory
Debug: Facter: skipping external facts for "/etc/puppetlabs/facter/facts.d": No such file or directory
Debug: Facter: no external facts were found.
Debug: Facter: resolving operating system facts.
Debug: Facter: resolving kernel facts.
Debug: Facter: fact "kernel" has resolved to "Linux".
Debug: Facter: fact "kernelrelease" has resolved to "4.4.0-28-generic".
Debug: Facter: fact "kernelmajversion" has resolved to "4.4".
Debug: Facter: fact "kernelversion" has resolved to "4.4.0".
Debug: Facter: executing command: /usr/bin/lsb_release -a
Debug: Facter: Distributor ID: Ubuntu
Debug: Facter: Description: Ubuntu 16.04 LTS
Debug: Facter: Release: 16.04
[...]
Debug: Using cached connection for https://puppetmaster:8140
Debug: Caching connection for https://puppetmaster:8140
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Invalid relationship: File[autoindex.conf]
, because Exec[mkdir ] doesn't seem to be in the catalog
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/rest.rb:269:in `is_http_200?'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/rest.rb:167:in `find'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:194:in `find'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:434:in `block in retrieve_new_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:386:in `block in thinmark'
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:385:in `thinmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:433:in `retrieve_new_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:78:in `retrieve_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:147:in `prepare_and_retrieve_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:309:in `run_internal'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:221:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:240:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:195:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (4 levels) in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lock'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (3 levels) in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:98:in `with_client'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `block (2 levels) in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:65:in `run_in_fork'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:41:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `call'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/agent.rb:39:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:353:in `onetime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/agent.rb:331:in `run_command'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:540:in `exit_on_fail'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:344:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `execute'
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
I did some testing with different versions of puppet-agent and puppetserver (PM -> Puppetmaster, N -> Node):
PM: Agent 1.6.0, Server 2.5.0; N: Agent 1.6.0 -> fail
PM: Agent 1.6.0, Server 2.5.0; N: Agent 1.5.3 -> fail
PM: Agent 1.6.0, Server 2.4.0; N: Agent 1.6.0 -> fail
PM: Agent 1.6.0, Server 2.4.0; N: Agent 1.5.3 -> fail
PM: Agent 1.5.3, Server 2.4.0; N: Agent 1.5.3 -> ok
PM: Agent 1.5.3, Server 2.4.0; N: Agent 1.6.0 -> ok
PM: Agent 1.5.3, Server 2.5.0; N: Agent 1.6.0 -> ok
So, as soon as puppet-agent 1.6.0 is installed on the Puppetmaster, puppetlabs-apache breaks manifest compilation.
I have other nodes running which use puppetlabs-apache to setup an Apache httpd (but without including apache::mod::autoindex), and there I don't see this issue.
Please feel free to get in touch if you need more information.
Cheers,
Tom.