Merge branch 'master' of github.com:open-cloud/xos into feature/subscriber-portal
diff --git a/views/README.md b/views/README.md
index ad147e6..fb0c5bc 100644
--- a/views/README.md
+++ b/views/README.md
@@ -4,7 +4,7 @@
 
 ## Tools
 
-These tools are designed to help develop a GUI view. They assume XOS is running on your system and responding at: `localhost:9999`. The `xos/configurations/frontend` is normally sufficient for GUI development.
+These tools are designed to help develop a graphical view. They assume XOS is running on your system and responding at: `localhost:9999`. The `xos/configurations/frontend` is normally sufficient for GUI development.
 
 ### Apigen
 
@@ -63,13 +63,13 @@
 
 We have created a [yeoman](http://yeoman.io/) generator to help scaffold views.
 
->As it is in an early stage of development, you should manually link it to your system. To do this enter `/gui/ngXosLib/generator-xos` and run `npm link`.
+>As it is in an early stage of development, you should manually link it to your system. To do this enter `/views/ngXosLib/generator-xos` and run `npm link`.
 
 #### To Generate a New View
 
-From `/gui` run `yo xos`. This command will create a new folder with the provided name in `/gui/ngXosViews` that contains your application.
+From `/views` run `yo xos`. This command will create a new folder with the provided name in `/views/ngXosViews` that contains your application.
 
->If you left View name empty it should be `/gui/ngXosViews/sampleView`
+>If you left View name empty it should be `/views/ngXosViews/sampleView`
 
 #### Run a Development Server
 
diff --git a/xos/configurations/cord/Dockerfile.cord b/xos/configurations/cord/Dockerfile.cord
index 9fde1b0..3e63eb2 100644
--- a/xos/configurations/cord/Dockerfile.cord
+++ b/xos/configurations/cord/Dockerfile.cord
@@ -4,21 +4,21 @@
 ADD xos/configurations/common/flat_net_name /root/setup/
 ADD xos/configurations/common/nodes.yaml /opt/xos/configurations/commmon/
 ADD xos/configurations/common/id_rsa.pub /root/setup/padmin_public_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/observers/vcpe/vcpe_public_key
-ADD xos/configurations/common/id_rsa /opt/xos/observers/vcpe/vcpe_private_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/observers/monitoring_channel/monitoring_channel_public_key
-ADD xos/configurations/common/id_rsa /opt/xos/observers/monitoring_channel/monitoring_channel_private_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/observers/onos/onos_key.pub
-ADD xos/configurations/common/id_rsa /opt/xos/observers/onos/onos_key
+ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/vcpe/vcpe_public_key
+ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/vcpe/vcpe_private_key
+ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key
+ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key
+ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/onos/onos_key.pub
+ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/onos/onos_key
 ADD xos/configurations/common/node_key.pub /root/setup/node_key.pub
 ADD xos/configurations/common/node_key /root/setup/node_key
 ADD xos/configurations/common/ceilometer_url /root/setup/ceilometer_url
-ADD xos/observers/vcpe/supervisor/vcpe-observer.conf /etc/supervisor/conf.d/
-ADD xos/observers/vbng/supervisor/vbng-observer.conf /etc/supervisor/conf.d/
-ADD xos/observers/onos/supervisor/onos-observer.conf /etc/supervisor/conf.d/
-ADD xos/observers/monitoring_channel/supervisor/monitoring_channel_observer.conf /etc/supervisor/conf.d/
-RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/observers/vcpe/vcpe_observer_config
-RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/observers/monitoring_channel/monitoring_channel_observer_config
+ADD xos/synchronizers/vcpe/supervisor/vcpe-observer.conf /etc/supervisor/conf.d/
+ADD xos/synchronizers/vbng/supervisor/vbng-observer.conf /etc/supervisor/conf.d/
+ADD xos/synchronizers/onos/supervisor/onos-observer.conf /etc/supervisor/conf.d/
+ADD xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf /etc/supervisor/conf.d/
+RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/synchronizers/vcpe/vcpe_synchronizer_config
+RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer_config
 ADD xos/configurations/cord/virtualbng.json /root/setup/
 ADD xos/configurations/cord/vtn-network-cfg.json /root/setup/
 
diff --git a/xos/configurations/cord/ceilometer.yaml b/xos/configurations/cord/ceilometer.yaml
index 82e697a..0ea5cbd 100644
--- a/xos/configurations/cord/ceilometer.yaml
+++ b/xos/configurations/cord/ceilometer.yaml
@@ -26,7 +26,7 @@
           kind: ceilometer
 #          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
 #      artifacts:
-#          pubkey: /opt/xos/observers/vcpe/vcpe_public_key
+#          pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key
 
 
     Private:
diff --git a/xos/configurations/cord/cord.yaml b/xos/configurations/cord/cord.yaml
index 06eaf23..89db720 100644
--- a/xos/configurations/cord/cord.yaml
+++ b/xos/configurations/cord/cord.yaml
@@ -34,9 +34,9 @@
           view_url: /admin/cord/vcpeservice/$id$/
           backend_network_label: hpc_client
           public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
-          private_key_fn: /opt/xos/observers/vcpe/vcpe_private_key
+          private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
       artifacts:
-          pubkey: /opt/xos/observers/vcpe/vcpe_public_key
+          pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key
 
     service_vbng:
       type: tosca.nodes.VBNGService
@@ -54,7 +54,7 @@
           view_url: /admin/onos/onosservice/$id$/
           public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
       artifacts:
-          pubkey: /opt/xos/observers/onos/onos_key.pub
+          pubkey: /opt/xos/synchronizers/onos/onos_key.pub
 
 #
 # To actually bring up the vBNG app
@@ -124,7 +124,7 @@
               }
             }
       artifacts:
-          pubkey: /opt/xos/observers/onos/onos_key.pub
+          pubkey: /opt/xos/synchronizers/onos/onos_key.pub
 
 
     vOLT_ONOS_app:
diff --git a/xos/configurations/cord/docker-compose.yml b/xos/configurations/cord/docker-compose.yml
index 3518f80..bfb04b8 100644
--- a/xos/configurations/cord/docker-compose.yml
+++ b/xos/configurations/cord/docker-compose.yml
@@ -29,7 +29,7 @@
     extra_hosts:
         - ctl:${MYIP}
     volumes:
-        - ../setup/id_rsa:/opt/xos/observers/onos/onos_key:ro  # private key
+        - ../setup/id_rsa:/opt/xos/synchronizers/onos/onos_key:ro  # private key
 
 xos_synchronizer_vcpe:
     image: xosproject/xos-synchronizer-openstack
@@ -42,7 +42,7 @@
     extra_hosts:
         - ctl:${MYIP}
     volumes:
-        - ../setup/id_rsa:/opt/xos/observers/vcpe/vcpe_private_key:ro  # private key
+        - ../setup/id_rsa:/opt/xos/synchronizers/vcpe/vcpe_private_key:ro  # private key
         - ../setup:/root/setup:ro
 
 xos_synchronizer_vbng:
@@ -67,7 +67,7 @@
     extra_hosts:
         - ctl:${MYIP}
     volumes:
-        - ../setup/id_rsa:/opt/xos/observers/monitoring_channel/monitoring_channel_private_key:ro  # private key
+        - ../setup/id_rsa:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key:ro  # private key
 
 
 # FUTURE
@@ -88,6 +88,6 @@
       - ../setup:/root/setup:ro
       - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
       - ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
