RETIRED, Role os_watcher for OpenStack-Ansible
Go to file
Jesse Pretorius 69e0732b92 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: I43b13a1c4eda4a8742227380c3fbc1ca9a489408
2018-08-07 15:08:12 +01:00
defaults Move MQ vhost/user creation into role 2018-07-27 12:24:39 +01:00
doc Updated from global requirements 2018-03-15 07:39:31 +00:00
examples Add scaffolding for OpenStack-CI tests 2016-08-24 10:38:52 -04:00
handlers Initial commit 2016-08-22 13:37:00 -04:00
meta Execute service setup against a delegated host using Ansible built-in modules 2018-07-14 14:43:20 +01:00
releasenotes Update to use oslo.messaging service for RPC and Notify 2018-07-26 09:16:46 +00:00
tasks Allow tags to be used for MQ tasks 2018-08-07 15:08:12 +01:00
templates Update to use oslo.messaging service for RPC and Notify 2018-07-26 09:16:46 +00:00
tests Move MQ vhost/user creation into role 2018-07-27 12:24:39 +01:00
vars Rename package lists (and related vars) appropriately 2016-08-30 20:01:21 +01:00
zuul.d Zuul: Remove project name 2018-02-05 21:42:28 -08:00
.gitignore Updated from OpenStack Ansible Tests 2018-03-27 15:57:08 +00:00
.gitreview Add scaffolding for OpenStack-CI tests 2016-08-24 10:38:52 -04:00
CONTRIBUTING.rst Update links in CONTRIBUTING.rst 2017-09-19 09:58:07 +08:00
LICENSE Initial commit 2016-08-22 13:37:00 -04:00
README.rst Update to use oslo.messaging service for RPC and Notify 2018-07-26 09:16:46 +00:00
Vagrantfile Updated from OpenStack Ansible Tests 2018-06-06 00:44:40 +00:00
bindep.txt Updated from OpenStack Ansible Tests 2017-12-06 00:06:48 +00:00
manual-test.rc Use centralised test scripts 2016-09-28 11:38:40 +01:00
run_tests.sh Updated from OpenStack Ansible Tests 2018-04-30 05:16:53 +00:00
setup.cfg Update URLs in documents according to document migration 2017-07-14 09:46:12 +08:00
setup.py Updated from global requirements 2017-03-02 11:52:13 +00:00
tox.ini Use tests repo for common role test requirements 2018-07-02 13:03:50 -04:00

README.rst

Team and repository tags

image

OpenStack Watcher

Ansible Role that installs and configures OpenStack Watcher.

This role will install the following:
  • watcher-api
  • watcher-decision-engine
  • watcher-applier

The role will configure Watcher, but does not provision messaging backend or MariaDB.

This role is intended to work primarily with OpenStack-Ansible, but consuming this role by setting the appropriate variables should be possible. See the tests/test-install-watcher.yml for example playbook.

Default Variables

../../defaults/main.yml

Example Playbook

- name: Install watcher service
  hosts: watcher_all
  user: root
  roles:
    - { role: "os_watcher", tags: [ "os-watcher" ] }
  vars:
    watcher_galera_password: "secrete"
    watcher_oslomsg_rpc_password: "secrete"
    watcher_service_password: "secrete"

Tags

This role supports two tags: watcher-install and watcher-config.

The watcher-install tag can be used to install and upgrade.

The watcher-config tag can be used to maintain configuration of the service.

OpenStack-Ansible Watcher

Documentation for the project can be found at:

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

Release notes for the project can be found at:

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

The project home is at:

https://launchpad.net/openstack-ansible