Comment 1 for bug 1197754

Revision history for this message
Serge Hallyn (serge-hallyn) wrote : Re: [Bug 1197754] [NEW] "lxc-start-ephemeral -d" is racy

Quoting Robie Basak (<email address hidden>):
> Public bug reported:
>
> A script cannot call lxc-start-ephemeral and get a named container in a
> reliable, race-free way.
>
> Having the caller specify a name directly is racy, since the name could
> have been taken in between checking that it doesn't exist already and
> calling lxc-start-ephemeral.

Practically speaking, have you actually created the container name with
mktemp (i.e. mktemp -u -t lxc-XXXXXX | sed 's@/tmp/@@') and gotten name
clashes?

> Allowing lxc-start-ephemeral allows it to take care of the mkdir (and
> retries) to generate an LXC container name in a race free manner, but
> this needs -d to return the name in a machine-readable way, so that we
> can create ephemeral LXC containers from scripts.
>
> Please add a machine-readable mechanism to "lxc-start-ephemeral -d" and
> then we can modify adt-virt-lxc to use it.

That does sound like a good idea - we could add a '--terse' suboption to
-d to only print '$name $ip'