Add templates for create lmas and osds VM
Add default values for metadata in top.yaml
PRODX-2545

Change-Id: Ibe6ce4ce32e740c150725c31e3a5f313893b7927
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index 8a2ba4d..dca7823 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -30,6 +30,14 @@
     type: number
     description: Number of gtw workers to deploy
     default: 0
+  lma_size:
+    type: number
+    description: Number of gtw workers to deploy
+    default: 0
+  osd_size:
+    type: number
+    description: Number of gtw workers to deploy
+    default: 0
   ucp_boot_timeout:
     type: number
     description: Boot timeout for UCP instance
@@ -41,10 +49,19 @@
     default: '10.11.12.0/24'
   worker_metadata:
     type: json
+    default: {}
   cmp_metadata:
     type: json
+    default: {}
   gtw_metadata:
     type: json
+    default: {}
+  lma_metadata:
+    type: json
+    default: {}
+  osd_metadata:
+    type: json
+    default: {}
 
 resources:
   key_pair:
@@ -181,6 +198,45 @@
           node_type: "worker"
           ucp_master_host: { get_attr: [ucp, server_private_ip] }
 
+  lmas:
+    type: OS::Heat::ResourceGroup
+    depends_on:
+     - ucp
+    properties:
+      count: { get_param: lma_size }
+      resource_def:
+        type: ./srv-group.yaml
+        properties:
+          image: { get_param: image }
+          flavor: { get_param: flavor }
+          key_name: { get_param: "OS::stack_name" }
+          public_net_id: { get_param: public_net_id }
+          private_net_id: { get_resource: network }
+          private_subnet_id: { get_resource: subnet }
+          private_floating_network: { get_resource: private_floating_network }
+          metadata: { get_param: lma_metadata}
+          node_type: "worker"
+          ucp_master_host: { get_attr: [ucp, server_private_ip] }
+
+  osds:
+    type: OS::Heat::ResourceGroup
+    depends_on:
+     - ucp
+    properties:
+      count: { get_param: osd_size }
+      resource_def:
+        type: ./srv-group.yaml
+        properties:
+          image: { get_param: image }
+          flavor: { get_param: flavor }
+          key_name: { get_param: "OS::stack_name" }
+          public_net_id: { get_param: public_net_id }
+          private_net_id: { get_resource: network }
+          private_subnet_id: { get_resource: subnet }
+          private_floating_network: { get_resource: private_floating_network }
+          metadata: { get_param: osd_metadata}
+          node_type: "worker"
+          ucp_master_host: { get_attr: [ucp, server_private_ip] }
 
 outputs:
   ucp_ips:
@@ -198,6 +254,12 @@
   gtws_ips:
     description: Private IP addresses of the deployed gtw instances
     value: { get_attr: [gtws, server_public_ip] }
+  lmas_ips:
+    description: Private IP addresses of the deployed lma instances
+    value: { get_attr: [lmas, server_public_ip] }
+  osds_ips:
+    description: Private IP addresses of the deployed osd instances
+    value: { get_attr: [osds, server_public_ip] }
   worker_private_floating_ips:
     description: IPs might be used as gateway
     value: { get_attr: [workers, server_private_floating_ip] }