Skip to content

Commit df0d906

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "docs: Improve info about neutron external interface" into stable/wallaby
2 parents 94627f1 + a61d4e7 commit df0d906

File tree

6 files changed

+73
-33
lines changed

6 files changed

+73
-33
lines changed

doc/source/_extra/.htaccess

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
# No redirects in place yet.
1+
redirectmatch 301 ^/([^/]+/[^/]+)/reference/networking/provider-networks.html$ /$1/reference/networking/neutron.html#provider-networks

doc/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
'glance',
9595
'ironic',
9696
'keystone',
97+
'kayobe',
9798
'kolla',
9899
'kolla-ansible',
99100
'magnum',

doc/source/reference/networking/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,4 @@ Networking-SFC, QoS, and so on.
1515
neutron
1616
neutron-extensions
1717
octavia
18-
provider-networks
1918
sriov

doc/source/reference/networking/neutron.rst

Lines changed: 58 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,65 @@ Neutron is enabled by default in ``/etc/kolla/globals.yml``:
1313
1414
#enable_neutron: "{{ enable_openstack_core | bool }}"
1515
16+
Network interfaces
17+
~~~~~~~~~~~~~~~~~~
18+
1619
Neutron external interface is used for communication with the external world,
17-
for example provider networks and floating IPs.
18-
For setting up the neutron external interface please modify
20+
for example provider networks, routers and floating IPs.
21+
For setting up the neutron external interface modify
1922
``/etc/kolla/globals.yml`` setting ``neutron_external_interface`` to the
20-
desired interface name, ``eth1`` in the example below:
23+
desired interface name. This interface is used by hosts in the ``network``
24+
group. It is also used by hosts in the ``compute`` group if
25+
``enable_neutron_provider_networks`` is set or DVR is enabled.
26+
27+
The interface is plugged into a bridge (Open vSwitch or Linux Bridge, depending
28+
on the driver) defined by ``neutron_bridge_name``, which defaults to ``br-ex``.
29+
The default Neutron physical network is ``physnet1``.
30+
31+
Example: single interface
32+
-------------------------
33+
34+
In the case where we have only a single Neutron external interface,
35+
configuration is simple:
2136

2237
.. code-block:: yaml
2338
2439
neutron_external_interface: "eth1"
2540
26-
.. note::
27-
This is used by hosts in the ``network`` group, and hosts in the ``compute``
28-
group if ``enable_neutron_provider_networks`` is set or DVR is enabled.
41+
Example: multiple interfaces
42+
----------------------------
43+
44+
In some cases it may be necessary to have multiple external network interfaces.
45+
This may be achieved via comma-separated lists:
46+
47+
.. code-block:: yaml
48+
49+
neutron_external_interface: "eth1,eth2"
50+
neutron_bridge_name: "br-ex1,br-ex2"
51+
52+
These two lists are "zipped" together, such that ``eth1`` is plugged into the
53+
``br-ex1`` bridge, and ``eth2`` is plugged into the ``br-ex2`` bridge. Kolla
54+
Ansible maps these interfaces to Neutron physical networks ``physnet1`` and
55+
``physnet2`` respectively.
56+
57+
Example: shared interface
58+
-------------------------
59+
60+
Sometimes an interface used for Neutron external networking may also be used
61+
for other traffic. Plugging an interface directly into a bridge would prevent
62+
us from having a usable IP address on the interface. One solution to this issue
63+
is to use an intermediate Linux bridge and virtual Ethernet pair, then assign
64+
IP addresses on the Linux bridge. This setup is supported by
65+
:kayobe-doc:`Kayobe </>`. It is out of scope here, as it is non-trivial to set
66+
up in a persistent manner.
67+
68+
Provider networks
69+
~~~~~~~~~~~~~~~~~
70+
71+
Provider networks allow to connect compute instances directly to physical
72+
networks avoiding tunnels. This is necessary for example for some performance
73+
critical applications. Only administrators of OpenStack can create such
74+
networks.
2975

3076
To use provider networks in instances you also need to set the following in
3177
``/etc/kolla/globals.yml``:
@@ -34,9 +80,12 @@ To use provider networks in instances you also need to set the following in
3480
3581
enable_neutron_provider_networks: yes
3682
37-
.. note::
38-
``enable_neutron_provider_networks`` ensures ``neutron_external_interface``
39-
is used on hosts in the ``compute`` group.
83+
For provider networks, compute hosts must have an external bridge
84+
created and configured by Ansible (this is also necessary when
85+
:neutron-doc:`Neutron Distributed Virtual Routing (DVR)
86+
<admin/deploy-ovs-ha-dvr.html>` mode is enabled). In this case, ensure
87+
``neutron_external_interface`` is configured correctly for hosts in the
88+
``compute`` group.
4089

4190
OpenvSwitch (ml2/ovs)
4291
~~~~~~~~~~~~~~~~~~~~~

doc/source/reference/networking/provider-networks.rst

Lines changed: 0 additions & 21 deletions
This file was deleted.

doc/test/redirect-tests.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
1-
# No redirects in place yet.
1+
# This file contains tests for redirects to handle existing URLs for
2+
# specs that have been moved. See
3+
# https://docs.openstack.org/whereto/latest/ for details.
4+
5+
# No redirect.
6+
/ 200
7+
/kolla-ansible 200
8+
/kolla-ansible/latest 200
9+
/kolla-ansible/latest/reference/ 200
10+
/kolla-ansible/latest/reference/index.html 200
11+
12+
# Moved /kolla-ansible/latest/reference/networking/provider-networks.html to /kolla-ansible/latest/reference/networking/neutron.html#provider-networks
13+
/kolla-ansible/latest/reference/networking/provider-networks.html 301 /kolla-ansible/latest/reference/networking/neutron.html#provider-networks

0 commit comments

Comments
 (0)