[lxc-devel] [PATCH] Use container specific domain socket name
Serge Hallyn
serge.hallyn at ubuntu.com
Tue Apr 16 13:52:56 UTC 2013
Quoting S.Çağlar Onur (caglar at 10ur.org):
> Hi Serge,
>
> I was just following your lead as you said you don't wan't any long running
> monitor daemon :)
Yup, at this point I"m going for the least bad solution. (since the best
solution, multicast af_unix, isn't possible :)
> Also I'm not sure how does that daemon is going to help
> starting multiple containers concurrently using only API. I'm guessing the
> first request will cause that daemon to start and it will never end
> unless specifically told it to shutdown?
So basically,
c1 - --> m1
\ /
c2 -----> "\0$lxcpath" Daemon -------> m2
/ \
c3 -/ --> m3
m1 is the first lxc-monitor someone started. It sees that "\0$lxcpath"
is not bound, so fires off a long-running daemon listening for events on
"\0$lxcpath", and doing listen/accept at "\0$lxcpath.M". Then m1
connects to to that daemon on "\0$lxcpath.M" and listens for events. m2
starts, connects to "\0$lxcpath.M", and listens for events. m3. does
the same. m1 exits, but the daemon continues.
c1 starts up, simply sends events as it does not to "\0$lxcpath". If
that socket doesn't exist it ignores it. If it's busy, it resends.
I won't be surprised if/when there turn out to be AF_UNIX-specific
reasons why we can't do this.
-serge
More information about the lxc-devel
mailing list