On 06/27/2011 06:36 PM, Alan Pevec wrote:
On 06/27/2011 10:59 PM, Steven Dake wrote:
> Currently the Audrey script runs as a replacement to rc.local. Matahari
> runs at S99. The general idea is for Audrey script to run as S98
> (before Matahari) and write a management-wide unique instance UUID to
Relying on start priority levels seems fragile, esp. with systemd which "provides
> the file /etc/vm_machine_id (audrey has access to this information).
> Matahari could be changed to read /etc/vm_machine_id first. If that
> file doesn't exist, /var/lib/dbus/machine_id would be read.
> This creates some difficulty in running the audrey script at a specific
> runlevel (it requires some changes to oz to insert init scripts).
To express such dependency you could use LSB initscript header Required-Start: in
matahari initscript (which one, matahari-host I guess?)
but such dependency in Matahari doesn't seem right.
In systemd unit file you could specify Before and After, but that's only for Fedora
> Another option is for the current rc.local script that audrey replaces
> to run the Matahari service starting giblits as its first action.
That actually might be the most reliable and portable way.
Just one thing to keep in mind... Matahari has to be runnable in
environments where Audrey doesn't exist (i.e. outside of the Cloud,
maybe on bare metal hosts, etc)
So don't introduce a hard dependency on Audrey. It has to be 'if Audrey
is present, matahari needs to run after Audrey. Otherwise, if Audrey is
not present, matahari runs at runlevel foo'
Also... I hate bunching up services towards the end of the list (98, 99,
etc). Is there any reason why these aren't slightly lower in the
runlevel numbering so that we aren't almost falling off the end?