-      - ../setup/id_rsa.pub:/opt/xos/observers/onos/onos_key.pub:ro
-      - ../setup/id_rsa.pub:/opt/xos/observers/vcpe/vcpe_public_key:ro
-      - ../setup/id_rsa.pub:/opt/xos/observers/monitoring_channel/monitoring_channel_public_key:ro
+      - ../setup/id_rsa.pub:/opt/xos/synchronizers/onos/onos_key.pub:ro
+      - ../setup/id_rsa.pub:/opt/xos/synchronizers/vcpe/vcpe_public_key:ro
+      - ../setup/id_rsa.pub:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key:ro
diff --git a/xos/core/xoslib/methods/loginview.py b/xos/core/xoslib/methods/loginview.py
new file mode 100644
index 0000000..f485aa0
--- /dev/null
+++ b/xos/core/xoslib/methods/loginview.py
@@ -0,0 +1,58 @@
+from rest_framework.decorators import api_view
+from rest_framework.response import Response
+from rest_framework.reverse import reverse
+from rest_framework import serializers
+from rest_framework import generics
+from rest_framework.views import APIView
+from core.models import *
+from services.hpc.models import *
+from services.requestrouter.models import *
+from django.forms import widgets
+from django.core.exceptions import PermissionDenied
+from django.contrib.contenttypes.models import ContentType
+import json
+import socket
+import time
+import django.middleware.csrf
+from xos.exceptions import *
+
+class LoginView(APIView):
+    method_kind = "list"
+    method_name = "login"
+
+    def do_login(self, request, username, password):
+        if not username:
+            raise XOSMissingField("No username specified")
+
+        if not password:
+            raise XOSMissingField("No password specified")
+
+        u = User.objects.filter(email=username)
+        if not u:
+            raise XOSNotFound("User %s does not exist" % username)
+
+        u=u[0]
+
+        if not u.check_password(password):
+            raise PermissionDenied("Incorrect password")
+
+        auth = {"username": username, "password": password}
+        request.session["auth"] = auth
+        request.session.save()
+
+        return Response({"xoscsrftoken": django.middleware.csrf.get_token(request),
+                         "xossessionid": request.session.session_key})
+
+    def get(self, request, format=None):
+        username = request.GET.get("username", None)
+        password = request.GET.get("password", None)
+
+        return self.do_login(request, username, password)
+
+    def post(self, request, format=None):
+        username = request.DATA.get("username", None)
+        password = request.DATA.get("password", None)
+
+        return self.do_login(request, username, password)
+
+
diff --git a/xos/synchronizers/base/ansible.py b/xos/synchronizers/base/ansible.py
index 7c30685..d2dca3b 100644
--- a/xos/synchronizers/base/ansible.py
+++ b/xos/synchronizers/base/ansible.py
@@ -195,7 +195,7 @@
     print "ANSIBLE_CONFIG=%s" % config_pathname
     print "ANSIBLE_HOSTS=%s" % hosts_pathname
 
-    return run_template(name, opts, path, ansible_config = config_pathname, ansible_hosts = hosts_pathname, run_ansible_script="/opt/xos/observer/run_ansible_verbose")
+    return run_template(name, opts, path, ansible_config = config_pathname, ansible_hosts = hosts_pathname, run_ansible_script="/opt/xos/synchronizers/base/run_ansible_verbose")
 
 
 
diff --git a/xos/synchronizers/helloworld/run.sh b/xos/synchronizers/helloworld/run.sh
index f56ffe3..1b9d834 100755
--- a/xos/synchronizers/helloworld/run.sh
+++ b/xos/synchronizers/helloworld/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python helloworld-observer.py  -C $XOS_DIR/observers/helloworld/helloworld_config
+python helloworld-synchronizer.py  -C $XOS_DIR/synchronizers/helloworld/helloworld_config
diff --git a/xos/synchronizers/helloworld/start.sh b/xos/synchronizers/helloworld/start.sh
index 89240cd..7945db3 100755
--- a/xos/synchronizers/helloworld/start.sh
+++ b/xos/synchronizers/helloworld/start.sh
@@ -1,4 +1,4 @@
 export XOS_DIR=/opt/xos
 
-echo $XOS_DIR/observers/helloworld/helloworld_config
-python helloworld-observer.py -C $XOS_DIR/observers/helloworld/helloworld_config
+echo $XOS_DIR/synchronizers/helloworld/helloworld_config
+python helloworld-synchronizer.py -C $XOS_DIR/synchronizers/helloworld/helloworld_config
diff --git a/xos/synchronizers/helloworldservice_complete/helloworldservice_config b/xos/synchronizers/helloworldservice_complete/helloworldservice_config
index b779d0e..69894fc 100644
--- a/xos/synchronizers/helloworldservice_complete/helloworldservice_config
+++ b/xos/synchronizers/helloworldservice_complete/helloworldservice_config
@@ -15,11 +15,11 @@
 # Optional name
 name=helloworldservice
 # This is the location to the dependency graph you generate
-dependency_graph=/opt/xos/observers/helloworldservice_complete/model-deps
+dependency_graph=/opt/xos/synchronizers/helloworldservice_complete/model-deps
 # The location of your SyncSteps
 steps_dir=/opt/xos/synchronizers/helloworldservice_complete/steps
 # A temporary directory that will be used by ansible
-sys_dir=/opt/xos/observers/helloworldservice_complete/sys
+sys_dir=/opt/xos/synchronizers/helloworldservice_complete/sys
 # Location of the file to save logging messages to the backend log is often used
 logfile=/var/log/xos_backend.log
 # If this option is true, then nothing will change, we simply pretend to run
