lxc-start-ephemeral: startup time improvement

Re-organize the code to only call get_ips() when we actually need
the IP address of the container.

Also bump the timeout for get_ips() from 5s to 10s to accomodate
slower machines.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
Stéphane Graber 2012-09-13 10:08:39 -04:00
parent 6506255cfd
commit abbe2ead95

View File

@ -233,26 +233,27 @@ if not dest.start() or not dest.wait("RUNNING", timeout=5):
dest.destroy() dest.destroy()
sys.exit(1) sys.exit(1)
# Try to get the IP addresses # Deal with the case where we just attach to the container's console
ips = dest.get_ips(timeout=5) if not args.command and not args.daemon:
dest.console(tty=1)
dest.shutdown(timeout=5)
sys.exit(0)
# Deal with the case where we don't start a command in the container # Try to get the IP addresses
if not args.command: ips = dest.get_ips(timeout=10)
if args.daemon:
print(_("""The ephemeral container is now started. # Deal with the case where we just print info about the container
if args.daemon:
print(_("""The ephemeral container is now started.
You can enter it from the command line with: lxc-console -n %s You can enter it from the command line with: lxc-console -n %s
The following IP addresses have be found in the container: The following IP addresses have be found in the container:
%s""") % ( %s""") % (
dest.name, dest.name,
"\n".join([" - %s" % entry for entry in ips] "\n".join([" - %s" % entry for entry in ips]
or [" - %s" % _("No address could be found")]) or [" - %s" % _("No address could be found")])
)) ))
sys.exit(0) sys.exit(0)
else:
dest.console(tty=1)
dest.shutdown(timeout=5)
sys.exit(0)
# Now deal with the case where we want to run a command in the container # Now deal with the case where we want to run a command in the container
if not ips: if not ips: