Move node TOSCA to a template

Change-Id: If4e83aae97e45922b239d2f7d901a140d1d63d02
diff --git a/xos-profiles/base-openstack/templates/_tosca.tpl b/xos-profiles/base-openstack/templates/_tosca.tpl
index 962047c..ac429ff 100644
--- a/xos-profiles/base-openstack/templates/_tosca.tpl
+++ b/xos-profiles/base-openstack/templates/_tosca.tpl
@@ -147,4 +147,58 @@
           - slice:
               node: {{ .Values.cordSiteName }}_test
               relationship: tosca.relationships.BelongsToOne
-{{- end -}}
\ No newline at end of file
+{{- end -}}
+
+{{- define "base-openstack.computeNodeTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+  - custom_types/deployment.yaml
+  - custom_types/node.yaml
+  - custom_types/site.yaml
+  - custom_types/sitedeployment.yaml
+
+description: Adds OpenStack compute nodes
+
+topology_template:
+  node_templates:
+
+# Site/Deployment, fully defined in deployment.yaml
+    site:
+      type: tosca.nodes.Site
+      properties:
+        name: {{ .Values.cordSiteName }}
+        must-exist: true
+
+    deployment:
+      type: tosca.nodes.Deployment
+      properties:
+        name: {{ .Values.cordDeploymentName }}
+        must-exist: true
+
+    site_deployment:
+      type: tosca.nodes.SiteDeployment
+      requirements:
+        - site:
+            node: site
+            relationship: tosca.relationships.BelongsToOne
+        - deployment:
+            node: deployment
+            relationship: tosca.relationships.BelongsToOne
+
+# OpenStack compute nodes
+
+    {{- range .Values.computeNodes }}
+    {{ .name }}:
+      type: tosca.nodes.Node
+      properties:
+        name: {{ .name }}
+        bridgeId: {{ .bridgeId }}
+        dataPlaneIntf: {{ .dataPlaneIntf }}
+        dataPlaneIp: {{ .dataPlaneIp }}
+      requirements:
+        - site_deployment:
+            node:  site_deployment
+            relationship: tosca.relationships.BelongsToOne
+    {{- end }}
+{{- end -}}