Check out the new USENIX Web site. next up previous
Next: Packaging the Solution Up: The Solution Previous: Distribution Specific Paths


Abstracting the Init System

Since LifeKeeper protects applications, which may themselves have a presence in the init system, we must be able to manipulate other applications' init parameters at a basic level. We find there are four functions we need to abstract:

For shell scripts, we make the distribution specific component provide the implementation (as separately callable commands). For example initstop apache is implemented as /etc/rc.d/init.d/httpd stop on RedHat, but as /etc/init.d/apache stop on SuSE. Note that even the service name has to be translated. As another example, initdisable apache becomes /sbin/chkconfig httpd off on RedHat but /sbin/insserv -r apache on SuSE.



James Bottomley 2001-09-13