Commit Graph

35 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov 18ca2f1618 Use the utility host for db setup tasks
Move it to the service setup host (defaults to utility[0]) instead
of the galera[0] host, and use galera_address (defaults to internal VIP)
as the endpoint instead of a local connection on the db host.

Change-Id: Ie8e6b95f531fef9c9fe04d6d8f692d599aa5ff30
2020-08-27 18:09:04 +03:00
Dmitriy Rabotyagov 5eecaef17b Cleanup after repo_build and pip_install retirement
Change-Id: I6e39a492e1d8f73f530bc0928881fb156ff05aaf
2020-05-12 21:26:29 +03:00
Dmitriy Rabotyagov f3285ed7ad Start using uWSGI role
Move service to use uWSGI role instead of iternal task for uwsgi
deployment. This aims to ease the maintenance of uWSGI and speedup
metal deployments as the same uwsgi environment will be used
across all services.

Change-Id: I5b0bcd6a51f237fcd772368f51a406421ffb52f4
2019-09-05 20:31:19 +03:00
tonybrad b9995c364d Change git to opendev
Change-Id: I1c436c9674526ee27aad66e272495a5a8a22cfc6
2019-05-21 03:51:52 +00:00
Dmitriy Rabotjagov fb6af2f3f0 Update role for new source build process
The variables cloudkitty_developer_mode and cloudkitty_venv_download
no longer carry any meaning. This review changes cloudkitty to
do the equivalent of what developer_mode was all the time,
meaning that it always builds the venv and never requires
the repo server, but it will use a repo server when available.

As part of this, we move the installation out of its own file
because it's now a single task to include the venv build role.
This is just to make it easier to follow the code.

We also change include_tasks to import_tasks and include_role
to import_role so that the tags in the python_venv_build role
will work.

Change-Id: Ieaec0a12a1ed6ea1f9a98a615fd8c6bff67a9d0c
2019-03-28 15:45:56 +02:00
Jesse Pretorius b228cc0fc9 Set container_name as host_var in test inventory
The connection plugin no longer falls back on using the
inventory_hostname as the container_name. Set container_name as a host
var for each container in the test inventory.

Change-Id: Iebf19bc6527aea0ca0ba4796ee38d923ac64281a
2018-10-23 10:05:42 +01:00
Zuul 2d82c48d84 Merge "Use include_tasks instead of include" 2018-08-18 01:42:04 +00:00
Zuul efa4714aeb Merge "Trivial: Fix the pep8 warning" 2018-08-17 05:16:53 +00:00
caoyuan 15c0163b1e Use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

Switch to include_tasks or import_playbook as necessary

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Change-Id: I0297ca2a66b3344cfc20a1adf81b71339174a205
2018-08-15 14:22:20 +08:00
wangqi 7f96645298 Trivial: Fix the pep8 warning
The yaml should start with "---"

Change-Id: Iaf43682075718e85c1e22f8d4ac28fd65dea0d17
2018-08-06 07:23:44 +00:00
Jesse Pretorius 1ab9470007 Cleanup playbook, vars and overrides
1. The venv tag override is unnecessary, given there is a default.
2. The install branch override is unnecessary, given there is a
   default. The constraint in defaults was set to use the
   'cloudkitty_requirements_git_install_branch' instead of this
   variable anyway. This has been corrected to the right var.
3. The galera address for role tests has a specific var for it.
4. The 'cloudkitty_requirements_git_install_branch' is a relic
   of the past, and has been removed.
5. The playbook is very dated and is using a lot of old mechanisms
   and unnecessary vars. It is updated to be normalised with the
   playbooks from the integrated build.

Change-Id: I6a8e8b3ec8b00790416648beb1c4ce0257406409
2018-07-31 08:31:52 +01:00
Jesse Pretorius 19f299854e Move MQ vhost/user creation into role
There is no record for why we implement the MQ vhost/user creation
outside of the role in the playbook, when we could do it inside the
role.

Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.

In this patch we implement two new variables:
- cloudkitty_oslomsg_rpc_setup_host
- cloudkitty_oslomsg_notify_setup_host

These are used in the role to allow delegation of the MQ vhost/user
setup for each type to any host, but they default to using the first
member of the applicable oslomsg host group.

