#
# 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:
      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 }
            __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],
            ]
            __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 }
            __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: 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: 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: 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: 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

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

