Thanks Han for the correction. Just one more minor typo in the tutorial
below.
I hit some roadblocks to start ic controller on different az but got my
setup running with workarounds in current code and have posted in comments
which needs fix for sure. I tried with 2 different ovn setups with 2 AZs
where each ovn az uses1 hv, 1 gw and 1 lport bound to hv. I am able to
access the workloads across azs.
Tested-by: Aliasgar Ginwala >
On Sun, Oct 20, 2019 at 5:55 PM Han Zhou wrote:
> Added tutorial, and also updated NEWS and TODO.
>
> Signed-off-by: Han Zhou
> ---
> Documentation/automake.mk | 1 +
> Documentation/tutorials/index.rst | 1 +
> Documentation/tutorials/ovn-interconnection.rst | 181
>
> NEWS| 5 +
> TODO.rst| 10 ++
> 5 files changed, 198 insertions(+)
> create mode 100644 Documentation/tutorials/ovn-interconnection.rst
>
> diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> index 5968d69..15d261d 100644
> --- a/Documentation/automake.mk
> +++ b/Documentation/automake.mk
> @@ -20,6 +20,7 @@ DOC_SOURCE = \
> Documentation/tutorials/ovn-sandbox.rst \
> Documentation/tutorials/ovn-ipsec.rst \
> Documentation/tutorials/ovn-rbac.rst \
> + Documentation/tutorials/ovn-interconnection.rst \
> Documentation/topics/index.rst \
> Documentation/topics/testing.rst \
> Documentation/topics/high-availability.rst \
> diff --git a/Documentation/tutorials/index.rst
> b/Documentation/tutorials/index.rst
> index 1cf083e..4ff6e16 100644
> --- a/Documentation/tutorials/index.rst
> +++ b/Documentation/tutorials/index.rst
> @@ -43,3 +43,4 @@ vSwitch.
> ovn-openstack
> ovn-rbac
> ovn-ipsec
> + ovn-interconnection
> diff --git a/Documentation/tutorials/ovn-interconnection.rst
> b/Documentation/tutorials/ovn-interconnection.rst
> new file mode 100644
> index 000..1320d41
> --- /dev/null
> +++ b/Documentation/tutorials/ovn-interconnection.rst
> @@ -0,0 +1,181 @@
> +..
> + Licensed under the Apache License, Version 2.0 (the "License"); you
> may
> + not use this file except in compliance with the License. You may
> obtain
> + a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing, software
> + distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT
> + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the
> + License for the specific language governing permissions and
> limitations
> + under the License.
> +
> + Convention for heading levels in OVN documentation:
> +
> + === Heading 0 (reserved for the title in a document)
> + --- Heading 1
> + ~~~ Heading 2
> + +++ Heading 3
> + ''' Heading 4
> +
> + Avoid deeper levels because they do not render well.
> +
> +===
> +OVN Interconnection
> +===
> +
> +This document provides a guide for interconnecting multiple OVN
> deployements
> +with OVN managed tunneling. More details about the OVN Interconnectiong
> design
> +can be found in ``ovn-architecture``\(7) manpage.
> +
> +This document assumes two or more OVN deployments are setup and runs
> normally,
> +possibly at different data-centers, and the gateway chassises of each OVN
> +are with IP addresses that are reachable between each other.
> +
> +Setup Interconnection Databases
> +---
> +
> +To interconnect different OVNs, you need to create global OVSDB databases
> that
> +store interconnection data. The databases can be setup on any nodes that
> are
> +accessible from all the central nodes of each OVN deployment. It is
> +recommended that the global databases are setup with HA, with nodes in
> +different avaialbility zones, to avoid single point of failure.
> +
> +1. Install OVN packages on each global database node.
> +
> +2. Start OVN IC-NB and IC-SB databases.
> +
> + On each global database node ::
> +
> +$ ovn-ctl [options] start_ic_ovsdb
> +
> + Options depends on the HA mode you use. See details with ::
> +
> +$ ovn-ctl --help.
> +
> +Register OVN to Interconnection Databases
> +-
> +
> +For each OVN deployment, set an availability zone name ::
> +
> +$ ovn-nbctl set NB_Global . name=
> +
> +The name should be unique across all OVN deployments, e.g. ovn-east,
> +ovn-west, etc.
> +
> +For each OVN deployment, start the ``ovn-ic`` daemon on central nodes ::
> +
> +$ ovn-ctl --ovninb-db= --ovnisb-db= \
> + --ovnnb-db= --ovnsb-db= [more options] start_ic
> +
> +An example of is ``tcp::6645``, or for
> +clustered DB: ``tcp::6645,tcp::6645,tcp::6645``.
> + is similar, but usually with a different port nu