Asma Syed Hameed 934eaf78af Add stress-ng plugin to run workloads within vms
The aim of this patch is to not only spawn a bunch of
vm's but also run some stress test inside the vm's.The
patch creates jumphost on network with fip and all
other vm's on the same neutron network so that jumphost
can access the other vm's and run the stress tests.

You need to set the following params to run this plugin:
- specify the external network in browbeat-config.yaml
- In the group_vars/all.yml install_browbeat_workloads: true,
  browbeat_network, in browbeat-workloads enable stress-ng

Change-Id: Ica15af5de0c60916fd89661fb411e4bd10382b8f
2022-03-29 15:58:58 +05:30

52 lines
1.6 KiB
YAML

{% set flavor_name = flavor_name or "m1.small" %}
{% set image_name = image_name or "browbeat-stress-ng" %}
{% set username = username or "centos7" %}
{% set num_clients = num_clients or 2 %}
{% set cpu = cpu or 4 %}
{% set io = io or 2 %}
{% set password = password or 'None' %}
{% set vm = vm or 1 %}
{% set vm_bytes = vm_bytes or "1G" %}
{% set timeout = timeout or "60s" %}
{% set ssh_timeout = ssh_timeout or 120 %}
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
{% set sla_max_failure = sla_max_failure or 0 %}
{% set sla_max_seconds = sla_max_seconds or 60 %}
---
BrowbeatPlugin.stress_ng:
-
args:
flavor:
name: "{{flavor_name}}"
image:
name: "{{image_name}}"
floating_network: "{{external_network}}"
username: "{{username}}"
ssh_timeout: {{ssh_timeout}}
num_clients: {{num_clients}}
command: "stress-ng --cpu {{cpu}} --io {{io}} --vm {{vm}} --vm-bytes {{vm_bytes}} --timeout {{timeout}} --metrics-brief"
runner:
type: "constant"
times: {{times}}
concurrency: {{concurrency}}
context:
users:
tenants: 3
users_per_tenant: 2
network: {}
quotas:
neutron:
network: -1
port: -1
router: -1
subnet: -1
nova:
instances: -1
cores: -1
ram: -1
sla:
max_avg_duration: {{sla_max_avg_duration}}
max_seconds_per_iteration: {{sla_max_seconds}}
failure_rate:
max: {{sla_max_failure}}