heat_template_version: 2013-05-23

description:
  This Heat template creates a new Neutron network, a router to the external
  network and plugs instances into this new network. All instances are located
  in the same L2 domain.

parameters:
  image:
    type: string
    description: Name of image to use for servers
  flavor:
    type: string
    description: Flavor to use for servers
  external_net:
    type: string
    description: ID or name of external network
  server_endpoint:
    type: string
    description: Server endpoint address
  dns_nameservers:
    type: comma_delimited_list
    description: DNS nameservers for the subnet

resources:
  qos_policy:
    type: OS::Neutron::QoSPolicy

  bandwidth_limit_rule:
    type: OS::Neutron::QoSBandwidthLimitRule
    properties:
      policy: { get_resource: qos_policy }
      max_kbps: 10000
      max_burst_kbps: 10000

  private_net:
    type: OS::Neutron::Net
    properties:
      name: {{ unique }}_net
      qos_policy: { get_resource: qos_policy }

  private_subnet:
    type: OS::Neutron::Subnet
    properties:
      network_id: { get_resource: private_net }
      cidr: 10.0.0.0/16
      dns_nameservers: { get_param: dns_nameservers }

  router:
    type: OS::Neutron::Router
    properties:
      external_gateway_info:
        network: { get_param: external_net }

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

  server_security_group:
    type: OS::Neutron::SecurityGroup
    properties:
      rules: [
        {remote_ip_prefix: 0.0.0.0/0,
        protocol: tcp,
        port_range_min: 1,
        port_range_max: 65535},
        {remote_ip_prefix: 0.0.0.0/0,
        protocol: udp,
        port_range_min: 1,
        port_range_max: 65535},
        {remote_ip_prefix: 0.0.0.0/0,
        protocol: icmp}]

{% for agent in agents.values() %}

  {{ agent.id }}:
    type: OS::Nova::Server
    properties:
      name: {{ agent.id }}
      image: { get_param: image }
      flavor: { get_param: flavor }
      availability_zone: "{{ agent.availability_zone }}"
      networks:
        - port: { get_resource: {{ agent.id }}_port }
      user_data_format: RAW
      user_data:
        str_replace:
          template: |
            #!/bin/sh
            screen -dmS shaker-agent-screen shaker-agent --server-endpoint=$SERVER_ENDPOINT --agent-id=$AGENT_ID
          params:
            "$SERVER_ENDPOINT": { get_param: server_endpoint }
            "$AGENT_ID": {{ agent.id }}

  {{ agent.id }}_port:
    type: OS::Neutron::Port
    properties:
      network_id: { get_resource: private_net }
      fixed_ips:
        - subnet_id: { get_resource: private_subnet }
      security_groups: [{ get_resource: server_security_group }]

{% endfor %}

outputs:
{% for agent in agents.values() %}
  {{ agent.id }}_instance_name:
    value: { get_attr: [ {{ agent.id }}, instance_name ] }
  {{ agent.id }}_ip:
    value: { get_attr: [ {{ agent.id }}, networks, { get_attr: [private_net, name] }, 0 ] }
{% endfor %}
