diff --git a/tasks/main.yml b/tasks/main.yml index ef5f048..208283b 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -94,23 +94,24 @@ tags: - heat-config -- include_tasks: mq_setup.yml +- import_tasks: mq_setup.yml when: - "heat_services['heat-api']['group'] in group_names" - "inventory_hostname == ((groups[heat_services['heat-api']['group']]| intersect(ansible_play_hosts)) | list)[0]" - with_items: - - oslomsg_setup_host: "{{ heat_oslomsg_rpc_setup_host }}" - oslomsg_userid: "{{ heat_oslomsg_rpc_userid }}" - oslomsg_password: "{{ heat_oslomsg_rpc_password }}" - oslomsg_vhost: "{{ heat_oslomsg_rpc_vhost }}" - oslomsg_transport: "{{ heat_oslomsg_rpc_transport }}" - - oslomsg_setup_host: "{{ heat_oslomsg_notify_setup_host }}" - oslomsg_userid: "{{ heat_oslomsg_notify_userid }}" - oslomsg_password: "{{ heat_oslomsg_notify_password }}" - oslomsg_vhost: "{{ heat_oslomsg_notify_vhost }}" - oslomsg_transport: "{{ heat_oslomsg_notify_transport }}" - no_log: true + vars: + _oslomsg_rpc_setup_host: "{{ heat_oslomsg_rpc_setup_host }}" + _oslomsg_rpc_userid: "{{ heat_oslomsg_rpc_userid }}" + _oslomsg_rpc_password: "{{ heat_oslomsg_rpc_password }}" + _oslomsg_rpc_vhost: "{{ heat_oslomsg_rpc_vhost }}" + _oslomsg_rpc_transport: "{{ heat_oslomsg_rpc_transport }}" + _oslomsg_notify_setup_host: "{{ heat_oslomsg_notify_setup_host }}" + _oslomsg_notify_userid: "{{ heat_oslomsg_notify_userid }}" + _oslomsg_notify_password: "{{ heat_oslomsg_notify_password }}" + _oslomsg_notify_vhost: "{{ heat_oslomsg_notify_vhost }}" + _oslomsg_notify_transport: "{{ heat_oslomsg_notify_transport }}" + _oslomsg_configure_notify: "{{ heat_ceilometer_enabled | bool }}" tags: + - common-mq - heat-config - include: heat_db_setup.yml diff --git a/tasks/mq_setup.yml b/tasks/mq_setup.yml index 2ef034a..64530af 100644 --- a/tasks/mq_setup.yml +++ b/tasks/mq_setup.yml @@ -15,26 +15,54 @@ # 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 +# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/sync/tasks/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 }}" +- name: Setup RPC MQ Service (RabbitMQ) + delegate_to: "{{ _oslomsg_rpc_setup_host }}" when: - - "item.oslomsg_transport == 'rabbit'" + - "(_oslomsg_configure_rpc | default(_oslomsg_rpc_transport is defined))" + - "(_oslomsg_rpc_transport is defined) and (_oslomsg_rpc_transport == 'rabbit')" + tags: + - common-rabbitmq block: - - name: Add RabbitMQ vhost + - name: Add RPC RabbitMQ vhost rabbitmq_vhost: - name: "{{ item.oslomsg_vhost }}" + name: "{{ _oslomsg_rpc_vhost }}" state: "present" - - name: Add RabbitMQ user + - name: Add RPC RabbitMQ user rabbitmq_user: - user: "{{ item.oslomsg_userid }}" - password: "{{ item.oslomsg_password }}" - vhost: "{{ item.oslomsg_vhost }}" + user: "{{ _oslomsg_rpc_userid }}" + password: "{{ _oslomsg_rpc_password }}" + vhost: "{{ _oslomsg_rpc_vhost }}" + configure_priv: ".*" + read_priv: ".*" + write_priv: ".*" + state: "present" + force: true + no_log: true + +- name: Setup Notify MQ Service (RabbitMQ) + delegate_to: "{{ _oslomsg_rpc_setup_host }}" + when: + - "(_oslomsg_configure_notify | default(_oslomsg_notify_transport is defined))" + - "(_oslomsg_notify_transport is defined) and (_oslomsg_notify_transport == 'rabbit')" + tags: + - common-rabbitmq + block: + - name: Add Notify RabbitMQ vhost + rabbitmq_vhost: + name: "{{ _oslomsg_notify_vhost }}" + state: "present" + + - name: Add Notify RabbitMQ user + rabbitmq_user: + user: "{{ _oslomsg_notify_userid }}" + password: "{{ _oslomsg_notify_password }}" + vhost: "{{ _oslomsg_notify_vhost }}" configure_priv: ".*" read_priv: ".*" write_priv: ".*"