Add rebootPolicy attribute to host
[mirror/userdir-ldap.git] / ud-replicated
index bb4fa37..8bef0a5 100755 (executable)
@@ -25,6 +25,7 @@
 from dsa_mq.connection import Connection
 from dsa_mq.config import Config
 
+import json
 import logging
 import logging.handlers
 import optparse
@@ -76,8 +77,17 @@ last_run = 0
 def do_replicate(message):
     global last_run
     last_update = int(time.time())
-    LOG.debug("Got message at %s: %s" % (last_update, message.get('message', message)))
-    if last_run > message.get('timestamp', last_update):
+    timestamp   = last_update
+    try:
+        message = json.loads(message)
+    except ValueError:
+        pass
+
+    if isinstance(message, dict):
+        timestamp = message.get('timestamp', last_update)
+        message   = message.get('message', 'update required')
+    LOG.debug("Got message at %s: %s" % (last_update, message))
+    if last_run > timestamp, last_update):
         return
 
     command = ['/usr/bin/ud-replicate']
@@ -115,5 +125,7 @@ def main():
         sys.exit(0)
 
 if __name__ == '__main__':
-    do_replicate('startup complete')
+    do_replicate(json.dumps(
+        {'timestamp': time.time(),
+        'message': 'startup complete'}))
     main()