'\" p .\" -*- nroff -*- .TH "ovn-ctl" 8 "ovn-ctl" "OVN 21\[char46]06\[char46]0" "OVN Manual" .fp 5 L CR \\" Make fixed-width font available as \\fL. .de TQ . br . ns . TP "\\$1" .. .de ST . PP . RS -0.15in . I "\\$1" . RE .. .de SU . PP . I "\\$1" .. .PP .SH "NAME" .PP .PP ovn-ctl \- Open Virtual Network northbound daemon lifecycle utility .SH "SYNOPSIS" .PP \fBovn\-ctl\fR [\fIoptions\fR] \fIcommand\fR .SH "DESCRIPTION" .PP .PP This program is intended to be invoked internally by Open Virtual Network startup scripts\[char46] System administrators should not normally invoke it directly\[char46] .SH "COMMANDS" .TP \fBstart_northd\fR .TQ .5in \fBstart_controller\fR .TQ .5in \fBstart_controller_vtep\fR .TQ .5in \fBstart_ic\fR .TQ .5in \fBstop_northd\fR .TQ .5in \fBstop_controller\fR .TQ .5in \fBstop_controller_vtep\fR .TQ .5in \fBstop_ic\fR .TQ .5in \fBrestart_northd\fR .TQ .5in \fBrestart_controller\fR .TQ .5in \fBrestart_controller_vtep\fR .TQ .5in \fBrestart_ic\fR .TQ .5in \fBpromote_ovnnb\fR .TQ .5in \fBpromote_ovnsb\fR .TQ .5in \fBdemote_ovnnb\fR .TQ .5in \fBdemote_ovnsb\fR .TQ .5in \fBstatus_ovnnb\fR .TQ .5in \fBstatus_ovnsb\fR .TQ .5in \fBstart_ovsdb\fR .TQ .5in \fBstart_nb_ovsdb\fR .TQ .5in \fBstart_sb_ovsdb\fR .TQ .5in \fBstop_ovsdb\fR .TQ .5in \fBstop_nb_ovsdb\fR .TQ .5in \fBstop_sb_ovsdb\fR .TQ .5in \fBrestart_ovsdb\fR .TQ .5in \fBrun_nb_ovsdb\fR .TQ .5in \fBrun_sb_ovsdb\fR .TQ .5in \fBpromote_ic_nb\fR .TQ .5in \fBpromote_ic_sb\fR .TQ .5in \fBdemote_ic_nb\fR .TQ .5in \fBdemote_ic_sb\fR .TQ .5in \fBstatus_ic_nb\fR .TQ .5in \fBstatus_ic_sb\fR .TQ .5in \fBstart_ic_ovsdb\fR .TQ .5in \fBstart_ic_nb_ovsdb\fR .TQ .5in \fBstart_ic_sb_ovsdb\fR .TQ .5in \fBstop_ic_ovsdb\fR .TQ .5in \fBstop_ic_nb_ovsdb\fR .TQ .5in \fBstop_ic_sb_ovsdb\fR .TQ .5in \fBrestart_ic_ovsdb\fR .TQ .5in \fBrun_ic_nb_ovsdb\fR .TQ .5in \fBrun_ic_sb_ovsdb\fR .SH "OPTIONS" .PP \fB\-\-ovn\-northd\-priority=\fINICE\fB\fR .PP \fB\-\-ovn\-northd\-wrapper=\fIWRAPPER\fB\fR .PP \fB\-\-ovn\-controller\-priority=\fINICE\fB\fR .PP \fB\-\-ovn\-controller\-wrapper=\fIWRAPPER\fB\fR .PP \fB\-\-ovn\-ic\-priority=\fINICE\fB\fR .PP \fB\-\-ovn\-ic\-wrapper=\fIWRAPPER\fB\fR .PP \fB\-\-ovsdb\-nb\-wrapper=\fIWRAPPER\fB\fR .PP \fB\-\-ovsdb\-sb\-wrapper=\fIWRAPPER\fB\fR .PP \fB\-\-ovn\-user=\fIUSER:GROUP\fB\fR .PP \fB\-\-ovs\-user=\fIUSER:GROUP\fB\fR .PP \fB\-h\fR | \fB\-\-help\fR .SH "FILE LOCATION OPTIONS" .PP \fB\-\-db\-sock=\fISOCKET\fB\fR .PP \fB\-\-db\-nb\-file=\fIFILE\fB\fR .PP \fB\-\-db\-sb\-file=\fIFILE\fB\fR .PP \fB\-\-db\-nb\-schema=\fIFILE\fB\fR .PP \fB\-\-db\-sb\-schema=\fIFILE\fB\fR .PP \fB\-\-db\-sb\-create\-insecure\-remote=\fIyes|no\fB\fR .PP \fB\-\-db\-nb\-create\-insecure\-remote=\fIyes|no\fB\fR .PP \fB\-\-db\-ic\-nb\-file=\fIFILE\fB\fR .PP \fB\-\-db\-ic\-sb\-file=\fIFILE\fB\fR .PP \fB\-\-db\-ic\-nb\-schema=\fIFILE\fB\fR .PP \fB\-\-db\-ic\-sb\-schema=\fIFILE\fB\fR .PP \fB\-\-db\-ic\-sb\-create\-insecure\-remote=\fIyes|no\fB\fR .PP \fB\-\-db\-ic\-nb\-create\-insecure\-remote=\fIyes|no\fB\fR .PP \fB\-\-ovn\-controller\-ssl\-key=\fIKEY\fB\fR .PP \fB\-\-ovn\-controller\-ssl\-cert=\fICERT\fB\fR .PP \fB\-\-ovn\-controller\-ssl\-ca\-cert=\fICERT\fB\fR .PP \fB\-\-ovn\-controller\-ssl\-bootstrap\-ca\-cert=\fICERT\fB\fR .SH "ADDRESS AND PORT OPTIONS" .PP \fB\-\-db\-nb\-sync\-from\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-nb\-sync\-from\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-nb\-sync\-from\-proto=\fIPROTO\fB\fR .PP \fB\-\-db\-sb\-sync\-from\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-sb\-sync\-from\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-sb\-sync\-from\-proto=\fIPROTO\fB\fR .PP \fB\-\-db\-ic\-nb\-sync\-from\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-ic\-nb\-sync\-from\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-ic\-nb\-sync\-from\-proto=\fIPROTO\fB\fR .PP \fB\-\-db\-ic\-sb\-sync\-from\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-ic\-sb\-sync\-from\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-ic\-sb\-sync\-from\-proto=\fIPROTO\fB\fR .PP .PP \fB \-\-ovn\-northd\-nb\-db=\fIPROTO\fB:\fIIP ADDRESS\fB: \fIPORT\fB\[char46]\[char46] \fR .PP .PP \fB \-\-ovn\-northd\-sb\-db=\fIPROTO\fB:\fIIP ADDRESS\fB: \fIPORT\fB\[char46]\[char46] \fR .PP .PP \fB \-\-ovn\-ic\-nb\-db=\fIPROTO\fB:\fIIP ADDRESS\fB: \fIPORT\fB\[char46]\[char46] \fR .PP .PP \fB \-\-ovn\-ic\-sb\-db=\fIPROTO\fB:\fIIP ADDRESS\fB: \fIPORT\fB\[char46]\[char46] \fR .SH "CLUSTERING OPTIONS" .PP \fB\-\-db\-nb\-cluster\-local\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-nb\-cluster\-local\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-nb\-cluster\-local\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-nb\-cluster\-remote\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-nb\-cluster\-remote\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-nb\-cluster\-remote\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-sb\-cluster\-local\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-sb\-cluster\-local\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-sb\-cluster\-local\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-sb\-cluster\-remote\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-sb\-cluster\-remote\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-sb\-cluster\-remote\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-ic\-nb\-cluster\-local\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-ic\-nb\-cluster\-local\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-ic\-nb\-cluster\-local\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-ic\-nb\-cluster\-remote\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-ic\-nb\-cluster\-remote\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-ic\-nb\-cluster\-remote\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-ic\-sb\-cluster\-local\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-ic\-sb\-cluster\-local\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-ic\-sb\-cluster\-local\-proto=\fIPROTO (tcp/ssl)\fB\fR .PP \fB\-\-db\-ic\-sb\-cluster\-remote\-addr=\fIIP ADDRESS\fB\fR .PP \fB\-\-db\-ic\-sb\-cluster\-remote\-port=\fIPORT NUMBER\fB\fR .PP \fB\-\-db\-ic\-sb\-cluster\-remote\-proto=\fIPROTO (tcp/ssl)\fB\fR .SH "PROBE INTERVAL OPTIONS" .PP \fB\-\-db\-nb\-probe\-interval\-to\-active=\fITime in milliseconds\fB\fR .PP \fB\-\-db\-sb\-probe\-interval\-to\-active=\fITime in milliseconds\fB\fR .SH "CONFIGURATION FILES" .PP .PP Following are the optional configuration files\[char46] If present, it should be located in the etc dir .SS "ovnnb\-active\[char46]conf" .PP .PP If present, this file should hold the url to connect to the active Northbound DB server .PP \fBtcp:x\[char46]x\[char46]x\[char46]x:6641\fR .SS "ovnsb\-active\[char46]conf" .PP .PP If present, this file should hold the url to connect to the active Southbound DB server .PP \fBtcp:x\[char46]x\[char46]x\[char46]x:6642\fR .SS "ovn\-northd\-db\-params\[char46]conf" .PP .PP If present, start_northd will not start the DB server even if \fB\-\-ovn\-manage\-ovsdb=yes\fR\[char46] This file should hold the database url parameters to be passed to ovn-northd\[char46] .PP \fB\-\-ovnnb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6641 \-\-ovnsb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6642\fR .SS "ic\-nb\-active\[char46]conf" .PP .PP If present, this file should hold the url to connect to the active Interconnection Northbound DB server .PP \fBtcp:x\[char46]x\[char46]x\[char46]x:6645\fR .SS "ic\-sb\-active\[char46]conf" .PP .PP If present, this file should hold the url to connect to the active Interconnection Southbound DB server .PP \fBtcp:x\[char46]x\[char46]x\[char46]x:6646\fR .SS "ovn\-ic\-db\-params\[char46]conf" .PP .PP If present, this file should hold the database url parameters to be passed to ovn-ic\[char46] .PP \fB\-\-ic\-nb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6645 \-\-ic\-sb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6646\fR .SH "RUNNING OVN DB SERVERS WITHOUT DETACHING" .PP \fB# ovn\-ctl run_nb_ovsdb\fR .PP .PP This command runs the OVN nb ovsdb-server without passing the \fBdetach\fR option, making it to block until ovsdb-server exits\[char46] This command will be useful for starting the OVN nb ovsdb-server in a container\[char46] .PP \fB# ovn\-ctl run_sb_ovsdb\fR .PP .PP This command runs the OVN sb ovsdb-server without passing the \fBdetach\fR option, making it to block until ovsdb-server exits\[char46] This command will be useful for starting the OVN sb ovsdb-server in a container\[char46] .PP \fB# ovn\-ctl run_ic_nb_ovsdb\fR .PP .PP This command runs the OVN IC-NB ovsdb-server without passing the \fBdetach\fR option, making it to block until ovsdb-server exits\[char46] This command will be useful for starting the OVN IC-NB ovsdb-server in a container\[char46] .PP \fB# ovn\-ctl run_ic_sb_ovsdb\fR .PP .PP This command runs the OVN IC-SB ovsdb-server without passing the \fBdetach\fR option, making it to block until ovsdb-server exits\[char46] This command will be useful for starting the OVN IC-SB ovsdb-server in a container\[char46] .SH "EXAMPLE USAGE" .SS "Run ovn\-controller on a host already running OVS" .PP \fB# ovn\-ctl start_controller\fR .SS "Run ovn\-northd on a host already running OVS" .PP \fB# ovn\-ctl start_northd\fR .SS "All\-in\-one OVS+OVN for testing" .PP \fB# ovs\-ctl start \-\-system\-id=\(dqrandom\(dq\fR .PP \fB# ovn\-ctl start_northd\fR .PP \fB# ovn\-ctl start_controller\fR .SS "Promote and demote ovsdb servers" .PP \fB# ovn\-ctl promote_ovnnb\fR .PP \fB# ovn\-ctl promote_ovnsb\fR .PP \fB# ovn\-ctl \-\-db\-nb\-sync\-from\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-nb\-sync\-from\-port=6641 \-\-db\-nb\-probe\-interval\-to\-active=60000 demote_ovnnb\fR .PP \fB# ovn\-ctl \-\-db\-sb\-sync\-from\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-sb\-sync\-from\-port=6642 \-\-db\-sb\-probe\-interval\-to\-active=60000 demote_ovnsb\fR .SS "Creating a clustered db on 3 nodes with IPs x\[char46]x\[char46]x\[char46]x, y\[char46]y\[char46]y\[char46]y and z\[char46]z\[char46]z\[char46]z" .ST "Starting OVN ovsdb servers and ovn-northd on the node with IP x\[char46]x\[char46]x\[char46]x" .PP .PP \fB # ovn\-ctl \-\-db\-nb\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-nb\-create\-insecure\-remote=yes \-\-db\-sb\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-sb\-create\-insecure\-remote=yes \-\-db\-nb\-cluster\-local\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-sb\-cluster\-local\-addr=x\[char46]x\[char46]x\[char46]x \-\-ovn\-northd\-nb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6641,tcp:y\[char46]y\[char46]y\[char46]y:6641,tcp:z\[char46]z\[char46]z\[char46]z:6641 \-\-ovn\-northd\-sb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6642,tcp:y\[char46]y\[char46]y\[char46]y:6642,tcp:z\[char46]z\[char46]z\[char46]z:6642 start_northd \fR .ST "Starting OVN ovsdb-servers and ovn-northd on the node with IP y\[char46]y\[char46]y\[char46]y and joining the cluster started at x\[char46]x\[char46]x\[char46]x" .PP .PP \fB # ovn\-ctl \-\-db\-nb\-addr=y\[char46]y\[char46]y\[char46]y \-\-db\-nb\-create\-insecure\-remote=yes \-\-db\-sb\-addr=y\[char46]y\[char46]y\[char46]y \-\-db\-sb\-create\-insecure\-remote=yes \-\-db\-nb\-cluster\-local\-addr=y\[char46]y\[char46]y\[char46]y \-\-db\-sb\-cluster\-local\-addr=y\[char46]y\[char46]y\[char46]y \-\-db\-nb\-cluster\-remote\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-sb\-cluster\-remote\-addr=x\[char46]x\[char46]x\[char46]x \-\-ovn\-northd\-nb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6641,tcp:y\[char46]y\[char46]y\[char46]y:6641,tcp:z\[char46]z\[char46]z\[char46]z:6641 \-\-ovn\-northd\-sb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6642,tcp:y\[char46]y\[char46]y\[char46]y:6642,tcp:z\[char46]z\[char46]z\[char46]z:6642 start_northd \fR .ST "Starting OVN ovsdb-servers and ovn-northd on the node with IP z\[char46]z\[char46]z\[char46]z and joining the cluster started at x\[char46]x\[char46]x\[char46]x" .PP .PP \fB # ovn\-ctl \-\-db\-nb\-addr=z\[char46]z\[char46]z\[char46]z \-\-db\-nb\-create\-insecure\-remote=yes \-\-db\-nb\-cluster\-local\-addr=z\[char46]z\[char46]z\[char46]z \-\-db\-sb\-addr=z\[char46]z\[char46]z\[char46]z \-\-db\-sb\-create\-insecure\-remote=yes \-\-db\-sb\-cluster\-local\-addr=z\[char46]z\[char46]z\[char46]z \-\-db\-nb\-cluster\-remote\-addr=x\[char46]x\[char46]x\[char46]x \-\-db\-sb\-cluster\-remote\-addr=x\[char46]x\[char46]x\[char46]x \-\-ovn\-northd\-nb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6641,tcp:y\[char46]y\[char46]y\[char46]y:6641,tcp:z\[char46]z\[char46]z\[char46]z:6641 \-\-ovn\-northd\-sb\-db=tcp:x\[char46]x\[char46]x\[char46]x:6642,tcp:y\[char46]y\[char46]y\[char46]y:6642,tcp:z\[char46]z\[char46]z\[char46]z:6642 start_northd \fR .SS "Passing ssl keys when starting OVN dbs will supercede the default ssl values in db" .ST "Starting standalone ovn db server passing SSL certificates" .PP .PP \fB # ovn\-ctl \-\-ovn\-nb\-db\-ssl\-key=/etc/ovn/ovnnb\-privkey\[char46]pem \-\-ovn\-nb\-db\-ssl\-cert=/etc/ovn/ovnnb\-cert\[char46]pem \-\-ovn\-nb\-db\-ssl\-ca\-cert=/etc/ovn/cacert\[char46]pem \-\-ovn\-sb\-db\-ssl\-key=/etc/ovn/ovnsb\-privkey\[char46]pem \-\-ovn\-sb\-db\-ssl\-cert=/etc/ovn/ovnsb\-cert\[char46]pem \-\-ovn\-sb\-db\-ssl\-ca\-cert=/etc/ovn/cacert\[char46]pem start_northd \fR