diff --git a/xos/synchronizers/helloworldservice_complete/run.sh b/xos/synchronizers/helloworldservice_complete/run.sh
index 6bce079..331f8ae 100755
--- a/xos/synchronizers/helloworldservice_complete/run.sh
+++ b/xos/synchronizers/helloworldservice_complete/run.sh
@@ -1,3 +1,3 @@
 # Runs the XOS observer using helloworldservice_config
 export XOS_DIR=/opt/xos
-python helloworldservice-observer.py  -C $XOS_DIR/observers/helloworldservice_complete/helloworldservice_config
+python helloworldservice-synchronizer.py  -C $XOS_DIR/synchronizers/helloworldservice_complete/helloworldservice_config
diff --git a/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py b/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py
index b7ed2a8..69a08f5 100644
--- a/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py
+++ b/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py
@@ -23,7 +23,7 @@
     template_name = "sync_helloworldtenant.yaml"
     # The location of the SSH private key to use when ansible connects to
     # instances.
-    service_key_name = "/opt/xos/observers/helloworldservice_complete/helloworldservice_private_key"
+    service_key_name = "/opt/xos/synchronizers/helloworldservice_complete/helloworldservice_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncHelloWorldTenantComplete, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py
index 2e4eca8..db7d318 100644
--- a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py
+++ b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py
@@ -23,7 +23,7 @@
     observes=MonitoringChannel
     requested_interval=0
     template_name = "sync_monitoringchannel.yaml"
-    service_key_name = "/opt/xos/observers/monitoring_channel/monitoring_channel_private_key"
+    service_key_name = "/opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncMonitoringChannel, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml
index 6c5fc8c..cedf3a4 100644
--- a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml
+++ b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml
@@ -25,14 +25,14 @@
 {% if delete %}
   - name: Remove tenant
 # FIXME: Adding dummy template action to avoid "action attribute missing in task" error
-    template: src=/opt/xos/observers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
     notify:
      - stop monitoring-channel
      - remove container
 {% else %}
 {% if full_setup %}
   - name: Docker repository
-    copy: src=/opt/xos/observers/monitoring_channel/files/docker.list
+    copy: src=/opt/xos/synchronizers/monitoring_channel/files/docker.list
       dest=/etc/apt/sources.list.d/docker.list
 
   - name: Import the repository key
@@ -61,12 +61,12 @@
     shell: rm -f /etc/resolv.conf
 
   - name: Install resolv.conf
-    copy: src=/opt/xos/observers/monitoring_channel/files/vm-resolv.conf
+    copy: src=/opt/xos/synchronizers/monitoring_channel/files/vm-resolv.conf
       dest=/etc/resolv.conf
 {% endif %}
 
   - name: ceilometer proxy config
-    template: src=/opt/xos/observers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
     notify:
 #    - restart monitoring-channel
      - stop monitoring-channel
@@ -74,10 +74,10 @@
      - start monitoring-channel
 
   - name: Monitoring channel upstart
-    template: src=/opt/xos/observers/monitoring_channel/templates/monitoring-channel.conf.j2 dest=/etc/init/monitoring-channel-{{ unique_id }}.conf
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/monitoring-channel.conf.j2 dest=/etc/init/monitoring-channel-{{ unique_id }}.conf
 
   - name: Monitoring channel startup script
