Exclude frontend storage gateway from ipam

Gateway's ip can be allocated for neutron services like dhcp or
portprober.

Related-Prod: https://mirantis.jira.com/browse/PRODX-47207
Change-Id: Ie42c7b11a2d79d6f18fa900292b7627ca4db4e75
diff --git a/de/heat-templates/env/k0s-aio.yaml b/de/heat-templates/env/k0s-aio.yaml
index 23f314a..eca9149 100644
--- a/de/heat-templates/env/k0s-aio.yaml
+++ b/de/heat-templates/env/k0s-aio.yaml
@@ -35,6 +35,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   kubernetes_installer: k0s
   single_node: 'true'
diff --git a/de/heat-templates/env/k0s-mstr1-wrkr3-cmp0-gtw0.yaml b/de/heat-templates/env/k0s-mstr1-wrkr3-cmp0-gtw0.yaml
index fce638f..0c8b0e8 100644
--- a/de/heat-templates/env/k0s-mstr1-wrkr3-cmp0-gtw0.yaml
+++ b/de/heat-templates/env/k0s-mstr1-wrkr3-cmp0-gtw0.yaml
@@ -30,6 +30,9 @@
   workers_flavor: 'system.compact.openstack.control.ephemeral'
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
+  storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   kubernetes_installer: k0s
   hardware_metadata: |
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0-vbmc2.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0-vbmc2.yaml
index ac1a280..5db0db5 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0-vbmc2.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0-vbmc2.yaml
@@ -41,6 +41,8 @@
   vbmcs_flavor: 'system.compact.openstack.control'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0.yaml
index 1258c19..4e491a9 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp0-gtw0.yaml
@@ -32,6 +32,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-gtw0.yaml
index aea2c2c..f382d9e 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-gtw0.yaml
@@ -36,6 +36,8 @@
   acmps_flavor: 'mosk.s.compute.ephemeral.numa'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   # Enable only 1 size of huge pages because of https://mirantis.jira.com/browse/PRODX-8809
   huge_pages: '0,5000'
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-ntw3.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-ntw3.yaml
index 01ed318..911b071 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-ntw3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-acmp2-ntw3.yaml
@@ -44,6 +44,8 @@
   acmps_flavor: 'mosk.s.compute.ephemeral.numa'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   # Enable only 1 size of huge pages because of https://mirantis.jira.com/browse/PRODX-8809
   huge_pages: '0,5000'
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-lma3.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-lma3.yaml
index 8862e04..8bee567 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-lma3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-lma3.yaml
@@ -34,6 +34,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vbmc5.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vbmc5.yaml
index 657a9d3..ba93aaa 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vbmc5.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vbmc5.yaml
@@ -44,6 +44,8 @@
   vbmcs_flavor: 'system.compact.openstack.control'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vsrx1.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vsrx1.yaml
index 7091df4..0b2917f 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vsrx1.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0-vsrx1.yaml
@@ -38,6 +38,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   # Simulate changed default port for docker overlay vxlan
   # https://mirantis.jira.com/browse/PRODX-11679
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0.yaml
index 351a4e6..f1c26f1 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-gtw0.yaml
@@ -32,6 +32,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   cmp_lvm_loop_device_size: 50
   cmp_cinder_lvm_loop_device_size: 50
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-lma3.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-lma3.yaml
index 35c9ac9..f5ae9a3 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-lma3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-lma3.yaml
@@ -43,6 +43,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vbmc2.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vbmc2.yaml
index 97549cf..01ef904 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vbmc2.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vbmc2.yaml
@@ -50,6 +50,8 @@
   vbmcs_flavor: 'system.compact.openstack.control'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vmx.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vmx.yaml
index a922dc2..fafe70e 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vmx.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3-vmx.yaml
@@ -55,6 +55,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3.yaml
index d3d00fe..b056d8e 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp2-ntw3.yaml
@@ -41,6 +41,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp3-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp3-gtw0.yaml
index a3b9803..7202563 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp3-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp3-gtw0.yaml
@@ -32,6 +32,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   cmp_lvm_loop_device_size: 50
   cmp_cinder_lvm_loop_device_size: 50
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp3-ntw3.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp3-ntw3.yaml
index 3b7c9fa..4978f77 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp3-ntw3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp3-ntw3.yaml
@@ -41,6 +41,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr3-cmp5-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr3-cmp5-gtw0.yaml
index fea361c..450f5a8 100644
--- a/de/heat-templates/env/mstr1-wrkr3-cmp5-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr3-cmp5-gtw0.yaml
@@ -32,6 +32,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   cmp_lvm_loop_device_size: 50
   cmp_cinder_lvm_loop_device_size: 50
