Common testing content for OpenStack-Ansible
Go to file
Jesse Pretorius 839aec5abe Ensure remote_user and become are consistently implemented
It makes no sense to use become when you're connecting to a
host via the root remote_user. As such, we remove all uses of
'become: true' from the test plays with the exception of the
'test-prepare-keys.yml' playbook which uses a local connection
rather than a remote one and it therefore needs to use become.

We also transition all plays to use 'remote_user' which is the
correct parameter to replace 'user' (since ansible 1.4).

Finally, we switch the horizon nova service setup to its own
playbook using a local connection and the upstream keystone
modules.

Change-Id: I20517c22f07b1bb811a51d8c63741604360fe7f8
2018-07-06 09:45:29 +01:00
ansible-lint Add a rule to prevent passwords to be logged 2018-04-11 14:48:19 +00:00
common-tasks Add MariaDB infrastructure mirrors 2018-06-28 14:17:47 -04:00
doc Updated from global requirements 2018-03-15 07:42:10 +00:00
network_interfaces Disable offloading in test by default 2017-11-30 13:37:13 +00:00
releasenotes Remove setting of version/release from releasenotes 2017-11-17 08:13:01 +01:00
tests Update to use oslo.messaging services for RPC and Notify 2018-04-30 16:35:22 -04:00
zuul.d Switch upgrade jobs to be non-voting 2018-06-25 13:51:56 -04:00
.gitignore Have run_tests clone the test repo 2018-03-26 18:18:05 +01: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 links in README 2018-03-03 12:25:23 +08:00
Vagrantfile Merge "Vagrantfile: Add workaround for Virtualbox bug on guest audio config" 2018-06-06 00:35:04 +00: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 Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
ensure-oslomsg.yml Update to use oslo.messaging services for RPC and Notify 2018-04-30 16:35:22 -04:00
ensure-rabbitmq.yml Do not log passwords 2018-04-11 13:58:50 +02: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 get-ansible-role-requirements: Use refspec when outside of OpenStack CI 2018-06-15 10:46:03 +01:00
iptables-clear.sh Setup iptables-clear.sh 2016-05-26 11:33:41 +01:00
manual-test.rc Update README description of how to use the tests repo 2016-09-28 13:23:01 +01:00
run_tests.sh Add support for testing on Gentoo. 2018-04-24 11:35:56 -05:00
run_tests_common.sh Pin get-pip.py to 3.2 2018-07-04 08:23:41 +00:00
setting-nodepool-variables.yml Simplify nodepool variable gathering 2018-03-08 15:36:06 -06:00
setup.cfg Update URL home-page in documents according to document migration 2017-07-14 03:21:10 +00:00
setup.py Updated from global requirements 2017-03-02 11:52:36 +00:00
sync-test-repos.sh sync-test-repos.sh: Add Zuul environment support for synchronizing files 2017-06-18 13:45:30 +00:00
test-ansible-deps.txt Update Ansible to 2.5.5 2018-06-28 19:03:03 +01:00
test-ansible-env-prep.sh Use tests repo for common role test requirements 2018-07-02 09:33:32 +01: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 Add openstack_openrc role to common test requirements 2018-05-15 16:28:22 +01:00
test-ansible-syntax.sh Improve lint test flexibility 2017-11-17 15:38:43 +00:00
test-ansible.cfg Add ceph-ansible library and callback path 2018-06-04 16:32:27 +01:00
test-bashate.sh Implement centralised Ansible test scripts 2016-10-05 09:56:12 +01:00
test-create-previous-venv.sh Point to Queens as previous branch 2018-02-14 17:32:51 +00:00
test-distro_install-vars.yml test-distro_install-vars: Add new var file for distro installations 2018-06-08 16:45:46 +01:00
test-install-cinder.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +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 Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01: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 Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-heat.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-horizon.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-infra.yml Fix test-vars and rabbit play 2016-05-23 12:00:39 +01:00
test-install-ironic.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-keystone.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01: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 Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-nova.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-openstack-hosts.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-rabbitmq.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-sahara.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-swift.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-install-tempest.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-log-collect.sh Add yum.repos.d to log collection 2018-06-13 14:56:32 +00:00
test-pep8.sh Implement centralised Ansible test scripts 2016-10-05 09:56:12 +01:00
test-prepare-containers.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-prepare-host.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-prepare-keys.yml Always quote the filesystem permissions 2017-11-10 04:20:17 +00:00
test-repo-setup.yml Ensure all pre-cloned git sources are found 2017-10-31 10:06:02 +00:00
test-requirements.txt Add shade & python-keystoneclient to the tox venv 2018-07-02 09:16:36 +00:00
test-setup-cinder-localhost.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-setup-host.yml Add setup-host play 2016-05-20 14:53:54 +01:00
test-setup-swifthosts.yml Ensure remote_user and become are consistently implemented 2018-07-06 09:45:29 +01:00
test-vars.yml Merge "Do not build cryptography for tests" 2018-07-02 15:20:11 +00:00
tox.ini Use tests repo for common role test requirements 2018-07-02 09:33:32 +01: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"