---

heat_template_version: queens

description: MCP environment for released-heat-cicd-pike-dvr-sl

parameters:
  instance_domain:
    type: string
    default: released-heat-cicd-pike-dvr-sl.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
  dbs_flavor:
    type: string
  msg_flavor:
    type: string
  mon_flavor:
    type: string
  log_flavor:
    type: string
  mtr_flavor:
    type: string
  cmp_flavor:
    type: string
  foundation_flavor:
    type: string
  cmn_flavor:
    type: string
  rgw_flavor:
    type: string
  osd_flavor:
    type: string
  gtw_flavor:
    type: string
  dns_flavor:
    type: string
  kmn_flavor:
    type: string
  prx_flavor:
    type: string
  mdb_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
      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] }

  openstack_database_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: dbs01
      instance02_name: dbs02
      instance03_name: dbs03
      instance_flavor: {get_param: dbs_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] }, '51' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '52' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '53' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '51' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '52' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '53' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '51' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '52' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '53' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  fake_kvm_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: 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] }

  openstack_message_queue_cluster:
    type: MCP::MultipleInstance
    depends_on: [openstack_database_cluster]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance01_name: msg01
      instance02_name: msg02
      instance03_name: msg03
      instance_flavor: {get_param: msg_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] }, '41' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '42' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '43' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '41' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '42' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '43' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '41' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '42' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '43' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  cicd_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: 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] }

  stacklight_monitor_cluster:
    type: MCP::MultipleInstance
    depends_on: [openstack_message_queue_cluster]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance01_name: mon01
      instance02_name: mon02
      instance03_name: mon03
      instance_flavor: {get_param: mon_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] }, '71' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '72' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '73' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '71' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '72' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '73' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '71' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '72' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '73' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  stacklight_log_cluster:
    type: MCP::MultipleInstance
    depends_on: [stacklight_monitor_cluster]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance01_name: log01
      instance02_name: log02
      instance03_name: log03
      instance_flavor: {get_param: log_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] }, '61' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '62' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '63' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '61' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '62' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '63' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '61' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '62' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '63' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  stacklight_mtr_cluster:
    type: MCP::MultipleInstance
    depends_on: [stacklight_log_cluster]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance01_name: mtr01
      instance02_name: mtr02
      instance03_name: mtr03
      instance_flavor: {get_param: mtr_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] }, '97' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '98' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '99' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '97' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '98' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '99' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '97' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '98' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '99' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  prx01_virtual:
    type: MCP::SingleInstance
    depends_on: [control_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: prx_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] }, '81' ]
      tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '81' ]
      external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '81' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  prx02_virtual:
    type: MCP::SingleInstance
    depends_on: [control_cluster]
    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: prx_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] }, '82' ]
      tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '82' ]
      external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '82' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  cmp001_virtual:
    type: MCP::Compute
    depends_on: [cfg01_node]
    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: [cfg01_node]
    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] }

  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] }

  ceph_cmn_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: cmn01
      instance02_name: cmn02
      instance03_name: cmn03
      instance_flavor: {get_param: cmn_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] }, '66' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '67' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '68' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '66' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '67' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '68' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '66' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '67' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '68' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  ceph_rgw_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: rgw01
      instance02_name: rgw02
      instance03_name: rgw03
      instance_flavor: {get_param: rgw_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] }, '76' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '77' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '78' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '76' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '77' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '78' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '76' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '77' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '78' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  ceph_osd_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: osd001
      instance02_name: osd002
      instance03_name: osd003
      instance_flavor: {get_param: osd_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] }, '201' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '202' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '203' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '201' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '202' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '203' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '201' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '202' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '203' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  openstack_gtw_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: gtw01
      instance02_name: gtw02
      instance03_name: gtw03
      instance_flavor: {get_param: gtw_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] }, '224' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '225' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '226' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '224' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '225' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '226' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '224' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '225' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '226' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  openstack_barbican_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: kmn01
      instance02_name: kmn02
      instance03_name: kmn03
      instance_flavor: {get_param: kmn_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] }, '45' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '46' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '47' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '45' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '46' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '47' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '45' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '46' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '47' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  dns01_virtual:
    type: MCP::SingleInstance
    depends_on: [control_cluster]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance_name: dns01
      instance_flavor: {get_param: dns_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] }, '113' ]
      tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '113' ]
      external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '113' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  dns02_virtual:
    type: MCP::SingleInstance
    depends_on: [control_cluster]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance_name: dns02
      instance_flavor: {get_param: dns_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] }, '114' ]
      tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '114' ]
      external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '114' ]

      instance_config_host: { get_attr: [cfg01_node, instance_address] }

  openstack_telemetry_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: mdb01
      instance02_name: mdb02
      instance03_name: mdb03
      instance_flavor: {get_param: mdb_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] }, '84' ]
      instance02_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '85' ]
      instance03_control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '86' ]
      instance01_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '84' ]
      instance02_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '85' ]
      instance03_tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '86' ]
      instance01_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '84' ]
      instance02_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '85' ]
      instance03_external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '86' ]

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