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

  gerrit_branch:
    type: string
    default: "master"

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

  docker_manifest:
    type: string
    default: "docker-manifest.csv"

  key_name:
    type: string
    default: "onap_key"

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:
      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: 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 }
            __gerrit_branch__: { get_param: gerrit_branch }
            __gerrit_refspec__: { get_param: gerrit_refspec }
            __docker_manifest__: { get_param: docker_manifest }
            __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],
            ]
            __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],
            ]
  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: 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 }
            __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: 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 }
            __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: 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 }
            __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: 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 }
            __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: 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 }
            __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] }

