diff --git a/defaults/main.yml b/defaults/main.yml index 8babb5b..d31bb71 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -129,18 +129,22 @@ masakari_role_project_group: masakari_all ## Configuration for Oslo Messaging # RPC -masakari_oslomsg_rpc_transport: rabbit -masakari_oslomsg_rpc_servers: "{{ oslomsg_rpc_all|default('127.0.0.1') }}" -masakari_oslomsg_rpc_port: 5672 -masakari_oslomsg_rpc_use_ssl: False +masakari_oslomsg_rpc_host_group: "{{ oslomsg_rpc_host_group | default('rabbitmq_all') }}" +masakari_oslomsg_rpc_setup_host: "{{ (masakari_oslomsg_rpc_host_group in groups) | ternary(groups[masakari_oslomsg_rpc_host_group][0], 'localhost') }}" +masakari_oslomsg_rpc_transport: "{{ oslomsg_rpc_transport | default('rabbit') }}" +masakari_oslomsg_rpc_servers: "{{ oslomsg_rpc_servers | default('127.0.0.1') }}" +masakari_oslomsg_rpc_port: "{{ oslomsg_rpc_port | default('5672') }}" +masakari_oslomsg_rpc_use_ssl: "{{ oslomsg_rpc_use_ssl | default(False) }}" masakari_oslomsg_rpc_userid: masakari masakari_oslomsg_rpc_vhost: /masakari # Notify -masakari_oslomsg_notify_transport: rabbit -masakari_oslomsg_notify_servers: "{{ oslomsg_notify_all|default('127.0.0.1') }}" -masakari_oslomsg_notify_port: 5672 -masakari_oslomsg_notify_use_ssl: False +masakari_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}" +masakari_oslomsg_notify_setup_host: "{{ (masakari_oslomsg_notify_host_group in groups) | ternary(groups[masakari_oslomsg_notify_host_group][0], 'localhost') }}" +masakari_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}" +masakari_oslomsg_notify_servers: "{{ oslomsg_notify_servers | default('127.0.0.1') }}" +masakari_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}" +masakari_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}" masakari_oslomsg_notify_userid: "{{ masakari_oslomsg_rpc_userid }}" masakari_oslomsg_notify_password: "{{ masakari_oslomsg_rpc_password }}" masakari_oslomsg_notify_vhost: "{{ masakari_oslomsg_rpc_vhost }}" diff --git a/tasks/main.yml b/tasks/main.yml index 1ecf548..c0e3ff5 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -41,17 +41,35 @@ tags: - masakari-config +- include_tasks: mq_setup.yml + when: + - inventory_hostname == groups['masakari_all'][0] + with_items: + - oslomsg_setup_host: "{{ masakari_oslomsg_rpc_setup_host }}" + oslomsg_userid: "{{ masakari_oslomsg_rpc_userid }}" + oslomsg_password: "{{ masakari_oslomsg_rpc_password }}" + oslomsg_vhost: "{{ masakari_oslomsg_rpc_vhost }}" + oslomsg_transport: "{{ masakari_oslomsg_rpc_transport }}" + - oslomsg_setup_host: "{{ masakari_oslomsg_notify_setup_host }}" + oslomsg_userid: "{{ masakari_oslomsg_notify_userid }}" + oslomsg_password: "{{ masakari_oslomsg_notify_password }}" + oslomsg_vhost: "{{ masakari_oslomsg_notify_vhost }}" + oslomsg_transport: "{{ masakari_oslomsg_notify_transport }}" + no_log: true + tags: + - masakari-config + - include: masakari_db_setup.yml static: no when: - inventory_hostname == groups['masakari_all'][0] + - inventory_hostname == groups['masakari_all'][0] tags: - masakari-config - include: masakari_service_setup.yml static: no when: - inventory_hostname == groups['masakari_all'][0] + - inventory_hostname == groups['masakari_all'][0] tags: - masakari-config diff --git a/tasks/mq_setup.yml b/tasks/mq_setup.yml new file mode 100644 index 0000000..2ef034a --- /dev/null +++ b/tasks/mq_setup.yml @@ -0,0 +1,45 @@ +--- +# Copyright 2018, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# WARNING: +# This file is maintained in the openstack-ansible-tests repository. +# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/sync/mq_setup.yml +# If you need to modify this file, update the one in the openstack-ansible-tests +# repository. Once it merges there, the changes will automatically be proposed to +# all the repositories which use it. + +- name: Setup MQ Service (RabbitMQ) + delegate_to: "{{ item.oslomsg_setup_host }}" + when: + - "item.oslomsg_transport == 'rabbit'" + block: + - name: Add RabbitMQ vhost + rabbitmq_vhost: + name: "{{ item.oslomsg_vhost }}" + state: "present" + + - name: Add RabbitMQ user + rabbitmq_user: + user: "{{ item.oslomsg_userid }}" + password: "{{ item.oslomsg_password }}" + vhost: "{{ item.oslomsg_vhost }}" + configure_priv: ".*" + read_priv: ".*" + write_priv: ".*" + state: "present" + force: true + no_log: true + +# Note: Add the tasks for additional MQ servers here diff --git a/tests/os_masakari-overrides.yml b/tests/os_masakari-overrides.yml index e28c5b7..41d64a1 100644 --- a/tests/os_masakari-overrides.yml +++ b/tests/os_masakari-overrides.yml @@ -13,22 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -masakari_service_tenant_name: service -masakari_oslomsg_rpc_port: "{{ oslomsg_rpc_port }}" -masakari_oslomsg_rpc_use_ssl: "{{ oslomsg_rpc_use_ssl }}" -masakari_oslomsg_rpc_servers: "{{ oslomsg_rpc_servers }}" -masakari_oslomsg_rpc_host_group: "{{ oslomsg_rpc_host_group }}" -masakari_oslomsg_notify_port: "{{ oslomsg_notify_port }}" -masakari_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl }}" -masakari_oslomsg_notify_servers: "{{ oslomsg_notify_servers }}" -masakari_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group }}" masakari_service_publicuri: "{{ masakari_service_proto }}://{{ hostvars[groups['masakari_all'][0]]['ansible_host'] }}:{{ masakari_service_port }}" masakari_service_adminurl: "{{ masakari_service_proto }}://{{ hostvars[groups['masakari_all'][0]]['ansible_host'] }}:{{ masakari_service_port }}" masakari_service_adminuri: "{{ masakari_service_proto }}://{{ hostvars[groups['masakari_all'][0]]['ansible_host'] }}:{{ masakari_service_port }}" -masakari_aodh_enabled: false -masakari_gnocchi_enabled: false masakari_oslomsg_rpc_password: "secrete" -masakari_oslomsg_notify_password: "{{ masakari_oslomsg_rpc_password }}" masakari_service_password: "secrete" masakari_container_mysql_password: "secrete" masakari_developer_mode: true diff --git a/tests/test-install-masakari.yml b/tests/test-install-masakari.yml index b70843b..ff9d2d8 100644 --- a/tests/test-install-masakari.yml +++ b/tests/test-install-masakari.yml @@ -18,15 +18,7 @@ user: root gather_facts: true any_errors_fatal: true - pre_tasks: - - include: common/ensure-oslomsg.yml - rpc_vhost: "{{ masakari_oslomsg_rpc_vhost }}" - rpc_user: "{{ masakari_oslomsg_rpc_userid }}" - rpc_password: "{{ masakari_oslomsg_rpc_password }}" - notify_vhost: "{{ masakari_oslomsg_notify_vhost }}" - notify_user: "{{ masakari_oslomsg_notify_userid }}" - notify_password: "{{ masakari_oslomsg_notify_password }}" - roles: - - role: os_masakari vars_files: - common/test-vars.yml + roles: + - role: os_masakari diff --git a/vars/ubuntu-16.04.yml b/vars/ubuntu.yml similarity index 100% rename from vars/ubuntu-16.04.yml rename to vars/ubuntu.yml