[illumos-Developer] zones design question - common door service in all zones?

Jason King jason.brian.king at gmail.com
Sat Mar 5 12:44:55 PST 2011


On Sat, Mar 5, 2011 at 1:17 PM, Gordon Ross <gordon.w.ross at gmail.com> wrote:
> I would like to build a user-level door service that runs only in
> the global zone (needs to be one instance system-wide) but
> which instantiates a service door in every zone.
>
> It would be simplest for this service if it could some how just
> expose the same door descriptor attached to multiple files,
> one in var/run in each zone.  Or separate doors per zone
> would be OK but then this service would need to find out
> when tocreate/destroy those doors...

It appears you can do just that (door attached to multple files),
though it's appears that you might need to do a little more work
(fork/zone_enter/fattach instead of just fattach):

http://src.illumos.org/source/xref/illumos-opengrok/usr/src/cmd/zonestat/zonestatd/zonestatd.c#738

However, there was a specific call put into zoneadmd to notify the
zonestatd server once a zone is online (to trigger the
fork/zone_enter/fattach).  It appears to use zone_list to get a list
of what's running, and then do fork/zone_enter/fattach for any new
zones that come online afterwards, so you could probably do something
similar.

As a side note, couldn't both just subscribe to the zone state change
sysevent to determine when to fattach/detach instead of putting in
special cases into zoneadmd?

>
> Another thought is to give this service an in-kernel component,
> and let that somehow expose the service in all zones.
>
> Ideas?
>
> Thanks,
> Gordon
>
> _______________________________________________
> Developer mailing list
> Developer at lists.illumos.org
> http://lists.illumos.org/m/listinfo/developer
>



More information about the Developer mailing list