[ironic] Configure vxlan for multi-tenancy mode

Related-Bug: PRODX-1821
Change-Id: I1b3b0b80fba64161c63e4765ebf2545b4ee6585b
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index bfccd7a..58b634e 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -121,6 +121,9 @@
   ironic_baremetal_network_gateway:
     type: string
     default: ''
+  ironic_baremetal_tunnel_cidr:
+    type: string
+    default: '10.16.0.0/24'
   ironic_baremetal_network_interface:
     type: string
     default: 'veth-bm'
@@ -133,6 +136,13 @@
     type: string
     default: 'br-baremetal'
     description: 'The name of interface on node to which IP ironic services will bind.'
+  ironic_baremetal_pxe_interface:
+    type: string
+    default: 'pxe.1000'
+    description: 'Will be used as provisioning_interface for multi-tenancy mode'
+  ironic_mt_enabled:
+    type: boolean
+    default: false
   tungstenfabric_enabled:
     type: boolean
     default: false
@@ -381,6 +391,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
           tf_data_network: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_network_id] }, ""]}
           tf_data_subnet_id: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_subnet_id] }, ""]}
@@ -424,6 +436,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
           tf_data_network: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_network_id] }, ""]}
           tf_data_subnet_id: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_subnet_id] }, ""]}
@@ -463,6 +477,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           hardware_metadata: { get_param: hardware_metadata}
 
   lmas:
@@ -499,6 +515,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           hardware_metadata: { get_param: hardware_metadata}
 
   osds:
@@ -539,6 +557,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
           tf_data_network: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_network_id] }, ""]}
           tf_data_subnet_id: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_subnet_id] }, ""]}
@@ -582,6 +602,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           tungstenfabric_enabled: { get_param: tungstenfabric_enabled }
           tf_data_network: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_network_id] }, ""]}
           tf_data_subnet_id: {if: ["create_tf_data_network_res", { get_attr: [tf_data_network, tf_data_subnet_id] }, ""]}
@@ -621,6 +643,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           hardware_metadata: { get_param: hardware_metadata}
 
   vbmcs:
@@ -657,6 +681,8 @@
           ironic_baremetal_network: { get_attr: [ironic_baremetal_network, ironic_baremetal_network_id] }
           ironic_baremetal_subnet_id: { get_attr: [ironic_baremetal_network, ironic_baremetal_subnet_id] }
           ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+          ironic_baremetal_tunnel_cidr: { get_param: ironic_baremetal_tunnel_cidr }
+          ironic_mt_enabled: { get_param: ironic_mt_enabled }
           hardware_metadata: { get_param: hardware_metadata}
 
 outputs:
@@ -716,6 +742,8 @@
     value: { get_param: ironic_baremetal_network_vbmc_interface }
   ironic_baremetal_provisioning_interface:
     value: { get_param: ironic_baremetal_provisioning_interface }
+  ironic_baremetal_pxe_interface:
+    value: { get_param: ironic_baremetal_pxe_interface }
   tunnel_interface:
     value: { get_param: tunnel_interface }
   live_migration_interface: