Relocated observer namespace into synchronizers.base
diff --git a/xos/core/admin.py b/xos/core/admin.py
index 675b8c2..bc083c4 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -194,15 +194,15 @@
         # for Service admins to render their Administration page
         if getattr(self, "extracontext_registered_admins", False):
             admins=[]
-            for model, model_admin in admin.site._registry.items():

-                if model == self.model:

-                    continue

-                if model._meta.app_label == self.model._meta.app_label:

-                    info = {"app": model._meta.app_label,

-                            "model": model._meta.model_name,

-                            "name": capfirst(model._meta.verbose_name_plural),

-                            "url": self.url_for_model_changelist(request,model) }

-                    admins.append(info)

+            for model, model_admin in admin.site._registry.items():
+                if model == self.model:
+                    continue
+                if model._meta.app_label == self.model._meta.app_label:
+                    info = {"app": model._meta.app_label,
+                            "model": model._meta.model_name,
+                            "name": capfirst(model._meta.verbose_name_plural),
+                            "url": self.url_for_model_changelist(request,model) }
+                    admins.append(info)
             extra_context["registered_admins"] = admins
 
     def change_view(self,request,object_id, extra_context=None):
diff --git a/xos/core/views/hpc_config.py b/xos/core/views/hpc_config.py
index 7f3f5a5..a181a1c 100644
--- a/xos/core/views/hpc_config.py
+++ b/xos/core/views/hpc_config.py
@@ -109,22 +109,22 @@
 ENABLE_PLC=False
 ENABLE_PS=True
 BASE_HRN="princeton"
-RELEVANT_SERVICE_NAMES=['vcoblitz', 'coredirect', 'codnsdemux', "syndicate_comon_server"]

-COBLITZ_SLICE_NAME=BASE_HRN+"_vcoblitz"

+RELEVANT_SERVICE_NAMES=['vcoblitz', 'coredirect', 'codnsdemux', "syndicate_comon_server"]
+COBLITZ_SLICE_NAME=BASE_HRN+"_vcoblitz"
 COBLITZ_SLICE_ID=70
 COBLITZ_PS_SLICE_NAME="{hpc_slicename}"
 DNSREDIR_SLICE_NAME=BASE_HRN+"_coredirect"
-DNSREDIR_SLICE_ID=71

-DNSREDIR_PS_SLICE_NAME="{redir_slicename}"

-DNSDEMUX_SLICE_NAME=BASE_HRN+"_codnsdemux"

-DNSDEMUX_SLICE_ID=69

-DNSDEMUX_PS_SLICE_NAME="{demux_slicename}"

-CMI_URL="http://{cmi_hostname}/"

-CMI_HTTP_PORT="8004"

-CMI_HTTPS_PORT="8003"

-PUPPET_MASTER_HOSTNAME="{cmi_hostname}"

-PUPPET_MASTER_PORT="8140"

-PS_HOSTNAME="{xos_hostname}"

