diff --git a/inventory/group_vars/all b/inventory/group_vars/all index 34401b5b90..feff99fec2 100644 --- a/inventory/group_vars/all +++ b/inventory/group_vars/all @@ -63,6 +63,13 @@ fedmsg_active: False fedmsg_prefix: org.fedoraproject fedmsg_env: prod +# A special flag that, when set to true, will disconnect the host from the +# global fedmsg-relay instance and set it up with its own local one. You can +# temporarily set this to true for a specific host to do some debugging -- so +# you can *replay real messages from the datagrepper history without having +# those broadcast to the rest of the bus*. +fedmsg_debug_loopback: False + # These are used to: # 1) configure mod_wsgi # 2) open iptables rules for fedmsg (per wsgi thread) diff --git a/roles/fedmsg/base/tasks/main.yml b/roles/fedmsg/base/tasks/main.yml index 338bb23c99..f7044694eb 100644 --- a/roles/fedmsg/base/tasks/main.yml +++ b/roles/fedmsg/base/tasks/main.yml @@ -147,6 +147,55 @@ - restart fedmsg-irc - restart fedmsg-relay +- name: install fedmsg-relay in case we're in debug mode. + yum: name=fedmsg-relay state=present + when: fedmsg_debug_loopback is true + tags: + - fedmsg_loopback + - fedmsg/base + notify: + - restart httpd + - restart fedmsg-gateway + - restart fedmsg-hub + - restart fedmsg-irc + - restart fedmsg-relay + +- name: destroy standard config to make way for debug loopback. + file: dest=/etc/fedmsg.d/{{item}} state=absent + with_items: + - relay.py + - policy.py + when: fedmsg_debug_loopback is true + tags: + - fedmsg_loopback + - fedmsg/base + notify: + - restart httpd + - restart fedmsg-gateway + - restart fedmsg-hub + - restart fedmsg-irc + - restart fedmsg-relay + +- name: overwrite standard config with local fedmsg debugging loopback + copy: src=relay-debug-loopback.py dest=/etc/fedmsg.d/relay.py + when: fedmsg_debug_loopback is true + tags: + - fedmsg_loopback + - fedmsg/base + notify: + - restart httpd + - restart fedmsg-gateway + - restart fedmsg-hub + - restart fedmsg-irc + - restart fedmsg-relay + +- name: start fedmsg-relay, only for loopback testing + service: name=fedmsg-relay state=started + when: fedmsg_debug_loopback is true + tags: + - fedmsg_loopback + - fedmsg/base + - name: setup /etc/pki/fedmsg directory file: path=/etc/pki/fedmsg owner=root group=root mode=0755 state=directory tags: