Upstart Administration

Registered by Mark Russell on 2011-10-25

In what ways can we improve Upstart from an administrators perspective? What would make sysadmin's lives easier?

- custom actions [e.g. status, force-reload, try-restart]
- programmatic enabling/disabling of services
- improved logging
- serialized/interactive boot
- suggested new common events? (see `man upstart-events` for current examples)
- ability to list "services which will start on boot"
- fixing LP bug: 406397 would make writing/testing new jobs easier

See last cycle's blueprint for reference:
https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-upstart-for-admins

Blueprint information

Status:
Not started
Approver:
Steve Langasek
Priority:
Medium
Drafter:
James Hunt
Direction:
Approved
Assignee:
James Hunt
Definition:
Approved
Series goal:
Accepted for precise
Implementation:
Unknown
Milestone target:
milestone icon precise-alpha-2

Whiteboard

(Paste of http://summit.ubuntu.com/uds-p/meeting/19625/foundations-p-upstart-for-admins/)

= Thoughts/Ideas =

* adding 'custom action' idea (bug 94873) would break the elegance of the Upstart design. Probably better to enhance abilities of 'reload'/'restart'. We need to understand the reasons for users adding custom actions. Primary reason is probably for a SysV-like 'status' command.
* consider providing ability to customize reload and restart by either sending arbitrary signals, or running scripts, etc.
* consider adding a new stanza ('file'? 'include'? 'source'?) that would allow a file of variables to be read and set in the jobs environment. This is similar to sourcing /etc/default/myapp. Compare with ability to set config variables in the job configuration file itself using the 'env' stanza. The major issues from Upstarts perspective:
  - handling of circular dependencies (assuming each included file could itself include others)
  - handling scenario where include files are not yet accessible (ie "include /mnt/network-drive/foo")
* simplify configuration of common services
* consider including/developing jobsadmin (graphical frontend to allow for easy job/service administration and configuration)

= Comments =

[jamesodhunt] I don't feel we are at the stage where a gui would be helpful. However, this will change once we have a chkconfig-like facility and a way to disable jobs.

Work items:
[clint-fewbar] blog about wait-for-state.conf
[jamesodhunt] Consider validity / use-cases for 'custom actions' (bug 94873): POSTPONED
[jamesodhunt] Gather thoughts and use-cases from Community regarding enhancing restart/reload: TODO
[jamesodhunt] Investigate and document findings for 'include' stanza idea: TODO

(?)

Work Items