+DNSREDIR_SLICE_ID=71
+DNSREDIR_PS_SLICE_NAME="{redir_slicename}"
+DNSDEMUX_SLICE_NAME=BASE_HRN+"_codnsdemux"
+DNSDEMUX_SLICE_ID=69
+DNSDEMUX_PS_SLICE_NAME="{demux_slicename}"
+CMI_URL="http://{cmi_hostname}/"
+CMI_HTTP_PORT="8004"
+CMI_HTTPS_PORT="8003"
+PUPPET_MASTER_HOSTNAME="{cmi_hostname}"
+PUPPET_MASTER_PORT="8140"
+PS_HOSTNAME="{xos_hostname}"
 PS_PORT="{xos_port}"
 COBLITZ_PORT_80={hpc_port80}
 """.format(**d))
diff --git a/xos/core/xoslib/methods/cordsubscriber.py b/xos/core/xoslib/methods/cordsubscriber.py
index b22d70e..49e32a5 100644
--- a/xos/core/xoslib/methods/cordsubscriber.py
+++ b/xos/core/xoslib/methods/cordsubscriber.py
@@ -207,8 +207,8 @@
 
     def list(self, request):
         object_list = self.filter_queryset(self.get_queryset())
-

-        serializer = self.get_serializer(object_list, many=True)

+
+        serializer = self.get_serializer(object_list, many=True)
 
         return Response({"subscribers": serializer.data})
 
@@ -306,10 +306,10 @@
             raise XOSMissingField("subscriber has no bbs_account")
 
         result=subprocess.check_output(["python", "/opt/xos/observers/vcpe/broadbandshield.py", "dump", subscriber.volt.vcpe.bbs_account, "123"])
-        if request.GET.get("theformat",None)=="text":

-            from django.http import HttpResponse

-            return HttpResponse(result, content_type="text/plain")

-        else:

+        if request.GET.get("theformat",None)=="text":
+            from django.http import HttpResponse
+            return HttpResponse(result, content_type="text/plain")
+        else:
             return Response( {"bbs_dump": result } )
 
     def setup_demo_subscriber(self, subscriber):
@@ -392,15 +392,15 @@
     # contact vBNG service and dump current list of mappings
     def get_vbng_dump(self, request, pk=None):
         result=subprocess.check_output(["curl", "http://10.0.3.136:8181/onos/virtualbng/privateip/map"])
-        if request.GET.get("theformat",None)=="text":

-            from django.http import HttpResponse

-            result = json.loads(result)["map"]

-

-            lines = []

-            for row in result:

-                for k in row.keys():

-                     lines.append( "%s %s" % (k, row[k]) )

-

-            return HttpResponse("\n".join(lines), content_type="text/plain")

-        else:

+        if request.GET.get("theformat",None)=="text":
+            from django.http import HttpResponse
+            result = json.loads(result)["map"]
+
+            lines = []
+            for row in result:
+                for k in row.keys():
+                     lines.append( "%s %s" % (k, row[k]) )
+
+            return HttpResponse("\n".join(lines), content_type="text/plain")
+        else:
             return Response( {"vbng_dump": json.loads(result)["map"] } )
diff --git a/xos/ec2_observer/deleters/instance_deleter.py b/xos/ec2_observer/deleters/instance_deleter.py
index 60f9e47..ba454e7 100644
--- a/xos/ec2_observer/deleters/instance_deleter.py
+++ b/xos/ec2_observer/deleters/instance_deleter.py
@@ -1,5 +1,5 @@
 from core.models import Instance, SliceDeployments
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 
 class InstanceDeleter(Deleter):
     model='Instance'
diff --git a/xos/ec2_observer/deleters/network_deleter.py b/xos/ec2_observer/deleters/network_deleter.py
index 0d21fda..afbc3cd 100644
--- a/xos/ec2_observer/deleters/network_deleter.py
+++ b/xos/ec2_observer/deleters/network_deleter.py
@@ -1,6 +1,6 @@
 from core.models import Network, NetworkDeployments
-from observer.deleter import Deleter
-from observer.deleters.network_deployment_deleter import NetworkDeploymentDeleter
+from synchronizers.base.deleter import Deleter
+from synchronizers.base.deleters.network_deployment_deleter import NetworkDeploymentDeleter
 from util.logger import Logger, logging
 
 logger = Logger(level=logging.INFO)
diff --git a/xos/ec2_observer/deleters/network_deployment_deleter.py b/xos/ec2_observer/deleters/network_deployment_deleter.py
index 72b10b2..f8aaa29 100644
--- a/xos/ec2_observer/deleters/network_deployment_deleter.py
+++ b/xos/ec2_observer/deleters/network_deployment_deleter.py
@@ -1,5 +1,5 @@
 from core.models import Network, NetworkDeployments
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 from openstack.driver import OpenStackDriver
 
 class NetworkDeploymentDeleter(Deleter):
diff --git a/xos/ec2_observer/deleters/network_instance_deleter.py b/xos/ec2_observer/deleters/network_instance_deleter.py
index 8a8f516..21fe87f 100644
--- a/xos/ec2_observer/deleters/network_instance_deleter.py
+++ b/xos/ec2_observer/deleters/network_instance_deleter.py
@@ -1,5 +1,5 @@
 from core.models import NetworkInstance
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 
 class NetworkInstanceDeleter(Deleter):
     model='NetworkInstance'
diff --git a/xos/ec2_observer/deleters/site_deleter.py b/xos/ec2_observer/deleters/site_deleter.py
index 88a4008..832baf9 100644
--- a/xos/ec2_observer/deleters/site_deleter.py
+++ b/xos/ec2_observer/deleters/site_deleter.py
@@ -1,6 +1,6 @@
 from core.models import Site, SiteDeployment
-from observer.deleter import Deleter
-from observer.deleters.site_deployment_deleter import SiteDeploymentDeleter
+from synchronizers.base.deleter import Deleter
+from synchronizers.base.deleters.site_deployment_deleter import SiteDeploymentDeleter
 
 class SiteDeleter(Deleter):
     model='Site'
diff --git a/xos/ec2_observer/deleters/site_deployment_deleter.py b/xos/ec2_observer/deleters/site_deployment_deleter.py
index db344cd..794b438 100644
--- a/xos/ec2_observer/deleters/site_deployment_deleter.py
+++ b/xos/ec2_observer/deleters/site_deployment_deleter.py
@@ -1,5 +1,5 @@
 from core.models import Site, SiteDeployment
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 
 class SiteDeploymentDeleter(Deleter):
     model='SiteDeployment'
diff --git a/xos/ec2_observer/deleters/slice_deleter.py b/xos/ec2_observer/deleters/slice_deleter.py
index 7e9dfd4..30628b9 100644
--- a/xos/ec2_observer/deleters/slice_deleter.py
+++ b/xos/ec2_observer/deleters/slice_deleter.py
@@ -1,6 +1,6 @@
 from core.models import Slice, SliceDeployments, User
-from observer.deleter import Deleter
-from observer.deleters.slice_deployment_deleter import SliceDeploymentsDeleter
+from synchronizers.base.deleter import Deleter
+from synchronizers.base.deleters.slice_deployment_deleter import SliceDeploymentsDeleter
 from util.logger import Logger, logging
 
 logger = Logger(level=logging.INFO)
diff --git a/xos/ec2_observer/deleters/slice_deployment_deleter.py b/xos/ec2_observer/deleters/slice_deployment_deleter.py
index 6f1aec0..39c557a 100644
--- a/xos/ec2_observer/deleters/slice_deployment_deleter.py
+++ b/xos/ec2_observer/deleters/slice_deployment_deleter.py
@@ -1,5 +1,5 @@
 from core.models import Slice, SliceDeployments, User
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 from openstack.driver import OpenStackDriver
 
 class SliceDeploymentsDeleter(Deleter):
diff --git a/xos/ec2_observer/deleters/user_deleter.py b/xos/ec2_observer/deleters/user_deleter.py
index 3930eb0..12c8224 100644
--- a/xos/ec2_observer/deleters/user_deleter.py
+++ b/xos/ec2_observer/deleters/user_deleter.py
@@ -1,6 +1,6 @@
 from core.models import User, UserDeployments
-from observer.deleter import Deleter
-from observer.deleters.user_deployment_deleter import UserDeploymentsDeleter
+from synchronizers.base.deleter import Deleter
+from synchronizers.base.deleters.user_deployment_deleter import UserDeploymentsDeleter
 
 class UserDeleter(Deleter):
     model='User'
diff --git a/xos/ec2_observer/deleters/user_deployment_deleter.py b/xos/ec2_observer/deleters/user_deployment_deleter.py
index 4bc7619..3b6113b 100644
--- a/xos/ec2_observer/deleters/user_deployment_deleter.py
+++ b/xos/ec2_observer/deleters/user_deployment_deleter.py
@@ -1,5 +1,5 @@
 from core.models import User, UserDeployments
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 
 class UserDeploymentsDeleter(Deleter):
     model='UserDeployments'
diff --git a/xos/manage.py b/xos/manage.py
index 5d09794..acabb0d 100644
--- a/xos/manage.py
+++ b/xos/manage.py
@@ -17,7 +17,7 @@
         sys.argv.remove("--nomodelpolicy")
 
     if "--noobserver" in sys.argv:
-        import observer
+        import synchronizers.base
         observer.EnableObserver(False)
         sys.argv.remove("--noobserver")
 
diff --git a/xos/observers/base/SyncInstanceUsingAnsible.py b/xos/observers/base/SyncInstanceUsingAnsible.py
index 81f6632..aafbd85 100644
--- a/xos/observers/base/SyncInstanceUsingAnsible.py
+++ b/xos/observers/base/SyncInstanceUsingAnsible.py
@@ -6,8 +6,8 @@
 import time
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from core.models import Service, Slice, ControllerSlice, ControllerUser
 from util.logger import Logger, logging
 
diff --git a/xos/observers/base/SyncSliverUsingAnsible.py b/xos/observers/base/SyncSliverUsingAnsible.py
index 9455780..a76b300 100644
--- a/xos/observers/base/SyncSliverUsingAnsible.py
+++ b/xos/observers/base/SyncSliverUsingAnsible.py
@@ -6,8 +6,8 @@
 import time
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from core.models import Service, Slice
 from util.logger import Logger, logging
 
diff --git a/xos/observers/helloworld/steps/sync_hello.py b/xos/observers/helloworld/steps/sync_hello.py
index 880d570..82600e7 100644
--- a/xos/observers/helloworld/steps/sync_hello.py
+++ b/xos/observers/helloworld/steps/sync_hello.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from services.helloworld.models import Hello,World
 from util.logger import Logger, logging
 
diff --git a/xos/observers/helloworld/steps/sync_world.py b/xos/observers/helloworld/steps/sync_world.py
index a97d320..0a121df 100644
--- a/xos/observers/helloworld/steps/sync_world.py
+++ b/xos/observers/helloworld/steps/sync_world.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from services.helloworld.models import Hello,World
 from util.logger import Logger, logging
 
diff --git a/xos/observers/hpc/fsck.py b/xos/observers/hpc/fsck.py
index 0c551f8..a6f641b 100644
--- a/xos/observers/hpc/fsck.py
+++ b/xos/observers/hpc/fsck.py
@@ -8,7 +8,7 @@
 sys.path.append("/opt/xos")
 from xos.config import Config, DEFAULT_CONFIG_FN, XOS_DIR
 from util.logger import Logger, logging
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 
 try:
     from django import setup as django_setup # django 1.7
diff --git a/xos/observers/hpc/steps/garbage_collector.py b/xos/observers/hpc/steps/garbage_collector.py
index 259762b..25172a3 100644
--- a/xos/observers/hpc/steps/garbage_collector.py
+++ b/xos/observers/hpc/steps/garbage_collector.py
@@ -6,7 +6,7 @@
 from django.db.models import F, Q
 from xos.config import Config
 from util.logger import Logger, logging
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from services.hpc.models import ServiceProvider, ContentProvider, CDNPrefix, OriginServer
 from core.models import *
 
diff --git a/xos/observers/hpc/steps/sync_cdnprefix.py b/xos/observers/hpc/steps/sync_cdnprefix.py
index a6382bd..d2b0276 100644
--- a/xos/observers/hpc/steps/sync_cdnprefix.py
+++ b/xos/observers/hpc/steps/sync_cdnprefix.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.hpc.models import ServiceProvider, ContentProvider, CDNPrefix
 from util.logger import Logger, logging
diff --git a/xos/observers/hpc/steps/sync_contentprovider.py b/xos/observers/hpc/steps/sync_contentprovider.py
index 0f86e2e..4e95c36 100644
--- a/xos/observers/hpc/steps/sync_contentprovider.py
+++ b/xos/observers/hpc/steps/sync_contentprovider.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.hpc.models import ServiceProvider, ContentProvider
 from util.logger import Logger, logging
diff --git a/xos/observers/hpc/steps/sync_hpcservices.py b/xos/observers/hpc/steps/sync_hpcservices.py
index 4ceb096..47165cc 100644
--- a/xos/observers/hpc/steps/sync_hpcservices.py
+++ b/xos/observers/hpc/steps/sync_hpcservices.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.hpc.models import HpcService
 from services.requestrouter.models import RequestRouterService
diff --git a/xos/observers/hpc/steps/sync_originserver.py b/xos/observers/hpc/steps/sync_originserver.py
index 01bd56a..435bbc1 100644
--- a/xos/observers/hpc/steps/sync_originserver.py
+++ b/xos/observers/hpc/steps/sync_originserver.py
@@ -4,7 +4,7 @@
 
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.hpc.models import ServiceProvider, ContentProvider, CDNPrefix, OriginServer
 from util.logger import Logger, logging
diff --git a/xos/observers/hpc/steps/sync_serviceprovider.py b/xos/observers/hpc/steps/sync_serviceprovider.py
index 68c36ef..e4e31f0 100644
--- a/xos/observers/hpc/steps/sync_serviceprovider.py
+++ b/xos/observers/hpc/steps/sync_serviceprovider.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.hpc.models import ServiceProvider
 from util.logger import Logger, logging
diff --git a/xos/observers/hpc/steps/sync_sitemap.py b/xos/observers/hpc/steps/sync_sitemap.py
index 3fd4b16..e662458 100644
--- a/xos/observers/hpc/steps/sync_sitemap.py
+++ b/xos/observers/hpc/steps/sync_sitemap.py
@@ -3,7 +3,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.hpc.models import ServiceProvider, ContentProvider, CDNPrefix, SiteMap
 from util.logger import Logger, logging
diff --git a/xos/observers/monitoring_channel/steps/sync_monitoringchannel.py b/xos/observers/monitoring_channel/steps/sync_monitoringchannel.py
index 78ad45e..c265517 100644
--- a/xos/observers/monitoring_channel/steps/sync_monitoringchannel.py
+++ b/xos/observers/monitoring_channel/steps/sync_monitoringchannel.py
@@ -6,8 +6,8 @@
 import time
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from observers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
 from core.models import Service, Slice
 from services.ceilometer.models import MonitoringChannel
diff --git a/xos/observers/onos/steps/sync_onosapp.py b/xos/observers/onos/steps/sync_onosapp.py
index cfe1041..047306d 100644
--- a/xos/observers/onos/steps/sync_onosapp.py
+++ b/xos/observers/onos/steps/sync_onosapp.py
@@ -7,8 +7,8 @@
 import time
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from observers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
 from core.models import Service, Slice
 from services.onos.models import ONOSService, ONOSApp
diff --git a/xos/observers/onos/steps/sync_onosservice.py b/xos/observers/onos/steps/sync_onosservice.py
index 420904a..efa5d72 100644
--- a/xos/observers/onos/steps/sync_onosservice.py
+++ b/xos/observers/onos/steps/sync_onosservice.py
@@ -6,8 +6,8 @@
 import time
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from observers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
 from core.models import Service, Slice
 from services.onos.models import ONOSService, ONOSApp
diff --git a/xos/observers/requestrouter/deleters/servicemap_deleter.py b/xos/observers/requestrouter/deleters/servicemap_deleter.py
index 5e4b5a4..427242f 100644
--- a/xos/observers/requestrouter/deleters/servicemap_deleter.py
+++ b/xos/observers/requestrouter/deleters/servicemap_deleter.py
@@ -2,7 +2,7 @@
 import sys
 import traceback
 from services.requestrouter.models import ServiceMap
-from observer.deleter import Deleter
+from synchronizers.base.deleter import Deleter
 from util.logger import Logger, logging
 from xos.config import Config, XOS_DIR
 
diff --git a/xos/observers/requestrouter/steps/sync_requestrouterservices.py b/xos/observers/requestrouter/steps/sync_requestrouterservices.py
index ccf9291..9af3584 100644
--- a/xos/observers/requestrouter/steps/sync_requestrouterservices.py
+++ b/xos/observers/requestrouter/steps/sync_requestrouterservices.py
@@ -4,7 +4,7 @@
 import traceback
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.requestrouter.models import RequestRouterService
 from util.logger import Logger, logging
diff --git a/xos/observers/requestrouter/steps/sync_servicemap.py b/xos/observers/requestrouter/steps/sync_servicemap.py
index 094e5f1..18bcec4 100644
--- a/xos/observers/requestrouter/steps/sync_servicemap.py
+++ b/xos/observers/requestrouter/steps/sync_servicemap.py
@@ -6,7 +6,7 @@
 import traceback
 from django.db.models import F, Q
 from xos.config import Config, XOS_DIR
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.requestrouter.models import ServiceMap
 from util.logger import Logger, logging
diff --git a/xos/observers/syndicate/steps/sync_volume.py b/xos/observers/syndicate/steps/sync_volume.py
index c973e8a..e6dc90b 100644
--- a/xos/observers/syndicate/steps/sync_volume.py
+++ b/xos/observers/syndicate/steps/sync_volume.py
@@ -17,7 +17,7 @@
 
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from services.syndicate_storage.models import Volume
 
diff --git a/xos/observers/syndicate/steps/sync_volumeaccessright.py b/xos/observers/syndicate/steps/sync_volumeaccessright.py
index c135237..2889502 100644
--- a/xos/observers/syndicate/steps/sync_volumeaccessright.py
+++ b/xos/observers/syndicate/steps/sync_volumeaccessright.py
@@ -16,7 +16,7 @@
 
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 
 import logging
diff --git a/xos/observers/syndicate/steps/sync_volumeslice.py b/xos/observers/syndicate/steps/sync_volumeslice.py
index e88d4c1..1be61b9 100644
--- a/xos/observers/syndicate/steps/sync_volumeslice.py
+++ b/xos/observers/syndicate/steps/sync_volumeslice.py
@@ -16,7 +16,7 @@
 
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service, Slice
 
 import logging
diff --git a/xos/observers/syndicate/syndicate-backend.py b/xos/observers/syndicate/syndicate-backend.py
index 32670d9..9b53c77 100644
--- a/xos/observers/syndicate/syndicate-backend.py
+++ b/xos/observers/syndicate/syndicate-backend.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 import os
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-from observer.backend import Backend 
+from synchronizers.base.backend import Backend 
 
 if __name__ == '__main__':
 
diff --git a/xos/observers/vbng/steps/sync_vbngtenant.py b/xos/observers/vbng/steps/sync_vbngtenant.py
index de404ff..c997f4f 100644
--- a/xos/observers/vbng/steps/sync_vbngtenant.py
+++ b/xos/observers/vbng/steps/sync_vbngtenant.py
@@ -5,8 +5,8 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from core.models import Service
 from services.cord.models import VCPEService, VCPETenant, VBNGTenant, VBNGService
 from services.hpc.models import HpcService, CDNPrefix
diff --git a/xos/observers/vcpe/observer_ansible_test.py b/xos/observers/vcpe/observer_ansible_test.py
index 77715af..b28da63 100644
--- a/xos/observers/vcpe/observer_ansible_test.py
+++ b/xos/observers/vcpe/observer_ansible_test.py
@@ -3,36 +3,36 @@
 import sys
 
 sys.path.append("../..")
-import observer.ansible
+import synchronizers.base.ansible
 
 print sys.argv
 
 private_key="""-----BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAtJiuarud5S4Y2quDeWyaS0UCQGQtfuSzzNhplFwujYnJGL65