diff --git a/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0-vsrx1.yaml b/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0-vsrx1.yaml
index 16ccafc..dda7de4 100644
--- a/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0-vsrx1.yaml
+++ b/de/heat-templates/env/mstr1-wrkr5-cmp2-gtw0-vsrx1.yaml
@@ -38,6 +38,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   # Simulate changed default port for docker overlay vxlan
   # https://mirantis.jira.com/browse/PRODX-11679
diff --git a/de/heat-templates/env/mstr1-wrkr5-cmp2-ntw3.yaml b/de/heat-templates/env/mstr1-wrkr5-cmp2-ntw3.yaml
index 8d66762..caeaa0e 100644
--- a/de/heat-templates/env/mstr1-wrkr5-cmp2-ntw3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr5-cmp2-ntw3.yaml
@@ -41,6 +41,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral.numa'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr5-cmp3-cmpgw2-ntw3.yaml b/de/heat-templates/env/mstr1-wrkr5-cmp3-cmpgw2-ntw3.yaml
index 173d5be..948c627 100644
--- a/de/heat-templates/env/mstr1-wrkr5-cmp3-cmpgw2-ntw3.yaml
+++ b/de/heat-templates/env/mstr1-wrkr5-cmp3-cmpgw2-ntw3.yaml
@@ -43,6 +43,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   hardware_metadata: |
     '00:00:00:00:00:00':
diff --git a/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml b/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml
index 2d19203..8387f60 100644
--- a/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml
+++ b/de/heat-templates/env/mstr1-wrkr5-cmp3-gtw0.yaml
@@ -30,6 +30,8 @@
   cmps_flavor: 'mosk.s.compute.ephemeral'
   storage_frontend_network_cidr: '10.12.1.0/24'
   storage_frontend_network_gateway: '10.12.1.1'
+  storage_frontend_network_ipam_pool_start: '10.12.1.3'
+  storage_frontend_network_ipam_pool_end: '10.12.1.254'
   storage_backend_network_cidr: '10.12.0.0/24'
   cmp_lvm_loop_device_size: 50
   cmp_cinder_lvm_loop_device_size: 50
diff --git a/de/heat-templates/fragments/NetworkAccVMStorage.yaml b/de/heat-templates/fragments/NetworkAccVMStorage.yaml
index f1475b3..1d3a4ea 100644
--- a/de/heat-templates/fragments/NetworkAccVMStorage.yaml
+++ b/de/heat-templates/fragments/NetworkAccVMStorage.yaml
@@ -5,6 +5,10 @@
     type: string
   storage_frontend_network_cidr:
     type: string
+  storage_frontend_network_ipam_pool_start:
+    type: string
+  storage_frontend_network_ipam_pool_end:
+    type: string
 
 resources:
 
@@ -26,6 +30,9 @@
       network: { get_resource: storage_frontend_network }
       enable_dhcp: false
       cidr: { get_param: storage_frontend_network_cidr }
+      allocation_pools:
+        - start: { get_param: storage_frontend_network_ipam_pool_start }
+          end: { get_param: storage_frontend_network_ipam_pool_end }
       gateway_ip: ~
 
 outputs:
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index bd628e2..d179f8c 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -115,6 +115,12 @@
   storage_frontend_network_gateway:
     type: string
     default: '10.12.0.1/24'
+  storage_frontend_network_ipam_pool_start:
+    type: string
+    default: '10.12.0.3'
+  storage_frontend_network_ipam_pool_end:
+    type: string
+    default: '10.12.0.254'
   storage_frontend_interface:
     type: string
     default: 'ens5'
@@ -480,6 +486,8 @@
     properties:
       storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
       storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+      storage_frontend_network_ipam_pool_start: { get_param: storage_frontend_network_ipam_pool_start }
+      storage_frontend_network_ipam_pool_end: { get_param: storage_frontend_network_ipam_pool_end }
 
   accessible_network:
     depends_on: