CORD-2591 Exit synchronizer if no steps and no policies

Change-Id: Id927de0f35b4a8115b96bf8dfc9d35dc3a7c619c
diff --git a/xos/synchronizers/new_base/backend.py b/xos/synchronizers/new_base/backend.py
index 0089638..d2a1112 100644
--- a/xos/synchronizers/new_base/backend.py
+++ b/xos/synchronizers/new_base/backend.py
@@ -104,6 +104,11 @@
         else:
             self.log.info("Skipping model policies thread due to no model_policies dir.")
 
+        if (not observer_thread) and (not watcher_thread) and (not model_policy_thread):
+            self.log.info("No sync steps and no policies. Synchronizer exiting.")
+            # the caller will exit with status 0
+            return
+
         while True:
             try:
                 time.sleep(1000)