-e14REtv+UuHGymyr/SfkTrBd8vH5NI2UZ/4sZW13ieI/1d97OeVe2+ct0Y4BaFEI

-3Hja6DIpsY3Q2cBQsWUwcQzbMIF9jIq8SzwR1zk8UtZi09fNxqjCchRPlBvbiLKX

-g0/yirN237WbaKzK++8EPy3nuv83216MXHFFSjuxfICe/RhjaqMzVp7isSbv1suU

-geyvNNzU71c/K13gTggdcIXeRQBiJYio2Sn3h2nsV6AFqFH4fjERxWG55Q4e3jeE

-tWM/Dw+hqYKg/25UcmM862a6sUmuDCmM5S3VEQIDAQABAoIBACH88iZoNOki6c6N

-pOq/Q7KSxD+2GtHc3PHacNRZHPHKUqxziJjtNS1lddHHaBBEr4GvdkpQ6v2ECLCZ

-TKrdrSFRnsO2bukjbB+TSWz9byQXI7CsP4yuuhQlDK+7zuiMRyN7tcgw8TeJx0Uh

-/xnxrjHhNbcpXeQcoz+WFzI9HFT1MEGmMS4Lyp/zLB/pmfY9h7V9d+EeRZDi78jq

-Vir6MI6iCTa0T02dvHUFOg+wXLb0nb8V1xKDL+6cAJla7LzwoG8lTnvp5DSYCojI

-5JrILYafeO8RbBV2GWmaE5mkHgeBkFZ+qZQ7K0MjR30Yh6tajB7P3+F/Max8FUgW

-xLHr8AECgYEA2+o0ge3HtZcepEFBKKYnLTwoEpPCfLElWZHzUJYDz259s4JLsfak

-tROANFEdsJUjpmWG52MCL+bgKFFOedDkt4p1jgcIneaHk0jvoU11wG7W3jZZVy1q

-WjQNH5vDU+hg5tm/CREwm7lbUxR9Xuj9K63CNAAGp8KO7h2tOH8woIECgYEA0jrb

-LUg30RxO3+vrq9dUYohrDRisk5zKXuRLfxRA+E+ruvZ7CctG2OpM+658/qZM/w95

-7pOj6zz3//w7tAvH9erY+JOISnzaYKx04sYC1MfbFiFkq5j0gpuYm/MULDYNvFqr

-NU2Buj4dW+ZB+SeficsQOqm5QeNxh1kgiDCs7JECgYEAjSLGCAzeesA9vhTTCI95

-3SIaZbHGw9e8rLtqeHGOiHXU3nvksJYmJsAZK3pTn5xXgNbvuVhlcvCtM7LatntG

-DjUiNMB22z+0CuZoRBE+XP3FkF84/yX6d2Goenyw4wzkA8QDQoJxu789yRgBTgQh

-VwLw/AZ4PvoyWMdbAENApgECgYEAvFikosYP09XTyIPaKaOKY5iqqBoSC1GucSOB

-jAG+T3k5dxB6nQS0nYQUomvqak7drqnT6O33Lrr5ySrW5nCjnmvgJZwvv+Rp1bDM

-K5uRT8caPpJ+Wcp4TUdPi3BVA2MOHVDyEJg3AH/D1+DL/IgGQ/JcwOHsKt61iLhO

-EBXj5zECgYEAk+HuwksUPkSxg/AiJGbapGDK6XGymEUzo2duWlnofRqGcZ3NT3bB

-/kDI1KxQdlpODXSi4/BuTpbQiFOrzcEq5e5ytoMxlCHh3Fl3Jxl+JlgO21vAUvP6

-4SET7Q/6LxmfBlCVRg0dXDwcfJLgbnWxyvprIcz4e0FSFVZTBs/6tFk=

