summaryrefslogtreecommitdiffstats
path: root/roles/fedmsg/gateway
diff options
context:
space:
mode:
authorPatrick Uiterwijk <puiterwijk@redhat.com>2016-12-01 11:55:21 +0000
committerPatrick Uiterwijk <puiterwijk@redhat.com>2016-12-01 11:55:21 +0000
commitcb62d23a969b6f897fb1fb5a96d4cd4cb812d490 (patch)
tree23019e13e61e4698304f12c9c7cd65817c7b96e9 /roles/fedmsg/gateway
parentf79388f24e058975cb1c64502653b0dda346da2e (diff)
downloadansible-cb62d23a969b6f897fb1fb5a96d4cd4cb812d490.tar.gz
ansible-cb62d23a969b6f897fb1fb5a96d4cd4cb812d490.tar.xz
ansible-cb62d23a969b6f897fb1fb5a96d4cd4cb812d490.zip
Also fix gateway slave
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Diffstat (limited to 'roles/fedmsg/gateway')
-rw-r--r--roles/fedmsg/gateway/slave/files/fixup.patch43
-rw-r--r--roles/fedmsg/gateway/slave/tasks/main.yml7
2 files changed, 50 insertions, 0 deletions
diff --git a/roles/fedmsg/gateway/slave/files/fixup.patch b/roles/fedmsg/gateway/slave/files/fixup.patch
new file mode 100644
index 000000000..1a30d82e4
--- /dev/null
+++ b/roles/fedmsg/gateway/slave/files/fixup.patch
@@ -0,0 +1,43 @@
+--- __init__.py.orig 2016-12-01 11:50:40.064820904 +0000
++++ __init__.py 2016-12-01 11:51:00.276026941 +0000
+@@ -204,10 +204,12 @@
+
+ def validate(self, message):
+ """ This needs to raise an exception, caught by moksha. """
+- # If we're not validating, then everything is valid.
+- # If this is turned on globally, our child class can override it.
+- if not self.validate_signatures:
+- return
++ # Massage STOMP messages into a more compatible format.
++ if 'topic' not in message['body']:
++ message['body'] = {
++ 'topic': message.get('topic'),
++ 'msg': message['body'],
++ }
+
+ if hasattr(message, '__json__'):
+ message = message.__json__()
+@@ -218,18 +220,15 @@
+ if not message['topic'] == message['body']['topic']:
+ raise RuntimeWarning("Topic envelope mismatch.")
+
++ # If we're not validating, then everything is valid.
++ # If this is turned on globally, our child class can override it.
++ if not self.validate_signatures:
++ return
++
+ if not fedmsg.crypto.validate(message['body'], **self.hub.config):
+ raise RuntimeWarning("Failed to authn message.")
+
+ def _consume(self, message):
+-
+- # Massage STOMP messages into a more compatible format.
+- if 'topic' not in message['body']:
+- message['body'] = {
+- 'topic': message.get('topic'),
+- 'msg': message['body'],
+- }
+-
+ try:
+ self.validate(message)
+ except RuntimeWarning as e:
diff --git a/roles/fedmsg/gateway/slave/tasks/main.yml b/roles/fedmsg/gateway/slave/tasks/main.yml
index acefdcc76..3168b09e9 100644
--- a/roles/fedmsg/gateway/slave/tasks/main.yml
+++ b/roles/fedmsg/gateway/slave/tasks/main.yml
@@ -11,6 +11,13 @@
- fedmsg/gateway
- fedmsg/gateway/slave
+- name: Apply fixing patch
+ patch: src=fixup.patch dest=/usr/lib/python2.7/site-packages/fedmsg/consumers/__init__.py
+ tags:
+ - packages
+ - fedmsg/gateway
+ - patch
+
- name: Copy in empty endpoints.py and gateway.py
copy: src={{item}} dest=/etc/fedmsg.d/{{item}}
with_items: