opscode/opscode-omnibus — pull request #638 by jmink (2014-12-12 23:25:07+00:00)
Title: Runit should wait for drdb before starting backend services

Background info here: https://chef.leankit.com/Boards/View/111432846/146112858

In short the backend services have historically tried to start before the HA backing store was mounted and then got horribly confused. This prevents the backend ha services from starting until the backing datastore is mounted and passing basic tests.

It relies on the `ha_backend_storage status` command and is therefore backing storage level agnostic.

I tested it by hand on standalone (ensuring it built correctly and pedant passed) and with HA on EC2 (ebs) in which I ensured the services started correctly (with pedant tests passing) and then changed the backend storage status script to return 1 and saw that the services were waiting.

Wilson run: http://wilson.ci.opscode.us/job/chef-server-12-trigger-ad_hoc/231/