+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
 -----END RSA PRIVATE KEY-----
 """
 
diff --git a/xos/observers/vcpe/steps/sync_vcpetenant.py b/xos/observers/vcpe/steps/sync_vcpetenant.py
index 477c250..d35a628 100644
--- a/xos/observers/vcpe/steps/sync_vcpetenant.py
+++ b/xos/observers/vcpe/steps/sync_vcpetenant.py
@@ -6,8 +6,8 @@
 import time
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
-from observer.ansible import run_template_ssh
+from synchronizers.base.syncstep import SyncStep
+from synchronizers.base.ansible import run_template_ssh
 from observers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
 from core.models import Service, Slice
 from services.cord.models import VCPEService, VCPETenant, VOLTTenant
diff --git a/xos/observers/vtn/steps/sync_tenant.py b/xos/observers/vtn/steps/sync_tenant.py
index 45bdfff..77e6a93 100644
--- a/xos/observers/vtn/steps/sync_tenant.py
+++ b/xos/observers/vtn/steps/sync_tenant.py
@@ -5,7 +5,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.syncstep import SyncStep
+from synchronizers.base.syncstep import SyncStep
 from core.models import Service
 from core.models.service import COARSE_KIND
 from services.cord.models import Tenant
diff --git a/xos/openstack_observer/backend.py b/xos/openstack_observer/backend.py
index 5657491..107ba2c 100644
--- a/xos/openstack_observer/backend.py
+++ b/xos/openstack_observer/backend.py
@@ -2,8 +2,8 @@
 import sys
 import threading
 import time
-from observer.event_loop import XOSObserver
-from observer.event_manager import EventListener
+from synchronizers.base.event_loop import XOSObserver
+from synchronizers.base.event_manager import EventListener
 from util.logger import Logger, logging
 from model_policy import run_policy
 from xos.config import Config
diff --git a/xos/openstack_observer/event_loop.py b/xos/openstack_observer/event_loop.py
index 0ac626b..85c7257 100644
--- a/xos/openstack_observer/event_loop.py
+++ b/xos/openstack_observer/event_loop.py
@@ -27,7 +27,7 @@
 from toposort import toposort
 from observer.error_mapper import *
 from openstack_observer.openstacksyncstep import OpenStackSyncStep
-from observer.steps.sync_object import SyncObject
+from synchronizers.base.steps.sync_object import SyncObject
 
 # Load app models
 
diff --git a/xos/openstack_observer/steps/purge_disabled_users.py b/xos/openstack_observer/steps/purge_disabled_users.py
index b5168e3..80690b0 100644
--- a/xos/openstack_observer/steps/purge_disabled_users.py
+++ b/xos/openstack_observer/steps/purge_disabled_users.py
@@ -3,7 +3,7 @@
 import datetime
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from core.models.user import User
 from util.logger import observer_logger as logger
 
diff --git a/xos/openstack_observer/steps/sync_container.py b/xos/openstack_observer/steps/sync_container.py
index adb81c9..29fe3e0 100644
--- a/xos/openstack_observer/steps/sync_container.py
+++ b/xos/openstack_observer/steps/sync_container.py
@@ -8,7 +8,7 @@
 from xos.config import Config
 from observers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
 from observer.syncstep import SyncStep, DeferredException
-from observer.ansible import run_template_ssh
+from synchronizers.base.ansible import run_template_ssh
 from core.models import Service, Slice, Instance
 from services.onos.models import ONOSService, ONOSApp
 from util.logger import Logger, logging
diff --git a/xos/openstack_observer/steps/sync_controller_images.py b/xos/openstack_observer/steps/sync_controller_images.py
index 551d9ac..04908dc 100644
--- a/xos/openstack_observer/steps/sync_controller_images.py
+++ b/xos/openstack_observer/steps/sync_controller_images.py
@@ -3,7 +3,7 @@
 from collections import defaultdict
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models import Controller
 from core.models import Image, ControllerImages
diff --git a/xos/openstack_observer/steps/sync_controller_networks.py b/xos/openstack_observer/steps/sync_controller_networks.py
index ad1604b..5b1ca20 100644
--- a/xos/openstack_observer/steps/sync_controller_networks.py
+++ b/xos/openstack_observer/steps/sync_controller_networks.py
@@ -4,7 +4,7 @@
 from netaddr import IPAddress, IPNetwork
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models.network import *
 from core.models.slice import *
diff --git a/xos/openstack_observer/steps/sync_controller_site_privileges.py b/xos/openstack_observer/steps/sync_controller_site_privileges.py
index d257536..5688932 100644
--- a/xos/openstack_observer/steps/sync_controller_site_privileges.py
+++ b/xos/openstack_observer/steps/sync_controller_site_privileges.py
@@ -3,7 +3,7 @@
 from collections import defaultdict
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models.site import Controller, SitePrivilege 
 from core.models.user import User
diff --git a/xos/openstack_observer/steps/sync_controller_slice_privileges.py b/xos/openstack_observer/steps/sync_controller_slice_privileges.py
index 948ea57..c3d9ce4 100644
--- a/xos/openstack_observer/steps/sync_controller_slice_privileges.py
+++ b/xos/openstack_observer/steps/sync_controller_slice_privileges.py
@@ -3,7 +3,7 @@
 from collections import defaultdict
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models.slice import Controller, SlicePrivilege 
 from core.models.user import User
diff --git a/xos/openstack_observer/steps/sync_controller_slices.py b/xos/openstack_observer/steps/sync_controller_slices.py
index 9904aef..aee2a0a 100644
--- a/xos/openstack_observer/steps/sync_controller_slices.py
+++ b/xos/openstack_observer/steps/sync_controller_slices.py
@@ -4,7 +4,7 @@
 from netaddr import IPAddress, IPNetwork
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models import *
 from observer.ansible import *
diff --git a/xos/openstack_observer/steps/sync_controller_users.py b/xos/openstack_observer/steps/sync_controller_users.py
index 4062453..68faec9 100644
--- a/xos/openstack_observer/steps/sync_controller_users.py
+++ b/xos/openstack_observer/steps/sync_controller_users.py
@@ -3,7 +3,7 @@
 from collections import defaultdict
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models.site import Controller, SiteDeployment, SiteDeployment
 from core.models.user import User
diff --git a/xos/openstack_observer/steps/sync_images.py b/xos/openstack_observer/steps/sync_images.py
index d126834..40c6447 100644
--- a/xos/openstack_observer/steps/sync_images.py
+++ b/xos/openstack_observer/steps/sync_images.py
@@ -2,7 +2,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from core.models.image import Image
 from util.logger import observer_logger as logger
 
diff --git a/xos/openstack_observer/steps/sync_instances.py b/xos/openstack_observer/steps/sync_instances.py
index 815c83e..e336279 100644
--- a/xos/openstack_observer/steps/sync_instances.py
+++ b/xos/openstack_observer/steps/sync_instances.py
@@ -4,7 +4,7 @@
 from django.db.models import F, Q
 from xos.config import Config
 from xos.settings import RESTAPI_HOSTNAME, RESTAPI_PORT
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from core.models.instance import Instance
 from core.models.slice import Slice, SlicePrivilege, ControllerSlice
 from core.models.network import Network, NetworkSlice, ControllerNetwork
diff --git a/xos/openstack_observer/steps/sync_object.py b/xos/openstack_observer/steps/sync_object.py
index a289c95..dc117d6 100644
--- a/xos/openstack_observer/steps/sync_object.py
+++ b/xos/openstack_observer/steps/sync_object.py
@@ -3,7 +3,7 @@
 from collections import defaultdict
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from observer.syncstep import *
 from core.models import *
 from observer.ansible import *
diff --git a/xos/openstack_observer/steps/sync_ports.py b/xos/openstack_observer/steps/sync_ports.py
index bfdde8c..37b780a 100644
--- a/xos/openstack_observer/steps/sync_ports.py
+++ b/xos/openstack_observer/steps/sync_ports.py
@@ -2,7 +2,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from core.models import Controller
 from core.models.network import *
 from util.logger import observer_logger as logger
diff --git a/xos/openstack_observer/steps/sync_roles.py b/xos/openstack_observer/steps/sync_roles.py
index c4bbe3f..e157dc2 100644
--- a/xos/openstack_observer/steps/sync_roles.py
+++ b/xos/openstack_observer/steps/sync_roles.py
@@ -2,7 +2,7 @@
 import base64
 from django.db.models import F, Q
 from xos.config import Config
-from observer.openstacksyncstep import OpenStackSyncStep
+from synchronizers.base.openstacksyncstep import OpenStackSyncStep
 from core.models.role import Role
 from core.models.site import SiteRole, Controller, ControllerRole
 from core.models.slice import SliceRole
diff --git a/xos/services/ceilometer/admin.py b/xos/services/ceilometer/admin.py
index fe52996..ed8e47a 100644
--- a/xos/services/ceilometer/admin.py
+++ b/xos/services/ceilometer/admin.py
@@ -48,26 +48,26 @@
 class MonitoringChannelForm(forms.ModelForm):
     creator = forms.ModelChoiceField(queryset=User.objects.all())
 
-    def __init__(self,*args,**kwargs):

-        super (MonitoringChannelForm,self ).__init__(*args,**kwargs)

-        self.fields['kind'].widget.attrs['readonly'] = True

-        self.fields['provider_service'].queryset = CeilometerService.get_service_objects().all()

-        if self.instance:

-            # fields for the attributes

-            self.fields['creator'].initial = self.instance.creator

-        if (not self.instance) or (not self.instance.pk):

-            # default fields for an 'add' form

-            self.fields['kind'].initial = CEILOMETER_KIND

-            self.fields['creator'].initial = get_request().user

-            if CeilometerService.get_service_objects().exists():

-               self.fields["provider_service"].initial = CeilometerService.get_service_objects().all()[0]

-

-

-    def save(self, commit=True):

-        self.instance.creator = self.cleaned_data.get("creator")

-        return super(MonitoringChannelForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (MonitoringChannelForm,self ).__init__(*args,**kwargs)
+        self.fields['kind'].widget.attrs['readonly'] = True
+        self.fields['provider_service'].queryset = CeilometerService.get_service_objects().all()
+        if self.instance:
+            # fields for the attributes
+            self.fields['creator'].initial = self.instance.creator
+        if (not self.instance) or (not self.instance.pk):
+            # default fields for an 'add' form
+            self.fields['kind'].initial = CEILOMETER_KIND
+            self.fields['creator'].initial = get_request().user
+            if CeilometerService.get_service_objects().exists():
+               self.fields["provider_service"].initial = CeilometerService.get_service_objects().all()[0]
+
+
+    def save(self, commit=True):
+        self.instance.creator = self.cleaned_data.get("creator")
+        return super(MonitoringChannelForm, self).save(commit=commit)
+
+    class Meta:
         model = MonitoringChannel
 
 class MonitoringChannelAdmin(ReadOnlyAwareAdmin):
diff --git a/xos/services/cord/admin.py b/xos/services/cord/admin.py
index ced79af..5f1a285 100644
--- a/xos/services/cord/admin.py
+++ b/xos/services/cord/admin.py
@@ -55,29 +55,29 @@
     c_tag = forms.CharField()
     creator = forms.ModelChoiceField(queryset=User.objects.all())
 
-    def __init__(self,*args,**kwargs):

-        super (VOLTTenantForm,self ).__init__(*args,**kwargs)

-        self.fields['kind'].widget.attrs['readonly'] = True

-        self.fields['provider_service'].queryset = VOLTService.get_service_objects().all()

-        if self.instance:

-            # fields for the attributes

-            self.fields['c_tag'].initial = self.instance.c_tag

-            self.fields['s_tag'].initial = self.instance.s_tag

-            self.fields['creator'].initial = self.instance.creator

-        if (not self.instance) or (not self.instance.pk):

-            # default fields for an 'add' form

-            self.fields['kind'].initial = VOLT_KIND

-            self.fields['creator'].initial = get_request().user

-            if VOLTService.get_service_objects().exists():

-               self.fields["provider_service"].initial = VOLTService.get_service_objects().all()[0]

-

-    def save(self, commit=True):

-        self.instance.s_tag = self.cleaned_data.get("s_tag")

-        self.instance.c_tag = self.cleaned_data.get("c_tag")

-        self.instance.creator = self.cleaned_data.get("creator")

-        return super(VOLTTenantForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (VOLTTenantForm,self ).__init__(*args,**kwargs)
+        self.fields['kind'].widget.attrs['readonly'] = True
+        self.fields['provider_service'].queryset = VOLTService.get_service_objects().all()
+        if self.instance:
+            # fields for the attributes
+            self.fields['c_tag'].initial = self.instance.c_tag
+            self.fields['s_tag'].initial = self.instance.s_tag
+            self.fields['creator'].initial = self.instance.creator
+        if (not self.instance) or (not self.instance.pk):
+            # default fields for an 'add' form
+            self.fields['kind'].initial = VOLT_KIND
+            self.fields['creator'].initial = get_request().user
+            if VOLTService.get_service_objects().exists():
+               self.fields["provider_service"].initial = VOLTService.get_service_objects().all()[0]
+
+    def save(self, commit=True):
+        self.instance.s_tag = self.cleaned_data.get("s_tag")
+        self.instance.c_tag = self.cleaned_data.get("c_tag")
+        self.instance.creator = self.cleaned_data.get("creator")
+        return super(VOLTTenantForm, self).save(commit=commit)
+
+    class Meta:
         model = VOLTTenant
 
 class VOLTTenantAdmin(ReadOnlyAwareAdmin):
@@ -105,24 +105,24 @@
     backend_network_label = forms.CharField(required=False)
     bbs_slice = forms.ModelChoiceField(queryset=Slice.objects.all(), required=False)
 
-    def __init__(self,*args,**kwargs):

-        super (VCPEServiceForm,self ).__init__(*args,**kwargs)

-        if self.instance:

-            self.fields['bbs_api_hostname'].initial = self.instance.bbs_api_hostname

-            self.fields['bbs_api_port'].initial = self.instance.bbs_api_port

-            self.fields['bbs_server'].initial = self.instance.bbs_server

-            self.fields['backend_network_label'].initial = self.instance.backend_network_label

-            self.fields['bbs_slice'].initial = self.instance.bbs_slice

-

-    def save(self, commit=True):

-        self.instance.bbs_api_hostname = self.cleaned_data.get("bbs_api_hostname")

-        self.instance.bbs_api_port = self.cleaned_data.get("bbs_api_port")

-        self.instance.bbs_server = self.cleaned_data.get("bbs_server")

-        self.instance.backend_network_label = self.cleaned_data.get("backend_network_label")

-        self.instance.bbs_slice = self.cleaned_data.get("bbs_slice")

-        return super(VCPEServiceForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (VCPEServiceForm,self ).__init__(*args,**kwargs)
+        if self.instance:
+            self.fields['bbs_api_hostname'].initial = self.instance.bbs_api_hostname
+            self.fields['bbs_api_port'].initial = self.instance.bbs_api_port
+            self.fields['bbs_server'].initial = self.instance.bbs_server
+            self.fields['backend_network_label'].initial = self.instance.backend_network_label
+            self.fields['bbs_slice'].initial = self.instance.bbs_slice
+
+    def save(self, commit=True):
+        self.instance.bbs_api_hostname = self.cleaned_data.get("bbs_api_hostname")
+        self.instance.bbs_api_port = self.cleaned_data.get("bbs_api_port")
+        self.instance.bbs_server = self.cleaned_data.get("bbs_server")
+        self.instance.backend_network_label = self.cleaned_data.get("backend_network_label")
+        self.instance.bbs_slice = self.cleaned_data.get("bbs_slice")
+        return super(VCPEServiceForm, self).save(commit=commit)
+
+    class Meta:
         model = VCPEService
 
 class VCPEServiceAdmin(ReadOnlyAwareAdmin):
@@ -164,30 +164,30 @@
     instance = forms.ModelChoiceField(queryset=Instance.objects.all(),required=False)
     last_ansible_hash = forms.CharField(required=False)
 
-    def __init__(self,*args,**kwargs):

-        super (VCPETenantForm,self ).__init__(*args,**kwargs)

-        self.fields['kind'].widget.attrs['readonly'] = True

-        self.fields['provider_service'].queryset = VCPEService.get_service_objects().all()

-        if self.instance:

-            # fields for the attributes

-            self.fields['bbs_account'].initial = self.instance.bbs_account

-            self.fields['creator'].initial = self.instance.creator

-            self.fields['instance'].initial = self.instance.instance

-            self.fields['last_ansible_hash'].initial = self.instance.last_ansible_hash

-        if (not self.instance) or (not self.instance.pk):

-            # default fields for an 'add' form

-            self.fields['kind'].initial = VCPE_KIND

-            self.fields['creator'].initial = get_request().user

-            if VCPEService.get_service_objects().exists():

-               self.fields["provider_service"].initial = VCPEService.get_service_objects().all()[0]

-

-    def save(self, commit=True):

-        self.instance.creator = self.cleaned_data.get("creator")

-        self.instance.instance = self.cleaned_data.get("instance")

-        self.instance.last_ansible_hash = self.cleaned_data.get("last_ansible_hash")

-        return super(VCPETenantForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (VCPETenantForm,self ).__init__(*args,**kwargs)
+        self.fields['kind'].widget.attrs['readonly'] = True
+        self.fields['provider_service'].queryset = VCPEService.get_service_objects().all()
+        if self.instance:
+            # fields for the attributes
+            self.fields['bbs_account'].initial = self.instance.bbs_account
+            self.fields['creator'].initial = self.instance.creator
+            self.fields['instance'].initial = self.instance.instance
+            self.fields['last_ansible_hash'].initial = self.instance.last_ansible_hash
+        if (not self.instance) or (not self.instance.pk):
+            # default fields for an 'add' form
+            self.fields['kind'].initial = VCPE_KIND
+            self.fields['creator'].initial = get_request().user
+            if VCPEService.get_service_objects().exists():
+               self.fields["provider_service"].initial = VCPEService.get_service_objects().all()[0]
+
+    def save(self, commit=True):
+        self.instance.creator = self.cleaned_data.get("creator")
+        self.instance.instance = self.cleaned_data.get("instance")
+        self.instance.last_ansible_hash = self.cleaned_data.get("last_ansible_hash")
+        return super(VCPETenantForm, self).save(commit=commit)
+
+    class Meta:
         model = VCPETenant
 
 class VCPETenantAdmin(ReadOnlyAwareAdmin):
@@ -211,16 +211,16 @@
 class VBNGServiceForm(forms.ModelForm):
     vbng_url = forms.CharField(required=False)
 
-    def __init__(self,*args,**kwargs):

-        super (VBNGServiceForm,self ).__init__(*args,**kwargs)

-        if self.instance:

-            self.fields['vbng_url'].initial = self.instance.vbng_url

-

-    def save(self, commit=True):

-        self.instance.vbng_url = self.cleaned_data.get("vbng_url")

-        return super(VBNGServiceForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (VBNGServiceForm,self ).__init__(*args,**kwargs)
+        if self.instance:
+            self.fields['vbng_url'].initial = self.instance.vbng_url
+
+    def save(self, commit=True):
+        self.instance.vbng_url = self.cleaned_data.get("vbng_url")
+        return super(VBNGServiceForm, self).save(commit=commit)
+
+    class Meta:
         model = VBNGService
 
 class VBNGServiceAdmin(ReadOnlyAwareAdmin):
@@ -260,30 +260,30 @@
     mapped_ip = forms.CharField(required=False)
     mapped_mac =  forms.CharField(required=False)
 
-    def __init__(self,*args,**kwargs):

-        super (VBNGTenantForm,self ).__init__(*args,**kwargs)

-        self.fields['kind'].widget.attrs['readonly'] = True

-        self.fields['provider_service'].queryset = VBNGService.get_service_objects().all()

-        if self.instance:

-            # fields for the attributes

-            self.fields['routeable_subnet'].initial = self.instance.routeable_subnet

-            self.fields['mapped_hostname'].initial = self.instance.mapped_hostname

-            self.fields['mapped_ip'].initial = self.instance.mapped_ip

-            self.fields['mapped_mac'].initial = self.instance.mapped_mac

-        if (not self.instance) or (not self.instance.pk):

-            # default fields for an 'add' form

-            self.fields['kind'].initial = VBNG_KIND

-            if VBNGService.get_service_objects().exists():

-               self.fields["provider_service"].initial = VBNGService.get_service_objects().all()[0]

-

-    def save(self, commit=True):

-        self.instance.routeable_subnet = self.cleaned_data.get("routeable_subnet")

-        self.instance.mapped_hostname = self.cleaned_data.get("mapped_hostname")

-        self.instance.mapped_ip = self.cleaned_data.get("mapped_ip")

-        self.instance.mapped_mac = self.cleaned_data.get("mapped_mac")

-        return super(VBNGTenantForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (VBNGTenantForm,self ).__init__(*args,**kwargs)
+        self.fields['kind'].widget.attrs['readonly'] = True
+        self.fields['provider_service'].queryset = VBNGService.get_service_objects().all()
+        if self.instance:
+            # fields for the attributes
+            self.fields['routeable_subnet'].initial = self.instance.routeable_subnet
+            self.fields['mapped_hostname'].initial = self.instance.mapped_hostname
+            self.fields['mapped_ip'].initial = self.instance.mapped_ip
+            self.fields['mapped_mac'].initial = self.instance.mapped_mac
+        if (not self.instance) or (not self.instance.pk):
+            # default fields for an 'add' form
+            self.fields['kind'].initial = VBNG_KIND
+            if VBNGService.get_service_objects().exists():
+               self.fields["provider_service"].initial = VBNGService.get_service_objects().all()[0]
+
+    def save(self, commit=True):
+        self.instance.routeable_subnet = self.cleaned_data.get("routeable_subnet")
+        self.instance.mapped_hostname = self.cleaned_data.get("mapped_hostname")
+        self.instance.mapped_ip = self.cleaned_data.get("mapped_ip")
+        self.instance.mapped_mac = self.cleaned_data.get("mapped_mac")
+        return super(VBNGTenantForm, self).save(commit=commit)
+
+    class Meta:
         model = VBNGTenant
 
 class VBNGTenantAdmin(ReadOnlyAwareAdmin):
@@ -326,20 +326,20 @@
 class CordSubscriberRootForm(forms.ModelForm):
     url_filter_level = forms.CharField(required = False)
 
-    def __init__(self,*args,**kwargs):

-        super (CordSubscriberRootForm,self ).__init__(*args,**kwargs)

-        self.fields['kind'].widget.attrs['readonly'] = True

-        if self.instance:

-            self.fields['url_filter_level'].initial = self.instance.url_filter_level

-        if (not self.instance) or (not self.instance.pk):

-            # default fields for an 'add' form

-            self.fields['kind'].initial = CORD_SUBSCRIBER_KIND

-

-    def save(self, commit=True):

-        self.instance.url_filter_level = self.cleaned_data.get("url_filter_level")

-        return super(CordSubscriberRootForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (CordSubscriberRootForm,self ).__init__(*args,**kwargs)
+        self.fields['kind'].widget.attrs['readonly'] = True
+        if self.instance:
+            self.fields['url_filter_level'].initial = self.instance.url_filter_level
+        if (not self.instance) or (not self.instance.pk):
+            # default fields for an 'add' form
+            self.fields['kind'].initial = CORD_SUBSCRIBER_KIND
+
+    def save(self, commit=True):
+        self.instance.url_filter_level = self.cleaned_data.get("url_filter_level")
+        return super(CordSubscriberRootForm, self).save(commit=commit)
+
+    class Meta:
         model = CordSubscriberRoot
 
 class CordSubscriberRootAdmin(ReadOnlyAwareAdmin):
diff --git a/xos/services/hpc/filteredadmin.py b/xos/services/hpc/filteredadmin.py
index 6cad25c..b677b54 100644
--- a/xos/services/hpc/filteredadmin.py
+++ b/xos/services/hpc/filteredadmin.py
@@ -31,14 +31,14 @@
         pk = getattr(result, self.pk_attname)
         if self.embedded:
             return reverse('admin:%s_%s_embeddedfilteredchange' % (self.opts.app_label,
-                                                           self.opts.model_name),

-                           args=(quote(self.service.id), quote(pk),),

+                                                           self.opts.model_name),
+                           args=(quote(self.service.id), quote(pk),),
                            current_app=self.model_admin.admin_site.name)
 
         else:
             return reverse('admin:%s_%s_filteredchange' % (self.opts.app_label,
-                                                           self.opts.model_name),

-                           args=(quote(self.service.id), quote(pk),),

+                                                           self.opts.model_name),
+                           args=(quote(self.service.id), quote(pk),),
                            current_app=self.model_admin.admin_site.name)
 
 class FilteredAdmin(ReadOnlyAwareAdmin):
@@ -71,10 +71,10 @@
 
    def get_urls(self):
        from django.conf.urls import patterns, url
-

-       def wrap(view):

-            def wrapper(*args, **kwargs):

-                return self.admin_site.admin_view(view)(*args, **kwargs)

+
+       def wrap(view):
+            def wrapper(*args, **kwargs):
+                return self.admin_site.admin_view(view)(*args, **kwargs)
             return update_wrapper(wrapper, view)
 
        urls = super(FilteredAdmin, self).get_urls()
diff --git a/xos/services/onos/admin.py b/xos/services/onos/admin.py
index d13a991..3f9f96c 100644
--- a/xos/services/onos/admin.py
+++ b/xos/services/onos/admin.py
@@ -21,19 +21,19 @@
 class ONOSServiceForm(forms.ModelForm):
     use_external_host = forms.CharField(required=False)
 
-    def __init__(self,*args,**kwargs):

-        super (ONOSServiceForm,self ).__init__(*args,**kwargs)

-        if self.instance:

-            # fields for the attributes

-            self.fields['use_external_host'].initial = self.instance.use_external_host

-

-    def save(self, commit=True):

-        self.instance.use_external_host = self.cleaned_data.get("use_external_host")

-        return super(ONOSServiceForm, self).save(commit=commit)

-

-    class Meta:

-        model = ONOSService

-

+    def __init__(self,*args,**kwargs):
+        super (ONOSServiceForm,self ).__init__(*args,**kwargs)
+        if self.instance:
+            # fields for the attributes
+            self.fields['use_external_host'].initial = self.instance.use_external_host
+
+    def save(self, commit=True):
+        self.instance.use_external_host = self.cleaned_data.get("use_external_host")
+        return super(ONOSServiceForm, self).save(commit=commit)
+
+    class Meta:
+        model = ONOSService
+
 class ONOSServiceAdmin(ReadOnlyAwareAdmin):
     model = ONOSService
     verbose_name = "ONOS Service"
@@ -67,29 +67,29 @@
     name = forms.CharField()
     dependencies = forms.CharField(required=False)
 
-    def __init__(self,*args,**kwargs):

-        super (ONOSAppForm,self ).__init__(*args,**kwargs)

-        self.fields['kind'].widget.attrs['readonly'] = True

-        self.fields['provider_service'].queryset = ONOSService.get_service_objects().all()

-        if self.instance:

-            # fields for the attributes

-            self.fields['creator'].initial = self.instance.creator

-            self.fields['name'].initial = self.instance.name

-            self.fields['dependencies'].initial = self.instance.dependencies

-        if (not self.instance) or (not self.instance.pk):

-            # default fields for an 'add' form

-            self.fields['kind'].initial = ONOS_KIND

-            self.fields['creator'].initial = get_request().user

-            if ONOSService.get_service_objects().exists():

-               self.fields["provider_service"].initial = ONOSService.get_service_objects().all()[0]

-

-    def save(self, commit=True):

-        self.instance.creator = self.cleaned_data.get("creator")

-        self.instance.name = self.cleaned_data.get("name")

-        self.instance.dependencies = self.cleaned_data.get("dependencies")

-        return super(ONOSAppForm, self).save(commit=commit)

-

-    class Meta:

+    def __init__(self,*args,**kwargs):
+        super (ONOSAppForm,self ).__init__(*args,**kwargs)
+        self.fields['kind'].widget.attrs['readonly'] = True
+        self.fields['provider_service'].queryset = ONOSService.get_service_objects().all()
+        if self.instance:
+            # fields for the attributes
+            self.fields['creator'].initial = self.instance.creator
+            self.fields['name'].initial = self.instance.name
+            self.fields['dependencies'].initial = self.instance.dependencies
+        if (not self.instance) or (not self.instance.pk):
+            # default fields for an 'add' form
+            self.fields['kind'].initial = ONOS_KIND
+            self.fields['creator'].initial = get_request().user
+            if ONOSService.get_service_objects().exists():
+               self.fields["provider_service"].initial = ONOSService.get_service_objects().all()[0]
+
+    def save(self, commit=True):
+        self.instance.creator = self.cleaned_data.get("creator")
+        self.instance.name = self.cleaned_data.get("name")
+        self.instance.dependencies = self.cleaned_data.get("dependencies")
+        return super(ONOSAppForm, self).save(commit=commit)
+
+    class Meta:
         model = ONOSApp
 
 class ONOSAppAdmin(ReadOnlyAwareAdmin):
diff --git a/xos/tosca/resources/xosresource.py b/xos/tosca/resources/xosresource.py
index 9c4f479..fa14380 100644
--- a/xos/tosca/resources/xosresource.py
+++ b/xos/tosca/resources/xosresource.py
@@ -62,7 +62,7 @@
 
     def get_property_default(self, name, default=None):
         props = self.nodetemplate.get_properties()
-        if props and name in props.keys():

+        if props and name in props.keys():
             return props[name].value
         return default
 
diff --git a/xos/tosca/tests/basetest.py b/xos/tosca/tests/basetest.py
index d9701d7..7dda96f 100644
--- a/xos/tosca/tests/basetest.py
+++ b/xos/tosca/tests/basetest.py
@@ -1,19 +1,19 @@
 import os
 import random
 import string
-import sys

-

-# add the parent parent directory to sys.path

-# XXX this is very hackish :(

-import os,sys,inspect

-currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))

-parentdir = os.path.dirname(currentdir)

-sys.path.append(parentdir)

-parentparentdir = os.path.dirname(parentdir)

-sys.path.append(parentparentdir)

-

-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")

-import django

+import sys
+
+# add the parent parent directory to sys.path
+# XXX this is very hackish :(
+import os,sys,inspect
+currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
+parentdir = os.path.dirname(currentdir)
+sys.path.append(parentdir)
+parentparentdir = os.path.dirname(parentdir)
+sys.path.append(parentparentdir)
+
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
+import django
 django.setup()
 
 from tosca.engine import XOSTosca
diff --git a/xos/tosca/tests/observerUserTest.py b/xos/tosca/tests/observerUserTest.py
index 44b47d3..a6b5897 100644
--- a/xos/tosca/tests/observerUserTest.py
+++ b/xos/tosca/tests/observerUserTest.py
@@ -48,14 +48,14 @@
                        node: %s
                        relationship: tosca.relationships.UsesController
     johndoe@foo.bar:
-      type: tosca.nodes.User

-      properties:

-          password: letmein

-          firstname: john

-          lastname: doe

-      requirements:

-          - site:

-              node: testsite

+      type: tosca.nodes.User
+      properties:
+          password: letmein
+          firstname: john
+          lastname: doe
+      requirements:
+          - site:
+              node: testsite
               relationship: tosca.relationships.MemberOfSite
 """ % (self.get_usable_deployment(), self.get_usable_controller()))
 
diff --git a/xos/tosca/tests/observertest.py b/xos/tosca/tests/observertest.py
index 1ec8797..cf35829 100644
--- a/xos/tosca/tests/observertest.py
+++ b/xos/tosca/tests/observertest.py
@@ -5,7 +5,7 @@
 import subprocess
 import sys
 
-from observer.event_loop import XOSObserver
+from synchronizers.base.event_loop import XOSObserver
 from model_policy import run_policy_once
 from xos.config import set_override
 from util.logger import Logger, observer_logger
diff --git a/xos/xos-observer.py b/xos/xos-observer.py
index 1b85518..b40cbe7 100644
--- a/xos/xos-observer.py
+++ b/xos/xos-observer.py
@@ -2,7 +2,7 @@
 import os
 import argparse
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-from observer.backend import Backend
+from synchronizers.base.backend import Backend
 from xos.config import Config, DEFAULT_CONFIG_FN
 from core.models import Instance
 from util.logger import Logger, logging, logger