summaryrefslogtreecommitdiff
path: root/tutorial/ovs-sandbox
diff options
context:
space:
mode:
Diffstat (limited to 'tutorial/ovs-sandbox')
-rwxr-xr-xtutorial/ovs-sandbox39
1 files changed, 36 insertions, 3 deletions
diff --git a/tutorial/ovs-sandbox b/tutorial/ovs-sandbox
index e8339f264..02145de44 100755
--- a/tutorial/ovs-sandbox
+++ b/tutorial/ovs-sandbox
@@ -28,7 +28,10 @@ run_xterm() {
rungdb() {
under_gdb=$1
+ gdb_run=$2
shift
+ shift
+
# Remove the --detach and to put the process under gdb control.
# Also remove --vconsole:off to allow error message to show up
# on the console.
@@ -36,7 +39,13 @@ rungdb() {
if $under_gdb && [ "$DISPLAY" ]; then
args=`echo $@ |sed s/--detach//g | sed s/--vconsole:off//g`
xterm_title=$1
- run_xterm $xterm_title gdb -ex run --args $args
+
+ gdb_cmd=""
+ if $gdb_run; then
+ gdb_cmd="-ex run"
+ fi
+
+ run_xterm $xterm_title gdb $gdb_cmd --args $args
else
run $@
fi
@@ -44,6 +53,8 @@ rungdb() {
gdb_vswitchd=false
gdb_ovsdb=false
+gdb_vswitchd_ex=false
+gdb_ovsdb_ex=false
gdb_ovn_northd=false
gdb_ovn_controller=false
builddir=
@@ -134,9 +145,19 @@ EOF
;;
-g|--gdb-v*)
gdb_vswitchd=true
+ gdb_vswitchd_ex=false
+ ;;
+ -e|--gdb-ex-v*)
+ gdb_vswitchd=true
+ gdb_vswitchd_ex=true
;;
-d|--gdb-ovsdb)
gdb_ovsdb=true
+ gdb_ovsdb_ex=false
+ ;;
+ -r|--gdb-ex-o*)
+ gdb_ovsdb=true
+ gdb_ovsdb_ex=true
;;
--gdb-ovn-northd)
gdb_ovn_northd=true
@@ -276,14 +297,26 @@ if $ovn; then
run ovsdb-tool create ovnnb.db "$ovnnb_schema"
ovsdb_server_args="ovnsb.db ovnnb.db conf.db"
fi
-rungdb $gdb_ovsdb ovsdb-server --detach --no-chdir --pidfile -vconsole:off --log-file \
+rungdb $gdb_ovsdb $gdb_ovsdb_ex ovsdb-server --detach --no-chdir --pidfile -vconsole:off --log-file \
--remote=punix:"$sandbox"/db.sock $ovsdb_server_args
+#Add a small delay to allow ovsdb-server to launch.
+sleep 0.1
+
+#Wait for ovsdb-server to finish launching.
+if test ! -e "$sandbox"/db.sock; then
+ echo -n "Waiting for ovsdb-server to start..."
+ while test ! -e "$sandbox"/db.sock; do
+ sleep 1;
+ done
+ echo " Done"
+fi
+
# Initialize database.
run ovs-vsctl --no-wait -- init
# Start ovs-vswitchd.
-rungdb $gdb_vswitchd ovs-vswitchd --detach --no-chdir --pidfile -vconsole:off --log-file \
+rungdb $gdb_vswitchd $gdb_vswitchd_ex ovs-vswitchd --detach --no-chdir --pidfile -vconsole:off --log-file \
--enable-dummy=override -vvconn -vnetdev_dummy
if $ovn; then