Data Networks guide
Applied M. Camp's comments on patchset 4. Also, some additional formatting changes such as tidying line ends <= 79 characters, reformatting very wide ascii table as list table to control line widths, etc. Resolved conflict in _includes/data-networks-overview.rest Change-Id: I8a2a80f21d3630849900e85dc2495da1668648af Signed-off-by: Ron Stone <ronald.stone@windriver.com> Signed-off-by: Stone <ronald.stone@windriver.com>
3
.gitignore
vendored
@ -105,3 +105,6 @@ venv.bak/
|
|||||||
|
|
||||||
# mypy
|
# mypy
|
||||||
.mypy_cache/
|
.mypy_cache/
|
||||||
|
|
||||||
|
# Mac
|
||||||
|
.DS_Store
|
||||||
|
@ -1 +1 @@
|
|||||||
.. This file must exist to satisfy build requirements.
|
|
||||||
|
@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
.. jow1443038432894
|
||||||
|
.. _adding-a-static-ip-address-to-a-data-interface:
|
||||||
|
|
||||||
|
===========================================
|
||||||
|
Add a Static IP Address to a Data Interface
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
You can add static IP addresses to a data interface using the web
|
||||||
|
administration interface or the CLI.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
For VXLAN connectivity between VMs, you must add appropriate endpoint IP
|
||||||
|
addresses to the worker node interfaces. You can add individual static
|
||||||
|
addresses, or you can assign addresses from a pool associated with the
|
||||||
|
data interface. For more about using address pools, see :ref:`Using IP
|
||||||
|
Address Pools for Data Interfaces <using-ip-address-pools-for-data-interfaces>`.
|
||||||
|
|
||||||
|
To add a static IP address using the web administration interface, refer to the
|
||||||
|
following steps. To use the CLI, see :ref:`Managing Data Interface Static IP
|
||||||
|
Addresses Using the CLI <managing-data-interface-static-ip-addresses-using-the-cli>`.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
To make interface changes, you must lock the worker host first.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _adding-a-static-ip-address-to-a-data-interface-steps-zkx-d1h-hr:
|
||||||
|
|
||||||
|
#. Lock the worker host.
|
||||||
|
|
||||||
|
#. Set the interface to support an IPv4 or IPv6 address, or both.
|
||||||
|
|
||||||
|
#. Select **Admin** \> **Platform** \> **Host Inventory** to open the Host
|
||||||
|
Inventory page.
|
||||||
|
|
||||||
|
#. Select the **Host** tab, and then double-click the worker host to open
|
||||||
|
the Host Detail page.
|
||||||
|
|
||||||
|
#. Select the **Interfaces** tab and click **Edit Interface** for the data
|
||||||
|
interface you want to edit.
|
||||||
|
|
||||||
|
#. In the Edit Interface dialog box, set the **IPv4 Addressing Mode** or
|
||||||
|
the **IPv6 Addressing Mode** to **Static**.
|
||||||
|
|
||||||
|
.. image:: figures/bju1538154656153.png
|
||||||
|
|
||||||
|
#. Add an IPv4 or IPv6 address to the interface.
|
||||||
|
|
||||||
|
#. On the Host Detail page, click the **Name** of the interface to open
|
||||||
|
the Interface Detail page.
|
||||||
|
|
||||||
|
.. image:: figures/jow1443041105867.png
|
||||||
|
|
||||||
|
#. Click **Create Address** to open the Create Address dialog box.
|
||||||
|
|
||||||
|
.. image:: figures/jow1442607685238.png
|
||||||
|
|
||||||
|
#. Enter the IPv4 or IPv6 address and netmask \(for example,
|
||||||
|
192.168.1.3/24\), and then click **Create Address**.
|
||||||
|
|
||||||
|
The new address is added to the **Address List**.
|
||||||
|
|
||||||
|
#. Unlock the worker node and wait for it to become available.
|
||||||
|
|
||||||
|
For more information, see :ref:`Managing Data Interface Static IP Addresses
|
||||||
|
Using the CLI <managing-data-interface-static-ip-addresses-using-the-cli>`
|
@ -0,0 +1,56 @@
|
|||||||
|
|
||||||
|
.. jow1425584215069
|
||||||
|
.. _adding-and-maintaining-routes-for-a-vxlan-network:
|
||||||
|
|
||||||
|
===========================================
|
||||||
|
Add and Maintain Routes for a VXLAN Network
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
You can add or delete routing table entries for hosts on a VXLAN network using
|
||||||
|
the CLI.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
The worker node must be locked.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
To add routes, use the following command.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-route-add <node> <ifname> <network> <prefix> <gateway> <metric>
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
**node**
|
||||||
|
is the name or UUID of the worker node
|
||||||
|
|
||||||
|
**ifname**
|
||||||
|
is the name of the interface
|
||||||
|
|
||||||
|
**network**
|
||||||
|
is an IPv4 or IPv6 network address
|
||||||
|
|
||||||
|
**prefix**
|
||||||
|
is the netmask length for the network address
|
||||||
|
|
||||||
|
**gateway**
|
||||||
|
is the default gateway
|
||||||
|
|
||||||
|
**metric**
|
||||||
|
is the cost of the route \(the number of hops\)
|
||||||
|
|
||||||
|
To delete routes, use the following command.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-route-delete <uuid> <ifname> <network> <prefix> <gateway> <metric>
|
||||||
|
|
||||||
|
where **uuid** is the UUID of the route to be deleted.
|
||||||
|
|
||||||
|
To list existing routes, including their UUIDs, use the following command.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-route-list worker-0
|
97
doc/source/datanet/adding-data-networks-using-the-cli.rst
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
|
||||||
|
.. oiq1559818630326
|
||||||
|
.. _adding-data-networks-using-the-cli:
|
||||||
|
|
||||||
|
===============================
|
||||||
|
Add Data Networks Using the CLI
|
||||||
|
===============================
|
||||||
|
|
||||||
|
If you prefer, you can add data networks using the CLI. You can set up flat,
|
||||||
|
VLAN and VXLAN data networks over physical networks using the **controller-0**
|
||||||
|
command-line interface. The data networks provide connectivity for project
|
||||||
|
networks.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
|
||||||
|
.. _adding-data-networks-using-the-cli-prereq-controller-0-ready:
|
||||||
|
|
||||||
|
Controller-0 must be installed and configured.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _adding-data-networks-using-the-cli-steps-ek5-4fs-hkb:
|
||||||
|
|
||||||
|
- To create a data network using the CLI, use the following command.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system datanetwork-add -d <description> -m <mtu> -p <port> -g <group> -t <ttl> -M <mode> <name> <type>
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
**<description>**
|
||||||
|
A description of the data network.
|
||||||
|
|
||||||
|
**<mtu>**
|
||||||
|
The MTU of the data network.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
To attach to the data network, data interfaces must be configured
|
||||||
|
with an equal or larger MTU.
|
||||||
|
|
||||||
|
**<port>**
|
||||||
|
The port of the data network.
|
||||||
|
|
||||||
|
**<group>**
|
||||||
|
The multicast group of the data network.
|
||||||
|
|
||||||
|
**<ttl>**
|
||||||
|
The time-to-live of the data network.
|
||||||
|
|
||||||
|
**<mode>**
|
||||||
|
For networks of <type> vxlan only, mode can be either **dynamic** or
|
||||||
|
**static**.
|
||||||
|
|
||||||
|
If set to **dynamic**, <group> must also be specified.
|
||||||
|
|
||||||
|
**<name>**
|
||||||
|
The name assigned to the data network.
|
||||||
|
|
||||||
|
**<type>**
|
||||||
|
The type of data network to be created \(**flat**, **vlan**, or
|
||||||
|
**vxlan**\)
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
**vxlan** is only applicable to |prod-os|.
|
||||||
|
|
||||||
|
For example, to add a VLAN data network named datanet-a:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system datanetwork-add datanet-a vlan
|
||||||
|
+--------------+--------------------------------------+
|
||||||
|
| Property | Value |
|
||||||
|
+--------------+--------------------------------------+
|
||||||
|
| id | 2 |
|
||||||
|
| uuid | 104071a4-1c26-4383-ba07-72e05316d540 |
|
||||||
|
| name | datanet-a |
|
||||||
|
| network_type | vlan |
|
||||||
|
| mtu | 1500 |
|
||||||
|
| description | None |
|
||||||
|
+--------------+--------------------------------------+
|
||||||
|
|
||||||
|
You must configure at least one data network in order to assign data
|
||||||
|
interfaces to worker nodes and unlock the hosts.
|
||||||
|
|
||||||
|
.. rubric:: |postreq|
|
||||||
|
|
||||||
|
For the |prod-os| application, after creating a data network of the VLAN or
|
||||||
|
VXLAN type, you can assign one or more segmentation ranges consisting of a set
|
||||||
|
of consecutive VLAN IDs \(for VLANs\) or VNIs \(for VXLANs\) using the
|
||||||
|
:command:`openstack network segment range create` command. Segmentation ranges
|
||||||
|
are required in order to set up project networks.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Segmentation ranges are not required in order to attach interfaces and
|
||||||
|
unlock openstack-compute labeled worker nodes.
|
@ -0,0 +1,78 @@
|
|||||||
|
|
||||||
|
.. jow1411739340460
|
||||||
|
.. _adding-segmentation-ranges-using-the-cli:
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
Add Segmentation Ranges Using the CLI
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
You can use the CLI to add segmentation ranges to data networks.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _adding-segmentation-ranges-using-the-cli-steps-scn-pxd-4p:
|
||||||
|
|
||||||
|
#. Use the :command:`openstack network segment range` command to create
|
||||||
|
VLAN/VXLAN segmentation ranges.
|
||||||
|
|
||||||
|
This example creates segmentation ranges on data network **data-net-a**.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ openstack network segment range create segment-a-common \
|
||||||
|
--description "Shared segmentation range"
|
||||||
|
--physical-network data-net-a \
|
||||||
|
--network-type vlan \
|
||||||
|
--minimum 10 \
|
||||||
|
--maximum 10 \
|
||||||
|
|
||||||
|
~(keystone_admin)]$ openstack network segment range create segment-a-project1 \
|
||||||
|
--private \
|
||||||
|
--project ${project1_UUID} \
|
||||||
|
--physical-network data-net-a \
|
||||||
|
--network-type vlan \
|
||||||
|
--minimum 623
|
||||||
|
|
||||||
|
~(keystone_admin)]$ openstack network segment range create segment-a-project2 \
|
||||||
|
--private \
|
||||||
|
--project ${project2_UUID} \
|
||||||
|
--physical-network data-net-b \
|
||||||
|
--network-type vlan \
|
||||||
|
--minimum 664 \
|
||||||
|
--maximum 680
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
**<name>**
|
||||||
|
name of the segment is a positional argument and can be supplied at the
|
||||||
|
beginning or the end of the :command:`openstack network segment range
|
||||||
|
create` command.
|
||||||
|
|
||||||
|
This is not a named option.
|
||||||
|
|
||||||
|
**description**
|
||||||
|
is a description of the segmentation range.
|
||||||
|
|
||||||
|
**private**
|
||||||
|
is an flag to denote this is a segmentation range for a single project.
|
||||||
|
|
||||||
|
**project**
|
||||||
|
is the name or UUID of the project associated with the range.
|
||||||
|
|
||||||
|
**physical-network**
|
||||||
|
is the data network associated with the range.
|
||||||
|
|
||||||
|
**network type**
|
||||||
|
is the network type \(VLAN/VXLAN\) of the range.
|
||||||
|
|
||||||
|
**minimum**
|
||||||
|
is the minimum value of the segmentation range.
|
||||||
|
|
||||||
|
**maximum**
|
||||||
|
is the maximum value of the segmentation range.
|
||||||
|
|
||||||
|
You can also obtain information about segmentation ranges using the following command:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ openstack network segment range show <range_name_or_uuid>
|
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
.. riw1559818822179
|
||||||
|
.. _assigning-a-data-network-to-an-interface:
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
Assign a Data Network to an Interface
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
In order to associate the L2 Network definition of a Data Network with a
|
||||||
|
physical network, the Data Network must be mapped to an Ethernet or Aggregated
|
||||||
|
Ethernet interface on a worker node.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
The command for performing the mapping has the format:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system interface‐datanetwork‐assign <worker> <interface\_uuid> <datanetwork\_uuid>
|
@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
.. hyg1467916541021
|
||||||
|
.. _changing-the-mtu-of-a-data-interface-using-the-cli:
|
||||||
|
|
||||||
|
================================================
|
||||||
|
Change the MTU of a Data Interface Using the CLI
|
||||||
|
================================================
|
||||||
|
|
||||||
|
You can change the MTU value for a data interface from the OpenStack Horizon
|
||||||
|
Web interface or the CLI.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
The MTU must be changed while the worker host is locked.
|
||||||
|
|
||||||
|
You can use CLI commands to lock and unlock hosts, and to modify the MTU
|
||||||
|
on the hosts.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-lock <nodeName>
|
||||||
|
~(keystone_admin)]$ system host-if-modify <nodeName> <interface name> --imtu <mtu_size>
|
||||||
|
~(keystone_admin)]$ system host-unlock <nodeName>
|
||||||
|
|
||||||
|
where:
|
||||||
|
|
||||||
|
**<nodename>**
|
||||||
|
is the name of the host
|
||||||
|
|
||||||
|
**<interface name>**
|
||||||
|
is the name of the interface
|
||||||
|
|
||||||
|
**<mtu\_size>**
|
||||||
|
is the new MTU value
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-if-modify worker-0 enp0s8 --imtu 1496
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
You cannot set the MTU on an openstack-compute-labeled worker node
|
||||||
|
interface to a value smaller than the largest MTU used on its data
|
||||||
|
networks.
|
44
doc/source/datanet/changing-the-mtu-of-a-data-interface.rst
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
.. rst1448489015877
|
||||||
|
.. _changing-the-mtu-of-a-data-interface:
|
||||||
|
|
||||||
|
==================================
|
||||||
|
Change the MTU of a Data Interface
|
||||||
|
==================================
|
||||||
|
|
||||||
|
You can change the MTU value for a data interface within limits determined by
|
||||||
|
the data network to which the interface is attached.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
The data interface MTU must be equal to or greater than the MTU of the data
|
||||||
|
network.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
You must lock the host for the interface on which you want to change the MTU.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _changing-the-mtu-of-a-data-interface-steps-hfm-5nb-p5:
|
||||||
|
|
||||||
|
#. Lock all hosts attached to the data network.
|
||||||
|
|
||||||
|
#. From **Admin** \> **Platform** \> **Host Inventory**, select the
|
||||||
|
**Hosts** tab.
|
||||||
|
|
||||||
|
#. From the **Edit** menu for the standby controller, select **Lock Host**.
|
||||||
|
|
||||||
|
#. On all the hosts, edit the interface to change the MTU value.
|
||||||
|
|
||||||
|
#. Click the name of the host, and then select the **Interfaces** tab and
|
||||||
|
click **Edit** for the interface you want to change.
|
||||||
|
|
||||||
|
#. In the Edit Interface dialog, edit the **MTU** field, and then click
|
||||||
|
**Save**.
|
||||||
|
|
||||||
|
#. Unlock all the hosts.
|
||||||
|
|
||||||
|
From the **Edit** menu for the host, select **Unlock Host**.
|
||||||
|
|
||||||
|
The network MTU is updated with the new value.
|
@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
.. uhq1476460566339
|
||||||
|
.. _configuring-data-interfaces-for-vxlans:
|
||||||
|
|
||||||
|
====================================
|
||||||
|
Configure Data Interfaces for VXLANs
|
||||||
|
====================================
|
||||||
|
|
||||||
|
For data interfaces attached to VXLAN-based data networks, endpoint IP
|
||||||
|
addresses, \(static or dynamic from a IP Address pool\) and possibly IP
|
||||||
|
Routes are additionally required on the host data interfaces.
|
||||||
|
|
||||||
|
You can complete the VXLAN data network setup by using the web
|
||||||
|
administration interface or the CLI. For more information on setting up
|
||||||
|
VXLAN Data Networks, see tasks related to :ref:`VXLAN data network setup
|
||||||
|
completion <adding-a-static-ip-address-to-a-data-interface>`.
|
139
doc/source/datanet/configuring-data-interfaces.rst
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
|
||||||
|
.. lgk1559832444795
|
||||||
|
.. _configuring-data-interfaces:
|
||||||
|
|
||||||
|
=========================
|
||||||
|
Configure Data Interfaces
|
||||||
|
=========================
|
||||||
|
|
||||||
|
A **data** class interface attaches the host to a data network providing the
|
||||||
|
underlying network for OpenStack Neutron Tenant/Project Networks.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
.. See the following sections in |node-doc|:
|
||||||
|
|
||||||
|
.. _configuring-data-interfaces-ul-vvz-qst-wlb:
|
||||||
|
|
||||||
|
.. xreflink - :ref:`Interface Provisioning <interface-provisioning>`
|
||||||
|
|
||||||
|
.. xreflink - :ref:`Configuring Ethernet Interfaces <configuring-ethernet-interfaces-using-horizon>`
|
||||||
|
|
||||||
|
.. xreflink - :ref:`Configuring Aggregated Interfaces <configuring-aggregated-ethernet-interfaces-using-horizon>`
|
||||||
|
|
||||||
|
.. xreflink - :ref:`Configuring VLAN Interfaces <configuring-vlan-interfaces-using-the-cli>`
|
||||||
|
|
||||||
|
For each of the above procedures, configure the node interface specifying the
|
||||||
|
``ifclass`` as ``data`` and assign one or more data networks to the node
|
||||||
|
interface.
|
||||||
|
|
||||||
|
.. xreflink As an example for an Ethernet interface, repeat the procedure in
|
||||||
|
|node-doc|: :ref:`Configuring Ethernet Interfaces
|
||||||
|
<configuring-ethernet-interfaces-using-horizon>`.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _configuring-data-interfaces-steps-twz-gsh-lkb:
|
||||||
|
|
||||||
|
#. List the attached interfaces.
|
||||||
|
|
||||||
|
To list all interfaces, use the :command:`system host-if-list` command and
|
||||||
|
include the -a flag.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-if-list -a controller-0
|
||||||
|
+---...+----------+----------+...+---------------+...+-------------------+
|
||||||
|
| uuid | name | class | | ports | | data networks |
|
||||||
|
+---...+----------+----------+...+---------------+...+-------------------+
|
||||||
|
| 68...| ens787f3 | None | | [u'ens787f3'] | | [] |
|
||||||
|
| 79...| data0 | data | | [u'ens787f0'] | | [u'group0-data0'] |
|
||||||
|
| 78...| cluster0 | platform | | [] | | [] |
|
||||||
|
| 89...| ens513f3 | None | | [u'ens513f3'] | | [] |
|
||||||
|
| 97...| ens803f1 | None | | [u'ens803f1'] | | [] |
|
||||||
|
| d6...| pxeboot0 | platform | | [u'eno2'] | | [] |
|
||||||
|
| d6...| mgmt0 | platform | | [] | | [] |
|
||||||
|
+---...+----------+----------+...+---------------+...+-------------------+
|
||||||
|
|
||||||
|
#. Attach an interface to a data network.
|
||||||
|
|
||||||
|
Use a command sequence of the following form:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-if-modify -n <ifname> -m <mtu> -c <ifclass> <hostname> <ethname> [--ipv4-mode=ip4_mode [ipv4-pool addr_pool]] [--ipv6-mode=ip6_mode [ipv6-pool addr_pool]]
|
||||||
|
~(keystone_admin)]$ system interface-datanetwork-assign <hostname> <ifname> <data network>
|
||||||
|
|
||||||
|
where the following options are available:
|
||||||
|
|
||||||
|
**ifname**
|
||||||
|
A name for the interface.
|
||||||
|
|
||||||
|
**mtu**
|
||||||
|
The MTU for the interface.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The MTU must be equal to or larger than the MTU of the data network
|
||||||
|
to which the interface is attached.
|
||||||
|
|
||||||
|
**ifclass**
|
||||||
|
The class of the interface. The valid classes are **platform**,
|
||||||
|
**data**, **pci-sriov**, and **pci-passthrough**.
|
||||||
|
|
||||||
|
**data network**
|
||||||
|
The name or ID of the data network to assign the interface to.
|
||||||
|
|
||||||
|
**hostname**
|
||||||
|
The name or UUID of the host.
|
||||||
|
|
||||||
|
**ethname**
|
||||||
|
The name or UUID of the Ethernet interface to use.
|
||||||
|
|
||||||
|
**ip4\_mode**
|
||||||
|
The mode for assigning IPv4 addresses to a data interface \(static or
|
||||||
|
pool.\)
|
||||||
|
|
||||||
|
**ip6\_mode**
|
||||||
|
The mode for assigning IPv6 addresses to a data interface \(static or
|
||||||
|
pool.\)
|
||||||
|
|
||||||
|
**addr\_pool**
|
||||||
|
The name of an IPv4 or IPv6 address pool, for use with the pool mode
|
||||||
|
of IP address assignment for data interfaces.
|
||||||
|
|
||||||
|
.. xreflink For valid values, see |node-doc|: :ref:`Interface
|
||||||
|
Settings <interface-settings>`.
|
||||||
|
|
||||||
|
The following example attaches an interface named **enp0s9** to a VLAN
|
||||||
|
data network named **datanet-a**, using the Ethernet interface
|
||||||
|
**enp0s9** on **worker-0**:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-if-modify -n enp0s9 -c data worker-0 enp0s9
|
||||||
|
+-------------------+---------------------------------------+
|
||||||
|
| Property | Value |
|
||||||
|
+-------------------+---------------------------------------+
|
||||||
|
| ifname | enp0s3 |
|
||||||
|
| ifclass | data |
|
||||||
|
| iftype | ethernet |
|
||||||
|
| ports | [u'enp0s3'] |
|
||||||
|
| datanetworks | datanet-a |
|
||||||
|
| imac | 08:00:27:66:38:c6 |
|
||||||
|
| imtu | 1500 |
|
||||||
|
| aemode | None |
|
||||||
|
| schedpolicy | None |
|
||||||
|
| txhashpolicy | None |
|
||||||
|
| uuid | 4ff97cc5-8e59-4763-9a85-c4be3996ddbe |
|
||||||
|
| ihost_uuid | 327b2136-ffb6-4cd5-8fed-d2ec545302aa |
|
||||||
|
| vlan_id | None |
|
||||||
|
| uses | [] |
|
||||||
|
| used_by | [] |
|
||||||
|
| created_at | 2015-12-23T13:04:49.768322+00:00 |
|
||||||
|
| updated_at | 2015-12-23T16:16:19.540661+00:00 |
|
||||||
|
| sriov_numvfs | 0 |
|
||||||
|
| ipv4_mode | disabled |
|
||||||
|
| ipv6_mode | disabled |
|
||||||
|
| accelerated | [u'True'] |
|
||||||
|
+-------------------+---------------------------------------+
|
||||||
|
~(keystone_admin)]$ interface-datanetwork-assign controller-1 enp0s9 datanet-a
|
49
doc/source/datanet/data-network-management-data-networks.rst
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
.. jjl1559817878161
|
||||||
|
.. _data-network-management-data-networks:
|
||||||
|
|
||||||
|
===========================
|
||||||
|
Data Networks in Kubernetes
|
||||||
|
===========================
|
||||||
|
|
||||||
|
|prod-long| data network management allows you to model the L2 networks that
|
||||||
|
are attached to node data, pci-sriov and pci-passthrough interfaces.
|
||||||
|
|
||||||
|
A data network represents a Layer 2 physical or virtual network, or set of
|
||||||
|
virtual networks, used to provide the underlying network connectivity needed
|
||||||
|
to support the application networks. Multiple data networks may be configured
|
||||||
|
as required, and realized over the same or different physical networks. Access
|
||||||
|
to external networks is typically \(although not necessarily\) granted to
|
||||||
|
worker nodes using a data network. The extent of this connectivity, including
|
||||||
|
access to the open internet, is application dependent.
|
||||||
|
|
||||||
|
Data networks are required for |prod-os| deployments and for the base
|
||||||
|
|prod-long| if you wish to deploy container applications with SR-IOV devices.
|
||||||
|
|
||||||
|
Data networks are created by the administrator to make use of an underlying set
|
||||||
|
of resources on a physical network. The following types of data networks can be
|
||||||
|
created:
|
||||||
|
|
||||||
|
**flat**
|
||||||
|
A data network mapped entirely over the physical network.
|
||||||
|
**VLAN**
|
||||||
|
A data network implemented on a physical network using a VLAN identifier.
|
||||||
|
This allows multiple data networks over the same physical network.
|
||||||
|
|
||||||
|
**VXLAN**
|
||||||
|
.. note::
|
||||||
|
This data interface is ONLY applicable to the |prod-os| application.
|
||||||
|
|
||||||
|
Static VXLAN is limited to one data network, and if configured, it must
|
||||||
|
be enabled on all openstack-compute labeled nodes.
|
||||||
|
|
||||||
|
A data network implemented across non-contiguous physical networks connected
|
||||||
|
by Layer 3 routers, using a VNI identifier. This allows multiple data
|
||||||
|
networks over physically separated Layer 2 networks.
|
||||||
|
|
||||||
|
There are no specific requirements for network services to be available on the
|
||||||
|
data network. However, you must ensure that all network services required by
|
||||||
|
the guests running on the worker nodes are available. For configuration
|
||||||
|
purposes, the worker nodes themselves are entirely served by the services
|
||||||
|
provided by the controller nodes over the internal management and cluster-host
|
||||||
|
networks.
|
52
doc/source/datanet/data-networks-overview.rst
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
.. wdq1463583173409
|
||||||
|
.. _data-networks-overview:
|
||||||
|
|
||||||
|
===================================
|
||||||
|
Data Networks in OpenStack Overview
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Data networks are used to model the L2 Networks that nodes' data, pci-sriov
|
||||||
|
and pci-passthrough interfaces attach to.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Data networks are required if you plan to deploy the openstack application
|
||||||
|
or provide SR-IOV network interface access to container workloads.
|
||||||
|
|
||||||
|
A Layer 2 physical or virtual network or set of virtual networks is used to
|
||||||
|
provide the underlying network connectivity needed to support the application
|
||||||
|
project networks. Multiple data networks may be configured as required, and
|
||||||
|
realized over the same or different physical networks. Access to external
|
||||||
|
networks is typically granted to the **openstack-compute** labeled worker nodes
|
||||||
|
using the data network. The extent of this connectivity, including access to
|
||||||
|
the open internet, is application dependent.
|
||||||
|
|
||||||
|
Data networks are created at the |prod| level. Flat, VLAN and VXLAN type
|
||||||
|
data networks are supported by the |prod-os| virtual switch. For details on
|
||||||
|
creating data networks and assigning them to node interfaces, see the
|
||||||
|
following documentation:
|
||||||
|
|
||||||
|
.. _data-networks-overview-ul-yj1-dtq-3nb:
|
||||||
|
|
||||||
|
- :ref:`Adding Data Networks Using the CLI
|
||||||
|
<adding-data-networks-using-the-cli>`
|
||||||
|
|
||||||
|
- :ref:`Assigning a Data Network to an Interface
|
||||||
|
<assigning-a-data-network-to-an-interface>`
|
||||||
|
|
||||||
|
- :ref:`Removing a Data Network Using the CLI
|
||||||
|
<removing-a-data-network-using-the-cli>`
|
||||||
|
|
||||||
|
VXLAN Data Networks are specific to |prod-os| application.
|
||||||
|
|
||||||
|
.. xreflink and are described in detail in :ref:`VXLAN Data Networks
|
||||||
|
<vxlan-data-networks>`.
|
||||||
|
|
||||||
|
Segmentation ID ranges for VLAN and VXLAN data networks are defined through
|
||||||
|
OpenStack Neutron commands, see :ref:`Adding Segmentation Ranges Using the CLI
|
||||||
|
<adding-segmentation-ranges-using-the-cli>`.
|
||||||
|
|
||||||
|
.. only:: partner
|
||||||
|
|
||||||
|
.. include:: ../_includes/data-networks-overview.rest
|
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
.. xoq1512159092473
|
||||||
|
.. _differences-between-dynamic-and-static-vxlan-modes:
|
||||||
|
|
||||||
|
==================================================
|
||||||
|
Differences Between Dynamic and Static VXLAN Modes
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
This section summarizes the differences between dynamic and static VXLAN modes.
|
||||||
|
|
||||||
|
.. _differences-between-dynamic-and-static-vxlan-modes-table-exv-tbr-1bb:
|
||||||
|
|
||||||
|
.. list-table:: Differences between the Dynamic and Static VXLAN modes
|
||||||
|
:widths: auto
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Destination MAC\\mode
|
||||||
|
- Static VXLAN mode
|
||||||
|
- Dynamic VXLAN mode
|
||||||
|
* - Known MAC address
|
||||||
|
- Unicast packet is sent to destination worker node.
|
||||||
|
- Unicast packet is sent to destination worker node.
|
||||||
|
* - Unknown MAC address
|
||||||
|
- The packet is dropped.
|
||||||
|
- A multicast packet is sent to all registered nodes.
|
||||||
|
* - Broadcast MAC address
|
||||||
|
- #. If the packet is an IPv4 ARP packet, and the target IP address is
|
||||||
|
known, then a reply packet is created and sent to the originator
|
||||||
|
directly without involving the intended recipient or destination
|
||||||
|
VTEP node.
|
||||||
|
#. Otherwise the packet is cloned and a copy is sent to each
|
||||||
|
registered/known worker node on that data network.
|
||||||
|
- A multicast packet is sent to all registered nodes.
|
||||||
|
* - Multicast MAC address
|
||||||
|
- #. If the packet is an ICMPv6 ND packet, and the target IP address is
|
||||||
|
known, then a reply packet is created and sent to the originator
|
||||||
|
directly without involving the intended recipient or destination
|
||||||
|
VTEP node.
|
||||||
|
#. Otherwise the packet is cloned and a copy is sent to each
|
||||||
|
registered/known worker node on that data network.
|
||||||
|
- A multicast packet is sent to all registered nodes.
|
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
.. qks1559818290232
|
||||||
|
.. _displaying-data-network-information-using-horizon:
|
||||||
|
|
||||||
|
==============================================
|
||||||
|
Display Data Network Information Using Horizon
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
You can view data network details from the Horizon Web interface or the CLI.
|
||||||
|
You can also view data network topologies from Horizon.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
Using Horizon, you can obtain information about data networks using the
|
||||||
|
following:
|
||||||
|
|
||||||
|
The **Data Network Topology** view. This is a graphical representation of all
|
||||||
|
data networks on the system and their connections to worker hosts. You can
|
||||||
|
select individual data networks to view details. You can also review active
|
||||||
|
alarms for data network connections.
|
||||||
|
|
||||||
|
.. For more information, see :ref:`The Data Network Topology View <the-data-network-topology-view>`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
You cannot make changes from this view.
|
||||||
|
|
||||||
|
Both places use the **Data Network Details** tab to present details. If you
|
||||||
|
prefer, you can view the details using the CLI; for more information, see
|
||||||
|
:ref:`Displaying Data Network Information Using the CLI
|
||||||
|
<displaying-data-network-information-using-the-cli>`.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
#. From the left pane menu, select **Admin** \> **Platform** \> **Data
|
||||||
|
Networks**.
|
||||||
|
|
||||||
|
#. Click the name of the data network to open the Data Network Overview page.
|
||||||
|
|
||||||
|
Details for the data network are displayed and, in the case of |prod-os|,
|
||||||
|
the project networks.
|
@ -0,0 +1,39 @@
|
|||||||
|
|
||||||
|
.. anh1559818482640
|
||||||
|
.. _displaying-data-network-information-using-the-cli:
|
||||||
|
|
||||||
|
==============================================
|
||||||
|
Display Data Network Information Using the CLI
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
You can display information about data networks from the CLI.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _displaying-data-network-information-using-the-cli-steps-zln-xky-hkb:
|
||||||
|
|
||||||
|
#. Retrieve the names of the data networks.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system datanetwork-list
|
||||||
|
+--------------------------------------+--------------+----------+------+
|
||||||
|
| uuid | name | network_ | mtu |
|
||||||
|
| | | type | |
|
||||||
|
+--------------------------------------+--------------+----------+------+
|
||||||
|
| 3a575af8-01a7-44ca-9519-edaa2f06c74b | group0-data0 | vlan | 1500 |
|
||||||
|
+--------------------------------------+--------------+----------+------+
|
||||||
|
|
||||||
|
#. Review information for a data network from the CLI.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system datanetwork-show <datanet>
|
||||||
|
|
||||||
|
Where <datanet> is the name or UUID of the data network.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system datanetwork-show group0-data0
|
77
doc/source/datanet/dynamic-vxlan.rst
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
|
||||||
|
.. rcy1511538457696
|
||||||
|
.. _dynamic-vxlan:
|
||||||
|
|
||||||
|
=============
|
||||||
|
Dynamic VXLAN
|
||||||
|
=============
|
||||||
|
|
||||||
|
|prod-os| supports dynamic mode \(learning\) VXLAN implementation that has
|
||||||
|
each vSwitch instance registered on the network for a particular IP
|
||||||
|
multicast group, MAC addresses, and VTEP endpoints that are populated based on
|
||||||
|
neutron configuration data.
|
||||||
|
|
||||||
|
The IP multicast group, \(for example, 239.1.1.1\), is input when a new
|
||||||
|
neutron data network is provisioned. The selection of the IP multicast group
|
||||||
|
constraints flooding to only those nodes that have registered for the specified
|
||||||
|
group. The IP multicast network can work in both a single subnet \(that is,
|
||||||
|
local Layer2 environment\) or can span Layer3 segments in the customer network
|
||||||
|
for more complex routing requirements but requires IP multicast enabled routers.
|
||||||
|
|
||||||
|
In the dynamic VXLAN mode, when a VM instance sends a packet to some destination
|
||||||
|
node the vSwitch VXLAN implementation examines the destination MAC address to
|
||||||
|
determine how to treat the packet. If the destination is known, a unicast packet
|
||||||
|
is sent to the worker node hosting that VM instance. If the destination is
|
||||||
|
unknown or the packet is a broadcast/multicast packet then a multicast packet
|
||||||
|
is sent to all worker nodes. Once the destination VM instance receives the
|
||||||
|
packet and responds to the initial source worker node, it learns that the VM
|
||||||
|
is hosted from that worker node, and any future packets destined to that VM
|
||||||
|
instance are unicasted to that worker node.
|
||||||
|
|
||||||
|
.. figure:: figures/eol1510005391750.png
|
||||||
|
|
||||||
|
`Multicast Endpoint Distribution`
|
||||||
|
|
||||||
|
For broadcast and multicast packets originating from the VM instances the
|
||||||
|
vSwitch implements head-end replication to clone and send a copy of the
|
||||||
|
packet to each known worker node. This operation is expensive and will
|
||||||
|
negatively impact performance if the network is experiencing high volume of
|
||||||
|
broadcast or multicast packets.
|
||||||
|
|
||||||
|
.. _dynamic-vxlan-section-N10054-N1001F-N10001:
|
||||||
|
|
||||||
|
-------------------------------------------------
|
||||||
|
Workflow to Configure Dynamic VXLAN Data Networks
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
Use the following workflow to create dynamic VXLAN data networks and add
|
||||||
|
segmentation ranges using CLI.
|
||||||
|
|
||||||
|
.. _dynamic-vxlan-ol-bpj-dlb-1cb:
|
||||||
|
|
||||||
|
#. Create a VXLAN data network, see :ref:`Adding Data Networks
|
||||||
|
<adding-data-networks-using-the-cli>`.
|
||||||
|
|
||||||
|
#. Add segmentation ranges to dynamic VXLAN \(Multicast VXLAN\) data networks,
|
||||||
|
see :ref:`Adding Segmentation Ranges Using the CLI
|
||||||
|
<adding-segmentation-ranges-using-the-cli>`.
|
||||||
|
|
||||||
|
#. Configure the endpoint IP addresses of the worker nodes using the web
|
||||||
|
administration interface or the CLI:
|
||||||
|
|
||||||
|
- To configure static IP addresses for individual data interfaces, see:
|
||||||
|
|
||||||
|
:ref:`Adding a Static IP Address to a Data Interface
|
||||||
|
<adding-a-static-ip-address-to-a-data-interface>`
|
||||||
|
|
||||||
|
- To assign IP addresses from predefined address pools, see:
|
||||||
|
|
||||||
|
:ref:`Using IP Address Pools for Data Interfaces
|
||||||
|
<using-ip-address-pools-for-data-interfaces>`
|
||||||
|
|
||||||
|
#. Establish routes between the hosts, see :ref:`Adding and Maintaining Routes
|
||||||
|
for a VXLAN Network <adding-and-maintaining-routes-for-a-vxlan-network>`.
|
||||||
|
|
||||||
|
For more information on the differences between the dynamic and static VXLAN
|
||||||
|
modes, see :ref:`Differences Between Dynamic and Static VXLAN Modes
|
||||||
|
<differences-between-dynamic-and-static-vxlan-modes>`.
|
BIN
doc/source/datanet/figures/bju1538154656153.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
doc/source/datanet/figures/eal1475518780745.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
doc/source/datanet/figures/eol1510005391750.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
doc/source/datanet/figures/gkb1569351598356.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
doc/source/datanet/figures/jow1404333500016.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
doc/source/datanet/figures/jow1404333501487.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
doc/source/datanet/figures/jow1412193160572.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
doc/source/datanet/figures/jow1442607685238.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
doc/source/datanet/figures/jow1443041105867.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
doc/source/datanet/figures/jow1443358337894.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
doc/source/datanet/figures/jow1445971002260.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
doc/source/datanet/figures/jow1445971475692.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
doc/source/datanet/figures/oeg1510005898965.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
doc/source/datanet/figures/sqw1475425312420.png
Normal file
After Width: | Height: | Size: 45 KiB |
15
doc/source/datanet/index.rs1
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
===================================
|
||||||
|
|prod-long| Data Network Management
|
||||||
|
===================================
|
||||||
|
|
||||||
|
- :ref:`Data Networks <data-network-management-data-networks>`
|
||||||
|
- Displaying Data Network Information
|
||||||
|
|
||||||
|
- :ref:`Displaying Data Network Information Using Horizon <displaying-data-network-information-using-horizon>`
|
||||||
|
- :ref:`Displaying Data Network Information Using the CLI <displaying-data-network-information-using-the-cli>`
|
||||||
|
- :ref:`The Data Network Topology View <the-data-network-topology-view>`
|
||||||
|
|
||||||
|
- :ref:`Adding Data Networks Using the CLI <adding-data-networks-using-the-cli>`
|
||||||
|
- :ref:`Assigning a Data Network to an Interface <assigning-a-data-network-to-an-interface>`
|
||||||
|
- :ref:`Removing a Data Network Using the CLI <removing-a-data-network-using-the-cli>`
|
||||||
|
|
101
doc/source/datanet/index.rst
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
.. Data networks file, created by
|
||||||
|
sphinx-quickstart on Thu Sep 3 15:14:59 2020.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
=============
|
||||||
|
Data Networks
|
||||||
|
=============
|
||||||
|
|
||||||
|
----------
|
||||||
|
Kubernetes
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
data-network-management-data-networks
|
||||||
|
|
||||||
|
***********************************
|
||||||
|
Displaying data network information
|
||||||
|
***********************************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
displaying-data-network-information-using-horizon
|
||||||
|
displaying-data-network-information-using-the-cli
|
||||||
|
the-data-network-topology-view
|
||||||
|
|
||||||
|
*********************************************
|
||||||
|
Adding, assigning, and removing data networks
|
||||||
|
*********************************************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
adding-data-networks-using-the-cli
|
||||||
|
assigning-a-data-network-to-an-interface
|
||||||
|
removing-a-data-network-using-the-cli
|
||||||
|
|
||||||
|
-------------------
|
||||||
|
StarlingX OpenStack
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
data-networks-overview
|
||||||
|
|
||||||
|
*******************
|
||||||
|
VXLAN data networks
|
||||||
|
*******************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
dynamic-vxlan
|
||||||
|
static-vxlan
|
||||||
|
differences-between-dynamic-and-static-vxlan-modes
|
||||||
|
|
||||||
|
**************************
|
||||||
|
Adding segmentation ranges
|
||||||
|
**************************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
adding-segmentation-ranges-using-the-cli
|
||||||
|
|
||||||
|
************************************
|
||||||
|
Data network interface configuration
|
||||||
|
************************************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
configuring-data-interfaces
|
||||||
|
configuring-data-interfaces-for-vxlans
|
||||||
|
|
||||||
|
******************************
|
||||||
|
MTU values of a data interface
|
||||||
|
******************************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
changing-the-mtu-of-a-data-interface-using-the-cli
|
||||||
|
changing-the-mtu-of-a-data-interface
|
||||||
|
|
||||||
|
***********************************
|
||||||
|
VXLAN data network setup completion
|
||||||
|
***********************************
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
adding-a-static-ip-address-to-a-data-interface
|
||||||
|
managing-data-interface-static-ip-addresses-using-the-cli
|
||||||
|
using-ip-address-pools-for-data-interfaces
|
||||||
|
managing-ip-address-pools-using-the-cli
|
||||||
|
adding-and-maintaining-routes-for-a-vxlan-network
|
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
.. jow1425584170078
|
||||||
|
.. _managing-data-interface-static-ip-addresses-using-the-cli:
|
||||||
|
|
||||||
|
=======================================================
|
||||||
|
Manage Data Interface Static IP Addresses Using the CLI
|
||||||
|
=======================================================
|
||||||
|
|
||||||
|
If you prefer, you can create and manage static addresses for data interfaces
|
||||||
|
using the CLI.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
For more information about using static addresses for data interfaces, see
|
||||||
|
:ref:`Adding a Static IP Address to a Data Interface
|
||||||
|
<adding-a-static-ip-address-to-a-data-interface>`.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
To make interface changes, you must lock the worker node first.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
.. _managing-data-interface-static-ip-addresses-using-the-cli-steps-zkx-d1h-hr:
|
||||||
|
|
||||||
|
1. Lock the worker node.
|
||||||
|
|
||||||
|
2. Set the interface to support an IPv4 or IPv6 address, or both.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-if-modify <node> <ifname> --ipv4-mode=<ipv4mode> --ipv6-mode=<ipv6mode>
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
**node**
|
||||||
|
is the name or UUID of the worker node
|
||||||
|
|
||||||
|
**ifname**
|
||||||
|
is the name of the interface
|
||||||
|
|
||||||
|
**ipv4mode**
|
||||||
|
is either **disabled** or **static**
|
||||||
|
|
||||||
|
**ipv6mode**
|
||||||
|
is either **disabled** or **static**
|
||||||
|
|
||||||
|
#. Add an IPv4 or IPv6 address to the interface.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-addr-add <node> <ifname> <ip_address> <prefix>
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
**node**
|
||||||
|
is the name or UUID of the worker node
|
||||||
|
|
||||||
|
**ifname**
|
||||||
|
is the name of the interface
|
||||||
|
|
||||||
|
**ip\_address**
|
||||||
|
is an IPv4 or IPv6 address
|
||||||
|
|
||||||
|
**prefix**
|
||||||
|
is the netmask length for the address
|
||||||
|
|
||||||
|
To delete an address, use the following commands:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-addr-list <hostname/ID>
|
||||||
|
|
||||||
|
This displays the UUIDs of existing addresses, as shown in this example
|
||||||
|
below.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-addr-list worker-0
|
||||||
|
+-----------------------+--------+------------------------+--------+
|
||||||
|
| uuid | ifname | address | prefix |
|
||||||
|
+-----------------------+--------+------------------------+--------+
|
||||||
|
| 290629f6-41e5-48d9... | ae0 | 2605:6400:2:fed5:22... | 112 |
|
||||||
|
| 5de0e0bf-21fc-4532... | ae0 | 2605:6400:2:fed5:22... | 122 |
|
||||||
|
| e78923d7-3ccf-4332... | ae0 | 192.168.61.70 | 27 |
|
||||||
|
+-----------------------+--------+------------------------+--------+
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system host-addr-delete <uuid>
|
||||||
|
|
||||||
|
where **uuid** is the UUID of the address.
|
||||||
|
|
||||||
|
#. Unlock the worker node and wait for it to become available.
|
@ -0,0 +1,99 @@
|
|||||||
|
|
||||||
|
.. jow1445966287915
|
||||||
|
.. _managing-ip-address-pools-using-the-cli:
|
||||||
|
|
||||||
|
=====================================
|
||||||
|
Manage IP Address Pools Using the CLI
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
You can create and manage address pools using the CLI:
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:local:
|
||||||
|
:depth: 1
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
To make interface changes, you must lock the worker node first.
|
||||||
|
|
||||||
|
.. _managing-ip-address-pools-using-the-cli-section-N1003C-N1001F-N10001:
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
Creating an address pool
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
To create an address pool, use a command of the following form:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system addrpool-add <name> <network> <prefix> [-- order <assign_order>] [--ranges <addr_ranges>]
|
||||||
|
|
||||||
|
where:
|
||||||
|
|
||||||
|
**<name>**
|
||||||
|
is a name used to select the pool during data interface setup
|
||||||
|
|
||||||
|
**<network>**
|
||||||
|
is the subnet and mask for the range \(for example, **192.168.1.0**\)
|
||||||
|
|
||||||
|
**<prefix>**
|
||||||
|
is the subnet mask, expressed in network prefix length notation \(for
|
||||||
|
example, **24**\)
|
||||||
|
|
||||||
|
**<assign\_order>**
|
||||||
|
is the order in which to assign addresses from the pool \(random or
|
||||||
|
sequential\). The default is random.
|
||||||
|
|
||||||
|
**<addr\_ranges>**
|
||||||
|
is a set of IP address ranges to use for assignment, where the start
|
||||||
|
and end IP address of each range is separated by a dash, and the ranges
|
||||||
|
are separated by commas \(for example, **192.168.1.10-192.168.1.20,
|
||||||
|
192.168.1.35-192.168.1.45**\). If no range is specified, the full range is
|
||||||
|
used.
|
||||||
|
|
||||||
|
.. _managing-ip-address-pools-using-the-cli-section-N10109-N1001F-N10001:
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
Listing address pools
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
To list existing address pools, use a command of the following form:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system addrpool-show <uuid>
|
||||||
|
|
||||||
|
where **<uuid>** is the universally unique identifier for the pool.
|
||||||
|
|
||||||
|
.. _managing-ip-address-pools-using-the-cli-section-N10131-N1001F-N10001:
|
||||||
|
|
||||||
|
-------------------------
|
||||||
|
Modifying an address pool
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
To modify an address pool, use a command of the following form:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system addrpool-modify <uuid> [--name <name>] [-- order <assign_order>] [--ranges <addr_ranges>]
|
||||||
|
|
||||||
|
.. _managing-ip-address-pools-using-the-cli-section-N1015F-N1001F-N10001:
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
Deleting an address pool
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
To delete an address pool, use a command of the following form:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)]$ system addrpool-delete <uuid>
|
||||||
|
|
||||||
|
.. rubric:: |postreq|
|
||||||
|
|
||||||
|
To use address pools with data interfaces, see :ref:`Using IP Address Pools
|
||||||
|
for Data Interfaces <using-ip-address-pools-for-data-interfaces>`.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
For more information about address pools, see :ref:`Using IP Address Pools
|
||||||
|
for Data Interfaces <using-ip-address-pools-for-data-interfaces>`.
|
54
doc/source/datanet/removing-a-data-network-using-the-cli.rst
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
.. lnl1559819027423
|
||||||
|
.. _removing-a-data-network-using-the-cli:
|
||||||
|
|
||||||
|
===================================
|
||||||
|
Remove a Data Network Using the CLI
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Before you can delete a data network, you must remove any interface
|
||||||
|
associations.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
Complete the following steps to delete a data interface.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
The following procedure requires that the host be locked.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
#. Remove the data network from the interface.
|
||||||
|
|
||||||
|
#. Identify the interface to be removed.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system interface-datanetwork-list controller-1
|
||||||
|
+--------------+--------------------------------------+--------+------------------+
|
||||||
|
| hostname | uuid | ifname | datanetwork_name |
|
||||||
|
+--------------+--------------------------------------+--------+------------------+
|
||||||
|
| controller-1 | 212d5afc-e417-49fe-919a-d94e9b46c236 | sriov0 | group0-data0 |
|
||||||
|
| controller-1 | 6c2f7066-3889-4291-8928-5fb4b2bccfee | data0 | group0-data0 |
|
||||||
|
| controller-1 | c4ac3c62-283e-491f-a08b-2e4a5ece205c | pthru0 | group0-data0 |
|
||||||
|
+--------------+--------------------------------------+--------+------------------+
|
||||||
|
|
||||||
|
#. Remove the network.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~(keystone_admin)$ system interface-datanetwork-remove c4ac3c62-283e-491f-a08b-2e4a5ece205c
|
||||||
|
Deleted Interface DataNetwork: c4ac3c62-283e-491f-a08b-2e4a5ece205c
|
||||||
|
|
||||||
|
#. Delete the data network from the system.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
~[keystone_admin]$ system datanetwork-delete <datanetworkUUID>
|
||||||
|
|
||||||
|
where <datanetworkUUID> is the UUID of the data network.
|
56
doc/source/datanet/static-vxlan.rst
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
|
||||||
|
.. drb1511538596277
|
||||||
|
.. _static-vxlan:
|
||||||
|
|
||||||
|
============
|
||||||
|
Static VXLAN
|
||||||
|
============
|
||||||
|
|
||||||
|
The static unicast mode relies on the mapping of neutron ports to worker nodes
|
||||||
|
to receive the packet in order to reach the VM.
|
||||||
|
|
||||||
|
In this mode there is no multicast addressing or multicast packets sent from
|
||||||
|
the worker nodes, neither is there any learning. In contrast to the dynamic
|
||||||
|
VXLAN mode, any packets destined to unknown MAC addresses are dropped. To
|
||||||
|
ensure that there are no unknown endpoints the system examines the neutron
|
||||||
|
port DB and gathers the list of mappings between port MAC/IP addresses and the
|
||||||
|
hostname on which they reside. This information is then propagated throughout
|
||||||
|
the system to pre-provision endpoint entries into all vSwitch instances. This
|
||||||
|
ensures that each vSwitch knows how to reach all VM instances that are related
|
||||||
|
to any local VM instances.
|
||||||
|
|
||||||
|
Static VXLAN is limited to use on one data network. If configured, it must be
|
||||||
|
enabled on all OpenStack worker nodes.
|
||||||
|
|
||||||
|
.. figure:: figures/oeg1510005898965.png
|
||||||
|
|
||||||
|
`Static Endpoint Distribution`
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
In the static mode there is no dynamic endpoint learning. This means that
|
||||||
|
if a node does not have an entry for some destination MAC address it will
|
||||||
|
not create an entry even if it receives a packet from that device.
|
||||||
|
|
||||||
|
.. _static-vxlan-section-N1006B-N1001F-N10001:
|
||||||
|
|
||||||
|
------------------------------------------------
|
||||||
|
Workflow to Configure Static VXLAN Data Networks
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
Use the following workflow to create static VXLAN data networks and add
|
||||||
|
segmentation ranges using the CLI.
|
||||||
|
|
||||||
|
.. _static-vxlan-ol-bpj-dlb-1cb:
|
||||||
|
|
||||||
|
#. Create a VXLAN data network, see :ref:`Adding Data Networks Using the CLI
|
||||||
|
<adding-data-networks-using-the-cli>`.
|
||||||
|
|
||||||
|
#. Add segmentation ranges to static VXLAN data networks, see :ref:`Adding
|
||||||
|
Segmentation Ranges Using the CLI <adding-segmentation-ranges-using-the-cli>`.
|
||||||
|
|
||||||
|
#. Establish routes between the hosts, see :ref:`Adding and Maintaining Routes
|
||||||
|
for a VXLAN Network <adding-and-maintaining-routes-for-a-vxlan-network>`.
|
||||||
|
|
||||||
|
For more information on the differences between the dynamic and static VXLAN
|
||||||
|
modes, see :ref:`Differences Between Dynamic and Static VXLAN Modes
|
||||||
|
<differences-between-dynamic-and-static-vxlan-modes>`.
|
89
doc/source/datanet/the-data-network-topology-view.rst
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
|
||||||
|
.. vkv1559818533210
|
||||||
|
.. _the-data-network-topology-view:
|
||||||
|
|
||||||
|
==============================
|
||||||
|
The Data Network Topology View
|
||||||
|
==============================
|
||||||
|
|
||||||
|
The Data Network Topology view shows data networks and worker host data
|
||||||
|
interface connections for the system using a color-coded graphical display.
|
||||||
|
Active alarm information is also shown in real time. You can select individual
|
||||||
|
hosts or networks to highlight their connections and obtain more details.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:local:
|
||||||
|
:depth: 1
|
||||||
|
|
||||||
|
To display this view, select **Admin** \> **Platform** \> **Data Network
|
||||||
|
Topology**.
|
||||||
|
|
||||||
|
.. image:: figures/sqw1475425312420.png
|
||||||
|
:height: 365px
|
||||||
|
|
||||||
|
.. _the-data-network-topology-view-section-N1002F-N1001C-N10001:
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
Selection and Navigation
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
The Data Network Topology view shows all worker hosts and data networks
|
||||||
|
graphically in a framed topology window, and lists them by name in the **Worker
|
||||||
|
Hosts** and **Data Networks** lists to the left of the window. You can select
|
||||||
|
an entity using the window or the lists. The selected entity is highlighted in
|
||||||
|
both places.
|
||||||
|
|
||||||
|
If the topology of the system is too large to fit in the window, you can drag
|
||||||
|
inside the window to see other areas. You can also bring an entity into view by
|
||||||
|
selecting it from the lists. The view is panned automatically to show the
|
||||||
|
entity.
|
||||||
|
|
||||||
|
.. _the-data-network-topology-view-section-N1004E-N1001C-N10001:
|
||||||
|
|
||||||
|
-------------------------------
|
||||||
|
Additional Details for Entities
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
When you select an entity, associated entities are highlighted in the **Worker
|
||||||
|
Hosts** list or the **Data Networks** list. For example, if you select the
|
||||||
|
**group0-data0** data network, all hosts attached to it are highlighted in the
|
||||||
|
**Worker Hosts** list.
|
||||||
|
|
||||||
|
Additional information for the selected entity is available in tabbed pages
|
||||||
|
below the topology window.
|
||||||
|
|
||||||
|
.. _the-data-network-topology-view-ul-z5z-czh-mx:
|
||||||
|
|
||||||
|
- For a worker host, the additional information includes the **Overview**,
|
||||||
|
**Interfaces**, and **LLDP** tabs from the Host Detail, as well as a
|
||||||
|
**Related Alarms** tab that lists any active alarms associated with the
|
||||||
|
host.
|
||||||
|
|
||||||
|
- For a data network, the additional information includes the
|
||||||
|
**Data Network Detail** tab from the Data Network Overview, and a
|
||||||
|
**Related Alarms** tab that lists any active alarms associated with the
|
||||||
|
data network.
|
||||||
|
|
||||||
|
.. _the-data-network-topology-view-section-N1009C-N1001C-N10001:
|
||||||
|
|
||||||
|
---------------
|
||||||
|
Alarm Reporting
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Active alarms for entities are displayed in real time in the topology window,
|
||||||
|
using icons superimposed on the entities. The alarms are color-coded for
|
||||||
|
severity using the same colors as the Global Alarm Banner. Details for the
|
||||||
|
alarms are listed in the **Related Alarms** tab for the entity.
|
||||||
|
|
||||||
|
.. image:: figures/eal1475518780745.png
|
||||||
|
|
||||||
|
.. _the-data-network-topology-view-section-N100AD-N1001C-N10001:
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
Labels for Network Connections
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Network connections in the topology window may be labeled with the data
|
||||||
|
interface name \(displayed above the connection line\) and LLDP neighbor
|
||||||
|
information \(displayed below the connection line\). You can show or hide the
|
||||||
|
labels using a button above the lists \(**Show Labels** or **Hide Labels**\).
|
@ -0,0 +1,72 @@
|
|||||||
|
|
||||||
|
.. jow1445966231060
|
||||||
|
.. _using-ip-address-pools-for-data-interfaces:
|
||||||
|
|
||||||
|
========================================
|
||||||
|
Use IP Address Pools for Data Interfaces
|
||||||
|
========================================
|
||||||
|
|
||||||
|
You can create pools of IP addresses for use with data interfaces.
|
||||||
|
|
||||||
|
.. rubric:: |context|
|
||||||
|
|
||||||
|
As an alternative to manually adding static IP addresses to data interfaces for
|
||||||
|
use with VXLANs, you can define pools of IP addresses and associate them with
|
||||||
|
one or more data interfaces. Each pool consists of one or more contiguous
|
||||||
|
ranges of IPv4 or IPv6 addresses. When a data interface is associated with a
|
||||||
|
pool, its IP address is allocated from the pool. The allocation may be either
|
||||||
|
random or sequential, depending on the settings for the pool.
|
||||||
|
|
||||||
|
You can use the web administration interface or the CLI to create and manage
|
||||||
|
address pools. For information about using the CLI, see :ref:`Managing IP
|
||||||
|
Address Pools Using the CLI <managing-ip-address-pools-using-the-cli>`.
|
||||||
|
|
||||||
|
.. rubric:: |prereq|
|
||||||
|
|
||||||
|
To make interface changes, you must lock the compute node first.
|
||||||
|
|
||||||
|
.. rubric:: |proc|
|
||||||
|
|
||||||
|
#. Lock the compute node.
|
||||||
|
|
||||||
|
#. In the |prod-os| Web administration interface, open the System
|
||||||
|
Configuration page.
|
||||||
|
|
||||||
|
The System Configuration page is available from **Admin** \> **Platform**
|
||||||
|
\> **System Configuration** in the left-hand pane.
|
||||||
|
|
||||||
|
#. Select the **Address Pools** tab.
|
||||||
|
|
||||||
|
.. image:: figures/jow1445971002260.png
|
||||||
|
|
||||||
|
You can use the controls on the Address Pools page to create, update, or
|
||||||
|
delete address pools.
|
||||||
|
|
||||||
|
#. To create an address pool, click **Create Address Pool** and complete the
|
||||||
|
dialog box.
|
||||||
|
|
||||||
|
.. image:: figures/jow1445971475692.png
|
||||||
|
|
||||||
|
**Name**
|
||||||
|
A name used for selecting the pool during data interface setup.
|
||||||
|
|
||||||
|
**Network Address**
|
||||||
|
The subnet for the range \(for example, **192.168.1.0/24**\).
|
||||||
|
|
||||||
|
**Allocation Order**
|
||||||
|
The order for assigning addresses. You can select **Sequential** or
|
||||||
|
**Random** from the drop-down list.
|
||||||
|
|
||||||
|
**Address Range**
|
||||||
|
One or more ranges, where the start and end IP address of each range
|
||||||
|
is separated by a dash, and the ranges are separated by commas \(for
|
||||||
|
example, **192.168.1.10-192.168.1.20, 192.168.1.35-192.168.1.45**\).
|
||||||
|
If no range is specified, the full range is used.
|
||||||
|
|
||||||
|
.. rubric:: |postreq|
|
||||||
|
|
||||||
|
You can select an address pool by name when setting up the **IPv4 Addressing
|
||||||
|
Mode** or **IPv6 Addressing Mode** for a data interface.
|
||||||
|
|
||||||
|
See also :ref:`Managing IP Address Pools Using the CLI
|
||||||
|
<managing-ip-address-pools-using-the-cli>`
|
@ -57,6 +57,15 @@ Configuration
|
|||||||
|
|
||||||
configuration/index
|
configuration/index
|
||||||
|
|
||||||
|
------------------------------------------------
|
||||||
|
Data Network Configuration and Management Guides
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
datanet/index
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
Fault Management
|
Fault Management
|
||||||
----------------
|
----------------
|
||||||
|