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

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: onap_key
      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] }
            __integration_override_yaml__: { get_param: integration_override_yaml }
            __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],
            ]
  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: onap_key
      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] }
          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: onap_key
      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] }
          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: onap_key
      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] }
          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: onap_key
      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] }
          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: onap_key
      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] }
          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: k8s_6
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: onap_key
      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 }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: k8s_7
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: onap_key
      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 }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: k8s_8
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: onap_key
      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 }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: k8s_9
      image: { get_param: ubuntu_1604_image }
      flavor: { get_param: k8s_vm_flavor }
      key_name: onap_key
      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 }
            __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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] }

