---

heat_template_version: queens

description: MCP environment for heat-bm-cicd-pike-contrail-sl

parameters:
  instance_domain:
    type: string
    default: heat-bm-cicd-pike-contrail-sl.local
  mcp_version:
    type: string
  env_name:
    type: string
  key_pair:
    type: string
  cfg_flavor:
    type: string
  vsrx_flavor:
    type: string
  foundation_image:
    type: string
  foundation_flavor:
    type: string
  bm_availability_zone:
    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: "10.9.0.0/24"
  management_subnet_cidr:
    type: string
    default: "172.16.164.0/26"
  management_subnet_cfg01_ip:
    type: string
    default: 172.16.164.2
  management_subnet_gateway_ip:
    type: string
    default: 172.16.164.1
  management_subnet_pool_start:
    type: string
    default: 172.16.164.3
  management_subnet_pool_end:
    type: string
    default: 172.16.164.61
  salt_master_control_ip:
    type: string
    default: 10.6.0.15
  deploy_empty_node:
    type: boolean
    default: False

resources:
  subnets:
    type: MCP::Subnets
    properties:
      stack_name: { get_param: "OS::stack_name" }
      env_name: { get_param: env_name }
      management_net: 'system-phys-2401'
      control_net: 'system-phys-2404'
      tenant_net: 'system-phys-2406'
      external_net: 'system-phys-2403'
      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: [subnets]
    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: 'system-phys-2401'
      control_net: 'system-phys-2404'
      tenant_net: 'system-phys-2406'
      external_net: 'system-phys-2403'
      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}

  foundation_node:
    type: MCP::FoundationNode
    depends_on: [subnets]
    properties:
      env_name: { get_param: env_name }
      mcp_version: { get_param: mcp_version }
      instance_domain: {get_param: instance_domain}
      instance_name: foundation
      availability_zone: { get_param: bm_availability_zone }
      management_net: 'system-phys-2401'
      control_net: 'system-phys-2404'
      tenant_net: 'system-phys-2406'
      external_net: 'system-phys-2403'
      management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
      instance_image: { get_param: foundation_image }
      instance_flavor: {get_param: foundation_flavor}
      underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
      management_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, management_net_prefix] }, '62' ]
      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] }

  vsrx_node:
    type: MCP::VsrxNode
    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: vsrx
      instance_flavor: {get_param: vsrx_flavor}
      availability_zone: { get_param: bm_availability_zone }
      management_net: 'system-phys-2401'
      control_net: 'system-phys-2404'
      tenant_net: 'system-phys-2406'
      external_net: 'system-phys-2403'
      instance_image: system_vsrx-12.1X46-D20.5
      control_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, control_net_prefix] }, '220' ]
      tenant_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, tenant_net_prefix] }, '220' ]
      external_net_static_ip:
        list_join:
        - '.'
        - [ { get_attr: [subnets, external_net_prefix] }, '220' ]
      instance_config_host: { get_attr: [cfg01_node, instance_address] }

outputs:
  foundation_public_ip:
    description: foundation node IP address (management)
    value:
      get_attr:
      - foundation_node
      - instance_address
...
