Docs: Add IPv6 control plane (address families)

IPv6 control plane implementation [1] follow-up.

[1] Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c

Change-Id: Icc25463320c23fd510073bff0a8144437a3607a6
This commit is contained in:
Radosław Piliszek 2019-10-21 10:43:19 +02:00
parent 2585788982
commit 277675ede0
1 changed files with 53 additions and 0 deletions

View File

@ -94,6 +94,59 @@ In Kolla operators should configure following network interfaces:
in example ``br-ex`` or ``bond-0`` cannot be used because ansible will read
them as ``br_ex`` and ``bond_0`` respectively.
.. _address-family-configuration:
Address family configuration (IPv4/IPv6)
----------------------------------------
Starting with the Train release, Kolla Ansible allows operators to deploy
the control plane using IPv6 instead of IPv4. Each Kolla Ansible network
(as represented by interfaces) provides a choice of two address families.
Both internal and external VIP addresses can be configured using an IPv6
address as well.
IPv6 is tested on Debian and Ubuntu.
.. warning::
While Kolla Ansible Train requires Ansible 2.6 or later, IPv6 support requires
Ansible 2.8 or later due to a bug:
https://github.com/ansible/ansible/issues/63227
.. note::
Currently there is no dual stack support. IPv4 can be mixed with IPv6 only
when on different networks. This constraint arises from services requiring
common single address family addressing.
For example, ``network_address_family`` accepts either ``ipv4`` or ``ipv6``
as its value and defines the default address family for all networks just
like ``network_interface`` defines the default interface.
Analogically, ``api_adress_family`` changes the address family for the API
network. Current listing of networks is available in ``globals.yml`` file.
.. note::
While IPv6 support introduced in Train is broad, some services are known
not to work yet with IPv6 or have some known quirks:
* CentOS 7 images suffer from IPv6 connectivity issues:
https://bugs.launchpad.net/kolla-ansible/+bug/1848444
* Bifrost does not support IPv6:
https://storyboard.openstack.org/#!/story/2006689
* Docker does not allow IPv6 registry address:
https://github.com/moby/moby/issues/39033
- the workaround is to use the hostname
* RabbitMQ in provided images prefers IPv4 addresses when resolving names:
https://bugs.launchpad.net/kolla-ansible/+bug/1848452
- the workaround is to ensure that the hostname resolves uniquely
to an IPv6 address
* Ironic DHCP server, dnsmasq, is not currently automatically configured
to offer DHCPv6: https://bugs.launchpad.net/kolla-ansible/+bug/1848454
Docker configuration
~~~~~~~~~~~~~~~~~~~~