Role os_trove for OpenStack-Ansible
Go to file
Jesse Pretorius 5333f1a759 Allow tags to be used for MQ tasks
The use of 'include_tasks' and a loop of variables creates
a situation where a user is unable to use tags to scope the
inclusion of only the MQ tasks when running the playbooks.

The use-case this is important for is when the rabbitmq
containers are destroyed and rebuilt in order to resolve
an issue with them, and the user wishes to quickly recreate
all the vhosts/users.

Ansible's 'include_tasks' is a dynamic inclusion, and dynamic
inclusions are not included when using tags. The nice thing
about dynamic inclusions is that they completely skip all
tasks when the condition does not apply, cutting down deploy
time. However, given the use-case, we should rather take on
the extra deployment time.

This patch changes the dynamic inclusion to a static one,
adds a 'common-mq' tag to cover all MQ implementations,
and re-implements the 'common-rabbitmq' tag for the tasks
that relate to RabbitMQ specifically.

It also implements conditionals for each task set so that
the rpc/notify tasks can be skipped if a vhost/user is not
required for that purpose (eg: swift does not use RPC, and
most roles will not use notifications by default).

Depends-On: https://review.openstack.org/588191
Change-Id: I320ae83839869ee89fa5db3bf5c55d245f3b17db
2018-08-07 15:06:11 +01:00
defaults Default MQ RPC/Notify credentials/vhosts to match 2018-07-30 13:24:10 +00:00
doc Update to use oslo.messaging service for RPC and Notify 2018-07-03 12:43:55 -04:00
examples Remove unnecessary MQ vhost/user creation tasks/vars 2018-07-30 13:24:18 +00:00
handlers Fix usage of "|" for tests 2018-07-12 17:02:29 +02:00
library Add scaffolding for OpenStack-CI tests 2016-08-26 16:26:42 +02:00
meta Add bionic to galaxy_info metadata 2018-08-02 15:06:53 +01:00
releasenotes Execute service setup against a delegated host using Ansible built-in modules 2018-07-13 19:15:56 +00:00
tasks Allow tags to be used for MQ tasks 2018-08-07 15:06:11 +01:00
templates Update to use oslo.messaging service for RPC and Notify 2018-07-03 12:43:55 -04:00
tests Remove unnecessary MQ vhost/user creation tasks/vars 2018-07-30 13:24:18 +00:00
vars Merge "Switch to using project-templates" 2018-08-04 22:12:48 +00:00
zuul.d Switch to using project-templates 2018-07-31 11:37:54 +01:00
.gitignore Updated from OpenStack Ansible Tests 2018-03-27 15:56:55 +00:00
.gitreview Add scaffolding for OpenStack-CI tests 2016-08-26 16:26:42 +02:00
bindep.txt Updated from OpenStack Ansible Tests 2017-12-06 00:06:46 +00:00
CONTRIBUTING.rst Update links in CONTRIBUTING.rst 2017-09-20 09:28:37 +08:00
LICENSE Update 2016-08-25 14:56:41 +02:00
manual-test.rc Functional testing for the role gate 2016-09-23 05:56:55 +02:00
README.rst Make the project home link in next line 2018-07-05 21:32:28 -04:00
run_tests.sh Updated from OpenStack Ansible Tests 2018-05-09 19:43:22 +00:00
setup.cfg Update URLs in documents according to document migration 2017-07-19 09:33:49 +08:00
setup.py Updated from global requirements 2017-03-02 11:52:11 +00:00
tox.ini Use tests repo for common role test requirements 2018-07-02 23:20:24 +00:00
Vagrantfile Updated from OpenStack Ansible Tests 2018-06-06 00:44:31 +00:00

Team and repository tags

image

OpenStack-Ansible Trove (DBaaS)

Ansible role that installs and configures OpenStack Trove. Trove is installed behind the Apache webserver listening on port 8779 by default.

Required Variables

This list is not exhaustive at present. See role internals for further details.

# trove TCP listening port
trove_service_port: 8779

Example Playbook

- name: Install trove service
  hosts: trove_all
  user: root
  roles:
     - { role: "os_trove", tags: [ "os-trove" ] }
  vars:
    is_metal: "{{ properties.is_metal|default(false) }}"

OpenStack-Ansible Trove

Ansible role that installs and configures OpenStack Trove.

Documentation for the project can be found at: https://docs.openstack.org/openstack-ansible-os_trove/latest/

Release notes for the project can be found at: https://docs.openstack.org/releasenotes/openstack-ansible-os_trove/

The project source code repository is located at: https://git.openstack.org/cgit/openstack/openstack-ansible-os_trove

The project home is at: https://launchpad.net/openstack-ansible