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/top.yaml b/de/heat-templates/top.yaml
index a6fef6a..16ff6c1 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -50,6 +50,10 @@
type: number
description: Number of contrail nodes to deploy
default: 0
+ vbmc_size:
+ type: number
+ description: Number of nodes for virtualbmc BM node simulator
+ default: 0
ucp_boot_timeout:
type: number
description: Boot timeout for UCP instance
@@ -95,6 +99,27 @@
storage_backend_interface:
type: string
default: 'ens6'
+ ironic_baremetal_network_cidr:
+ type: string
+ default: '10.13.0.0/24'
+ ironic_baremetal_network_ipam_pool_start:
+ type: string
+ default: '10.13.0.2'
+ ironic_baremetal_network_ipam_pool_end:
+ type: string
+ default: '10.13.0.99'
+ ironic_baremetal_network_pool_start:
+ type: string
+ default: '10.13.0.100'
+ ironic_baremetal_network_pool_end:
+ type: string
+ default: '10.13.0.200'
+ ironic_baremetal_network_gateway:
+ type: string
+ default: ''
+ ironic_baremetal_interface:
+ type: string
+ default: 'ens7'
ucp_metadata:
type: json
default: {"role":"ucp"}
@@ -122,6 +147,9 @@
ntw_metadata:
type: json
default: {}
+ vbmc_metadata:
+ type: json
+ default: {}
ucp_flavor:
type: string
default: 'system.compact.openstack.proxy'
@@ -149,6 +177,9 @@
ntws_flavor:
type: string
default: 'system.compact.openstack.control'
+ vbmcs_flavor:
+ type: string
+ default: 'system.compact.openstack.control'
functions_override:
type: string
default: ''
@@ -202,6 +233,14 @@
storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+ ironic_baremetal_network:
+ type: MCP2::NetworkIronicFlat
+ properties:
+ ironic_baremetal_network_cidr: { get_param: ironic_baremetal_network_cidr }
+ ironic_baremetal_network_ipam_pool_start: { get_param: ironic_baremetal_network_ipam_pool_start }
+ ironic_baremetal_network_ipam_pool_end: { get_param: ironic_baremetal_network_ipam_pool_end }
+ ironic_baremetal_network_gateway: {get_param: ironic_baremetal_network_gateway}
+
ucp:
depends_on:
- accessible_network
@@ -289,6 +328,9 @@
storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+ 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_interface: { get_param: ironic_baremetal_interface }
hardware_metadata: { get_param: hardware_metadata}
cmps:
@@ -325,6 +367,9 @@
storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+ 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_interface: { get_param: ironic_baremetal_interface }
hardware_metadata: { get_param: hardware_metadata}
gtws:
@@ -357,6 +402,9 @@
storage_frontend_network: { get_attr: [storage_network, storage_frontend_network_id] }
storage_frontend_subnet_id: { get_attr: [storage_network, storage_frontend_subnet_id] }
storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
+ 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_interface: { get_param: ironic_baremetal_interface }
hardware_metadata: { get_param: hardware_metadata}
lmas:
@@ -461,6 +509,9 @@
storage_backend_network: { get_attr: [storage_network, storage_backend_network_id] }
storage_backend_subnet_id: { get_attr: [storage_network, storage_backend_subnet_id] }
storage_backend_network_cidr: { get_param: storage_backend_network_cidr }
+ 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_interface: { get_param: ironic_baremetal_interface }
hardware_metadata: { get_param: hardware_metadata}
ntws:
@@ -495,6 +546,34 @@
storage_frontend_network_cidr: { get_param: storage_frontend_network_cidr }
hardware_metadata: { get_param: hardware_metadata}
+ vbmcs:
+ type: OS::Heat::ResourceGroup
+ depends_on:
+ - ucp
+ properties:
+ count: { get_param: vbmc_size }
+ resource_def:
+ type: MCP2::SrvInstances
+ properties:
+ metadata: { get_param: vbmc_metadata}
+ node_type: "worker"
+ key_name: { get_param: "OS::stack_name" }
+ image: { get_param: image }
+ flavor: { get_param: vbmcs_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
+ accessible_network: { get_attr: [accessible_network, public_network] }
+ private_floating_network: { get_attr: [private_floating_network, private_floating_network_id] }
+ private_floating_subnet_id: { get_attr: [private_floating_network, private_floating_subnet_id] }
+ private_floating_interface: { get_param: private_floating_interface }
+ private_floating_network_cidr: { get_param: private_floating_network_cidr }
+ accessible_subnet_id: { get_attr: [accessible_network, accessible_subnet_id]}
+ public_net_id: { get_param: public_net_id }
+ control_network_cidr: { get_param: control_network_cidr }
+ ucp_master_host: { get_attr: [ucp, server_private_ip] }
+ functions_override: { get_param: functions_override }
+ hardware_metadata: { get_param: hardware_metadata}
+
outputs:
ucp_ips:
description: Private IP addresses of the deployed ucp instances
@@ -523,6 +602,9 @@
ntws_ips:
description: Private IP addresses of the deployed contrail instances
value: { get_attr: [ntws, server_public_ip] }
+ vbmcs_ips:
+ description: Private IP addresses of the deployed virtualbmcs instances
+ value: { get_attr: [vbmcs, server_public_ip] }
worker_private_floating_ips:
description: IPs might be used as gateway
value: { get_attr: [workers, server_private_floating_ip] }
@@ -536,6 +618,10 @@
value: { get_param: private_floating_network_gateway }
private_floating_network_interface:
value: { get_param: private_floating_network_interface }
+ ironic_baremetal_network_pool_start:
+ value: { get_param: ironic_baremetal_network_pool_start }
+ ironic_baremetal_network_pool_end:
+ value: { get_param: ironic_baremetal_network_pool_end }
tunnel_interface:
value: { get_param: tunnel_interface }
live_migration_interface: