Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-7901

Puppetized systems compile providers constrained to other systems

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Won't Fix
    • None
    • None
    • None
    • Puppet 3.8.7 server running on RHEL 7
      RHEL 6 and 7 clients all running Puppet 3.8.7
      Mac clients running Puppet 3.8.7

    • Hide

      Systems outside the constraints imposed by provider classes should not be attempting to compile them.

      Show
      Systems outside the constraints imposed by provider classes should not be attempting to compile them.
    • Needs Assessment
    • Needs Assessment

    Description

      We are running an environment of RHEL 6 and 7 and recently started puppetizing our Mac computers as well. When puppetizing the macs, we wanted to use the Homebrew module found in the forge. After doing no more than adding this module to our Puppetfile, RHEL 6 systems could no longer run Puppet. These systems throw the following error:

      Info: Loading facts
      Error: Could not autoload puppet/provider/package/brew: /var/lib/puppet/lib/puppet/provider/package/brew.rb:99: syntax error, unexpected ':', expecting ')'
      ...o, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:100: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:106: syntax error, unexpected ':', expecting ')'
      ...*install_options], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:123: syntax error, unexpected ':', expecting ')'
      ...l, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:124: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:134: syntax error, unexpected ':', expecting ')'
      ...e, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:135: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      Error: Could not autoload puppet/type/package: Could not autoload puppet/provider/package/brew: /var/lib/puppet/lib/puppet/provider/package/brew.rb:99: syntax error, unexpected ':', expecting ')'
      ...o, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:100: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:106: syntax error, unexpected ':', expecting ')'
      ...*install_options], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:123: syntax error, unexpected ':', expecting ')'
      ...l, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:124: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:134: syntax error, unexpected ':', expecting ')'
      ...e, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:135: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      Error: Could not retrieve catalog from remote server: Could not intern from text/pson: Could not autoload puppet/type/package: Could not autoload puppet/provider/package/brew: /var/lib/puppet/lib/puppet/provider/package/brew.rb:99: syntax error, unexpected ':', expecting ')'
      ...o, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:100: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:106: syntax error, unexpected ':', expecting ')'
      ...*install_options], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:123: syntax error, unexpected ':', expecting ')'
      ...l, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:124: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:134: syntax error, unexpected ':', expecting ')'
      ...e, resource_name], failonfail: true)
                                    ^
      /var/lib/puppet/lib/puppet/provider/package/brew.rb:135: syntax error, unexpected tASSOC
          rescue Puppet::ExecutionFailure => detail
                                            ^
      Warning: Not using cache on failed catalog
      Error: Could not retrieve catalog; skipping run
      

      It appears that these systems, which are limited to Ruby 1.8.7, are attempting to compile the providers included Homebrew module despite having no references to it and the providers being constrained to Darwin systems.

      A work around is to have the Macs on a separate environment with just the Homebrew module added to the Puppetfile. But, that's not a good solution.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mancusogmu Brian Mancuso
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Zendesk Support