We would like to request sponsorship by the Service Management Facility
Community for a new project called the SMF Early Manifest Import Project or
EMI Project.

Currently, the manifest-import service runs fairly late in the boot
process.  The reason for this is that the service curently depends on /
being mounted read/write, and it requires access to /var/svc where the
manifest and profile files are located.  Because of this manifest-import is
dependent on the filesystem/minimal service.

Many services are already running, by the time that manifest-import runs.
These services fall into two categories.  The first is the obvious one of
services that are needed to boot the machine.  The second category is the
set of services that do not declare a dependency on manifest-import for
various reasons.  These reasons include neglect or more probably lack of
knowledge of the workings of SMF.  Whatever the reason, services in this
second category start as soon as their explicit dependencies are satisfied,
so they may start before the manifest-import service has completed its
work.

Services that run before manifest-import may encounter problems if their
manifest have been upgraded.  The services will be running with the old
property values that are stored in the repository rather than the new ones
that are sitting in the yet to be imported upgraded manifest.

Services that are added during an upgrade and that are needed during the
early boot process present problems to service developers.  They won't be
started, because startd doesn't know about them.  They have no
representation in the repositoy until their manifests are imported by
manifest-import.

Problems also occur for early boot services that are deleted during an
upgrade.  The code for their methods has been removed, but there is still a
representation for the service in the repository.  Because of this, startd
will try to start the service and not be able to find the start methods.

The proposed SMF Early Manifest Import (EMI) project will solve these
problems.  startd will run EMI before any services are started, and EMI
will import manifests and cleanup services that have been removed.  EMI
will allow a new location for manifest and profile files in /etc/svc.
Since this is part of the root filesystem, it will be available in the
earliest stages of the boot process.

The project team consists of Sean Wilcox, Tony Nguyen and Tom Whitten.

Reply via email to