Add template with contrail support
PRODX-2628

Change-Id: I9a9e5171b9f44d8e82f51f4ce07146bf0b03a0cb
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index 0001cc2..53fe0ba 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -37,6 +37,10 @@
     type: number
     description: Number of gtw workers to deploy
     default: 0
+  ntw_size:
+    type: number
+    description: Number of contrail nodes to deploy
+    default: 0
   ucp_boot_timeout:
     type: number
     description: Boot timeout for UCP instance
@@ -73,6 +77,9 @@
   osd_metadata:
     type: json
     default: {}
+  ntw_metadata:
+    type: json
+    default: {}
   ucp_flavor:
     type: string
     default: 'system.compact.openstack.control'
@@ -94,6 +101,9 @@
   osds_flavor:
     type: string
     default: 'system.compact.openstack.control'
+  ntws_flavor:
+    type: string
+    default: 'system.compact.openstack.control'
   functions_override:
     type: string
   docker_ee_url:
@@ -307,6 +317,33 @@
           ucp_master_host: { get_attr: [ucp, server_private_ip] }
           functions_override: { get_param: functions_override }
 
+  ntws:
+    type: OS::Heat::ResourceGroup
+    depends_on:
+     - ucp
+    properties:
+      count: { get_param: ntw_size }
+      resource_def:
+        type: MCP2::SrvInstances
+        properties:
+          metadata: { get_param: ntw_metadata }
+          node_type: "worker"
+          key_name: { get_param: "OS::stack_name" }
+          image: { get_param: image }
+          flavor: { get_param: ntws_flavor }
+          docker_ee_url: { get_param: docker_ee_url }
+          docker_ee_release: { get_param: docker_ee_release }
+          accessible_network: { get_attr: [accessible_network, public_network] }
+          private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
+          private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
+          private_floating_interface: { get_param: private_floating_interface }
+          private_floating_network_cidr: { get_param: private_floating_network_cidr }
+          accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
+          public_net_id: { get_param: public_net_id }
+          host_interface: { get_param: host_interface }
+          ucp_master_host: { get_attr: [ucp, server_private_ip] }
+          functions_override: { get_param: functions_override }
+
 outputs:
   ucp_ips:
     description: Private IP addresses of the deployed ucp instances
@@ -329,6 +366,9 @@
   osds_ips:
     description: Private IP addresses of the deployed osd instances
     value: { get_attr: [osds, server_public_ip] }
+  ntws_ips:
+    description: Private IP addresses of the deployed contrail instances
+    value: { get_attr: [ntws, server_public_ip] }
   worker_private_floating_ips:
     description: IPs might be used as gateway
     value: { get_attr: [workers, server_private_floating_ip] }