summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Hu <bh526r@att.com>2016-08-04 16:39:20 -0700
committerBin Hu <bh526r@att.com>2016-08-04 16:39:20 -0700
commitf7fd16d35c7ef53dba3468530c665d3a880004e8 (patch)
tree90f16bcfe26e85304a85cda7f956fad4fe8422c5
parent2841b04fc7d5131e549b3c1684807ec88d2907d2 (diff)
Installation guide for IPv6-only infrastructure
Change-Id: Ib99a1eebf74ecf1b0d66a81842b61e71cf850f93 Signed-off-by: Bin Hu <bh526r@att.com>
-rw-r--r--docs/configguide/index.rst188
1 files changed, 188 insertions, 0 deletions
diff --git a/docs/configguide/index.rst b/docs/configguide/index.rst
new file mode 100644
index 0000000..75c925b
--- /dev/null
+++ b/docs/configguide/index.rst
@@ -0,0 +1,188 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) Bin Hu (AT&T) and Sridhar Gaddam (RedHat)
+
+=========================================
+Install OPNFV on IPv6-Only Infrastructure
+=========================================
+
+This section provides instructions to install OPNFV on IPv6-only Infrastructure. All underlay networks
+and API endpoints will be IPv6-only except:
+
+1. "admin" network in underlay/undercloud still has to be IPv4, due to lack of support of IPMI
+ over IPv6 or PXE over IPv6.
+2. OVS VxLAN (or GRE) tunnel endpoint is still IPv4 only, although IPv6 traffic can be
+ encapsulated within the tunnel.
+3. Metadata server is still IPv4 only.
+
+Except the limitations above, the use case scenario of the IPv6-only infrastructure includes:
+
+1. Support OPNFV deployment on an IPv6 only infrastructure.
+2. Horizon/ODL-DLUX access using IPv6 address from an external host.
+3. OpenStack API access using IPv6 addresses from various python-clients.
+4. Ability to create Neutron Routers, IPv6 subnets (e.g. SLAAC/DHCPv6-Stateful/
+ DHCPv6-Stateless) to support North-South traffic.
+5. Inter VM communication (East-West traffic) when one of the VM is on Controller node
+ and the other on the Compute node.
+6. VNC access into a VM using IPv6 addresses.
+
+-------------------------------------------
+Install OPNFV in OpenStack-Only Environment
+-------------------------------------------
+
+**Apex Installer**:
+
+.. code-block:: bash
+
+ # HA, Virtual deployment in OpenStack-only environment
+ ./opnfv-deploy -v -d /etc/opnfv-apex/os-nosdn-nofeature-ha.yaml \
+ -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # HA, Bare Metal deployment in OpenStack-only environment
+ ./opnfv-deploy -d /etc/opnfv-apex/os-nosdn-nofeature-ha.yaml \
+ -i <inventory file> -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # Non-HA, Virtual deployment in OpenStack-only environment
+ ./opnfv-deploy -v -d /etc/opnfv-apex/os-nosdn-nofeature-noha.yaml \
+ -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # Non-HA, Bare Metal deployment in OpenStack-only environment
+ ./opnfv-deploy -d /etc/opnfv-apex/os-nosdn-nofeature-noha.yaml \
+ -i <inventory file> -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # Note:
+ #
+ # 1. Parameter ""-v" is mandatory for Virtual deployment
+ # 2. Parameter "-i <inventory file>" is mandatory for Bare Metal deployment
+ # 2.1 Refer to https://git.opnfv.org/cgit/apex/tree/config/inventory for examples of inventory file
+ # 3. You can use "-n /etc/opnfv-apex/network_setting.yaml" for deployment in IPv4 infrastructure
+
+**Joid** Installer:
+
+.. code-block:: bash
+
+ # HA deployment in OpenStack-only environment
+ ./deploy.sh -o mitaka -s nosdn -t ha -l default -f ipv6
+
+ # Non-HA deployment in OpenStack-only environment
+ ./deploy.sh -o mitaka -s nosdn -t nonha -l default -f ipv6
+
+Please **NOTE** that:
+
+* You need to refer to **installer's documentation** for other necessary
+ parameters applicable to your deployment.
+* You need to refer to **Release Notes** and **installer's documentation** if there is
+ any issue in installation.
+
+--------------------------------------------------
+Install OPNFV in OpenStack with ODL-L2 Environment
+--------------------------------------------------
+
+**Apex Installer**:
+
+.. code-block:: bash
+
+ # HA, Virtual deployment in OpenStack with Open Daylight L2-only environment
+ ./opnfv-deploy -v -d /etc/opnfv-apex/os-odl_l2-nofeature-ha.yaml \
+ -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # HA, Bare Metal deployment in OpenStack with Open Daylight L2-only environment
+ ./opnfv-deploy -d /etc/opnfv-apex/os-odl_l2-nofeature-ha.yaml \
+ -i <inventory file> -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # Non-HA deployment in OpenStack with Open Daylight L2-only environment
+ # There is no settings file provided by default for odl_l2 non-HA deployment
+ # You need to copy /etc/opnfv-apex/os-odl_l2-nofeature-ha.yaml to another file
+ # e.g. /etc/opnfv-apex/os-odl_l2-nofeature-noha.yaml
+ # and change the "ha_enabled" parameter to be "false", i.e.: "ha_enabled: false", and:
+
+ # - For Non-HA, Virtual deployment
+ ./opnfv-deploy -v -d /etc/opnfv-apex/os-odl_l2-nofeature-noha.yaml \
+ -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # - For Non-HA, Bare Metal deployment
+ ./opnfv-deploy -d /etc/opnfv-apex/os-odl_l2-nofeature-noha.yaml \
+ -i <inventory file> -n /etc/opnfv-apex/network_setting_v6.yaml
+
+ # Note:
+ #
+ # 1. Parameter ""-v" is mandatory for Virtual deployment
+ # 2. Parameter "-i <inventory file>" is mandatory for Bare Metal deployment
+ # 2.1 Refer to https://git.opnfv.org/cgit/apex/tree/config/inventory for examples of inventory file
+ # 3. You can use "-n /etc/opnfv-apex/network_setting.yaml" for deployment in IPv4 infrastructure
+
+**Joid** Installer:
+
+.. code-block:: bash
+
+ # HA deployment in OpenStack with Open Daylight L2-only environment
+ ./deploy.sh -o mitaka -s odl -t ha -l default -f ipv6
+
+ # Non-HA deployment in OpenStack with Open Daylight L2-only environment
+ ./deploy.sh -o mitaka -s odl -t nonha -l default -f ipv6
+
+Please **NOTE** that:
+
+* You need to refer to **installer's documentation** for other necessary
+ parameters applicable to your deployment.
+* You need to refer to **Release Notes** and **installer's documentation** if there is
+ any issue in installation.
+
+-------------------
+Testing Methodology
+-------------------
+
+There are 2 levels of testing to validate the deployment.
+
+++++++++++++++++
+Underlay Testing
+++++++++++++++++
+
+**Underlay** Testing is to validate that API endpoints are listening on IPv6 addresses.
+This can be as simple as validating Keystone service, and as complete as validating each
+API endpoint. It is important to reuse Tempest API testing.
+
+Please **Note** that, to the best of our knowledge, Tempest API testing does not validate
+API endpoints listening on IPv6 addresses. Thus Underlay Testing is postponed to future
+release until Tempest API testing is ready to validate API endpoints listening on IPv6 addresses.
+
++++++++++++++++
+Overlay Testing
++++++++++++++++
+
+**Overlay** Testing is to validate that IPv6 is supported in tenant networks, subnets and routers.
+Tempest Scenario testing covers the following overlay IPv6 scenarios:
+
+.. code-block:: bash
+
+ tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_network
+ tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_port
+ tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_subnet
+ tempest.api.network.test_networks.NetworksIpV6Test.test_create_update_delete_network_subnet
+ tempest.api.network.test_networks.NetworksIpV6Test.test_external_network_visibility
+ tempest.api.network.test_networks.NetworksIpV6Test.test_list_networks
+ tempest.api.network.test_networks.NetworksIpV6Test.test_list_subnets
+ tempest.api.network.test_networks.NetworksIpV6Test.test_show_network
+ tempest.api.network.test_networks.NetworksIpV6Test.test_show_subnet
+ tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_create_update_delete_network_subnet
+ tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_external_network_visibility
+ tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_networks
+ tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_subnets
+ tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_network
+ tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_subnet
+ tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_in_allowed_allocation_pools
+ tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_with_no_securitygroups
+ tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_update_delete_port
+ tempest.api.network.test_ports.PortsIpV6TestJSON.test_list_ports
+ tempest.api.network.test_ports.PortsIpV6TestJSON.test_show_port
+ tempest.api.network.test_routers.RoutersIpV6Test.test_add_multiple_router_interfaces
+ tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_port_id
+ tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_subnet_id
+ tempest.api.network.test_routers.RoutersIpV6Test.test_create_show_list_update_delete_router
+ tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_list_update_show_delete_security_group
+ tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_show_delete_security_group_rule
+ tempest.api.network.test_security_groups.SecGroupIPv6Test.test_list_security_groups
+
+The above scenarios are quite comprehensive to validate IPv6 tenant networks. We are using above
+Tempest Scenario testing as Smoke Test in FuncTest, which is integrated into OPNFV's CI/CD environment.
+