Hi,

We have on our server a little bot widget which allows a user to
create, modify, boot and pretty much manage his own zones.  What we're
finding out is that on the rare occasions when the bot is down
(administrative or fault), SMF helpfully restarts all our zones
because all the zoneadm live in the same CTID as the bot.  To fix this
I'm inserting a little ctrun wrapper around each "zoneadm boot".  What
I was aiming for is (almost) the same kind of resilience svc.startd
provides for services /it/ manages, but as I look a little bit deeper
into how zones are serviced, I don't think there's any such thing.
The svc-zones just maked sure zones are found and booted.  I check all
the zones that are auto-booted, they are orphaned by svc.startd.
Processes in zones come and go all the time, and the zoneadmd which is
spawned by a zone booting can also come and go.

This leads me to believe that I should not even try to do a ctrun -l
contract -r 0 -f ... of any kind but run it as -l none, and sort of
let whatever is under the hood of Solaris zones do what it can.  That
is, I'm just going to do this:

# ctrun -l none -f none zoneadm -z mynewzone boot

Comparing this method of starting up a zone and the typical way, I am
missing the parameter "pgrponly" but since I am the only member of the
contract and I have defined no fatal event, I don't think I need it?
Although the man page example for the shell uses it. I'm not sure
about this.

CT

Reply via email to