Add Ironic network
The patch connects additional ironic network to the following servers:
* workerks
* gateways
* computes
* spares
Related-Prod: PRODX-4769
Change-Id: I3d28eec496023759a219386ab15d80c79ba442a2
diff --git a/de/heat-templates/fragments/NetworkIronicFlat.yaml b/de/heat-templates/fragments/NetworkIronicFlat.yaml
new file mode 100644
index 0000000..e0da093
--- /dev/null
+++ b/de/heat-templates/fragments/NetworkIronicFlat.yaml
@@ -0,0 +1,33 @@
+heat_template_version: queens
+
+parameters:
+ ironic_baremetal_network_cidr:
+ type: string
+ ironic_baremetal_network_ipam_pool_start:
+ type: string
+ ironic_baremetal_network_ipam_pool_end:
+ type: string
+ ironic_baremetal_network_gateway:
+ type: string
+ default: ''
+
+resources:
+
+ network:
+ type: OS::Neutron::Net
+ subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network: { get_resource: network }
+ enable_dhcp: false
+ cidr: { get_param: ironic_baremetal_network_cidr }
+ gateway_ip: ~
+ allocation_pools:
+ - start: { get_param: ironic_baremetal_network_ipam_pool_start }
+ end: { get_param: ironic_baremetal_network_ipam_pool_end }
+
+outputs:
+ ironic_baremetal_network_id:
+ value: { get_resource: network }
+ ironic_baremetal_subnet_id:
+ value: { get_resource: subnet }
diff --git a/de/heat-templates/fragments/SrvInstancesBM.yaml b/de/heat-templates/fragments/SrvInstancesBM.yaml
index cdf0647..b2fe4ad 100644
--- a/de/heat-templates/fragments/SrvInstancesBM.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBM.yaml
@@ -30,6 +30,12 @@
type: string
control_network_cidr:
type: string
+ ironic_baremetal_network:
+ type: string
+ ironic_baremetal_subnet_id:
+ type: string
+ ironic_baremetal_interface:
+ type: string
functions_override:
type: string
boot_timeout:
@@ -72,6 +78,8 @@
$private_floating_interface: { get_param: private_floating_interface }
$private_floating_network_cidr: { get_param: private_floating_network_cidr }
$private_floating_interface_ip: { get_attr: [private_floating_server_port, fixed_ips, 0, ip_address] }
+ $ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
+ $ironic_baremetal_interface_ip: { get_attr: [ironic_baremetal_server_port, fixed_ips, 0, ip_address] }
$functions_override: { get_param: functions_override }
inject_files:
@@ -106,6 +114,7 @@
- network: { get_param: accessible_network }
# NOTE(ohryhorov): connect to accessible network only as ironic doesn't
# support multitenancy use-case. Use private_floating_network for IPAM only.
+ # NOTE(vsaienko): ditto about ironic network
user_data_format: SOFTWARE_CONFIG
user_data: { get_resource: install_config_agent}
metadata: { get_param: metadata }
@@ -118,6 +127,14 @@
fixed_ips:
- subnet: { get_param: private_floating_subnet_id }
+ ironic_baremetal_server_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_param: ironic_baremetal_network }
+ port_security_enabled: false
+ fixed_ips:
+ - subnet: { get_param: ironic_baremetal_subnet_id }
+
wait_handle:
type: OS::Heat::WaitConditionHandle
wait_condition:
diff --git a/de/heat-templates/fragments/SrvInstancesBMCeph.yaml b/de/heat-templates/fragments/SrvInstancesBMCeph.yaml
index 2f2ae4a..c097bdf 100644
--- a/de/heat-templates/fragments/SrvInstancesBMCeph.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBMCeph.yaml
@@ -38,6 +38,12 @@
type: string
control_network_cidr:
type: string
+ ironic_baremetal_network:
+ type: string
+ ironic_baremetal_subnet_id:
+ type: string
+ ironic_baremetal_interface:
+ type: string
functions_override:
type: string
boot_timeout:
@@ -83,6 +89,8 @@
$storage_frontend_interface: { get_param: storage_frontend_interface }
$storage_frontend_network_interface_ip: { get_attr: [storage_frontend_server_port, fixed_ips, 0, ip_address] }
$storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
+ $ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
+ $ironic_baremetal_interface_ip: { get_attr: [ironic_baremetal_server_port, fixed_ips, 0, ip_address] }
inject_files:
type: "OS::Heat::CloudConfig"
@@ -116,6 +124,7 @@
- network: { get_param: accessible_network }
# NOTE(ohryhorov): connect to accessible network only as ironic doesn't
# support multitenancy use-case. Use private_floating_network for IPAM only.
+ # NOTE(vsaienko): ditto about ironic baremetal network
user_data_format: SOFTWARE_CONFIG
user_data: { get_resource: install_config_agent}
metadata: { get_param: metadata }
@@ -136,6 +145,14 @@
fixed_ips:
- subnet: { get_param: storage_frontend_subnet_id }
+ ironic_baremetal_server_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_param: ironic_baremetal_network }
+ port_security_enabled: false
+ fixed_ips:
+ - subnet: { get_param: ironic_baremetal_subnet_id }
+
wait_handle:
type: OS::Heat::WaitConditionHandle
wait_condition:
diff --git a/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml b/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml
index 8804562..f034022 100644
--- a/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml
+++ b/de/heat-templates/fragments/SrvInstancesBMCephOSD.yaml
@@ -46,6 +46,12 @@
type: string
control_network_cidr:
type: string
+ ironic_baremetal_network:
+ type: string
+ ironic_baremetal_subnet_id:
+ type: string
+ ironic_baremetal_interface:
+ type: string
functions_override:
type: string
boot_timeout:
@@ -94,6 +100,8 @@
$storage_backend_interface: { get_param: storage_backend_interface }
$storage_backend_network_interface_ip: { get_attr: [storage_backend_server_port, fixed_ips, 0, ip_address] }
$storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+ $ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
+ $ironic_baremetal_interface_ip: { get_attr: [ironic_baremetal_server_port, fixed_ips, 0, ip_address] }
inject_files:
type: "OS::Heat::CloudConfig"
@@ -127,6 +135,7 @@
- network: { get_param: accessible_network }
# NOTE(ohryhorov): connect to accessible network only as ironic doesn't
# support multitenancy use-case. Use private_floating_network for IPAM only.
+ # NOTE(vsaienko): ditto about ironic network
user_data_format: SOFTWARE_CONFIG
user_data: { get_resource: install_config_agent}
metadata: { get_param: metadata }
@@ -155,6 +164,14 @@
fixed_ips:
- subnet: { get_param: storage_frontend_subnet_id }
+ ironic_baremetal_server_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_param: ironic_baremetal_network }
+ port_security_enabled: false
+ fixed_ips:
+ - subnet: { get_param: ironic_baremetal_subnet_id }
+
wait_handle:
type: OS::Heat::WaitConditionHandle
wait_condition:
diff --git a/de/heat-templates/fragments/SrvInstancesVMCeph.yaml b/de/heat-templates/fragments/SrvInstancesVMCeph.yaml
index dce451e..11538ca 100644
--- a/de/heat-templates/fragments/SrvInstancesVMCeph.yaml
+++ b/de/heat-templates/fragments/SrvInstancesVMCeph.yaml
@@ -36,6 +36,12 @@
type: string
storage_frontend_interface:
type: string
+ ironic_baremetal_network:
+ type: string
+ ironic_baremetal_subnet_id:
+ type: string
+ ironic_baremetal_interface:
+ type: string
control_network_cidr:
type: string
functions_override:
@@ -91,6 +97,8 @@
$storage_frontend_interface: { get_param: storage_frontend_interface }
$storage_frontend_network_interface_ip: { get_attr: [storage_frontend_server_port, fixed_ips, 0, ip_address] }
$storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
+ $ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
+ $ironic_baremetal_interface_ip: { get_attr: [ironic_baremetal_server_port, fixed_ips, 0, ip_address] }
inject_files:
type: "OS::Heat::CloudConfig"
@@ -125,6 +133,7 @@
- port: { get_resource: accessible_server_port }
- port: { get_resource: private_floating_server_port }
- port: { get_resource: storage_frontend_server_port }
+ - port: { get_resource: ironic_baremetal_server_port }
user_data_format: SOFTWARE_CONFIG
user_data: { get_resource: install_config_agent}
metadata: { get_param: metadata }
@@ -159,6 +168,14 @@
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: accessible_server_port }
+ ironic_baremetal_server_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_param: ironic_baremetal_network }
+ port_security_enabled: false
+ fixed_ips:
+ - subnet: { get_param: ironic_baremetal_subnet_id }
+
wait_handle:
type: OS::Heat::WaitConditionHandle
wait_condition:
diff --git a/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml b/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml
index f78a198..446c75b 100644
--- a/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml
+++ b/de/heat-templates/fragments/SrvInstancesVMCephOSD.yaml
@@ -46,6 +46,12 @@
type: string
control_network_cidr:
type: string
+ ironic_baremetal_network:
+ type: string
+ ironic_baremetal_subnet_id:
+ type: string
+ ironic_baremetal_interface:
+ type: string
functions_override:
type: string
boot_timeout:
@@ -102,6 +108,8 @@
$storage_backend_interface: { get_param: storage_backend_interface }
$storage_backend_network_interface_ip: { get_attr: [storage_backend_server_port, fixed_ips, 0, ip_address] }
$storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+ $ironic_baremetal_interface: { get_param: ironic_baremetal_interface }
+ $ironic_baremetal_interface_ip: { get_attr: [ironic_baremetal_server_port, fixed_ips, 0, ip_address] }
inject_files:
type: "OS::Heat::CloudConfig"
@@ -137,6 +145,7 @@
- port: { get_resource: private_floating_server_port }
- port: { get_resource: storage_frontend_server_port }
- port: { get_resource: storage_backend_server_port }
+ - port: { get_resource: ironic_baremetal_server_port }
user_data_format: SOFTWARE_CONFIG
user_data: { get_resource: install_config_agent}
metadata: { get_param: metadata }
@@ -179,6 +188,14 @@
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: accessible_server_port }
+ ironic_baremetal_server_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_param: ironic_baremetal_network }
+ port_security_enabled: false
+ fixed_ips:
+ - subnet: { get_param: ironic_baremetal_subnet_id }
+
wait_handle:
type: OS::Heat::WaitConditionHandle
wait_condition: