#
# Generated by scripts/gen-onap-oom-yaml.sh; MANUAL CHANGES WILL BE LOST
#
heat_template_version: 2015-10-15
description: ONAP on Kubernetes using OOM

parameters:
  docker_proxy:
    type: string

  apt_proxy:
    type: string

  public_net_id:
    type: string
    description: The ID of the Public network for floating IP address allocation

  oam_network_cidr:
    type: string
    description: CIDR of the OAM ONAP network

  ubuntu_1604_image:
    type: string
    description: Name of the Ubuntu 16.04 image

  rancher_vm_flavor:
    type: string
    description: VM flavor for Rancher

  k8s_vm_flavor:
    type: string
    description: VM flavor for k8s hosts

  integration_override_yaml:
    type: string
    description: Content for integration_override.yaml

  integration_gerrit_branch:
    type: string
    default: "master"

  integration_gerrit_refspec:
    type: string
    default: "refs/heads/master"

  oom_gerrit_branch:
    type: string
    default: "master"

  oom_gerrit_refspec:
    type: string
    default: "refs/heads/master"

  docker_manifest:
    type: string
    default: ""

  key_name:
    type: string
    default: "onap_key"

  docker_version:
    type: string
    default: "17.03"

  rancher_version:
    type: string
    default: "1.6.18"

  rancher_agent_version:
    type: string
    default: "1.2.10"

  kubectl_version:
    type: string
    default: "1.8.10"

  helm_version:
    type: string
    default: "2.9.1"

resources:
  random-str:
    type: OS::Heat::RandomString
    properties:
      length: 4

  # ONAP security group
  onap_sg:
    type: OS::Neutron::SecurityGroup
    properties:
      name:
        str_replace:
          template: base_rand
          params:
            base: onap_sg
            rand: { get_resource: random-str }
      description: security group used by ONAP
      rules:
        # All egress traffic
        - direction: egress
          ethertype: IPv4
        - direction: egress
          ethertype: IPv6
        # ingress traffic
        # ICMP
        - protocol: icmp
        - protocol: udp
          port_range_min: 1
          port_range_max: 65535
        - protocol: tcp
          port_range_min: 1
          port_range_max: 65535


  # ONAP management private network
  oam_network:
    type: OS::Neutron::Net
    properties:
      name:
        str_replace:
          template: oam_network_rand
          params:
            rand: { get_resource: random-str }

  oam_subnet:
    type: OS::Neutron::Subnet
    properties:
      name:
        str_replace:
          template: oam_network_rand
          params:
            rand: { get_resource: random-str }
      network_id: { get_resource: oam_network }
      cidr: { get_param: oam_network_cidr }
      dns_nameservers: [ "8.8.8.8" ]

  router:
    type: OS::Neutron::Router
    properties:
      name:
        list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
      external_gateway_info:
        network: { get_param: public_net_id }

  router_interface:
    type: OS::Neutron::RouterInterface
    properties:
      router_id: { get_resource: router }
      subnet_id: { get_resource: oam_subnet }

  rancher_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  rancher_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: rancher_private_port }

  rancher_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [{ get_param: 'OS::stack_name' }, 'rancher']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: rancher_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: rancher_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          template:
            get_file: rancher_vm_entrypoint.sh
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
            __integration_override_yaml__: { get_param: integration_override_yaml }
            __integration_gerrit_branch__: { get_param: integration_gerrit_branch }
            __integration_gerrit_refspec__: { get_param: integration_gerrit_refspec }
            __oom_gerrit_branch__: { get_param: oom_gerrit_branch }
            __oom_gerrit_refspec__: { get_param: oom_gerrit_refspec }
            __docker_manifest__: { get_param: docker_manifest }
            __docker_version__: { get_param: docker_version }
            __rancher_version__: { get_param: rancher_version }
            __rancher_agent_version__: { get_param: rancher_agent_version }
            __kubectl_version__: { get_param: kubectl_version }
            __helm_version__: { get_param: helm_version }
            __public_net_id__: { get_param: public_net_id }
            __oam_network_cidr__: { get_param: oam_network_cidr }
            __oam_network_id__: { get_resource: oam_network }
            __oam_subnet_id__: { get_resource: oam_subnet }
            __k8s_1_vm_ip__: { get_attr: [k8s_1_floating_ip, floating_ip_address] }
            __k8s_vm_ips__: [
              get_attr: [k8s_1_floating_ip, floating_ip_address],
              get_attr: [k8s_2_floating_ip, floating_ip_address],
              get_attr: [k8s_3_floating_ip, floating_ip_address],
              get_attr: [k8s_4_floating_ip, floating_ip_address],
              get_attr: [k8s_5_floating_ip, floating_ip_address],
              get_attr: [k8s_6_floating_ip, floating_ip_address],
              get_attr: [k8s_7_floating_ip, floating_ip_address],
              get_attr: [k8s_8_floating_ip, floating_ip_address],
              get_attr: [k8s_9_floating_ip, floating_ip_address],
              get_attr: [k8s_10_floating_ip, floating_ip_address],
              get_attr: [k8s_11_floating_ip, floating_ip_address],
            ]
            __k8s_private_ips__: [
              get_attr: [k8s_1_floating_ip, fixed_ip_address],
              get_attr: [k8s_2_floating_ip, fixed_ip_address],
              get_attr: [k8s_3_floating_ip, fixed_ip_address],
              get_attr: [k8s_4_floating_ip, fixed_ip_address],
              get_attr: [k8s_5_floating_ip, fixed_ip_address],
              get_attr: [k8s_6_floating_ip, fixed_ip_address],
              get_attr: [k8s_7_floating_ip, fixed_ip_address],
              get_attr: [k8s_8_floating_ip, fixed_ip_address],
              get_attr: [k8s_9_floating_ip, fixed_ip_address],
              get_attr: [k8s_10_floating_ip, fixed_ip_address],
              get_attr: [k8s_11_floating_ip, fixed_ip_address],
            ]
  k8s_1_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_1_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_1_private_port }

  k8s_1_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_1']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_1_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_2_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_2_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_2_private_port }

  k8s_2_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_2']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_2_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_3_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_3_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_3_private_port }

  k8s_3_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_3']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_3_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_4_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_4_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_4_private_port }

  k8s_4_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_4']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_4_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_5_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_5_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_5_private_port }

  k8s_5_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_5']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_5_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_6_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_6_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_6_private_port }

  k8s_6_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_6']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_6_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_7_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_7_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_7_private_port }

  k8s_7_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_7']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_7_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_8_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_8_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_8_private_port }

  k8s_8_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_8']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_8_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_9_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_9_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_9_private_port }

  k8s_9_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_9']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_9_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_10_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_10_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_10_private_port }

  k8s_10_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_10']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_10_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

  k8s_11_private_port:
    type: OS::Neutron::Port
    properties:
      network: { get_resource: oam_network }
      fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
      security_groups:
      - { get_resource: onap_sg }

  k8s_11_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network_id: { get_param: public_net_id }
      port_id: { get_resource: k8s_11_private_port }

  k8s_11_vm:
    type: OS::Nova::Server
    properties:
      name:
        list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s_11']]
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: { get_param: key_name }
      networks:
      - port: { get_resource: k8s_11_private_port }
      user_data_format: RAW
      user_data:
        str_replace:
          params:
            __docker_proxy__: { get_param: docker_proxy }
            __apt_proxy__: { get_param: apt_proxy }
            __docker_version__: { get_param: docker_version }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
            __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
          template:
            get_file: k8s_vm_entrypoint.sh

