chef

https://github.com/opscode/chef

Ruby

A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

Chef::Provider::Service::Upstart#initialize

Upstart does more than start or stop a service, creating multiple 'states' [1] that a service can be in.
In chef, when we ask a service to start, we expect it to have started before performing the next step
since we have top down dependencies. Which is to say we may follow witha resource next that requires
that service to be running. According to [2] we can trust that sending a 'goal' such as start will not
return until that 'goal' is reached, or some error has occurred.

[1] http://upstart.ubuntu.com/wiki/JobStates
[2] http://www.netsplit.com/2008/04/27/upstart-05-events/

Source | Google | Stack overflow

Edit

git clone [email protected]:opscode/chef.git

cd chef

open lib/chef/provider/service/upstart.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Chef--Provider--Service--Upstart-initialize-for-pr


# Commit to git

git add lib/chef/provider/service/upstart.rbgit commit -m "better docs for Chef::Provider::Service::Upstart#initialize"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Chef--Provider--Service--Upstart-initialize-for-pr

hub pull-request


# Celebrate!