Thursday, September 18, 2014

Chef! Where is my Ubuntu 14.04 service support? [feedly]



----
Chef! Where is my Ubuntu 14.04 service support?
// Chef Blog

So you've decided to update or use Ubuntu 14.04 LTS. You've probably started leveraging Chef in some awesome way. The problem is, you put in a nice little service Resource and see something like:

Chef::Exceptions::Exec  ----------------------  /usr/sbin/update-rc.d <some_awesome_service> defaults returned 1, expected 0  
This is frustrating because Ubuntu 14.04 decided to ship with two different init systems. Upstart is the default init system, but most services are still in the SysV init.

The tl;dr, if you have a service Resource that fails with something like the above error you can add the Provider like this:

If you're Ubuntu 14.04 only:

service "some_awesome_service" do    provider Chef::Provider::Service::Upstart    supports :restart => true    action [:enable,:start]  end  
If you're >= Ubuntu 12.04 and Ubuntu 14.04 with some conditional logic:
service "some_awesome_service" do    case node["platform"]    when "ubuntu"      if node["platform_version"].to_f >= 14.04        provider Chef::Provider::Service::Upstart      end    end    action [:enable, :start]    supports :restart => true  end  
Chef attempted to cover the majority of the use cases and defaults to the SysV init system for Ubuntu. Take for instance the openssh cookbook has this work around already built in. An RFC has been opened to discuss the challenge that if we change it to Upstart, we'll break 1/2 of major services using SysV.

We'd like to tip our hat to a community member: Matthew McMillan for his post about a work around for this issue. We've leveraged it a few places, and it's the current best short term answer.

Ubuntu 14.04 is going to be around until at least April 2019, and we are trying to figure out the correct solution. Let's continue discussing this at the Chef Summit, or you're more than welcome to comment on the RFC.


----

Shared via my feedly reader




Sent from my iPad

No comments:

Post a Comment