openstack-ansible-tests/README.rst
Andy McCrae 7d8954032a Allow network Alias addresses
For nova flat networking to work /w neutron we need to allow an alias
address for some interfaces.

This PR exposes a "alias:" option which is an address that will be added
as an alias for the interface.

For Debian this means an additional block at the bottom of the
configuration file.

For RedHat this means an <interface_name>:0 file is created.

Change-Id: I39c396ce3b6eab321d5eb70645c1d0af71dcf5c6
2016-09-29 16:09:44 +01:00

73 lines
2.4 KiB
ReStructuredText

OpenStack-Ansible testing
=========================
This is the ``openstack-ansible-tests`` repository, providing a framework and
consolidation of testing configuration and playbooks. This can be used to
integrate new projects, and ensure that code duplication is minimized whilst
allowing the addition of new testing scenarios with greater ease.
Role Integration
~~~~~~~~~~~~~~~~
To enable the ``openstack-ansible-tests`` repository, ensure that the
``tox.ini`` configuration in the role repository matches the `galera_client
repository tox.ini`_ with the exception of the value for ``ROLE_NAME``.
A more advanced configuration which implements multiple functional test
scenarios is available in the `neutron role tox.ini`_.
To override variables you can create a ``test-vars.yml`` file inside the
role's tests folder. This variable file can be includes in the functional tox
target configuration in ``tox.ini`` as demonstrated in the following extract:
.. code-block:: bash
ansible-playbook -i {toxinidir}/tests/inventory \
-e @{toxinidir}/tests/test-vars.yml \
{toxinidir}/tests/test.yml -vvvv
In your repositories ``tests/test.yml`` file, you can call any of the
included playbooks, for example:
.. code-block:: yaml
- include: common/test-prepare-keys.yml
.. _galera_client repository tox.ini: https://github.com/openstack/openstack-ansible-galera_client/blob/master/tox.ini
.. _neutron role tox.ini: https://github.com/openstack/openstack-ansible-os_neutron/blob/master/tox.ini
Network Settings
~~~~~~~~~~~~~~~~
The networking can be configured and setup using the ``bridges`` variable.
The base option, when only 1 interface is required is to specify just a single
base - this is only for backwards compatibility with existing test setup and
will default to ``br-mgmt`` with an IP of ``10.1.0.1``.
.. code-block:: yaml
bridges:
- "br-mgmt"
To allow a more complicated network setup we can specify
``ip_addr``: The IP address on the interface.
``netmask``: Netmask of the interface (defaults to 255.255.255.0)
``name``: Name of the interface
``veth_peer``: Set up a veth peer for the interface
``alias``: Add an alias IP address
For example, a Nova setup may look like this:
.. code-block:: yaml
bridges:
- name: "br-mgmt"
ip_addr: "10.1.0.1"
- name: "br-vxlan"
ip_addr: "10.1.1.1"
- name: "br-vlan"
ip_addr: "10.1.2.200"
veth_peer: "eth12"
alias: "10.1.2.1"