| 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 |
| host_interface: |
| type: string |
| description: Interface which connects server with public network (world accessible network). |
| masters_size: |
| type: number |
| description: Number of masters instances to deploy |
| default: 2 |
| worker_size: |
| type: number |
| description: Number of workers to deploy |
| default: 5 |
| cmp_size: |
| type: number |
| description: Number of cmp workers to deploy |
| default: 0 |
| gtw_size: |
| type: number |
| description: Number of gtw workers to deploy |
| default: 0 |
| lma_size: |
| type: number |
| description: Number of gtw workers to deploy |
| default: 0 |
| osd_size: |
| type: number |
| description: Number of gtw workers to deploy |
| default: 0 |
| ntw_size: |
| type: number |
| description: Number of contrail nodes to deploy |
| default: 0 |
| ucp_boot_timeout: |
| type: number |
| description: Boot timeout for UCP instance |
| default: 1200 |
| cluster_public_key: |
| type: string |
| private_floating_network_cidr: |
| type: string |
| default: '10.11.12.0/24' |
| 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_interface: |
| description: Interface which carries floating network for child OpenStack. |
| type: string |
| worker_metadata: |
| type: json |
| default: {} |
| cmp_metadata: |
| type: json |
| default: {} |
| gtw_metadata: |
| type: json |
| default: {} |
| lma_metadata: |
| type: json |
| default: {} |
| osd_metadata: |
| type: json |
| default: {} |
| ntw_metadata: |
| type: json |
| default: {} |
| ucp_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| masters_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| workers_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| cmps_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| gtws_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| lmas_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| osds_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| ntws_flavor: |
| type: string |
| default: 'system.compact.openstack.control' |
| functions_override: |
| type: string |
| default: '' |
| docker_ee_url: |
| type: string |
| default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux' |
| docker_ee_release: |
| type: string |
| default: 'stable-19.03' |
| |
| resources: |
| key_pair: |
| type: OS::Nova::KeyPair |
| properties: |
| name: { get_param: "OS::stack_name" } |
| public_key: { get_param: cluster_public_key} |
| save_private_key: false |
| |
| accessible_network: |
| type: MCP2::NetworkAcc |
| properties: |
| public_net_id: { get_param: public_net_id } |
| |
| private_floating_network: |
| type: MCP2::NetworkPrvFl |
| properties: |
| private_floating_network_cidr: { get_param: private_floating_network_cidr } |
| |
| ucp: |
| depends_on: accessible_network |
| type: MCP2::SrvInstances |
| properties: |
| metadata: {"role":"ucp"} |
| docker_ee_url: { get_param: docker_ee_url } |
| docker_ee_release: { get_param: docker_ee_release } |
| node_type: "ucp" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: ucp_flavor } |
| 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 } |
| host_interface: { get_param: host_interface } |
| functions_override: { get_param: functions_override } |
| |
| |
| masters: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: masters_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: {"role":"master"} |
| node_type: "master" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: masters_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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| |
| workers: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: worker_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: { get_param: worker_metadata} |
| node_type: "worker" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: workers_flavor } |
| key_name: { get_param: "OS::stack_name" } |
| 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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| cmps: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: cmp_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: { get_param: cmp_metadata } |
| node_type: "worker" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: cmps_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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| gtws: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: gtw_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: { get_param: gtw_metadata } |
| node_type: "worker" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: gtws_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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| lmas: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: lma_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: { get_param: lma_metadata } |
| node_type: "worker" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: lmas_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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| osds: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: osd_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: { get_param: osd_metadata } |
| node_type: "worker" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: osds_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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| ntws: |
| type: OS::Heat::ResourceGroup |
| depends_on: |
| - ucp |
| properties: |
| count: { get_param: ntw_size } |
| resource_def: |
| type: MCP2::SrvInstances |
| properties: |
| metadata: { get_param: ntw_metadata } |
| node_type: "worker" |
| key_name: { get_param: "OS::stack_name" } |
| image: { get_param: image } |
| flavor: { get_param: ntws_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 } |
| host_interface: { get_param: host_interface } |
| ucp_master_host: { get_attr: [ucp, server_private_ip] } |
| functions_override: { get_param: functions_override } |
| |
| outputs: |
| ucp_ips: |
| description: Private IP addresses of the deployed ucp instances |
| value: { get_attr: [ucp, server_public_ip] } |
| masters_ips: |
| description: Private IP addresses of the deployed masters instances |
| value: { get_attr: [masters, server_public_ip] } |
| workers_ips: |
| description: Private IP addresses of the deployed worker instances |
| value: { get_attr: [workers, server_public_ip] } |
| cmps_ips: |
| description: Private IP addresses of the deployed cmp instances |
| value: { get_attr: [cmps, server_public_ip] } |
| gtws_ips: |
| description: Private IP addresses of the deployed gtw instances |
| value: { get_attr: [gtws, server_public_ip] } |
| lmas_ips: |
| description: Private IP addresses of the deployed lma instances |
| value: { get_attr: [lmas, server_public_ip] } |
| osds_ips: |
| description: Private IP addresses of the deployed osd instances |
| value: { get_attr: [osds, server_public_ip] } |
| ntws_ips: |
| description: Private IP addresses of the deployed contrail instances |
| value: { get_attr: [ntws, server_public_ip] } |
| worker_private_floating_ips: |
| description: IPs might be used as gateway |
| value: { get_attr: [workers, 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 } |
| |