We also adjust some of the defaults to automatically inherit existing
vars set in group_vars form the integrated build so that we do not
need to do the wiring in the integrated build's group vars. We still
default them in the role too for independent role usage.

Finally, we remove the test mq setup tasks and clean up any unused
or unnecessary variables configured in tests.

Change-Id: Iac217b80df3da79a944185a90ba4c1ff5409945b
2018-07-31 08:31:19 +01:00
Andy Smith cfddca21eb Update to use oslo.messaging service RPC and Notify
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters replace
the rabbitmq values and are used to generate the messaging
transport_url for the service.

This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation in conf
* Add oslo.messaging to tests inventory and update tests
* Install extra packages for optional drivers
* Add release note

Change-Id: I0612252927f81b3584054f6cd77a2826c5d3fc3b
2018-07-31 08:31:18 +01:00
Jesse Pretorius ddb31b12a8 Execute service setup against a delegated host using Ansible built-in modules
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.

The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The keystone client library is not required any more now that we're
using the upstream modules. As there are no required packages left, the task
to install them is also removed.

With the dependent patches, the openstack_openrc role is now executed once
on the designated host, so it is no longer required as a meta-dependency for
the role.

Depends-On: https://review.openstack.org/579233
Depends-On: https://review.openstack.org/579959
Change-Id: Ib46638d1cb35e677ecfe789a32bb69a024042d6f
2018-07-06 13:48:47 +00:00
Jean-Philippe Evrard 13b51e5c26 Do not log passwords
This prevents data to be leaked into the callback plugin.

Change-Id: If71d5efc15c4867f877d147349fb3c5ae7b42e95
2018-04-11 13:54:02 +02:00
Jesse Pretorius cce15b5a45 Remove tests-repo-clone.sh
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.

Change-Id: Ic841db320227274c41ea0b92bba45e364f77726b
2018-03-28 10:13:35 +01:00
Zuul 67a2c3eb73 Merge "ansible-role-requirements: Use systemd_service role from openstack namespace" 2018-03-25 17:07:59 +00:00
Jesse Pretorius 56ceedb664 ansible-role-requirements: Use systemd_service role from openstack namespace
In order to ensure that the updated role is used for tests,
we adjust the a-r-r file to pull from the correct repo.

Change-Id: I23bd1d95e054f6f2c6071caa5670a6c2ac16820d
2018-03-25 16:19:23 +01:00
Jesse Pretorius ea53b738bf ansible-role-requirements: Add common python_venv_build role
In order to allow tests to work as the use of the common
role is implemented in the various roles, we pre-implement
the addition of the role into the a-r-r file.

Change-Id: Ib3470ea86d3b6f037fe2aaa4476753a017c7ef12
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
2018-03-24 23:19:28 +00:00
Jesse Pretorius a1b5ad8112 ansible-role-requirements: Add common systemd_service role
In order to allow tests to work with https://review.openstack.org/551028
merged, add the role to the a-r-r file.

Change-Id: Ice425cee59f6670f0de24e8a91114a8f0bc4c29a
2018-03-13 16:49:36 +00:00
OpenStack Proposal Bot a77193a926 Updated from OpenStack Ansible Tests
Change-Id: I6c795043321fc19146050c3b1c6984d65f3301d5
2018-02-14 20:05:15 +00:00
Jesse Pretorius 02d757f521 Initial OSA zuul v3 role jobs
This patch implements an initial set of jobs intended to match
the current job execution method. It does not intend to improve
how the jobs are executed - only to replicate what is currently
in openstack-infra/openstack-zuul-jobs and provide the platform
to iterate on.

Change-Id: Ib2e6d342e4ce1d6dc5eb6dc13a58661b77831f8a
2017-10-17 21:47:58 +01:00
OpenStack Proposal Bot 3ee2c82e46 Updated from OpenStack Ansible Tests
Change-Id: Ibd26d5bffaa8b7ba7c1520e025301df8b7925a20
2017-10-12 20:44:13 +00:00
OpenStack Proposal Bot d157971823 Updated from OpenStack Ansible Tests
Change-Id: Iace556781cdb44f2d9f95197009cce0244ac4bda
2017-06-22 15:19:22 +00:00
Jesse Pretorius 2e7940ffc9 Use zuul-cloner for tests repo in OpenStack-CI
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.

