gdb_ovn_northd_ex=false
gdb_ovn_controller=false
gdb_ovn_controller_ex=false
+gdb_ovn_controller_vtep=false
+gdb_ovn_controller_vtep_ex=false
builddir=
srcdir=
schema=
-d, --gdb-ovsdb run ovsdb-server under gdb
--gdb-ovn-northd run ovn-northd under gdb
--gdb-ovn-controller run ovn-controller under gdb
+ --gdb-ovn-controller-vtep run ovn-controller-vtep under gdb
-R, --gdb-run automatically start running the daemon in gdb
for any daemon set to run under gdb
-S, --schema=FILE use FILE as vswitch.ovsschema
--gdb-ovn-controller)
gdb_ovn_controller=true
;;
+ --gdb-ovn-controller-vtep)
+ gdb_ovn_controller_vtep=true
+ ;;
-o|--ovn)
ovn=true
;;
gdb_ovsdb_ex=true
gdb_ovn_northd_ex=true
gdb_ovn_controller_ex=true
+ gdb_ovn_controller_vtep_ex=true
;;
-*)
echo "unrecognized option $option (use --help for help)" >&2
echo >&2 'source directory not found, please use --srcdir'
exit 1
fi
+ vtep_schema=$srcdir/vtep/vtep.ovsschema
+ if test ! -e "$vtep_schema"; then
+ echo >&2 'source directory not found, please use --srcdir'
+ exit 1
+ fi
fi
# Put built tools early in $PATH.
echo >&2 'build not found, please change set $builddir or change directory'
exit 1
fi
- PATH=$builddir/ovsdb:$builddir/vswitchd:$builddir/utilities:$PATH
+ PATH=$builddir/ovsdb:$builddir/vswitchd:$builddir/utilities:$builddir/vtep:$PATH
if $ovn; then
- PATH=$builddir/ovn:$builddir/ovn/controller:$builddir/ovn/northd:$PATH
+ PATH=$builddir/ovn/controller:$builddir/ovn/controller-vtep:$builddir/ovn/northd:$builddir/ovn/utilities:$PATH
fi
export PATH
else
if $built; then
# Easy access to OVS manpages.
- (cd "$builddir" && ${MAKE} install-man mandir="$sandbox"/man)
+ (cd "$builddir" && ${MAKE-make} install-man mandir="$sandbox"/man)
MANPATH=$sandbox/man:; export MANPATH
fi
touch "$sandbox"/.ovnnb.db.~lock~
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"
+ run ovsdb-tool create vtep.db "$vtep_schema"
+ ovsdb_server_args="vtep.db conf.db"
+ ovsdb_sb_server_args="ovnsb.db"
+ ovsdb_nb_server_args="ovnnb.db"
fi
rungdb $gdb_ovsdb $gdb_ovsdb_ex ovsdb-server --detach --no-chdir --pidfile -vconsole:off --log-file \
--remote=punix:"$sandbox"/db.sock $ovsdb_server_args
+if $ovn; then
+ rungdb $gdb_ovsdb $gdb_ovsdb_ex ovsdb-server --detach --no-chdir \
+ --pidfile="$sandbox"/ovnnb_db.pid -vconsole:off \
+ --log-file="$sandbox"/ovnnb_db.log \
+ --remote=punix:"$sandbox"/ovnnb_db.sock $ovsdb_nb_server_args
+ rungdb $gdb_ovsdb $gdb_ovsdb_ex ovsdb-server --detach --no-chdir \
+ --pidfile="$sandbox"/ovnsb_db.pid -vconsole:off \
+ --log-file="$sandbox"/ovnsb_db.log \
+ --remote=punix:"$sandbox"/ovnsb_db.sock $ovsdb_sb_server_args
+fi
#Add a small delay to allow ovsdb-server to launch.
sleep 0.1
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:hostname=sandbox
+ ovs-vsctl set open . external-ids:ovn-remote=unix:"$sandbox"/ovnsb_db.sock
ovs-vsctl set open . external-ids:ovn-encap-type=geneve
ovs-vsctl set open . external-ids:ovn-encap-ip=127.0.0.1
- ovs-vsctl add-br br-int \
- -- set bridge br-int fail-mode=secure other-config:disable-in-band=true
- rungdb $gdb_ovn_northd $gdb_ovn_northd_ex ovn-northd --detach --no-chdir --pidfile -vconsole:off --log-file
- rungdb $gdb_ovn_controller $gdb_ovn_controller_ex ovn-controller --detach --no-chdir --pidfile -vconsole:off --log-file
+ rungdb $gdb_ovn_northd $gdb_ovn_northd_ex ovn-northd --detach \
+ --no-chdir --pidfile -vconsole:off --log-file \
+ --ovnsb-db=unix:"$sandbox"/ovnsb_db.sock \
+ --ovnnb-db=unix:"$sandbox"/ovnnb_db.sock
+ rungdb $gdb_ovn_controller $gdb_ovn_controller_ex ovn-controller \
+ --detach --no-chdir --pidfile -vconsole:off --log-file
+ rungdb $gdb_ovn_controller_vtep $gdb_ovn_controller_vtep_ex \
+ ovn-controller-vtep --detach --no-chdir --pidfile -vconsole:off \
+ --log-file --ovnsb-db=unix:"$sandbox"/ovnsb_db.sock
fi
cat <<EOF
----------------------------------------------------------------------
You are running in a dummy Open vSwitch environment. You can use
ovs-vsctl, ovs-ofctl, ovs-appctl, and other tools to work with the
-dummy switch.
+dummy switch.
+EOF
+if $ovn; then cat << EOF
+This environment also has the OVN daemons and databases enabled.
+You can use ovn-nbctl and ovn-sbctl to interact with the OVN databases.
+
+EOF
+fi
+cat <<EOF
Log files, pidfiles, and the configuration database are in the
"sandbox" subdirectory.