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

Puppet 3.X is now broken on Amazon AWS due to Ruby 2.0 being the default

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Won't Fix
    • PUP 3.2.3, PUP 3.5.0 RC
    • None
    • None
    • Amazon Linux 2013.09, Amazon Linux 2014.03

    Description

      Last week Amazon updated their AMIs (distributions) and repositories to 2014.03 and changed the default Ruby version from 1.8 to 2.0

      e.g.:
      – old behaviour
      rubygems = rubygems-1.8.25-8.12.amzn1
      – new behaviour
      rubygems = rubygems-2.0-0.3.amzn1
      – to get rubygems 1.8
      rubygems18 = rubygems-1.8.25-8.12.amzn1

      After these changes, Puppet crashes with the following error

      /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- puppet/util/command_line (LoadError)
      	from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require'
      	from /usr/bin/puppet:3:in `<main>'
      

      I was able to replicate this same behaviour on new fresh instances with nothing else installed, using puppetlabs.repo, with both 3.2.3 stable and 3.5.0-RC3 devel.

      Editing /usr/bin/puppet with these changes temporary fixes the problem

      - #!/usr/bin/ruby
      + #!/usr/bin/ruby18
      

      but Amazon will be removing in the near future ruby 1.8 and Puppet's documentation say 2.0 is supported

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              andresv Andrés Vergara
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support