--- # Copyright 2014, 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. - name: Gather variables for each operating system ansible.builtin.include_vars: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_version'] | lower }}.yml" - "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml" - "{{ ansible_facts['os_family'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml" - "{{ ansible_facts['distribution'] | lower }}.yml" - "{{ ansible_facts['os_family'] | lower }}.yml" paths: - "{{ role_path }}/vars" tags: - always - name: Importing rabbitmq_pre_install tasks ansible.builtin.import_tasks: rabbitmq_pre_install.yml tags: - rabbitmq_server-install # The install process will be skipped if `rabbitmq_ignore_version_state=true` - name: Including rabbitmq_install tasks ansible.builtin.include_tasks: rabbitmq_install.yml when: not rabbitmq_ignore_version_state | bool args: apply: tags: - rabbitmq_server-install - rabbitmq-install tags: - always - name: Create and install SSL certificates ansible.builtin.include_role: name: pki tasks_from: "{{ rabbitmq_pki_create_ca | ternary('main.yml', 'main_certs.yml') }}" vars: pki_setup_host: "{{ rabbitmq_pki_setup_host }}" pki_dir: "{{ rabbitmq_pki_dir }}" pki_create_ca: "{{ rabbitmq_pki_create_ca }}" pki_regen_ca: "{{ rabbitmq_pki_regen_ca }}" pki_authorities: "{{ rabbitmq_pki_authorities }}" pki_install_ca: "{{ rabbitmq_pki_install_ca }}" pki_create_certificates: "{{ rabbitmq_user_ssl_cert is not defined and rabbitmq_user_ssl_key is not defined }}" pki_regen_cert: "{{ rabbitmq_pki_regen_cert }}" pki_certificates: "{{ rabbitmq_pki_certificates }}" pki_install_certificates: "{{ rabbitmq_pki_install_certificates }}" - name: Importing rabbitmq_post_install tasks ansible.builtin.import_tasks: rabbitmq_post_install.yml tags: - rabbitmq_server-config - rabbitmq-config - name: Flush handlers ansible.builtin.meta: flush_handlers - name: Importing rabbitmq_cluster tasks ansible.builtin.import_tasks: rabbitmq_cluster.yml tags: - rabbitmq_server-config - rabbitmq-cluster - name: Including rabbitmq_setup tasks ansible.builtin.include_tasks: rabbitmq_setup.yml when: - _rabbitmq_is_last_play_host args: apply: tags: - rabbitmq_server-config tags: - rabbitmq_server-config - name: Ensure all flags are set after upgrade is done when: - _rabbitmq_is_last_play_host - rabbitmq_upgrade block: - name: Including rabbitmq_cluster_state tasks ansible.builtin.include_tasks: rabbitmq_cluster_state.yml args: apply: tags: - rabbitmq-upgrade tags: - rabbitmq-upgrade - name: Importing rabbitmq_feature_flags tasks ansible.builtin.include_tasks: rabbitmq_feature_flags.yml args: apply: tags: - rabbitmq-upgrade tags: - rabbitmq-upgrade when: - _cluster_state - (_cluster_state.get('running_nodes', []) | length) == (groups[rabbitmq_host_group] | length) - (_cluster_state.get('alarms', []) | length) == 0 - (_cluster_state.get('partitions', []) | length) == 0 - name: Run rabbitmq post_upgrade hook (rebalance queues) ansible.builtin.command: rabbitmq-upgrade post_upgrade changed_when: false