##############################################################################
# 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
##############################################################################
---
# Sample benchmark task config file
# measure storage performance using fio
# can be used both on Openstack and Kubernetes with "context_type"
#
# For this sample just like running the command below on the test vm and
# getting benchmark info back to the yardstick.
#
# sudo fio -filename=/home/ubuntu/data.raw -bs=4k -ipdepth=1 -rw=rw \
#          -ramp_time=10 -runtime=60 -name=yardstick-fio -ioengine=libaio \
#          -direct=1 -group_reporting -numjobs=1 -time_based \
#          --output-format=json

{% set context_type = context_type or "Heat" %}
{% set separator = separator or "." %}
{% if context_type == "Kubernetes" %}
{% set separator = "-" %}
{% endif %}

schema: "yardstick:task:0.1"

scenarios:
-
  type: Fio
  options:
    filename: /tmp/data.raw
    bs: 4k
    iodepth: 1
    rw: rw
    ramp_time: 10
  host: fio{{ separator }}demo
  runner:
    type: Duration
    duration: 60
    interval: 1
  sla:
    read_bw: 6000
    read_iops: 1500
    read_lat: 500.1
    write_bw: 6000
    write_iops: 1500
    write_lat: 500.1
    action: monitor

context:
  type: {{ context_type }}
  name: demo
  {% if context_type == "Kubernetes" %}

  servers:
    fio:
      image: opnfv/yardstick-image-k8s
      resources:
        limits:
          cpu: 1
          memory: 1Gi
        requests:
          cpu: 1
          memory: 1Gi
      command: /bin/bash
      args: ['-c', 'mkdir /root/.ssh; cp /tmp/.ssh/authorized_keys ~/.ssh/.;
                    chmod 700 ~/.ssh; chmod 600 ~/.ssh/*; service ssh restart;
                    while true ; do sleep 10000; done']
  {% else %}
  image: yardstick-image
  flavor: yardstick-flavor
  user: ubuntu
  servers:
    fio:
      floating_ip: true
  networks:
    test:
      cidr: "10.0.1.0/24"
  {% endif %}