Uploaded image for project: 'Modules'
  1. Modules
  2. MODULES-3750

puppetlabs-apache module fails with puppet-agent 1.6.0 on Puppetmaster

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: apache, puppet_agent
    • Environment:

      We run Puppet on Ubuntu 16.04 LTS, Puppet Versions are:

      puppet-agent: 1.6.0-1xenial
      puppetserver: 2.5.0-1puppetlabs1

      Both packages installed from the Puppetlabs repo for Xenial.

    • Template:

      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]

      { require => Exec[mkdir ] }

      , 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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              Duke Thomas Hager
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support