--- # Copyright 2016, Walmart Stores, 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. - block: - name: Add rabbitmq gpg-keys rpm_key: state: present key: "{{ item.keyserver }}/{{ item.key_name }}" register: add_keys until: add_keys | success retries: 5 delay: 2 with_items: "{{ rabbitmq_gpg_keys }}" tags: - rabbitmq-gpg-keys rescue: - name: Add rabbitmq gpg-keys using fallback keyserver rpm_key: state: present key: "{{ item.fallback_keyserver }}/{{ item.key_name }}" register: add_keys_fallback until: add_keys_fallback | success retries: 5 delay: 2 with_items: "{{ rabbitmq_gpg_keys }}" when: - item.fallback_keyserver is defined tags: - rabbitmq-gpg-keys - name: Install RabbitMQ yum mirror yum_repository: name: "{{ rabbitmq_repo.name }}" file: "{{ rabbitmq_repo.filename | default(omit) }}" description: "{{ rabbitmq_repo.description | default(omit) }}" baseurl: "{{ rabbitmq_repo.baseurl }}" repo_gpgcheck: "{{ rabbitmq_repo.repo_gpgcheck | default(omit) }}" gpgcheck: "{{ rabbitmq_repo.gpgcheck | default(omit) }}" state: "{{ rabbitmq_repo.state }}" gpgkey: "{{ rabbitmq_repo.gpgkey | default(omit) }}" sslverify: "{{ rabbitmq_repo.sslverify | default(omit) }}" sslcacert: "{{ rabbitmq_repo.sslcacert | default(omit) }}" when: - rabbitmq_install_method != 'file' tags: - rabbitmq-repos - name: Install erlang yum mirror yum_repository: name: "{{ rabbitmq_erlang_repo.name }}" file: "{{ rabbitmq_erlang_repo.filename | default(omit) }}" description: "{{ rabbitmq_erlang_repo.description | default(omit) }}" baseurl: "{{ rabbitmq_erlang_repo.baseurl }}" repo_gpgcheck: "{{ rabbitmq_erlang_repo.repo_gpgcheck | default(omit) }}" gpgcheck: "{{ rabbitmq_erlang_repo.gpgcheck | default(omit) }}" state: "{{ rabbitmq_erlang_repo.state }}" gpgkey: "{{ rabbitmq_erlang_repo.gpgkey | default(omit) }}" sslverify: "{{ rabbitmq_erlang_repo.sslverify | default(omit) }}" sslcacert: "{{ rabbitmq_erlang_repo.sslcacert | default(omit) }}" tags: - rabbitmq-repos - name: Enable and set erlang repo priority command: | yum-config-manager --enable {{ item.name }} --setopt="{{ item.name }}.priority={{ item.priority }}" changed_when: false with_items: - name: "{{ rabbitmq_erlang_repo.name }}" priority: 40 tags: - rabbitmq-repos - name: Install yum versionlock plugin yum: name: "yum-plugin-versionlock" state: "{{ rabbitmq_package_state }}" tags: - rabbitmq-yum-packages - name: Lock version of erlang packages command: yum versionlock add erlang*19.3* register: yum_versionlock_erlang changed_when: "yum_versionlock_erlang.stdout.find('versionlock added: 0') == -1" tags: - rabbitmq-yum-packages - name: Install RabbitMQ package dependencies yum: pkg: "{{ item }}" state: "{{ rabbitmq_package_state }}" update_cache: yes register: install_packages until: install_packages|success retries: 5 delay: 2 with_items: "{{ rabbitmq_dependencies }}" tags: - rabbitmq-yum-packages - name: Install RabbitMQ packages yum: name: "{{ (rabbitmq_install_method == 'file') | ternary(rabbitmq_package_path, rabbitmq_distro_packages) }}" register: install_rabbitmq tags: - rabbitmq-package-rpm - rabbitmq-yum-packages - name: Install RabbitMQ package dependencies for external_repo usage yum: pkg: "{{ item }}" state: "{{ rabbitmq_package_state }}" register: install_packages until: install_packages|success retries: 5 delay: 2 with_items: "{{ rabbitmq_mirror_dependencies }}" when: - rabbitmq_install_method != 'file' tags: - rabbitmq-yum-packages