Fix heat template for E/// lab

 - ipmitool has been switched to lanplus interface

MOSSUST-111

Change-Id: If722972f495728ec6cf5111a0496e57fd9f8e996
diff --git a/tcp_tests/templates/_heat_environments/eu-cloud.env b/tcp_tests/templates/_heat_environments/eu-cloud.env
index bdcbc3a..7b77db1 100644
--- a/tcp_tests/templates/_heat_environments/eu-cloud.env
+++ b/tcp_tests/templates/_heat_environments/eu-cloud.env
@@ -13,6 +13,10 @@
   "MCP::VsrxNode": fragments/VsrxNode.yaml
   "MCP::Subnets": fragments/Subnets.yaml
   "MCP::SubnetsWithFloating": fragments/SubnetsWithFloating.yaml
+# E/// Heat config
+  "MCP::SubnetsE7": fragments/E7/Subnets.yaml
+  "MCP::FoundationNodeE7": fragments/E7/FoundationNode.yaml
+  "MCP::MasterNodeE7": fragments/E7/MasterNode.yaml
 
 parameter_defaults:
 
diff --git a/tcp_tests/templates/_heat_environments/fragments/E7/FoundationNode.yaml b/tcp_tests/templates/_heat_environments/fragments/E7/FoundationNode.yaml
new file mode 100644
index 0000000..cb8cbcc
--- /dev/null
+++ b/tcp_tests/templates/_heat_environments/fragments/E7/FoundationNode.yaml
@@ -0,0 +1,93 @@
+heat_template_version: queens
+
+description: Single server instance fragment
+
+parameters:
+  instance_flavor:
+    type: string
+  instance_image:
+    type: string
+  instance_name:
+    type: string
+  instance_config_host:
+    type: string
+  management_net:
+    type: string
+  key_pair:
+    type: string
+  instance_domain:
+    type: string
+  net_public:
+    type: string
+  management_net_static_ip:
+    type: string
+  management_subnet_gateway_ip:
+    type: string
+  nameservers:
+    type: string
+  underlay_userdata:
+    type: string
+  env_name:
+    type: string
+  mcp_version:
+    type: string
+  role:
+    type: comma_delimited_list
+    default: [foundation_jenkins_slave]
+  availability_zone:
+    type: string
+
+resources:
+  instance_port01:
+    type: OS::Neutron::Port
+    properties:
+      port_security_enabled: false
+      network_id: { get_param: management_net }
+      fixed_ips:
+        - ip_address: { get_param: management_net_static_ip }
+
+  instance_instance:
+    type: OS::Nova::Server
+    properties:
+      image_update_policy: REBUILD
+      flavor: { get_param: instance_flavor }
+      image: { get_param: instance_image }
+      key_name: { get_param: key_pair }
+      availability_zone: { get_param: availability_zone }
+      name:
+        list_join:
+        - '.'
+        - [ { get_param: instance_name }, { get_param: env_name } ]
+      networks:
+      - port: { get_resource: instance_port01 }
+      user_data_format: RAW
+      user_data:
+        str_replace:
+          #template: { get_file: underlay--user-data-cfg01--heat.yaml }
+          #template: { get_file: ../underlay-userdata.yaml }
+          template: { get_param: underlay_userdata }
+          params:
+            hostname: { list_join: ['.', [ { get_param: instance_name }, { get_param: instance_domain } ]] }
+            $node_hostname: { get_param: instance_name }
+            $node_domain: { get_param: instance_domain }
+            $config_host: { get_param: instance_config_host }
+            $management_static_ip: { get_param: management_net_static_ip }
+            $management_gw: { get_param: management_subnet_gateway_ip }
+            $dnsaddress: { get_param: nameservers }
+      metadata:
+        roles: { get_param: role }
+
+outputs:
+
+  instance_address:
+    value:
+      get_attr:
+      - instance_instance
+      - addresses
+      - { get_param: management_net }
+      - 0
+      - addr
+    description: "Instance's management IP address"
+  instance:
+    value: { get_resource: instance_instance }
+    description: "Instance"
diff --git a/tcp_tests/templates/_heat_environments/fragments/E7/MasterNode.yaml b/tcp_tests/templates/_heat_environments/fragments/E7/MasterNode.yaml
new file mode 100644
index 0000000..e736f5e
--- /dev/null
+++ b/tcp_tests/templates/_heat_environments/fragments/E7/MasterNode.yaml
@@ -0,0 +1,75 @@
+heat_template_version: queens
+
+description: Single server instance fragment
+
+parameters:
+  management_subnet_cfg01_ip:
+    type: string
+  management_net:
+    type: string
+  cfg01_flavor:
+    type: string
+  instance_name:
+    type: string
+  key_pair:
+    type: string
+  instance_domain:
+    type: string
+  net_public:
+    type: string
+  mcp_version:
+    type: string
+  env_name:
+    type: string
+  role:
+    type: comma_delimited_list
+    default: [salt_master]
+  availability_zone:
+    type: string
+
+resources:
+  instance_port01:
+    type: OS::Neutron::Port
+    properties:
+      port_security_enabled: false
+      network_id: { get_param: management_net }
+      fixed_ips:
+        - ip_address: { get_param: management_subnet_cfg01_ip }
+
+  instance_instance:
+    type: OS::Nova::Server
+    properties:
+      image_update_policy: REBUILD
+      flavor: { get_param: cfg01_flavor }
+      image: { list_join: ['', [ 'cfg01-day01-', { get_param: mcp_version } ]] }
+      key_name: { get_param: key_pair }
+      availability_zone: { get_param: availability_zone }
+      name:
+        list_join:
+        - '.'
+        - [ { get_param: instance_name }, { get_param: instance_domain } ]
+      networks:
+      - port: { get_resource: instance_port01 }
+      block_device_mapping_v2:
+      - device_name: /dev/cdrom
+        device_type: cdrom
+        boot_index: -1
+        delete_on_termination: true
+        image: { list_join: ['', [ 'cfg01.', { get_param: env_name }, '-config-drive.iso' ]] }
+        volume_size: 1
+      metadata:
+        roles: { get_param: role }
+
+outputs:
+  instance_address:
+    value:
+      get_attr:
+      - instance_instance
+      - addresses
+      - { get_param: management_net }
+      - 0
+      - addr
+    description: "Instance's private IP address"
+  instance:
+    value: { get_resource: instance_instance }
+    description: "Instance"
diff --git a/tcp_tests/templates/_heat_environments/fragments/E7/Subnets.yaml b/tcp_tests/templates/_heat_environments/fragments/E7/Subnets.yaml
new file mode 100644
index 0000000..5f49059
--- /dev/null
+++ b/tcp_tests/templates/_heat_environments/fragments/E7/Subnets.yaml
@@ -0,0 +1,55 @@
+---
+heat_template_version: queens
+
+description: Subnets fragment
+
+parameters:
+  env_name:
+    type: string
+  stack_name:
+    type: string
+  management_net:
+    type: string
+  management_subnet_cidr:
+    type: string
+  management_subnet_gateway_ip:
+    type: string
+  management_net_dhcp:
+    type: boolean
+    default: false
+  management_subnet_pool_start:
+    type: string
+  management_subnet_pool_end:
+    type: string
+  nameservers:
+    type: comma_delimited_list
+
+resources:
+
+  management_subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      gateway_ip: { get_param: management_subnet_gateway_ip }
+      name: { list_join: ['-', [ { get_param: management_net }, 'subnet', { get_param: env_name } ]] }
+      network: { get_param: management_net }
+      cidr: { get_param: management_subnet_cidr }
+      enable_dhcp: { get_param: management_net_dhcp }
+      allocation_pools:
+        - start: { get_param: management_subnet_pool_start }
+          end: { get_param: management_subnet_pool_end }
+      dns_nameservers: { get_param: nameservers }
+      tags:
+      - admin-pool01
+
+outputs:
+  network:
+    value: { get_param: stack_name }
+  management_net_prefix:
+    value:
+      list_join:
+        - '.'
+        - - str_split: ['.', { get_param: management_subnet_cidr }, 0]
+          - str_split: ['.', { get_param: management_subnet_cidr }, 1]
+          - str_split: ['.', { get_param: management_subnet_cidr }, 2]
+
+...
diff --git a/tcp_tests/templates/_heat_environments/us-cloud.env b/tcp_tests/templates/_heat_environments/us-cloud.env
index 54556a8..44c79dd 100644
--- a/tcp_tests/templates/_heat_environments/us-cloud.env
+++ b/tcp_tests/templates/_heat_environments/us-cloud.env
@@ -13,6 +13,10 @@
   "MCP::VsrxNode": fragments/VsrxNode.yaml
   "MCP::Subnets": fragments/Subnets.yaml
   "MCP::SubnetsWithFloating": fragments/SubnetsWithFloating.yaml