outputs:
  rancher_vm_ip:
    description: The IP address of the rancher instance
    value: { get_attr: [rancher_floating_ip, floating_ip_address] }

  k8s_1_vm_ip:
    description: The IP address of the k8s_1 instance
    value: { get_attr: [k8s_1_floating_ip, floating_ip_address] }

  k8s_2_vm_ip:
    description: The IP address of the k8s_2 instance
    value: { get_attr: [k8s_2_floating_ip, floating_ip_address] }

  k8s_3_vm_ip:
    description: The IP address of the k8s_3 instance
    value: { get_attr: [k8s_3_floating_ip, floating_ip_address] }

  k8s_4_vm_ip:
    description: The IP address of the k8s_4 instance
    value: { get_attr: [k8s_4_floating_ip, floating_ip_address] }

  k8s_5_vm_ip:
    description: The IP address of the k8s_5 instance
    value: { get_attr: [k8s_5_floating_ip, floating_ip_address] }

  k8s_6_vm_ip:
    description: The IP address of the k8s_6 instance
    value: { get_attr: [k8s_6_floating_ip, floating_ip_address] }

  k8s_7_vm_ip:
    description: The IP address of the k8s_7 instance
    value: { get_attr: [k8s_7_floating_ip, floating_ip_address] }

  k8s_8_vm_ip:
    description: The IP address of the k8s_8 instance
    value: { get_attr: [k8s_8_floating_ip, floating_ip_address] }

  k8s_9_vm_ip:
    description: The IP address of the k8s_9 instance
    value: { get_attr: [k8s_9_floating_ip, floating_ip_address] }

  k8s_10_vm_ip:
    description: The IP address of the k8s_10 instance
    value: { get_attr: [k8s_10_floating_ip, floating_ip_address] }

  k8s_11_vm_ip:
    description: The IP address of the k8s_11 instance
    value: { get_attr: [k8s_11_floating_ip, floating_ip_address] }

