##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others..
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

---

schema: "yardstick:task:0.1"
description: >
    bottlenecks stress test config file;
    measure VMs latency using ping;
run_in_parallel: true
{% set stack_num = stack_num or 1 %}
{% set image_name = image_name or "yardstick-image" %}
{% set cpu_num = cpu_num or 1 %}
{% set ram_num = ram_num or 512 %}
{% set disk_num = disk_num or 7 %}
{% set dpdk_enabled = dpdk_enabled or False %}

scenarios:
{% for num in range(stack_num) %}
-
  type: Ping
  options:
    packetsize: 100
  host: demo1.demo{{num}}
  target: demo2.demo{{num}}
  runner:
    type: Duration
    duration: 60
    interval: 1
{% endfor %}

contexts:
{% for num in range(stack_num) %}
-
  name: demo{{num}}
  image: {{image_name}}
  flavor:
    vcpus: {{cpu_num}}
    ram: {{ram_num}}
    disk: {{disk_num}}
    {% if dpdk_enabled %}
    extra_specs:
      hw:mem_page_size: "large"
    {% endif %}
  user: ubuntu
  security_group:
    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"

  placement_groups:
    pgrp1:
      policy: "availability"

  servers:
    demo1:
      floating_ip: true
      placement: "pgrp1"
    demo2:
      placement: "pgrp1"

  networks:
    test:
      cidr: '10.0.1.0/24'
{% endfor %}