Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Mar 1999 05:48:36 -0700
From:      Brandon Gillespie <brandon@roguetrader.com>
To:        freebsd-hackers@freebsd.org
Subject:   New rc/init system
Message-ID:  <19990301054835.A18962@ice.cold.org>

next in thread | raw e-mail | index | archive | help

--TB36FDmn/VVEgNH/
Content-Type: text/plain; charset=us-ascii

After the many responses to the earlier troll I made on the rc/init
system in FreeBSD, I closeted myself away and started to hack on an
idea, based on the many suggestions people made.  The schema I have
ended up with is called the Service Administration System (SAS).  I
have an informal specification for it available at:

    http://www.roguetrader.com/~brandon/sas/

Along with all of the prototype code I have.

So what is it?

SAS uses a heirarchy of services and dependancies to determine init
order.  It maintains a private registry of these services, along with
packages that provide the services.  The command utility can be used
to start/stop services or packages.  For example:

    sas down http
    sas down apache-1.3b5

Would get the same result (as only one package could be providing any
single service).  Furthermore, sas would tie into the HTTP
dependancies (if there are any) and prompt for the proper actions to
take if other services are dependant upon it.

Services can also be gathered into collections which simply depend
upon other services, thus creating a heirarchy with one (or more)
tops, each defining different run-states.  For the time being the
registry only has one top (System).  Furthermore, SAS could be
expanded to cover High Availability and multiple Run Modes/States (see
the docs for more details).

SAS uses the existing /etc/rc.conf setup for configuration information
on all services, with a few additions for managing values for each
package.  Automation scripts (in bourne-shell) are located in
sbin/init.d, and the sas registry is located at etc/sas.

Furthermore, a few add-ons are suggested for the package system, to
help automate package/port registration with the SAS system, when they
also require automation and/or provide a service.

Current Status:

    * The SAS utility program (sas) is rudimantarily functional,
      including allowing for changes to each registry, and proper
      traversal of the tree for starting services.
    * Automation script API is defined and two automation scripts
      are defined (rc-fsck and a skeleton rc-test).

Before I start chewing on a bunch of bourne scripts to actually
implement a system startup, I figured I would toss the whole thing
out to the masses for input.  Is it worth pursuing, or just an
academic fancy?

I look forward to everybodies input.

-Brandon Gillespie

--TB36FDmn/VVEgNH/
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
MessageID: WQiyDIfril5U7z7VRjNsIaeoHSsQtq+7

iQA/AwUBNtqMo0v5XoQiMgn6EQL4rgCfc1EPVppSupCCzMOc7/XoBgkE7XUAoLV0
b8tc+7A+F+s7vJk3FSezHmKa
=IJUK
-----END PGP SIGNATURE-----

--TB36FDmn/VVEgNH/--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990301054835.A18962>