| --- |
| |
| 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 |
| ... |