blob: 49ea8be492fa63be36687b14fb7ead4a0a9dcac6 [file] [log] [blame]
---
heat_template_version: queens
description: MCP environment for heat-cicd-k8s-genie
parameters:
instance_domain:
type: string
default: heat-cicd-k8s-genie.local
mcp_version:
type: string
env_name:
type: string
control_subnet_cidr:
type: string
default: "10.6.0.0/24"
tenant_subnet_cidr:
type: string
default: "10.8.0.0/24"
external_subnet_cidr:
type: string
default: "192.168.200.0/24"
management_subnet_cidr:
type: string
default: "10.7.0.0/24"
management_subnet_cfg01_ip:
type: string
default: 10.7.0.15
management_subnet_gateway_ip:
type: string
default: 10.7.0.1
management_subnet_pool_start:
type: string
default: 10.7.0.20
management_subnet_pool_end:
type: string
default: 10.7.0.90
salt_master_control_ip:
type: string
default: 10.6.0.15
key_pair:
type: string
ctl_flavor:
type: string
cfg_flavor:
type: string
cid_flavor:
type: string
kvm_fake_flavor:
type: string
mon_flavor:
type: string
log_flavor:
type: string
mtr_flavor:
type: string
cmp_flavor:
type: string
foundation_flavor:
type: string
net_public:
type: string
foundation_image:
type: string
bm_availability_zone:
type: string
vm_availability_zone:
type: string
resources:
networks:
type: MCP::Networks
properties:
stack_name: { get_param: "OS::stack_name" }
env_name: { get_param: env_name }
subnets:
depends_on: [networks]
type: MCP::Subnets
properties:
stack_name: { get_param: "OS::stack_name" }
env_name: { get_param: env_name }
management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
control_subnet_cidr: { get_param: control_subnet_cidr }
tenant_subnet_cidr: { get_param: tenant_subnet_cidr }
external_subnet_cidr: { get_param: external_subnet_cidr }
management_subnet_cidr: { get_param: management_subnet_cidr }
management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
management_subnet_pool_start: { get_param: management_subnet_pool_start }
management_subnet_pool_end: { get_param: management_subnet_pool_end }
#flavors:
# type: MCP::Flavors
cfg01_node:
type: MCP::MasterNode
depends_on: [networks]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
cfg01_flavor: { get_param: cfg_flavor }
availability_zone: { get_param: bm_availability_zone }
management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
salt_master_control_ip: { get_param: salt_master_control_ip }
management_subnet_cfg01_ip: { get_param: management_subnet_cfg01_ip }
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '15' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '15' ]
instance_name: cfg01
instance_domain: {get_param: instance_domain}
control_cluster:
type: MCP::MultipleInstance
depends_on: [cfg01_node]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance01_name: ctl01
instance02_name: ctl02
instance03_name: ctl03
instance01_role: [k8s_controller]
instance_flavor: {get_param: ctl_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
instance01_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '11' ]
instance02_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '12' ]
instance03_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '13' ]
instance01_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '11' ]
instance02_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '12' ]
instance03_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '13' ]
instance01_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '11' ]
instance02_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '12' ]
instance03_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '13' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
fake_kvm_cluster:
type: MCP::MultipleInstance
depends_on: [control_cluster]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance01_name: kvm01
instance02_name: kvm02
instance03_name: kvm03
instance_flavor: {get_param: kvm_fake_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
instance01_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '241' ]
instance02_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '242' ]
instance03_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '243' ]
instance01_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '241' ]
instance02_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '242' ]
instance03_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '243' ]
instance01_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '241' ]
instance02_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '242' ]
instance03_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '243' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
cicd_cluster:
type: MCP::MultipleInstance
depends_on: [fake_kvm_cluster]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance01_name: cid01
instance02_name: cid02
instance03_name: cid03
instance_flavor: {get_param: cid_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
instance01_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '91' ]
instance02_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '92' ]
instance03_control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '93' ]
instance01_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '91' ]
instance02_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '92' ]
instance03_tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '93' ]
instance01_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '91' ]
instance02_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '92' ]
instance03_external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '93' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
prx01_virtual:
type: MCP::SingleInstance
depends_on: [cicd_cluster]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: prx01
instance_flavor: {get_param: cid_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '221' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '221' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '221' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
prx02_virtual:
type: MCP::SingleInstance
depends_on: [prx01_virtual]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: prx02
instance_flavor: {get_param: cid_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '222' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '222' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '222' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
cmp001_virtual:
type: MCP::Compute
depends_on: [prx02_virtual]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: cmp001
instance_flavor: {get_param: cmp_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '101' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '101' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '101' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
cmp002_virtual:
type: MCP::Compute
depends_on: [cmp001_virtual]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: cmp002
instance_flavor: {get_param: cmp_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '102' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '102' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '102' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
cmp003_virtual:
type: MCP::Compute
depends_on: [cmp002_virtual]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: cmp003
instance_flavor: {get_param: cmp_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '103' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '103' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '103' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
cmp004_virtual:
type: MCP::Compute
depends_on: [cmp003_virtual]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: cmp004
instance_flavor: {get_param: cmp_flavor}
availability_zone: { get_param: vm_availability_zone }
underlay_userdata: { get_file: ./underlay-userdata.yaml }
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '104' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '104' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '104' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
foundation_node:
type: MCP::FoundationNode
depends_on: [networks]
properties:
env_name: { get_param: env_name }
mcp_version: { get_param: mcp_version }
instance_domain: {get_param: instance_domain}
instance_name: foundation
instance_image: { get_param: foundation_image }
instance_flavor: {get_param: foundation_flavor}
availability_zone: { get_param: bm_availability_zone }
management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
management_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, management_net_prefix] }, '5' ]
control_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, control_net_prefix] }, '5' ]
tenant_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, tenant_net_prefix] }, '5' ]
external_net_static_ip:
list_join:
- '.'
- [ { get_attr: [subnets, external_net_prefix] }, '5' ]
instance_config_host: { get_attr: [cfg01_node, instance_address] }
outputs:
foundation_public_ip:
description: foundation node IP address (floating) from external network
value:
get_attr:
- foundation_node
- instance_floating_address
...