From 42c078422cf1cb59aa3124667dff7ab2abae7553 Mon Sep 17 00:00:00 2001 From: Wido den Hollander Date: Thu, 21 Jun 2012 12:20:04 +0200 Subject: [PATCH] ubuntu: Fix the wait_for_network method in the agent init script. The init script was waiting for cloudbr0 to come up, but it's not mandatory that this bridge is available. We now wait for at least one bridge to be up before starting the cloud agent. --- agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in b/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in index ea47440ecfa..c4607cbb799 100755 --- a/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in +++ b/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in @@ -50,7 +50,9 @@ wait_for_network() { i=1 while [ $i -lt 10 ] do - if ip addr show cloudbr0 |grep -w inet > /dev/null 2>&1; then + # Under Ubuntu and Debian libvirt by default creates a bridge called virbr0. + # That's why we want more then 3 lines back from brctl, so that there is a manually created bridge + if [ "$(brctl show|wc -l)" -gt 2 ]; then break else sleep 1 @@ -74,9 +76,8 @@ start() { log_end_msg 1 exit 1 fi - - #FIXME: wait for network - wait_for_network + + wait_for_network if start-stop-daemon --start --quiet \ --pidfile "$PIDFILE" \