+
+ logger.info('Calling sync tenants')
+ try:
+ self.sync_tenants()
+ except:
+ logger.log_exc("Exception in sync_tenants")
+ traceback.print_exc()
+
+ logger.info('Calling sync users')
+ try:
+ self.sync_users()
+ except:
+ logger.log_exc("Exception in sync_users")
+ traceback.print_exc()
+
+ logger.info('Calling sync tenant roles')
+ try:
+ self.sync_user_tenant_roles()
+ except:
+ logger.log_exc("Exception in sync_users")
+ traceback.print_exc()
+
+ logger.info('Calling sync slivers')
+ try:
+ self.sync_slivers()
+ except:
+ logger.log_exc("Exception in sync slivers")
+ traceback.print_exc()
+
+ logger.info('Calling sync sliver ips')
+ try:
+ self.sync_sliver_ips()
+ except:
+ logger.log_exc("Exception in sync_sliver_ips")
+ traceback.print_exc()
+
+ logger.info('Calling sync networks')
+ try:
+ self.sync_networks()
+ except:
+ logger.log_exc("Exception in sync_networks")
+ traceback.print_exc()
+
+ logger.info('Calling sync external routes')
+ try:
+ self.sync_external_routes()
+ except:
+ logger.log_exc("Exception in sync_external_routes")
+ traceback.print_exc()
+
+ logger.info('Waiting for event')
+ tBeforeWait = time.time()
+ self.wait_for_event(timeout=300)
+
+ # Enforce 5 minutes between wakeups
+ tSleep = 300 - (time.time() - tBeforeWait)
+ if tSleep > 0:
+ logger.info('Sleeping for %d seconds' % tSleep)
+ time.sleep(tSleep)
+
+ logger.info('Observer woken up')