Merge "Updating xossh-candidate file"
diff --git a/examples/filter-images.yaml b/examples/filter-images.yaml
index 9c9adbe..43bd5e4 100644
--- a/examples/filter-images.yaml
+++ b/examples/filter-images.yaml
@@ -26,6 +26,7 @@
 - xosproject/xos-tosca
 - xosproject/xos-ws
 - xosproject/xos-synchronizer-base
+- xosproject/openstack-synchronizer
 - xosproject/rcord-synchronizer
 - xosproject/volt-synchronizer
 - xosproject/vrouter-synchronizer
diff --git a/examples/image-tag-candidate.yaml b/examples/image-tag-candidate.yaml
index 6c6480e..321359e 100644
--- a/examples/image-tag-candidate.yaml
+++ b/examples/image-tag-candidate.yaml
@@ -45,5 +45,8 @@
   rcord_synchronizerImage: 'xosproject/rcord-synchronizer:candidate'
 simpleexampleservice:
   simpleexampleservice_synchronizerImage: 'xosproject/simpleexampleservice-synchronizer:candidate'
+hippieOSS:
+  hippieOSS_synchronizerImage: 'xosproject/hippie-oss-synchronizer:candidate'
+openstack:
+  openstack_synchronizerImage: 'xosproject/openstack-synchronizer:candidate'
 
-hippieOSS_synchronizerImage: 'xosproject/hippie-oss-synchronizer:candidate'
diff --git a/examples/imagePullPolicy-IfNotPresent.yaml b/examples/imagePullPolicy-IfNotPresent.yaml
index b0dee7f..62a3c41 100644
--- a/examples/imagePullPolicy-IfNotPresent.yaml
+++ b/examples/imagePullPolicy-IfNotPresent.yaml
@@ -39,3 +39,5 @@
   imagePullPolicy: 'IfNotPresent'
 simpleexampleservice:
   imagePullPolicy: 'IfNotPresent'
+openstack:
+  imagePullPolicy: 'IfNotPresent'
\ No newline at end of file
diff --git a/xos-services/openstack/templates/_helpers.tpl b/xos-services/openstack/templates/_helpers.tpl
index 181703e..977d1b2 100644
--- a/xos-services/openstack/templates/_helpers.tpl
+++ b/xos-services/openstack/templates/_helpers.tpl
@@ -42,15 +42,17 @@
 {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 {{- define "openstack.serviceConfig" -}}
-name: openstack-synchronizer
+name: openstack
 accessor:
   username: {{ .Values.xosAdminUser | quote }}
   password: {{ .Values.xosAdminPassword | quote }}
   endpoint: xos-core:50051
 dependency_graph: "/opt/xos/synchronizers/openstack/model-deps"
 steps_dir: "/opt/xos/synchronizers/openstack/steps"
+pull_steps_dir: "/opt/xos/synchronizers/openstack/pull_steps"
 sys_dir: "/opt/xos/synchronizers/openstack/sys"
 model_policies_dir: "/opt/xos/synchronizers/openstack/model_policies"
+models_dir: "/opt/xos/synchronizers/openstack/models"
 logging:
   version: 1
   handlers:
@@ -80,6 +82,7 @@
   - Instance
   - Port
   - Role
+  - OpenStackService
 nova:
   ca_ssl_cert: "/etc/ssl/certs/ca-certificates.crt"
   enabled: True
diff --git a/xos-services/openstack/templates/_tosca.tpl b/xos-services/openstack/templates/_tosca.tpl
index a2fdd94..8f00dad 100644
--- a/xos-services/openstack/templates/_tosca.tpl
+++ b/xos-services/openstack/templates/_tosca.tpl
@@ -126,6 +126,7 @@
   - custom_types/deployment.yaml
   - custom_types/site.yaml
   - custom_types/sitedeployment.yaml
+  - custom_types/openstackservice.yaml
 
 description: openstack controller models
 
@@ -144,6 +145,15 @@
         name: {{ .cordDeploymentName }}
         must-exist: true
 
+    service#openstack:
+      type: tosca.nodes.OpenStackService
+      properties:
+          name: "OpenStack"
+          auth_url: http://keystone.openstack.svc.cluster.local/v3
+          admin_user: {{ .keystoneAdminUser }}
+          admin_password: {{ .keystoneAdminPassword }}
+          admin_tenant: {{ .keystoneAdminTenant }}
+
     {{ .cordSiteName }}_{{ .cordDeploymentName }}_openstack:
       type: tosca.nodes.Controller
       requirements: