#! /bin/sh
#
-# Copyright (c) 2013 Nicira, Inc.
+# Copyright (c) 2013, 2015 Nicira, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
if $under_gdb && [ "$DISPLAY" ]; then
args=`echo $@ |sed s/--detach//g | sed s/--vconsole:off//g`
xterm_title=$1
- run_xterm $xterm_title gdb --args $args
+ run_xterm $xterm_title gdb -ex run --args $args
else
run $@
fi
gdb_vswitchd=false
gdb_ovsdb=false
gdb_ovn_nbd=false
+gdb_ovn_controller=false
builddir=
srcdir=
schema=
installed=false
built=false
ovn=false
-ovnschema=
-ovnnbschema=
+ovnsb_schema=
+ovnnb_schema=
for option; do
# This option-parsing mechanism borrowed from a Autoconf-generated
-g, --gdb-vswitchd run ovs-vswitchd under gdb
-d, --gdb-ovsdb run ovsdb-server under gdb
--gdb-ovn-nbd run ovn-nbd under gdb
+ --gdb-ovn-controller run ovn-controller under gdb
-S, --schema=FILE use FILE as vswitch.ovsschema
-o, --ovn enable OVN
--gdb-ovn-nbd)
gdb_ovn_nbd=true
;;
+ --gdb-ovn-controller)
+ gdb_ovn_controller=true
+ ;;
-o|--ovn)
ovn=true
;;
exit 1
fi
if $ovn; then
- ovnschema=$srcdir/ovn/ovn.ovsschema
- if test ! -e "$ovnschema"; then
+ ovnsb_schema=$srcdir/ovn/ovn-sb.ovsschema
+ if test ! -e "$ovnsb_schema"; then
echo >&2 'source directory not found, please use --srcdir'
exit 1
fi
- ovnnbschema=$srcdir/ovn/ovn-nb.ovsschema
- if test ! -e "$ovnnbschema"; then
+ ovnnb_schema=$srcdir/ovn/ovn-nb.ovsschema
+ if test ! -e "$ovnnb_schema"; then
echo >&2 'source directory not found, please use --srcdir'
exit 1
fi
fi
PATH=$builddir/ovsdb:$builddir/vswitchd:$builddir/utilities:$PATH
if $ovn; then
- PATH=$builddir/ovn:$PATH
+ PATH=$builddir/ovn:$builddir/ovn/controller:$PATH
fi
export PATH
else
run ovsdb-tool create conf.db "$schema"
ovsdb_server_args=
if $ovn; then
- touch "$sandbox"/.ovn.db.~lock~
+ touch "$sandbox"/.ovnsb.db.~lock~
touch "$sandbox"/.ovnnb.db.~lock~
- run ovsdb-tool create ovn.db "$ovnschema"
- run ovsdb-tool create ovnnb.db "$ovnnbschema"
- ovsdb_server_args="ovn.db ovnnb.db conf.db"
+ run ovsdb-tool create ovnsb.db "$ovnsb_schema"
+ 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 \
--remote=punix:"$sandbox"/db.sock $ovsdb_server_args
+# Initialize database.
+run ovs-vsctl --no-wait -- init
+
# Start ovs-vswitchd.
rungdb $gdb_vswitchd ovs-vswitchd --detach --no-chdir --pidfile -vconsole:off --log-file \
--enable-dummy=override -vvconn -vnetdev_dummy
if $ovn; then
+ ovs-vsctl set open . external-ids:system-id=56b18105-5706-46ef-80c4-ff20979ab068
+ ovs-vsctl set open . external-ids:ovn-remote=unix:"$sandbox"/db.sock
+ ovs-vsctl set open . external-ids:ovn-encap-type=vxlan
+ ovs-vsctl set open . external-ids:ovn-encap-ip=127.0.0.1
+ ovs-vsctl add-br br-int
+
rungdb $gdb_ovn_nbd ovn-nbd --detach --no-chdir --pidfile -vconsole:off --log-file
+ rungdb $gdb_ovn_controller ovn-controller --detach --no-chdir --pidfile -vconsole:off --log-file
fi
cat <<EOF