cc_chef fails when using 'gems' installer because Ubuntu 16.04 no longer includes Ruby 1.8
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Expired
|
High
|
Jon Grimm | ||
cloud-init (Ubuntu) |
Won't Fix
|
High
|
Unassigned |
Bug Description
Ubuntu 16.04
# dpkg -l | grep cloud-init
ii cloud-init 0.7.7~bzr1212-
ii cloud-initramfs
ii cloud-initramfs
Minimum Ruby version supported in Ubuntu 16.04 is Ruby 2.3.
Syslog output:
May 19 23:41:38 ubuntu [CLOUDINIT] util.py[DEBUG]: apt-update [eatmydata apt-get --option=
1 seconds
May 19 23:41:38 ubuntu [CLOUDINIT] util.py[DEBUG]: Running command ['eatmydata', 'apt-get', '--option=
et', 'install', 'ruby1.8', 'ruby1.8-dev', 'libopenssl-
May 19 23:41:39 ubuntu [CLOUDINIT] util.py[DEBUG]: apt-install [eatmydata apt-get --option=
uby1.8-dev libopenssl-ruby1.8 rubygems1.8] took 0.295 seconds
May 19 23:41:39 ubuntu [CLOUDINIT] handlers.py[DEBUG]: finish: modules-
May 19 23:41:39 ubuntu [CLOUDINIT] util.py[WARNING]: Running module chef (<module 'cloudinit.
May 19 23:41:39 ubuntu [CLOUDINIT] util.py[DEBUG]: Running module chef (<module 'cloudinit.
ent call last):#012 File "/usr/lib/
12 return self._runners.
ib/python3/
in install_chef#012 install_
distro.
glist)#012 File "/usr/lib/
es/cloudinit/
ExecutionError: Unexpected error while running command.
iet', 'install', 'ruby1.8', 'ruby1.8-dev', 'libopenssl-
# apt-cache policy ruby
ruby:
Installed: (none)
Candidate: 1:2.3.0+1
Version table:
1:2.3.0+1 500
500 http://
# apt-cache search ^ruby
rake - ruby make-like utility
ruby - Interpreter of object-oriented scripting language Ruby (default version)
ruby-all-dev - Ruby development environment (all versions supported in Debian)
ruby-dev - Header files for compiling extension modules for Ruby (default version)
ruby-did-you-mean - smart error messages for Ruby > 2.3
ruby-minitest - Ruby test tools supporting TDD, BDD, mocking, and benchmarking
ruby-net-telnet - telnet client library
ruby-power-assert - library showing values of variables and method calls in an expression
ruby-rrd - time-series data storage and display system (Ruby interfaces)
ruby-test-unit - unit testing framework for Ruby
ruby2.3 - Interpreter of object-oriented scripting language Ruby
ruby2.3-dev - Header files for compiling extension modules for the Ruby 2.3
ruby2.3-doc - Documentation for Ruby 2.3
Changed in cloud-init: | |
status: | New → Confirmed |
Changed in cloud-init (Ubuntu): | |
status: | New → Confirmed |
Changed in cloud-init: | |
importance: | Undecided → High |
Changed in cloud-init (Ubuntu): | |
importance: | Undecided → High |
Changed in cloud-init: | |
assignee: | nobody → Jon Grimm (jgrimm) |
Reproduced. Unfortunately, there's probably not a workaround in setting just setting (undocumented) 'ruby_version' in the config, as it seems to now require 'gcc' and possibly make as additional packages. I'd like to find someway to make this a bit less fragile to breaking, it would also be nice to make this work on debian and fedoras, but that'll probably have to wait for another day as I'd like to get things back to working state.