Common testing content for OpenStack-Ansible
Go to file
Jesse Pretorius 2462fa4820 Use the config_template module from the dedicated repo
The config_template action module has now been moved into its own git
repository (openstack/ansible-config_template). This has been done to
simplify the ability to use the plugin in other non OpenStack-Ansible
projects.

This implements the changes necessary to ensure that all role tests
now make use of the new git repository, rather than the old location
in the openstack-ansible-plugins repository. The config_template
repo is placed first in the list of library/action plugin locations
to use to ensure that any other version of the plugin (eg: ceph) is
not used.

Related-Bug: 1791258
Change-Id: Ia8030424eabecef3c5217907757d921f45e329f8
2019-02-08 13:52:34 +00:00
ansible-lint Fix usage of "|" for tests 2018-07-12 16:44:20 +02:00
common-tasks Add LXC COPR cache 2018-09-12 16:40:51 -06:00
doc Updated from global requirements 2018-03-15 07:42:10 +00:00
releasenotes Update reno for stable/rocky 2018-08-10 16:49:52 +00:00
sync/tasks Fix to setup notify mq service 2018-08-17 14:16:36 -04:00
tests Gather different port status on different hosts 2019-01-25 18:27:20 +05:30
zuul.d Revert "Set OpenSUSE jobs to non-voting" 2018-12-20 15:55:22 +00:00
.gitignore Add vscode to the gitignore file 2018-10-01 11:16:21 -05:00
.gitreview Introduced all the scaffolding for test repo 2016-08-12 14:50:07 +00:00
LICENSE Introduced all the scaffolding for test repo 2016-08-12 14:50:07 +00:00
README.rst Update README.rst information 2018-06-19 17:08:11 +08:00
Vagrantfile Vagrantfile: Add Ubuntu Bionic box 2018-09-24 11:51:53 +01:00
bindep.txt bindep.txt: Consolidate some RPM depdendencies 2017-12-05 17:50:02 +00:00
create-grant-db.yml Do not log passwords 2018-04-11 13:49:00 +02:00
destroy_containers.yml Use 'become' for destroy container playbook. 2018-07-12 10:20:33 -04:00
gen-projects-list.sh Add new 'ansible-role-*' roles to proposal bot sync 2018-03-28 07:44:21 +00:00
get-ansible-role-requirements.yml Use local connection and become for localhost plays 2018-07-14 14:37:06 +01:00
iptables-clear.sh Setup iptables-clear.sh 2016-05-26 11:33:41 +01:00
listening-port-report.yml Gather different port status on different hosts 2019-01-25 18:27:20 +05:30
manual-test.rc Update README description of how to use the tests repo 2016-09-28 13:23:01 +01:00
run_tests.sh tests-ansible-env-prep: Fix plugin, tests and ops testing on Vagrant 2018-08-17 13:36:34 +01:00
run_tests_common.sh Clean up unused upgrade test tooling 2018-10-25 14:53:02 +01:00
setting-nodepool-variables.yml Simplify nodepool variable gathering 2018-03-08 15:36:06 -06:00
setup.cfg Update mailinglist from dev to discuss 2018-12-05 09:16:39 +08:00
setup.py Updated from global requirements 2017-03-02 11:52:36 +00:00
sync-test-repos.sh Add mq_setup common task file 2018-07-06 16:45:08 +01:00
test-ansible-deps.txt Update ansible to 2.7.5 2018-12-18 09:43:32 +00:00
test-ansible-env-prep.sh Ensure selinux bindings are linked into the venv 2019-01-28 14:39:13 +00:00
test-ansible-functional.sh Remove dependency on EPEL 2018-06-07 13:59:05 -04:00
test-ansible-lint.sh Only execute lint unit tests for the tests repo 2018-03-12 15:08:51 +00:00
test-ansible-role-requirements.yml Use the config_template module from the dedicated repo 2019-02-08 13:52:34 +00:00
test-ansible-syntax.sh Improve lint test flexibility 2017-11-17 15:38:43 +00:00
test-ansible.cfg Use the config_template module from the dedicated repo 2019-02-08 13:52:34 +00:00
test-bashate.sh Implement centralised Ansible test scripts 2016-10-05 09:56:12 +01:00
test-distro_install-vars.yml Add placement_install_method for distro installations 2019-02-06 15:46:48 -05:00
test-install-cinder.yml Remove all MQ vhost/user creation tasks/vars 2018-07-27 13:19:10 +01:00
test-install-etcd.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-galera.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-glance.yml Merge "Ensure remote_user and become are consistently implemented" 2018-07-09 07:54:50 +00:00
test-install-gnocchi.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-haproxy.yml Use local connection and become for localhost plays 2018-07-14 14:37:06 +01:00
test-install-heat.yml Remove all MQ vhost/user creation tasks/vars 2018-07-27 13:19:10 +01:00
test-install-horizon.yml Use local connection and become for localhost plays 2018-07-14 14:37:06 +01:00
test-install-infra.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-install-ironic.yml Remove all MQ vhost/user creation tasks/vars 2018-07-27 13:19:10 +01:00
test-install-keystone.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-install-memcached.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-neutron.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-install-nova.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-install-openstack-hosts.yml Remove redundant apt cache update task 2018-07-14 14:37:28 +01:00
test-install-rabbitmq.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-swift.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-install-tempest.yml Setup clouds.yaml on tempest node 2019-01-18 18:59:38 +05:30
test-log-collect.sh Gather different port status on different hosts 2019-01-25 18:27:20 +05:30
test-pep8.sh Implement centralised Ansible test scripts 2016-10-05 09:56:12 +01:00
test-prepare-containers.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-prepare-host.yml Set the ip tool path for each OS 2019-01-31 00:17:45 +00:00
test-prepare-keys.yml Use local connection and become for localhost plays 2018-07-14 14:37:06 +01:00
test-repo-setup.yml Use local connection and become for localhost plays 2018-07-14 14:37:06 +01:00
test-requirements.txt Update ansible to latest stable 2.6.x 2018-10-23 00:47:38 +00:00
test-setup-cinder-localhost.yml Use local connection and become for localhost plays 2018-07-14 14:37:06 +01:00
test-setup-host.yml use include_tasks instead of include 2018-09-09 08:04:47 +00:00
test-setup-swifthosts.yml Fix usage of "|" for tests 2018-07-12 16:44:20 +02:00
test-vars.yml Set a defined IP address range for tempest test public addresses 2019-01-29 13:13:56 +00:00
tox.ini fix tox python3 overrides 2018-07-06 10:18:02 +07:00

README.rst

Team and repository tags

image

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 ${rolename}-overrides.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:

ansible-playbook -i {toxinidir}/tests/inventory \
                 -e @{toxinidir}/tests/${rolename}-overrides.yml \
                 {toxinidir}/tests/test.yml -vvvv

In your repositories tests/test.yml file, you can call any of the included playbooks, for example:

- include: common/test-prepare-keys.yml

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.

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:

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"
Documentation for the project can be found at:

https://docs.openstack.org/openstack-ansible-tests/latest/

Release notes for the project can be found at:

https://docs.openstack.org/releasenotes/openstack-ansible-tests/

The project home is at:

https://launchpad.net/openstack-ansible