-    template: src=/opt/xos/observers/monitoring_channel/templates/start-monitoring-channel.sh.j2 dest=/usr/local/sbin/start-monitoring-channel-{{ unique_id }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/start-monitoring-channel.sh.j2 dest=/usr/local/sbin/start-monitoring-channel-{{ unique_id }}.sh mode=0755
     notify:
 #    - restart monitoring-channel
      - stop monitoring-channel
diff --git a/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf b/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf
index 1b78703..1c2dd42 100644
--- a/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf
+++ b/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf
@@ -1,2 +1,2 @@
 [program:monitoring_channel_observer]
-command=python /opt/xos/observers/monitoring_channel/monitoring_channel_observer.py -C /opt/xos/observers/monitoring_channel/monitoring_channel_observer_config
+command=python /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer.py -C /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer_config
diff --git a/xos/observers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar b/xos/synchronizers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar
similarity index 100%
rename from xos/observers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar
rename to xos/synchronizers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar
Binary files differ
diff --git a/xos/observers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar b/xos/synchronizers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
similarity index 100%
rename from xos/observers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
rename to xos/synchronizers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
Binary files differ
diff --git a/xos/synchronizers/onos/run.sh b/xos/synchronizers/onos/run.sh
index ea4c511..b108d5b 100755
--- a/xos/synchronizers/onos/run.sh
+++ b/xos/synchronizers/onos/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python onos-observer.py  -C $XOS_DIR/observers/onos/onos_observer_config
+python onos-synchronizer.py  -C $XOS_DIR/synchronizers/onos/onos_synchronizer_config
diff --git a/xos/synchronizers/onos/start.sh b/xos/synchronizers/onos/start.sh
index c13ffbe..f0a1535 100755
--- a/xos/synchronizers/onos/start.sh
+++ b/xos/synchronizers/onos/start.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-nohup python onos-observer.py  -C $XOS_DIR/observers/onos/onos_observer_config > /dev/null 2>&1 &
+nohup python onos-synchronizer.py  -C $XOS_DIR/synchronizers/onos/onos_synchronizer_config > /dev/null 2>&1 &
diff --git a/xos/synchronizers/onos/steps/sync_onosapp.py b/xos/synchronizers/onos/steps/sync_onosapp.py
index c7b429b..8942e59 100644
--- a/xos/synchronizers/onos/steps/sync_onosapp.py
+++ b/xos/synchronizers/onos/steps/sync_onosapp.py
@@ -27,7 +27,7 @@
     observes=ONOSApp
     requested_interval=0
     template_name = "sync_onosapp.yaml"
-    service_key_name = "/opt/xos/observers/onos/onos_key"
+    service_key_name = "/opt/xos/synchronizers/onos/onos_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncONOSApp, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/onos/steps/sync_onosapp.yaml b/xos/synchronizers/onos/steps/sync_onosapp.yaml
index 5373f9d..f0af0d6 100644
--- a/xos/synchronizers/onos/steps/sync_onosapp.yaml
+++ b/xos/synchronizers/onos/steps/sync_onosapp.yaml
@@ -32,7 +32,7 @@
   tasks:
 
   - name: Get Docker IP
-    script: /opt/xos/observers/onos/scripts/dockerip.sh {{ ONOS_container }}
+    script: /opt/xos/synchronizers/onos/scripts/dockerip.sh {{ ONOS_container }}
     register: onosaddr
 
   - name: Wait for ONOS to come up
@@ -101,7 +101,7 @@
 
   - name: Copy over app install files to ONOS host
     copy:
-      src=/opt/xos/observers/onos/{{ '{{' }} item {{ '}}' }}
+      src=/opt/xos/synchronizers/onos/{{ '{{' }} item {{ '}}' }}
       dest=/home/ubuntu/{{ appname }}/apps/{{ '{{' }} item {{ '}}' }}
     with_items:
         {% for install_app in install_dependencies %}
diff --git a/xos/synchronizers/onos/steps/sync_onosservice.py b/xos/synchronizers/onos/steps/sync_onosservice.py
index 0474dc6..e70be0c 100644
--- a/xos/synchronizers/onos/steps/sync_onosservice.py
+++ b/xos/synchronizers/onos/steps/sync_onosservice.py
@@ -24,7 +24,7 @@
     observes=ONOSService
     requested_interval=0
     template_name = "sync_onosservice.yaml"
-    service_key_name = "/opt/xos/observers/onos/onos_key"
+    service_key_name = "/opt/xos/synchronizers/onos/onos_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncONOSService, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/onos/steps/sync_onosservice.yaml b/xos/synchronizers/onos/steps/sync_onosservice.yaml
index fd9c3db..a51fde5 100644
--- a/xos/synchronizers/onos/steps/sync_onosservice.yaml
+++ b/xos/synchronizers/onos/steps/sync_onosservice.yaml
@@ -52,7 +52,7 @@
       - "9876:9876"
 
   - name: Get Docker IP
-    script: /opt/xos/observers/onos/scripts/dockerip.sh {{ ONOS_container }}
+    script: /opt/xos/synchronizers/onos/scripts/dockerip.sh {{ ONOS_container }}
     register: dockerip
 
   - name: Wait for ONOS to come up
diff --git a/xos/synchronizers/onos/supervisor/onos-observer.conf b/xos/synchronizers/onos/supervisor/onos-observer.conf
index 36e00d9..995644e 100644
--- a/xos/synchronizers/onos/supervisor/onos-observer.conf
+++ b/xos/synchronizers/onos/supervisor/onos-observer.conf
@@ -4,6 +4,6 @@
 nodaemon=true
 
 [program:synchronizer]
-command=python /opt/xos/observers/onos/onos-observer.py -C /opt/xos/observers/onos/onos_observer_config
+command=python /opt/xos/synchronizers/onos/onos-synchronizer.py -C /opt/xos/synchronizers/onos/onos_synchronizer_config
 stderr_logfile=/var/log/supervisor/synchronizer.err.log
 stdout_logfile=/var/log/supervisor/synchronizer.out.log
diff --git a/xos/synchronizers/openstack/steps/sync_container.yaml b/xos/synchronizers/openstack/steps/sync_container.yaml
index 77e57cd..82588dc 100644
--- a/xos/synchronizers/openstack/steps/sync_container.yaml
+++ b/xos/synchronizers/openstack/steps/sync_container.yaml
@@ -90,16 +90,16 @@
     register: systemctl
 
   - name: container upstart
-    template: src=/opt/xos/openstack_observer/templates/container.conf.j2 dest=/etc/init/container-{{ container_name }}.conf
+    template: src=/opt/xos/synchronizers/openstack/templates/container.conf.j2 dest=/etc/init/container-{{ container_name }}.conf
 
   - name: container systemd
-    template: src=/opt/xos/openstack_observer/templates/container.service.j2 dest=/lib/systemd/system/container-{{ container_name }}.service
+    template: src=/opt/xos/synchronizers/openstack/templates/container.service.j2 dest=/lib/systemd/system/container-{{ container_name }}.service
 
   - name: container startup script
-    template: src=/opt/xos/openstack_observer/templates/start-container.sh.j2 dest=/usr/local/sbin/start-container-{{ container_name }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/openstack/templates/start-container.sh.j2 dest=/usr/local/sbin/start-container-{{ container_name }}.sh mode=0755
 
   - name: container teardown script
-    template: src=/opt/xos/openstack_observer/templates/stop-container.sh.j2 dest=/usr/local/sbin/stop-container-{{ container_name }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/openstack/templates/stop-container.sh.j2 dest=/usr/local/sbin/stop-container-{{ container_name }}.sh mode=0755
 
   - name: restart systemd
     shell: systemctl daemon-reload
diff --git a/xos/synchronizers/vbng/run.sh b/xos/synchronizers/vbng/run.sh
index efb586f..de3ed7c 100755
--- a/xos/synchronizers/vbng/run.sh
+++ b/xos/synchronizers/vbng/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python vbng-observer.py  -C $XOS_DIR/observers/vbng/vbng_observer_config
+python vbng-synchronizer.py  -C $XOS_DIR/synchronizers/vbng/vbng_synchronizer_config
diff --git a/xos/synchronizers/vbng/start.sh b/xos/synchronizers/vbng/start.sh
index 98008f4..9553610 100755
--- a/xos/synchronizers/vbng/start.sh
+++ b/xos/synchronizers/vbng/start.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-nohup python vbng-observer.py  -C $XOS_DIR/observers/vbng/vbng_observer_config > /dev/null 2>&1 &
+nohup python vbng-synchronizer.py  -C $XOS_DIR/synchronizers/vbng/vbng_synchronizer_config > /dev/null 2>&1 &
diff --git a/xos/synchronizers/vbng/supervisor/vbng-observer.conf b/xos/synchronizers/vbng/supervisor/vbng-observer.conf
index cff77b8..a999318 100644
--- a/xos/synchronizers/vbng/supervisor/vbng-observer.conf
+++ b/xos/synchronizers/vbng/supervisor/vbng-observer.conf
@@ -1,2 +1,2 @@
 [program:vbng-observer]
-command=python /opt/xos/observers/vbng/vbng-observer.py -C /opt/xos/observers/vbng/vbng_observer_config
+command=python /opt/xos/synchronizers/vbng/vbng-synchronizer.py -C /opt/xos/synchronizers/vbng/vbng_synchronizer_config
diff --git a/xos/synchronizers/vcpe/run.sh b/xos/synchronizers/vcpe/run.sh
index f180e66..f7c670d 100755
--- a/xos/synchronizers/vcpe/run.sh
+++ b/xos/synchronizers/vcpe/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python vcpe-observer.py  -C $XOS_DIR/observers/vcpe/vcpe_observer_config
+python vcpe-synchronizer.py  -C $XOS_DIR/synchronizers/vcpe/vcpe_synchronizer_config
diff --git a/xos/synchronizers/vcpe/start.sh b/xos/synchronizers/vcpe/start.sh
index b402e5d..dc5619b 100755
--- a/xos/synchronizers/vcpe/start.sh
+++ b/xos/synchronizers/vcpe/start.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-nohup python vcpe-observer.py  -C $XOS_DIR/observers/vcpe/vcpe_observer_config > /dev/null 2>&1 &
+nohup python vcpe-synchronizer.py  -C $XOS_DIR/synchronizers/vcpe/vcpe_synchronizer_config > /dev/null 2>&1 &
diff --git a/xos/synchronizers/vcpe/steps/sync_vcpetenant.py b/xos/synchronizers/vcpe/steps/sync_vcpetenant.py
index 691671a..f0e9301 100644
--- a/xos/synchronizers/vcpe/steps/sync_vcpetenant.py
+++ b/xos/synchronizers/vcpe/steps/sync_vcpetenant.py
@@ -30,7 +30,7 @@
     observes=VCPETenant
     requested_interval=0
     template_name = "sync_vcpetenant.yaml"
-    service_key_name = "/opt/xos/observers/vcpe/vcpe_private_key"
+    service_key_name = "/opt/xos/synchronizers/vcpe/vcpe_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncVCPETenant, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml b/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml
index fdc21da..b9b4b9e 100644
--- a/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml
+++ b/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml
@@ -58,7 +58,7 @@
   tasks:
 {% if full_setup %}
   - name: Docker repository
-    copy: src=/opt/xos/observers/vcpe/files/docker.list
+    copy: src=/opt/xos/synchronizers/vcpe/files/docker.list
       dest=/etc/apt/sources.list.d/docker.list
 
   - name: Import the repository key
@@ -90,7 +90,7 @@
     shell: rm -f /etc/resolv.conf
 
   - name: Install resolv.conf
-    copy: src=/opt/xos/observers/vcpe/files/vm-resolv.conf
+    copy: src=/opt/xos/synchronizers/vcpe/files/vm-resolv.conf
       dest=/etc/resolv.conf
 
   - name: Verify if vcpe_stats_notifier ([] is to avoid capturing the shell process) cron job is already running
@@ -105,7 +105,7 @@
     when: cron_job_pids_count.stdout == "0"
 
   - name: Copy cron job to destination
-    copy: src=/opt/xos/observers/vcpe/vcpe_stats_notifier.py
+    copy: src=/opt/xos/synchronizers/vcpe/vcpe_stats_notifier.py
       dest=~/bin/vcpe_stats_notifier.py
     when: cron_job_pids_count.stdout == "0"
 
@@ -121,10 +121,10 @@
 {% endif %}
 
   - name: vCPE upstart
-    template: src=/opt/xos/observers/vcpe/templates/vcpe.conf.j2 dest=/etc/init/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.conf
+    template: src=/opt/xos/synchronizers/vcpe/templates/vcpe.conf.j2 dest=/etc/init/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.conf
 
   - name: vCPE startup script
-    template: src=/opt/xos/observers/vcpe/templates/start-vcpe.sh.j2 dest=/usr/local/sbin/start-vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/vcpe/templates/start-vcpe.sh.j2 dest=/usr/local/sbin/start-vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.sh mode=0755
     notify:
 #    - restart vcpe
      - stop vcpe
@@ -135,22 +135,22 @@
     file: path=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d state=directory owner=root group=root
 
   - name: vCPE basic dnsmasq config
-    copy: src=/opt/xos/observers/vcpe/files/vcpe.dnsmasq dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/vcpe.conf owner=root group=root
+    copy: src=/opt/xos/synchronizers/vcpe/files/vcpe.dnsmasq dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/vcpe.conf owner=root group=root
     notify:
     - restart dnsmasq
 
   - name: dnsmasq config
-    template: src=/opt/xos/observers/vcpe/templates/dnsmasq_servers.j2 dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/servers.conf owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/dnsmasq_servers.j2 dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/servers.conf owner=root group=root
     notify:
     - restart dnsmasq
 
 # These are samples, not necessary for correct function of demo
 
 #  - name: networking info
-#    template: src=/opt/xos/observers/vcpe/templates/vlan_sample.j2 dest=/etc/vlan_sample owner=root group=root
+#    template: src=/opt/xos/synchronizers/vcpe/templates/vlan_sample.j2 dest=/etc/vlan_sample owner=root group=root
 
 #  - name: firewall info
-#    template: src=/opt/xos/observers/vcpe/templates/firewall_sample.j2 dest=/etc/firewall_sample owner=root group=root
+#    template: src=/opt/xos/synchronizers/vcpe/templates/firewall_sample.j2 dest=/etc/firewall_sample owner=root group=root
 
   - name: Make sure vCPE service is running
     service: name=vcpe-{{ s_tags[0] }}-{{ c_tags[0] }} state=started
diff --git a/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml b/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml
index 6c7166f..59047c1 100644
--- a/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml
+++ b/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml
@@ -69,7 +69,7 @@
     when: cron_job_pids_count.stdout == "0"
 
   - name: Copy cron job to destination
-    copy: src=/opt/xos/observers/vcpe/vcpe_stats_notifier.py
+    copy: src=/opt/xos/synchronizers/vcpe/vcpe_stats_notifier.py
       dest=~/bin/vcpe_stats_notifier.py
     when: cron_job_pids_count.stdout == "0"
 
@@ -84,12 +84,12 @@
     when: cron_job_pids_count.stdout == "0"
 
   - name: vCPE basic dnsmasq config
-    copy: src=/opt/xos/observers/vcpe/files/vcpe.dnsmasq dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/vcpe.conf owner=root group=root
+    copy: src=/opt/xos/synchronizers/vcpe/files/vcpe.dnsmasq dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/vcpe.conf owner=root group=root
     notify:
     - restart dnsmasq
 
   - name: dnsmasq config
-    template: src=/opt/xos/observers/vcpe/templates/dnsmasq_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/servers.conf owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/dnsmasq_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/servers.conf owner=root group=root
     notify:
     - restart dnsmasq
 
@@ -97,22 +97,22 @@
     file: path=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/safe state=directory
 
   - name: dnsmasq "safe" config
-    template: src=/opt/xos/observers/vcpe/templates/dnsmasq_safe_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/safe/servers.conf owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/dnsmasq_safe_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/safe/servers.conf owner=root group=root
     notify:
     - restart dnsmasq
 
   - name: copy base ufw files
-    synchronize: src=/opt/xos/observers/vcpe/files/etc/ufw/ dest=/var/container_volumes/{{ container_name }}/etc/ufw/
+    synchronize: src=/opt/xos/synchronizers/vcpe/files/etc/ufw/ dest=/var/container_volumes/{{ container_name }}/etc/ufw/
     notify:
     - reload ufw
 
   - name: redirection rules for safe DNS
-    template: src=/opt/xos/observers/vcpe/templates/before.rules.j2 dest=/var/container_volumes/{{ container_name }}/etc/ufw/before.rules owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/before.rules.j2 dest=/var/container_volumes/{{ container_name }}/etc/ufw/before.rules owner=root group=root
     notify:
     - reload ufw
 
   - name: base ufw setup uses /etc/rc.local
-    copy: src=/opt/xos/observers/vcpe/files/etc/rc.local dest=/var/container_volumes/{{ container_name }}/etc/ owner=root group=root
+    copy: src=/opt/xos/synchronizers/vcpe/files/etc/rc.local dest=/var/container_volumes/{{ container_name }}/etc/ owner=root group=root
     notify:
     - copy in /etc/rc.local
 
diff --git a/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf b/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf
index 27d2796..13d797a 100644
--- a/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf
+++ b/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf
@@ -1,2 +1,2 @@
 [program:vcpe-observer]
-command=python /opt/xos/observers/vcpe/vcpe-observer.py -C /opt/xos/observers/vcpe/vcpe_observer_config
+command=python /opt/xos/synchronizers/vcpe/vcpe-synchronizer.py -C /opt/xos/synchronizers/vcpe/vcpe_synchronizer_config