Ver Fonte

Fedora - Update RabbitMQ w/ GPG and variables

Jared Ledvina há 7 anos atrás
pai
commit
6208800f63
2 ficheiros alterados com 36 adições e 4 exclusões
  1. 30 4
      tasks/Fedora/rabbit.yml
  2. 6 0
      vars/Fedora.yml

+ 30 - 4
tasks/Fedora/rabbit.yml

@@ -4,24 +4,49 @@
 
 - include_vars: "{{ ansible_distribution }}.yml"
 
+- name: Configure RabbitMQ GPG keys in the RPM keyring
+  rpm_key:
+    key: "{{ sensu_rabbitmq_signing_key }}"
+    state: present
+  register: sensu_rabbitmq_import_key
+
 - name: Add RabbitMQ's repo
   yum_repository:
     name: rabbitmq
     description: rabbitmq
-    baseurl: "https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7"
+    baseurl: "{{ sensu_rabbitmq_baseurl }}"
     gpgcheck: yes
-    gpgkey: https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
+    gpgkey: "{{ sensu_rabbitmq_signing_key }}"
     repo_gpgcheck: no
 
 - name: Add RabbitMQ's Erlang repo
   yum_repository:
     name: rabbitmq-erlang
     description: rabbitmq-erlang
-    baseurl: "https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/7"
+    baseurl: "{{ sensu_rabbitmq_erlang_baseurl }}"
     gpgcheck: yes
-    gpgkey: https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
+    gpgkey: "{{ sensu_rabbitmq_erlang_signing_key }}"
     repo_gpgcheck: no
 
+# HACK: https://github.com/ansible/ansible/issues/20711#issuecomment-306260869
+# Can be removed once we're running w/ a version of Ansible that has https://github.com/ansible/ansible/pull/35989
+- name: Make yum cache to import GPG keys
+  command: "yum -q makecache -y --disablerepo='*' --enablerepo='{{ item }}'"
+  args:
+    warn: false
+  when: sensu_rabbitmq_import_key.changed
+  with_items:
+    - rabbitmq
+    - rabbitmq-erlang
+
+# Hard dependency for rabbitmq-server, however, typically comes from EPEL, so
+# we simply install it here, as we purposely disable epel when installing rabbitmq
+# causing dependency issues during installs
+- name: Ensure socat is installed
+  dnf:
+    name: socat
+    state: present
+
 - name: Ensure Erlang & RabbitMQ are installed
   dnf:
     name:
@@ -29,3 +54,4 @@
       - rabbitmq-server
     state: present
     enablerepo: rabbitmq,rabbitmq-erlang
+    disablerepo: epel

+ 6 - 0
vars/Fedora.yml

@@ -4,3 +4,9 @@
 
 # RH/Centos 7 version works for Fedora 25 as a client
 sensu_yum_repo_url: "https://sensu.global.ssl.fastly.net/yum/7/$basearch/"
+sensu_rabbitmq_repo_version: v3.7.x
+sensu_rabbitmq_erlang_repo_version: 19
+sensu_rabbitmq_signing_key: https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
+sensu_rabbitmq_baseurl: "https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/{{ sensu_rabbitmq_repo_version }}/el/{{ epel_version }}"
+sensu_rabbitmq_erlang_signing_key: "{{ sensu_rabbitmq_signing_key }}"
+sensu_rabbitmq_erlang_baseurl: "https://dl.bintray.com/rabbitmq/rpm/erlang/{{ sensu_rabbitmq_erlang_repo_version }}/el/7"