| heat_template_version: queens |
| |
| parameters: |
| image: |
| type: string |
| description: Name of image to use for servers |
| public_net_id: |
| type: string |
| default: '' |
| description: > |
| ID of public network for which floating IP addresses will be allocated/ |
| for baremetal case flat provision network for nodes |
| dns_nameservers: |
| type: json |
| default: ['172.18.224.6', '172.18.176.6'] |
| lab_network_cidr: |
| type: string |
| default: '10.0.0.0/8' |
| main_network_cidr: |
| type: string |
| default: '10.0.0.0/16' |
| main_control_network_cidr: |
| type: string |
| description: The CIDR of control network, used to detect control interface. |
| default: '10.0.1.0/24' |
| main_tunnel_network_cidr: |
| type: string |
| default: '10.0.2.0/24' |
| main_storage_frontend_network_cidr: |
| type: string |
| default: '10.12.0.0/24' |
| main_storage_frontend_interface: |
| type: string |
| default: 'ens5' |
| main_storage_backend_network_cidr: |
| type: string |
| default: '10.11.0.0/24' |
| main_storage_backend_interface: |
| type: string |
| default: 'ens6' |
| private_floating_network_cidr: |
| type: string |
| default: '10.11.12.0/24' |
| private_floating_network_ipam_pool_start: |
| type: string |
| description: pool start which is used as pool for IPAM and assigned to instances port |
| default: '10.11.12.2' |
| private_floating_network_ipam_pool_end: |
| type: string |
| description: pool end which is used as pool for IPAM and assigned to instances port |
| default: '10.11.12.70' |
| private_floating_network_pool_start: |
| type: string |
| default: '10.11.12.100' |
| private_floating_network_pool_end: |
| type: string |
| default: '10.11.12.200' |
| private_floating_network_gateway: |
| type: string |
| default: '' |
| private_floating_network_interface: |
| type: string |
| default: 'veth-phy' |
| private_floating_interface: |
| description: Interface which carries floating network for child OpenStack. |
| type: string |
| rack01_network_cidr: |
| type: string |
| default: '10.1.0.0/16' |
| rack01_control_network_cidr: |
| type: string |
| description: The CIDR of control network, used to detect control interface. |
| default: '10.1.1.0/24' |
| rack01_central_router_uplink_network_cidr: |
| type: string |
| default: '192.168.0.0/28' |
| rack02_network_cidr: |
| type: string |
| default: '10.2.0.0/16' |
| rack02_control_network_cidr: |
| type: string |
| description: The CIDR of control network, used to detect control interface. |
| default: '10.2.1.0/24' |
| rack02_central_router_uplink_network_cidr: |
| type: string |
| default: '192.168.0.16/28' |
| main_worker_size: |
| type: number |
| description: Number of workers to deploy |
| default: 3 |
| rack01_cmp_size: |
| type: number |
| description: Number of cmp workers to deploy |
| default: 0 |
| rack02_cmp_size: |
| type: number |
| description: Number of cmp workers to deploy |
| default: 0 |
| cluster_public_key: |
| type: string |
| ucp_metadata: |
| type: json |
| default: {"role":"ucp"} |
| main_worker_metadata: |
| type: json |
| default: {} |
| rack01_cmp_metadata: |
| type: json |
| default: {} |
| rack02_cmp_metadata: |
| type: json |
| default: {} |
| ucp_flavor: |
| type: string |
| default: 'kaas-bm.worker' |
| main_worker_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| rack01_cmp_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| rack02_cmp_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| docker_ee_url: |
| type: string |
| default: 'https://storebits.docker.com/ubuntu' |
| docker_ee_release: |
| type: string |
| default: 'stable-19.03' |
| docker_ucp_image: |
| type: string |
| default: 'docker/ucp:3.2.4' |
| docker_default_address_pool: |
| type: string |
| description: Default address pool for Docker ucp specific local networks |
| default: '10.10.1.0/16' |
| binary_base_url: |
| type: string |
| default: 'http://binary.mirantis.com' |
| tunnel_interface: |
| type: string |
| default: '' |
| tungstenfabric_enabled: |
| type: boolean |
| default: false |
| live_migration_interface: |
| type: string |
| default: '' |
| metallb_address_pools: |
| type: comma_delimited_list |
| default: '' |
| main_worker_hardware_metadata: |
| type: string |
| default: '' |
| central_boot_timeout: |
| type: number |
| description: Boot timeout for central site instances |
| default: 5400 |
| rack_boot_timeout: |
| type: number |
| description: Boot timeout for rack instances |
| default: 3600 |
| rack_private_floating_interface: |
| type: string |
| rack_functions_override: |
| type: string |
| default: '' |
| lmas_size: |
| type: number |
| lmas_metadata: |
| type: json |
| lmas_flavor: |
| type: string |
| default_interface: |
| type: string |
| default: '' |
| qos_max_burst_kbps_ingress: |
| type: number |
| default: 0 |
| qos_max_kbps_ingress: |
| type: number |
| default: 0 |
| qos_max_burst_kbps_egress: |
| type: number |
| default: 0 |
| qos_max_kbps_egress: |
| type: number |
| default: 0 |
| |
| |
| resources: |
| keypair_name: |
| type: OS::Heat::RandomString |
| properties: |
| character_classes: [{"class": "hexdigits", "min": 1}] |
| length: 128 |
| salt: constant |
| key_pair: |
| type: OS::Nova::KeyPair |
| properties: |
| name: { get_attr: [keypair_name, value] } |
| public_key: { get_param: cluster_public_key } |
| save_private_key: false |
| |
| qos_policy_gen_name: |
| type: OS::Heat::RandomString |
| properties: |
| character_classes: [{"class": "hexdigits", "min": 1}] |
| length: 8 |
| salt: constant |
| |
| rack_qos_policy: |
| type: OS::Neutron::QoSPolicy |
| properties: |
| description: String |
| name: |
| list_join: |
| - '-' |
| - [ { get_param: "OS::stack_name" }, { get_attr: [qos_policy_gen_name, value] } ] |
| shared: True |
| |
| rack_bandwith_rule_egress: |
| type: OS::Neutron::QoSBandwidthLimitRule |
| properties: |
| max_burst_kbps: { get_param: qos_max_burst_kbps_egress } |
| max_kbps: { get_param: qos_max_kbps_egress } |
| policy: { get_resource: rack_qos_policy } |
| # NOTE (ohryhorov): section below with "direction" should be uncommented once cloud is |
| # upgraded to OpenStack Train version. |
| # |
| # direction: 'egress' |
| # |
| # rack_bandwith_rule_ingress: |
| # type: OS::Neutron::QoSBandwidthLimitRule |
| # properties: |
| # max_burst_kbps: { get_param: qos_max_burst_kbps_ingress } |
| # max_kbps: { get_param: qos_max_kbps_ingress } |
| # policy: { get_resource: rack_qos_policy } |
| # direction: 'ingress' |
| |
| central_site: |
| type: MCP2::CentralSite |
| properties: |
| ucp_metadata: { get_param: ucp_metadata} |
| 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 } |
| key_name: { get_attr: [keypair_name, value] } |
| image: { get_param: image } |
| ucp_flavor: { get_param: ucp_flavor } |
| public_net_id: { get_param: public_net_id } |
| control_network_cidr: { get_param: main_control_network_cidr } |
| tunnel_network_cidr: { get_param: main_tunnel_network_cidr } |
| storage_frontend_interface: { get_param: main_storage_frontend_interface } |
| storage_frontend_network_cidr: { get_param: main_storage_frontend_network_cidr } |
| storage_backend_interface: { get_param: main_storage_backend_interface } |
| storage_backend_network_cidr: { get_param: main_storage_backend_network_cidr } |
| private_floating_network_cidr: { get_param: private_floating_network_cidr } |
| private_floating_interface: { get_param: private_floating_interface } |
| private_floating_network_ipam_pool_start: { get_param: private_floating_network_ipam_pool_start } |
| private_floating_network_ipam_pool_end: { get_param: private_floating_network_ipam_pool_end } |
| worker_size: { get_param: main_worker_size } |
| worker_flavor: { get_param: main_worker_flavor } |
| worker_metadata: { get_param: main_worker_metadata } |
| worker_hardware_metadata: { get_param: main_worker_hardware_metadata } |
| dns_nameservers: { get_param: dns_nameservers } |
| boot_timeout: { get_param: central_boot_timeout } |
| lmas_size: { get_param: lmas_size } |
| lmas_metadata: { get_param: lmas_metadata } |
| lmas_flavor: { get_param: lmas_flavor } |
| lmas_hardware_metadata: { get_param: main_worker_hardware_metadata } |
| default_interface: { get_param: default_interface } |
| |
| rack01_router_routes: |
| type: MCP2::RackRouterRoutes |
| properties: |
| central_router: { get_attr: [central_site, router_id] } |
| central_router_uplink_network_cidr: { get_param: rack01_central_router_uplink_network_cidr } |
| site_cidr: { get_param: rack01_network_cidr } |
| lab_network_cidr: { get_param: lab_network_cidr } |
| public_net_id: { get_param: public_net_id } |
| |
| rack01: |
| depends_on: |
| - central_site |
| type: MCP2::Rack |
| properties: |
| 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 } |
| key_name: { get_attr: [keypair_name, value] } |
| image: { get_param: image } |
| public_net_id: { get_param: public_net_id } |
| control_network_cidr: { get_param: rack01_control_network_cidr } |
| cmp_size: { get_param: rack01_cmp_size } |
| cmp_flavor: { get_param: rack01_cmp_flavor } |
| cmp_metadata: { get_param: rack01_cmp_metadata } |
| ucp_master_host: { get_attr: [central_site, ucp_control_ip] } |
| rack_router: {get_attr: [rack01_router_routes, router_id] } |
| boot_timeout: { get_param: rack_boot_timeout } |
| private_floating_interface: { get_param: rack_private_floating_interface } |
| functions_override: { get_param: rack_functions_override } |
| qos_policy_name: { get_resource: rack_qos_policy } |
| |
| rack02_router_routes: |
| depends_on: |
| - rack01_router_routes |
| type: MCP2::RackRouterRoutes |
| properties: |
| central_router: { get_attr: [central_site, router_id] } |
| central_router_uplink_network_cidr: { get_param: rack02_central_router_uplink_network_cidr } |
| site_cidr: { get_param: rack02_network_cidr } |
| lab_network_cidr: { get_param: lab_network_cidr } |
| public_net_id: { get_param: public_net_id } |
| |
| rack02: |
| depends_on: |
| - central_site |
| type: MCP2::Rack |
| properties: |
| 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 } |
| key_name: { get_attr: [keypair_name, value] } |
| image: { get_param: image } |
| public_net_id: { get_param: public_net_id } |
| control_network_cidr: { get_param: rack02_control_network_cidr } |
| cmp_size: { get_param: rack02_cmp_size } |
| cmp_flavor: { get_param: rack02_cmp_flavor } |
| cmp_metadata: { get_param: rack02_cmp_metadata } |
| ucp_master_host: { get_attr: [central_site, ucp_control_ip] } |
| rack_router: {get_attr: [rack02_router_routes, router_id] } |
| boot_timeout: { get_param: rack_boot_timeout } |
| private_floating_interface: { get_param: rack_private_floating_interface } |
| functions_override: { get_param: rack_functions_override } |
| qos_policy_name: { get_resource: rack_qos_policy } |
| |
| outputs: |
| central_site_worker_public_ip: |
| description: IP address of server in private network |
| value: { get_attr: [central_site, worker_public_ip] } |
| ucp_ips: |
| description: IP address of server in private network |
| value: { get_attr: [central_site, ucp_public_ip] } |
| workers_wc_data: |
| description: Metadata from instance |
| value: { get_attr: [central_site, worker_wc_data]} |
| cmps_wc_data: |
| description: Metadata from cmps |
| value: {list_concat: [ {get_attr: [rack01, cmp_wc_data]}, {get_attr: [rack02, cmp_wc_data]} ]} |
| rack01_cmp_public_ip: |
| value: { get_attr: [rack01, cmp_public_ip] } |
| rack02_cmp_public_ip: |
| value: { get_attr: [rack02, cmp_public_ip] } |
| worker_private_floating_ips: |
| description: IPs might be used as gateway |
| value: { get_attr: [central_site, server_private_floating_ip] } |
| private_floating_cidr: |
| value: { get_param: private_floating_network_cidr } |
| private_floating_network_pool_start: |
| value: { get_param: private_floating_network_pool_start } |
| private_floating_network_pool_end: |
| value: { get_param: private_floating_network_pool_end } |
| private_floating_network_gateway: |
| value: { get_param: private_floating_network_gateway } |
| live_migration_interface: |
| value: { get_param: live_migration_interface } |
| tunnel_interface: |
| value: { get_param: tunnel_interface } |
| metallb_address_pools: |
| value: { get_param: metallb_address_pools } |
| storage_frontend_network_cidr: |
| description: Storage network which is used as clientNet in Ceph CR |
| value: { get_param: main_storage_frontend_network_cidr } |
| storage_backend_network_cidr: |
| description: Storage network which is used as clusterNet in Ceph CR |
| value: { get_param: main_storage_backend_network_cidr } |
| private_floating_network_interface: |
| value: { get_param: private_floating_network_interface } |
| tungstenfabric_enabled: |
| value: { get_param: tungstenfabric_enabled } |
| workers_ips: |
| description: Private IP addresses of the deployed worker instances |
| value: { get_attr: [central_site, worker_public_ip] } |
| cmps_ips: |
| description: Private IP addresses of the deployed cmp instances |
| value: {list_concat: [ {get_attr: [rack01, cmp_public_ip]}, {get_attr: [rack02, cmp_public_ip]} ]} |