blob: c5fdbee1d816ef34a7898484bffef6ad8b20c02a [file] [log] [blame]
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
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.0.3.0/24'
main_storage_backend_network_cidr:
type: string
default: '10.0.4.0/24'
main_private_floating_network_cidr:
type: string
default: '10.0.5.0/24'
main_private_floating_network_interface:
type: string
default: 'ens4'
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: 'http://mirror-us.mcp.mirantis.net/.snapshots/docker-ee-bionic-latest'
# default: 'https://s3-us-west-2.amazonaws.com/internal-docker-ee-builds/docker-ee-linux/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
tunnel_interface:
type: string
default: ''
main_worker_hardware_metadata:
type: string
default: ''
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
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_network_cidr: { get_param: main_storage_frontend_network_cidr }
storage_backend_network_cidr: { get_param: main_storage_backend_network_cidr }
private_floating_network_cidr: { get_param: main_private_floating_network_cidr }
private_floating_network_interface: { get_param: main_private_floating_network_interface }
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 }
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] }
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] }
outputs:
central_site_worker_public_ip:
description: IP address of server in private network
value: { get_attr: [central_site, worker_public_ip] }
ucp_public_ip:
description: IP address of server in private network
value: { get_attr: [central_site, ucp_public_ip] }
central_site_worker_wc_data:
description: Metadata from instance
value: { get_attr: [central_site, worker_wc_data]}
rack01_cmp_public_ip:
value: { get_attr: [rack01, cmp_public_ip] }
rack02_cmp_public_ip:
value: { get_attr: [rack02, cmp_public_ip] }