From c2d65daf876dca1c9bade1e7fa91653251c0c01b Mon Sep 17 00:00:00 2001 From: kubi Date: Wed, 19 Aug 2015 06:19:25 -0400 Subject: add support for Jinja2 in task file Add support in task file for the template syntax based on Jinja2. JIRA:YARDSTICK-101 Change-Id: I24be133ba590510612d97a1fce6c024e6edb57e4 Signed-off-by: kubi --- samples/fio-template.yaml | 40 +++++++++++++++++++++++++++++++++++++ samples/ping-template.yaml | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 samples/fio-template.yaml create mode 100644 samples/ping-template.yaml (limited to 'samples') diff --git a/samples/fio-template.yaml b/samples/fio-template.yaml new file mode 100644 index 000000000..940446b56 --- /dev/null +++ b/samples/fio-template.yaml @@ -0,0 +1,40 @@ +# Sample benchmark task config file +# measure storage performance using fio +# Jinja2 Syntax is supported +# using built-in functions ( Jinja2 for-endfor construct ) to test complex tasks +# Test block sizes of 4KB, 8KB, 64KB, 1MB +# Test 5 workloads: 4 corners and 1 mixed :read, write, randwrite, randread, rw +schema: "yardstick:task:0.1" + +scenarios: +{% for rw in ['read', 'write', 'randwrite', 'randread', 'rw'] %} + {% for bs in ['4k', '8k', '64k', '1024k'] %} +- + type: Fio + options: + filename: /home/ec2-user/data.raw + bs: {{bs}} + rw: {{rw}} + ramp_time: 10 + duration: 20 + host: fio.demo + runner: + type: Iteration + iterations: 2 + interval: 1 + {% endfor %} +{% endfor %} + +context: + name: demo + image: yardstick-trusty-server + flavor: yardstick-flavor + user: ec2-user + servers: + fio: + floating_ip: true + networks: + test: + cidr: "10.0.1.0/24" + external_network: "net04_ext" + diff --git a/samples/ping-template.yaml b/samples/ping-template.yaml new file mode 100644 index 000000000..3f10218ab --- /dev/null +++ b/samples/ping-template.yaml @@ -0,0 +1,49 @@ +# Sample benchmark task config file +# measure network latency using ping +# Jinja2 Syntax is supported +# parameterize this task, {{packetsize}} is passed to the scenario as an argument +# If you don't pass the value for {{packetsize}} while starting a task, +# the default one will be used. + + +schema: "yardstick:task:0.1" +{% set packetsize = packetsize or "100" %} +scenarios: +- + type: Ping + options: + packetsize: {{packetsize}} + host: athena.demo + target: ares.demo + + runner: + type: Duration + duration: 60 + interval: 1 + + sla: + max_rtt: 10 + action: monitor + +context: + name: demo + image: cirros-0.3.3 + flavor: m1.tiny + user: cirros + + placement_groups: + pgrp1: + policy: "availability" + + servers: + athena: + floating_ip: true + placement: "pgrp1" + ares: + placement: "pgrp1" + + networks: + test: + cidr: '10.0.1.0/24' + external_network: "net04_ext" + -- cgit 1.2.3-korg