Add FRR nodes
The patch adds node with FRR installed
Related-Prod: PRODX-11698
Change-Id: I09302b618ef88b28945074c96e4cafb3493ca5b0
diff --git a/de/heat-templates/top.yaml b/de/heat-templates/top.yaml
index 7864c06..6295833 100644
--- a/de/heat-templates/top.yaml
+++ b/de/heat-templates/top.yaml
@@ -58,6 +58,10 @@
type: number
description: Number of gtw workers to deploy
default: 0
+ frr_size:
+ type: number
+ description: Number of frr nodes to deploy
+ default: 0
ntw_size:
type: number
description: Number of contrail nodes to deploy
@@ -197,6 +201,9 @@
spare_metadata:
type: json
default: {}
+ frr_metadata:
+ type: json
+ default: {}
ntw_metadata:
type: json
default: {}
@@ -230,6 +237,9 @@
spares_flavor:
type: string
default: 'system.compact.openstack.control'
+ frrs_flavor:
+ type: string
+ default: 'system.compact.openstack.control'
ntws_flavor:
type: string
default: 'system.compact.openstack.control'
@@ -659,6 +669,52 @@
tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
hardware_metadata: { get_param: hardware_metadata}
+ frrs: # spares for osds/cmps
+ type: OS::Heat::ResourceGroup
+ depends_on:
+ - ucp
+ properties:
+ count: { get_param: frr_size }
+ resource_def:
+ type: MCP2::SrvInstancesCephOSD
+ properties:
+ metadata: { get_param: frr_metadata }
+ node_type: "frr"
+ key_name: { get_attr: [keypair_name, value] }
+ image: { get_param: image }
+ flavor: { get_param: frrs_flavor }
+ docker_ee_url: { get_param: docker_ee_url }
+ docker_ee_release: { get_param: docker_ee_release }
+ docker_ucp_image: { get_param: docker_ucp_image}
+ docker_default_address_pool: { get_param: docker_default_address_pool }
+ 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 }
+ storage_frontend_interface: { get_param: storage_frontend_interface }
+ 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 }
+ storage_backend_interface: { get_param: storage_backend_interface }
+ 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_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 }
+ tun_network: { get_attr: [tun_network, tun_network_id] }
+ tun_subnet_id: { get_attr: [tun_network, tun_subnet_id] }
+ hardware_metadata: { get_param: hardware_metadata}
+
spares: # spares for osds/cmps
type: OS::Heat::ResourceGroup
depends_on:
@@ -820,6 +876,12 @@
vbmc_ironic_baremetal_ips:
description: The IPs of ironic baremetal network assigned to vbmc hosts.
value: { get_attr: [vbmcs, server_ironic_baremetal_ip] }
+ frrs_ips:
+ description: Private IP addresses of the deployed FRR instances
+ value: { get_attr: [frrs, server_public_ip] }
+ frrs_tunnel_ips:
+ description: The tunnel IPs of FRR nodes
+ value: { get_attr: [frrs, server_tunnel_ip] }
worker_private_floating_ips:
description: IPs might be used as gateway
value: {if: [aio_deploy, {get_attr: [ucp, server_private_floating_ip]}, {get_attr: [workers, server_private_floating_ip]}]}