+# E/// Heat config
+  "MCP::SubnetsE7": fragments/E7/Subnets.yaml
+  "MCP::FoundationNodeE7": fragments/E7/FoundationNode.yaml
+  "MCP::MasterNodeE7": fragments/E7/MasterNode.yaml
 
 parameter_defaults:
 
diff --git a/tcp_tests/templates/bm-e7-cicd-pike-ovs-maas/underlay.hot b/tcp_tests/templates/bm-e7-cicd-pike-ovs-maas/underlay.hot
index b90cb1f..99c2bd9 100644
--- a/tcp_tests/templates/bm-e7-cicd-pike-ovs-maas/underlay.hot
+++ b/tcp_tests/templates/bm-e7-cicd-pike-ovs-maas/underlay.hot
@@ -45,7 +45,7 @@
     default: 172.16.162.67
   management_subnet_pool_end:
     type: string
-    default: 172.16.162.82
+    default: 172.16.162.100
   salt_master_control_ip:
     type: string
     default: 10.167.11.5
@@ -56,17 +56,11 @@
 
 resources:
   subnets:
-    type: MCP::Subnets
+    type: MCP::SubnetsE7
     properties:
       stack_name: { get_param: "OS::stack_name" }
       env_name: { get_param: env_name }
-      management_net: 'system-phys-2401'
-      control_net: 'system-phys-2404'
-      tenant_net: 'system-phys-2406'
-      external_net: 'system-phys-2403'
-      control_subnet_cidr: { get_param: control_subnet_cidr }
-      tenant_subnet_cidr: { get_param: tenant_subnet_cidr }
-      external_subnet_cidr: { get_param: external_subnet_cidr }
+      management_net: 'system-phys-430'
       management_subnet_cidr: { get_param: management_subnet_cidr }
       management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
       management_subnet_pool_start: { get_param: management_subnet_pool_start }
@@ -76,32 +70,20 @@
   #  type: MCP::Flavors
 
   cfg01_node:
-    type: MCP::MasterNode
+    type: MCP::MasterNodeE7
     depends_on: [subnets]
     properties:
       env_name: { get_param: env_name }
       mcp_version: { get_param: mcp_version }
       cfg01_flavor: { get_param: cfg_flavor }
       availability_zone: { get_param: bm_availability_zone }
-      management_net: 'system-phys-2401'
-      control_net: 'system-phys-2404'
-      tenant_net: 'system-phys-2406'
-      external_net: 'system-phys-2403'
-      salt_master_control_ip: { get_param: salt_master_control_ip }
+      management_net: 'system-phys-430'
       management_subnet_cfg01_ip: { get_param: management_subnet_cfg01_ip }
-      tenant_net_static_ip:
-        list_join:
-        - '.'
-        - [ { get_attr: [subnets, tenant_net_prefix] }, '5' ]
-      external_net_static_ip:
-        list_join:
-        - '.'
-        - [ { get_attr: [subnets, external_net_prefix] }, '5' ]
       instance_name: cfg01
       instance_domain: {get_param: instance_domain}
 
   foundation_node:
-    type: MCP::FoundationNode
+    type: MCP::FoundationNodeE7
     depends_on: [subnets]
     properties:
       env_name: { get_param: env_name }
@@ -109,10 +91,7 @@
       instance_domain: {get_param: instance_domain}
       instance_name: foundation
       availability_zone: { get_param: bm_availability_zone }
-      management_net: 'system-phys-2401'
-      control_net: 'system-phys-2404'
-      tenant_net: 'system-phys-2406'
-      external_net: 'system-phys-2403'
+      management_net: 'system-phys-430'
       management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
       instance_image: { get_param: foundation_image }
       instance_flavor: {get_param: foundation_flavor}
@@ -120,19 +99,7 @@
       management_net_static_ip:
         list_join:
         - '.'
-        - [ { get_attr: [subnets, management_net_prefix] }, '62' ]
-      control_net_static_ip:
-        list_join:
-        - '.'
-        - [ { get_attr: [subnets, control_net_prefix] }, '6' ]
-      tenant_net_static_ip:
-        list_join:
-        - '.'
-        - [ { get_attr: [subnets, tenant_net_prefix] }, '6' ]
-      external_net_static_ip:
-        list_join:
-        - '.'
-        - [ { get_attr: [subnets, external_net_prefix] }, '6' ]
+        - [ { get_attr: [subnets, management_net_prefix] }, '126' ]
       instance_config_host: { get_attr: [cfg01_node, instance_address] }
 outputs:
   foundation_public_ip:
diff --git a/tcp_tests/templates/shared-maas.yaml b/tcp_tests/templates/shared-maas.yaml
index 2066f4f..02778ea 100644
--- a/tcp_tests/templates/shared-maas.yaml
+++ b/tcp_tests/templates/shared-maas.yaml
@@ -6,10 +6,10 @@
 - description: Reboot hardware computes and set to PXE boot. It needs for clean deployment
   cmd: |
     {%- for device in ipmi_devices %}
-      ipmitool -H {{ device }} -U {{ ipmi_user }} -P {{ ipmi_password }} chassis power off
+      ipmitool -H {{ device }} -U {{ ipmi_user }} -P {{ ipmi_password }} -I lanplus chassis power off
     {%- endfor %}
     {%- for device in ipmi_devices %}
-      ipmitool -H {{ device }} -U {{ ipmi_user }} -P {{ ipmi_password }} chassis bootdev pxe
+      ipmitool -H {{ device }} -U {{ ipmi_user }} -P {{ ipmi_password }} -I lanplus chassis bootdev pxe
     {%- endfor %}
   node_name: {{ HOSTNAME_CFG01 }}
   retry: {count: 1, delay: 5}