tripleo-incubator/scripts/setup-network
Kui Shi c76aee05e2 Avoid "virsh net-destroy" on inactive bridge
If running "virsh net-destroy" on inactive bridge will get error:
error: Requested operation is not valid: network is not active

Change the logic to a simple&direct one to remove bridge.

Change-Id: Ie0341a1fc09c16c1b9427e847b9dbf9afd25f69e
Closes-Bug: #1256510
2013-12-02 06:28:33 +08:00

32 lines
937 B
Bash
Executable File

#!/bin/bash
set -eu
BASE=$(dirname $0)/../
BRIDGE_SUFFIX=${1:-''}
BRIDGE_NAME=brbm$BRIDGE_SUFFIX
# Only add bridge if missing
(sudo ovs-vsctl list-br | grep ${BRIDGE_NAME}$) || sudo ovs-vsctl add-br ${BRIDGE_NAME}
# remove bridge before replacing it.
(virsh net-list --persistent | grep "${BRIDGE_NAME} ") && virsh net-destroy ${BRIDGE_NAME}
(virsh net-list --inactive --persistent | grep "${BRIDGE_NAME} ") && virsh net-undefine ${BRIDGE_NAME}
virsh net-define <(sed s/brbm/$BRIDGE_NAME/ $BASE/templates/brbm.xml)
virsh net-autostart ${BRIDGE_NAME}
virsh net-start ${BRIDGE_NAME}
# start default if needed and configure it to autostart
default_net=$(sudo virsh net-list --all --persistent | grep default | awk 'BEGIN{OFS=":";} {print $2,$3}')
state=${default_net%%:*}
autostart=${default_net##*:}
if [ "$state" != "active" ]; then
virsh net-start default
fi
if [ "$autostart" != "yes" ]; then
virsh net-autostart default
fi