Change-Id: I4863fa5ee0e5c1b377bd4e75de891cc6dd20ef7a
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
2017-05-04 16:51:08 +01:00
Jesse Pretorius 9328af7aa2 Fix role gate tests for Ansible 2.3
Add 'become' and root 'user' options to the playbook instead of using
'ansible_become' through an inventory variable.

Change-Id: I4d94dec6ad68159248007f6845c9e3e09c233bf1
2017-05-02 09:21:46 +01:00
Pedro Perez be53f8eca8 update naming conventions for secret vars
Change-Id: I523b5f1ae56c1ff19ca6bd95e3e0e7f00e282c71
2016-11-18 16:42:48 +01:00
Jesse Pretorius 67e34a1a9f Use centralised test scripts
This patch consumes the test scripts implemented by
https://review.openstack.org/375061 to ensure that
the tests and test preparation is consistent and
more maintainable.

Change-Id: Ib7d3bff4c80a34508d701a940fa9b8f88f33678f
2016-09-27 18:01:18 +00:00
Jesse Pretorius 62a45a48ea Force Ansible to use dynamic includes
Ansible 2.1.1 introduces a regression in the way conditional
includes are handled which results in every task in the
included file being evaluated even if the condition for the
include is not met. This extends the run time significantly
for a deployment.

This patch forces all conditional includes to be dynamic.

Change-Id: Ie732af6a11815d4ee8efa27233d49a173372bb97
Related-Bug: https://github.com/ansible/ansible/issues/17687
2016-09-22 12:36:50 +01:00
Kevin Carter 91ab7d7c0a Ansible 2.1.1 role testing
Change-Id: I359ee1fabfcc5f9efa45c614a5b5200630efb927
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-19 16:15:45 -04:00
Jesse Pretorius 6369a3b6e6 Rename package lists (and related vars) appropriately
In order to make it easier to differentiate between the lists of
python packages, distribution packages, downloaded packages,
package pins and other similar variables the variable names are
being changed to ensure that they have a more explicit suffix
that defines the purpose and makes the naming more consistent.

This is to facilitate a lookup plugin which will be able to look
up all the package lists and present them as a consolidated piece
of data which may be used for artifact preparation.

Change-Id: Ie416ef490b4e50b57bc3db870e1cb5540df6446e
2016-08-30 16:59:49 +01:00
Jimmy McCrory 84f5e53699 Remove openstack_hosts from test requirements
The openstack_hosts role is not used in any of the test playbooks
or required by dependent roles and can be removed from the test
role requirements.

Change-Id: If7ac5944d1416bb4353b6e4562da248ab3edd318
2016-07-20 18:47:01 -07:00
Jimmy McCrory 3828fccefe Remove pip_lock_down dependency
The pip_install and pip_lock_down roles have been merged.

Remove pip_lock_down from the role's meta dependencies and test
requirements.

Change-Id: I0ecd54e31d7d187efc18be83bfc54c2ec30b7b6c
2016-07-06 10:38:55 -07:00
Jimmy McCrory fdaaacaca8 Implement base configuration for OpenStack-CI
This patch includes the following changes to enable OpenStack-CI gate
testing and to allow the role to pass a basic convergence test:

 - Base configuration for OpenStack's CI Infrastructure.
 - Base documentation build configuration.
 - A Vagrantfile for local testing.
 - A base test configuration in order to execute the standard tests.
 - Added a CONTRIBUTING file.
 - Add reno scaffolding for release notes management.
 - Correcting name of handler to restart services in install tasks.
 - Define ``cloudkitty_galera_password`` and
   ``cloudkitty_user_password`` in test variables.
 - Define default ``debug`` and ``cloudkitty_service_region`` variables.

Change-Id: I7bcc8c589d506d8b71eb08fc87861a4c31a6e947
2016-07-01 09:35:24 -07:00
Michael Rice 6d6ca0c8fa Adding the extras and tests with updated readme
This change includes the bits needed to add to osa such
as the playbook and env.d file.
2016-05-19 22:21:55 -05:00