onboarding recipe and manifest

Change-Id: I57ccbdccf9a076406e74ed82bf868a597fd80d4f
diff --git a/xos/openstack-onboard.yaml b/xos/openstack-onboard.yaml
new file mode 100644
index 0000000..d92a6c6
--- /dev/null
+++ b/xos/openstack-onboard.yaml
@@ -0,0 +1,16 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the OpenStack service
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+    servicecontroller#openstack:
+      type: tosca.nodes.ServiceController
+      properties:
+          base_url: file:///opt/xos_services/openstack/xos/
+          synchronizer: synchronizer/manifest
+          synchronizer_run: xos-synchronizer.py
+
diff --git a/xos/synchronizer/manifest b/xos/synchronizer/manifest
new file mode 100644
index 0000000..4b29ef0
--- /dev/null
+++ b/xos/synchronizer/manifest
@@ -0,0 +1,52 @@
+run.sh
+templates/stop-container.sh.j2
+templates/container.service.j2
+templates/container.conf.j2
+templates/start-container.sh.j2
+manifest
+openstacksyncstep.py
+__init__.py
+steps/sync_controller_images.yaml
+steps/sync_controller_networks.yaml
+steps/sync_instances.py
+steps/sync_instances.yaml
+steps/sync_controller_users.py
+steps/purge_disabled_users.py
+steps/__init__.py
+steps/sync_images.py
+steps/sync_controller_sites.py
+steps/sync_object.py
+steps/sync_controller_sites.yaml
+steps/sync_controller_users.yaml
+steps/sync_controller_images.py
+steps/sync_controller_slices.py
+steps/sync_container.yaml
+steps/sync_controller_slice_privileges.py
+steps/sliver.yaml
+steps/sync_ports.py
+steps/sync_controller_networks.py
+steps/sync_controller_site_privileges.py
+steps/delete_slivers.yaml
+steps/sync_container.py
+steps/sync_roles.py
+steps/sync_controller_slices.yaml
+steps/teardown_container.yaml
+manager.py
+driver.py
+error_mapper.py
+xos-synchronizer.py
+client.py
+model_policies/model_policy_Image.py
+model_policies/model_policy_ControllerUser.py
+model_policies/model_policy_ControllerSlice.py
+model_policies/model_policy_Sliver.py
+model_policies/model_policy_Slice.py
+model_policies/__init__.py
+model_policies/model_policy_Site.py
+model_policies/model_policy_Controller.py
+model_policies/model_policy_SlicePrivilege.py
+model_policies/model_policy_SitePrivilege.py
+model_policies/model_policy_Instance.py
+model_policies/model_policy_User.py
+model_policies/model_policy_ControllerSite.py
+model_policies/model_policy_Network.py
diff --git a/xos/synchronizer/run.sh b/xos/synchronizer/run.sh
new file mode 100644
index 0000000..9e4747e
--- /dev/null
+++ b/xos/synchronizer/run.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+python /opt/xos/synchronizers/openstack/xos-synchronizer.py
diff --git a/xos/synchronizer/xos-synchronizer.py b/xos/synchronizer/xos-synchronizer.py
index e4ac046..c2d9e43 100644
--- a/xos/synchronizer/xos-synchronizer.py
+++ b/xos/synchronizer/xos-synchronizer.py
@@ -7,6 +7,7 @@
 
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
 from synchronizers.base.backend import Backend
+from synchronizers.base.event_loop import set_driver
 from xos.config import Config, DEFAULT_CONFIG_FN
 from core.models import Instance,NetworkTemplate
 from xos.logger import Logger, logging, logger