Goal-IPv6-only-deployments-and-testing

Description: This page explains the implementation details about OpenStack Community Goal Train: Support IPv6-Only Deployments

Zuul v3 jobs setup for IPv6-only deployments and testing
Devstack and Tempest provide the base Zuul v3 job for IPv6 deployment and testing. Each project can define the new job derived from base jobs and verify their services communication over IPv6 env.

How to define & run the project side IPv6-only job
As shown in the above diagram. Each project side job has to be derived from ’devstack-tempest-ipv6’ job defined in Tempest.
 * Project side job can run their own set of basic tests to verify the IPv6 deployments.
 * Define the tox_envlist & tempest_test_regex to run the IPv6-only job tests and use the same in job
 * tox_envlist:
 * tempest_test_regex: ’ ONly needed if using broader tox env not IPv6 specific.
 * One suggested set of tests is “smoke” + IPv6 specific tests.
 * For example done in- https://review.opendev.org/#/c/671231/7/tox.ini

How to configure project side IPv6-only job to perform the extra IPv6 project-specific verification

 * This can be done via pre-run or post-run playbooks. You can define the ansible roles to perform the specific verification.
 * For Example- https://review.opendev.org/#/c/671231/7/roles/ipv6-only-deployments-verification/README.rst
 * These roles can be run as part of
 * pre-run - if verification needs before tests run. Order of pre-run is parent job -> child job
 * run- as part of the test run but it needs to define the complete playbook because this does not run in an inherited way.
 * post-run - if verification need after test run. Order of pre-run is child job -> parent job