[ovs-dev] [PATCH ovn] OVN container scripts: Support for cluster mode

Numan Siddique numans at ovn.org
Thu Jan 9 06:36:31 UTC 2020


On Wed, Jan 8, 2020 at 7:02 AM <amginwal at gmail.com> wrote:
>
> From: Aliasgar Ginwala <aginwala at ebay.com>
>
> 1. Container scripts for starting ovn central node
>    containers in HA using cluster mode
> 2. Update documentation about the same.
>
> Signed-off-by: Aliasgar Ginwala <aginwala at ebay.com>

Thanks. I applied this patch to master. I didn't test it.

Thanks
Numan

> ---
>  Documentation/intro/install/general.rst | 34 +++++++++++++++++-
>  utilities/docker/start-ovn              | 46 +++++++++++++++++++++++--
>  2 files changed, 77 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/intro/install/general.rst b/Documentation/intro/install/general.rst
> index 52bfd7d18..4df1a5538 100644
> --- a/Documentation/intro/install/general.rst
> +++ b/Documentation/intro/install/general.rst
> @@ -449,6 +449,38 @@ Start OVN containers using below command::
>      $ docker run -itd --net=host --name=ovn-northd \
>        <docker_repo>:<tag> ovn-northd-tcp
>
> +Start OVN containers in cluster mode for a 3 node cluster using below command
> +on node1::
> +
> +    $ docker run -e "host_ip=<host_ip>" -e "nb_db_port=<port>" -itd \
> +      --name=ovn-nb-raft --net=host --privileged <docker_repo>:<tag> \
> +      ovn-nb-cluster-create
> +
> +    $ docker run -e "host_ip=<host_ip>" -e "sb_db_port=<port>" -itd \
> +      --name=ovn-sb-raft --net=host --privileged <docker_repo>:<tag> \
> +      ovn-sb-cluster-create
> +
> +    $ docker run -e "OVN_NB_DB=tcp:<node1>:6641,tcp:<node2>:6641,\
> +      tcp:<node3>:6641" -e "OVN_SB_DB=tcp:<node1>:6642,tcp:<node2>:6642,\
> +      tcp:<node3>:6642" -itd --name=ovn-northd-raft <docker_repo>:<tag> \
> +      ovn-northd-cluster
> +
> +Start OVN containers in cluster mode using below command on node2 and node3 \
> +to make them join the peer using below command::
> +
> +    $ docker run -e "host_ip=<host_ip>" -e "remote_host=<remote_host_ip>" \
> +      -e "nb_db_port=<port>" -itd --name=ovn-nb-raft --net=host \
> +      --privileged <docker_repo>:<tag> ovn-nb-cluster-join
> +
> +    $ docker run -e "host_ip=<host_ip>" -e "remote_host=<remote_host_ip>" \
> +      -e "sb_db_port=<port>" -itd --name=ovn-sb-raft --net=host \
> +      --privileged <docker_repo>:<tag> ovn-sb-cluster-join
> +
> +    $ docker run -e "OVN_NB_DB=tcp:<node1>:6641,tcp:<node2>:6641,\
> +      tcp:<node3>:6641" -e "OVN_SB_DB=tcp:<node1>:6642,tcp:<node2>:6642,\
> +      tcp:<node3>:6642" -itd --name=ovn-northd-raft <docker_repo>:<tag> \
> +      ovn-northd-cluster
> +
>  Start OVN containers using unix socket::
>
>      $ docker run -itd --net=host --name=ovn-nb \
> @@ -465,7 +497,7 @@ Start OVN containers using unix socket::
>
>  .. note::
>      Current ovn central components comes up in docker image in a standalone
> -    mode with protocol tcp.
> +    and cluster mode with protocol tcp.
>
>      The debian docker file use ubuntu 16.04 as a base image for reference.
>
> diff --git a/utilities/docker/start-ovn b/utilities/docker/start-ovn
> index fbdd2af91..51e5162c5 100755
> --- a/utilities/docker/start-ovn
> +++ b/utilities/docker/start-ovn
> @@ -22,12 +22,34 @@ case $1 in
>                        --ovnsb-db="unix:/var/run/ovn/ovnsb_db.sock" \
>                        --log-file=/var/log/ovn/ovn-northd.log
>          ;;
> +        "ovn-northd-cluster") ovn-northd --pidfile \
> +                              --ovnnb-db=$OVN_NB_DB \
> +                              --ovnsb-db=$OVN_SB_DB \
> +                              --log-file=/var/log/ovn/ovn-northd.log
> +        ;;
>          "ovn-nb-tcp") source /etc/ovn/ovn_default_nb_port
>                        /usr/share/ovn/scripts/ovn-ctl start_ovsdb
>                        ovn-nbctl set-connection ptcp:$nb_db_port
>                        /usr/share/ovn/scripts/ovn-ctl stop_ovsdb
>                        /usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb
>          ;;
> +        "ovn-nb-cluster-create") /usr/share/ovn/scripts/ovn-ctl \
> +                                 --db-nb-addr=$host_ip \
> +                                 --db-nb-cluster-local-addr=$host_ip \
> +                                 start_nb_ovsdb
> +                                 ovn-nbctl set-connection ptcp:$nb_db_port
> +                                 /usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb
> +                                 /usr/share/ovn/scripts/ovn-ctl \
> +                                 --db-nb-addr=$host_ip \
> +                                 --db-nb-cluster-local-addr=$host_ip \
> +                                 run_nb_ovsdb
> +        ;;
> +        "ovn-nb-cluster-join") /usr/share/ovn/scripts/ovn-ctl \
> +                               --db-nb-addr=$host_ip \
> +                               --db-nb-cluster-local-addr=$host_ip \
> +                               --db-nb-cluster-remote-addr=$remote_host \
> +                               run_nb_ovsdb
> +        ;;
>          "ovn-sb-tcp") source /etc/ovn/ovn_default_sb_port
>                        /usr/share/ovn/scripts/ovn-ctl start_ovsdb
>                        ovn-sbctl set-connection ptcp:$sb_db_port
> @@ -42,8 +64,28 @@ case $1 in
>                            --ovnsb-db="tcp:$northd_host:$sb_db_port" \
>                            --log-file=/var/log/ovn/ovn-northd.log
>          ;;
> +        "ovn-sb-cluster-create") /usr/share/ovn/scripts/ovn-ctl \
> +                                 --db-sb-addr=$host_ip \
> +                                 --db-sb-cluster-local-addr=$host_ip \
> +                                 start_sb_ovsdb
> +                                 ovn-sbctl set-connection ptcp:$sb_db_port
> +                                 /usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb
> +                                 /usr/share/ovn/scripts/ovn-ctl \
> +                                 --db-sb-addr=$host_ip \
> +                                 --db-sb-cluster-local-addr=$host_ip \
> +                                 run_sb_ovsdb
> +        ;;
> +        "ovn-sb-cluster-join") /usr/share/ovn/scripts/ovn-ctl \
> +                               --db-sb-addr=$host_ip \
> +                               --db-sb-cluster-local-addr=$host_ip \
> +                               --db-sb-cluster-remote-addr=$remote_host \
> +                               run_sb_ovsdb
> +        ;;
>          "ovn-controller") ovn-controller --pidfile \
>                            --log-file=/var/log/ovn/ovn-controller.log
>          ;;
> -        *) echo "$0 [ovn-nb-tcp|ovn-sb-tcp|ovn-northd-tcp|ovn-controller]"
> -esac
> +        *) echo "$0 [ovn-nb-tcp|ovn-sb-tcp|ovn-northd-tcp|ovn-controller
> +                     |ovn-nb-cluster-create|ovn-nb-cluster-join
> +                     |ovn-sb-cluster-create|ovn-sb-cluster-join
> +                     |ovn-northd-cluster]"
> +esac
> \ No newline at end of file
> --
> 2.20.1 (Apple Git-117)
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list