Upgrade Rally to 0.9.1
Migrated plugins and cleaned up config files and improved ease of running some scenarios/plugins. Change-Id: If76ce233f3067b85aa086be7f615dbb900a1bcb9
This commit is contained in:
@@ -31,7 +31,7 @@ browbeat_venv: "{{browbeat_path}}/.browbeat-venv"
|
|||||||
rally_venv: "{{browbeat_path}}/.rally-venv"
|
rally_venv: "{{browbeat_path}}/.rally-venv"
|
||||||
|
|
||||||
# Rally version to install
|
# Rally version to install
|
||||||
rally_version: 0.8.1
|
rally_version: 0.9.1
|
||||||
|
|
||||||
# The default Shaker venv
|
# The default Shaker venv
|
||||||
shaker_venv: "{{browbeat_path}}/.shaker-venv"
|
shaker_venv: "{{browbeat_path}}/.shaker-venv"
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 3
|
rerun: 3
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -38,8 +38,6 @@ rally:
|
|||||||
venv: /home/stack/rally-venv
|
venv: /home/stack/rally-venv
|
||||||
plugins:
|
plugins:
|
||||||
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
||||||
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
|
||||||
- subnet-router-create: rally/rally-plugins/subnet-router-create
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -119,13 +117,15 @@ rally:
|
|||||||
scenarios:
|
scenarios:
|
||||||
- name: netcreate-1-boot
|
- name: netcreate-1-boot
|
||||||
enabled: true
|
enabled: true
|
||||||
|
enable_dhcp: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.tiny
|
||||||
file: rally/rally-plugins/netcreate-boot/netcreate_boot.yml
|
|
||||||
num_networks: 1
|
num_networks: 1
|
||||||
|
file: rally/rally-plugins/netcreate-boot/netcreate_nova_boot.yml
|
||||||
- name: netcreate-5-boot
|
- name: netcreate-5-boot
|
||||||
enabled: true
|
enabled: true
|
||||||
|
enable_dhcp: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.tiny
|
||||||
file: rally/rally-plugins/netcreate-boot/netcreate_boot.yml
|
|
||||||
num_networks: 5
|
num_networks: 5
|
||||||
|
file: rally/rally-plugins/netcreate-boot/netcreate_nova_boot.yml
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Tests to be completed for the install-and-check.sh script minimal and short workloads are performed
|
# Tests to be completed for the install-and-check.sh script minimal and short workloads are performed
|
||||||
# to confirm functionality.
|
# to confirm functionality.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -40,59 +40,47 @@ rally:
|
|||||||
venv: /home/stack/rally-venv
|
venv: /home/stack/rally-venv
|
||||||
plugins:
|
plugins:
|
||||||
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
||||||
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
|
||||||
- subnet-router-create: rally/rally-plugins/subnet-router-create
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: authentic-keystone
|
- name: authentic-keystone
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/authenticate/keystone-cc.yml
|
file: rally/authenticate/keystone-cc.yml
|
||||||
sla_max_avg_duration: 6
|
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: cinder
|
- name: cinder
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-attach-volume-centos
|
- name: create-attach-volume-centos
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/cinder/cinder-create-and-attach-volume-cc.yml
|
file: rally/cinder/cinder-create-and-attach-volume-cc.yml
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: keystonebasic
|
- name: keystonebasic
|
||||||
enabled: false
|
enabled: false
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-and-list-tenants
|
- name: create-and-list-tenants
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/keystonebasic/create_and_list_tenants-cc.yml
|
file: rally/keystonebasic/create_and_list_tenants-cc.yml
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
times: 50
|
|
||||||
- name: neutron
|
- name: neutron
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-list-network
|
- name: create-list-network
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/neutron/neutron-create-list-network-cc.yml
|
file: rally/neutron/neutron-create-list-network-cc.yml
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: nova
|
- name: nova
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: boot-snapshot-delete
|
- name: boot-snapshot-delete
|
||||||
@@ -103,14 +91,13 @@ rally:
|
|||||||
- name: plugins
|
- name: plugins
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: netcreate-boot
|
- name: netcreate-1-boot
|
||||||
enabled: true
|
enabled: true
|
||||||
|
enable_dhcp: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.tiny
|
||||||
file: rally/rally-plugins/netcreate-boot/netcreate_boot.yml
|
num_networks: 1
|
||||||
sla_max_avg_duration: 12
|
file: rally/rally-plugins/netcreate-boot/netcreate_nova_boot.yml
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Tests to be compleated for the install-and-check.sh script minimal and short workloads are performed
|
# Tests to be compleated for the install-and-check.sh script minimal and short workloads are performed
|
||||||
# to confirm functionality.
|
# to confirm functionality.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Tests to be compleated for the install-and-check.sh script minimal and short workloads are performed
|
# Tests to be compleated for the install-and-check.sh script minimal and short workloads are performed
|
||||||
# to confirm functionality.
|
# to confirm functionality.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: {{ browbeat_cloud_name }}
|
cloud_name: {{ browbeat_cloud_name }}
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Complete set of Stress Tests, this can take a long time (day(s))
|
# Complete set of Stress Tests, this can take a long time (day(s))
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 3
|
rerun: 3
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -55,11 +55,10 @@ rally:
|
|||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
plugins:
|
plugins:
|
||||||
|
- glance: rally/rally-plugins/glance
|
||||||
|
- neutron: rally/rally-plugins/neutron
|
||||||
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
||||||
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
- workloads: rally/rally-plugins/workloads
|
||||||
- subnet-router-create: rally/rally-plugins/subnet-router-create
|
|
||||||
- glance-create-boot-delete: rally/rally-plugins/glance-create-boot-delete
|
|
||||||
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -124,15 +123,9 @@ rally:
|
|||||||
file: rally/keystonebasic/create_and_list_tenants-cc.yml
|
file: rally/keystonebasic/create_and_list_tenants-cc.yml
|
||||||
sla_max_seconds: 30
|
sla_max_seconds: 30
|
||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
times: 5000
|
|
||||||
concurrency:
|
|
||||||
- 256
|
|
||||||
- name: create-and-list-users
|
- name: create-and-list-users
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/keystonebasic/create_and_list_users-cc.yml
|
file: rally/keystonebasic/create_and_list_users-cc.yml
|
||||||
times: 5000
|
|
||||||
concurrency:
|
|
||||||
- 256
|
|
||||||
sla_max_seconds: 30
|
sla_max_seconds: 30
|
||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
- name: neutron
|
- name: neutron
|
||||||
@@ -185,31 +178,26 @@ rally:
|
|||||||
file: rally/nova/nova-boot-snapshot-cc.yml
|
file: rally/nova/nova-boot-snapshot-cc.yml
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-list-cirros
|
- name: boot-list-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-boot-list-cc.yml
|
file: rally/nova/nova-boot-list-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-show-cirros
|
- name: boot-show-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-boot-show-cc.yml
|
file: rally/nova/nova-boot-show-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-bounce-delete-cirros
|
- name: boot-bounce-delete-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-boot-bounce-delete-cc.yml
|
file: rally/nova/nova-boot-bounce-delete-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-lock-unlock-cirros
|
- name: boot-lock-unlock-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-lock-unlock-cc.yml
|
file: rally/nova/nova-lock-unlock-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: glance
|
- name: glance
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
@@ -218,18 +206,18 @@ rally:
|
|||||||
scenarios:
|
scenarios:
|
||||||
- name: create-image-boot-instances
|
- name: create-image-boot-instances
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
instances: 2
|
instances: 2
|
||||||
flavor_name: m1.small
|
flavor_name: m1.small
|
||||||
file: rally/glance/create-image-and-boot-instances-cc.yml
|
file: rally/glance/create-image-and-boot-instances-cc.yml
|
||||||
- name: create-and-delete-image
|
- name: create-and-delete-image
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
flavor_name: m1.small
|
flavor_name: m1.small
|
||||||
file: rally/glance/create-and-delete-image-cc.yml
|
file: rally/glance/create-and-delete-image-cc.yml
|
||||||
- name: create-and-list-image
|
- name: create-and-list-image
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
file: rally/glance/create-and-list-image-cc.yml
|
file: rally/glance/create-and-list-image-cc.yml
|
||||||
- name: list-images
|
- name: list-images
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -245,21 +233,22 @@ rally:
|
|||||||
scenarios:
|
scenarios:
|
||||||
- name: netcreate-boot
|
- name: netcreate-boot
|
||||||
enabled: true
|
enabled: true
|
||||||
|
enable_dhcp: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.tiny
|
||||||
file: rally/rally-plugins/netcreate-boot/netcreate_boot.yml
|
file: rally/rally-plugins/netcreate-boot/netcreate_nova_boot.yml
|
||||||
sla_max_avg_duration: 12
|
sla_max_avg_duration: 12
|
||||||
sla_max_seconds: 30
|
sla_max_seconds: 30
|
||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
- name: subnet-router-create
|
- name: router-subnet-create-delete
|
||||||
enabled: true
|
enabled: true
|
||||||
num_networks: 50
|
num_networks: 50
|
||||||
file: rally/rally-plugins/subnet-router-create/subnet-router-create.yml
|
file: rally/rally-plugins/neutron/router_subnet_create_delete.yml
|
||||||
- name: glance-create-boot-delete
|
- name: glance-create-boot-delete
|
||||||
enabled: true
|
enabled: true
|
||||||
flavor_name: m1.tiny
|
image_location: /home/stack/cirros.qcow2
|
||||||
image_location: /home/stack/cirros
|
flavor_name: m1.xtiny
|
||||||
file: rally/rally-plugins/glance-create-boot-delete/glance_create_boot_delete.yml
|
file: rally/rally-plugins/glance/glance_create_boot_delete.yml
|
||||||
#shaker scenarios require atleast 2 compute nodes
|
#shaker scenarios require atleast 2 compute nodes
|
||||||
shaker:
|
shaker:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
# Basic set of initial stress tests to test overcloud before running complete set of benchmarks.
|
# Basic set of initial stress tests to test overcloud before running complete set of benchmarks.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
regather: true
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
@@ -87,57 +87,43 @@ rally:
|
|||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
plugins:
|
plugins:
|
||||||
|
- glance: rally/rally-plugins/glance
|
||||||
|
- neutron: rally/rally-plugins/neutron
|
||||||
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
- netcreate-boot: rally/rally-plugins/netcreate-boot
|
||||||
- netcreate-boot-ping: rally/rally-plugins/netcreate-boot-ping
|
- workloads: rally/rally-plugins/workloads
|
||||||
- subnet-router-create: rally/rally-plugins/subnet-router-create
|
|
||||||
- glance-create-boot-delete: rally/rally-plugins/glance-create-boot-delete
|
|
||||||
- nova-create-pbench-uperf: rally/rally-plugins/nova-create-pbench-uperf
|
|
||||||
- neutron-securitygroup-port: rally/rally-plugins/neutron-securitygroup-port
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: authenticate
|
- name: authenticate
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 64
|
- 8
|
||||||
times: 500
|
times: 100
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: authentic-keystone
|
- name: authentic-keystone
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/authenticate/keystone-cc.yml
|
file: rally/authenticate/keystone-cc.yml
|
||||||
sla_max_avg_duration: 6
|
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: authentic-neutron
|
- name: authentic-neutron
|
||||||
enabled: false
|
enabled: true
|
||||||
file: rally/authenticate/validate_neutron-cc.yml
|
file: rally/authenticate/validate_neutron-cc.yml
|
||||||
sla_max_avg_duration: 18
|
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: authentic-nova
|
- name: authentic-nova
|
||||||
enabled: false
|
enabled: true
|
||||||
file: rally/authenticate/validate_nova-cc.yml
|
file: rally/authenticate/validate_nova-cc.yml
|
||||||
sla_max_avg_duration: 12
|
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: cinder
|
- name: cinder
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 2
|
- 2
|
||||||
times: 6
|
times: 10
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-attach-volume-centos
|
|
||||||
enabled: false
|
|
||||||
file: rally/cinder/cinder-create-and-attach-volume-cc.yml
|
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: create-attach-volume-cirros
|
- name: create-attach-volume-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/cinder/cinder-create-and-attach-volume-cc.yml
|
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.tiny
|
||||||
|
file: rally/cinder/cinder-create-and-attach-volume-cc.yml
|
||||||
|
|
||||||
- name: keystonebasic
|
- name: keystonebasic
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 10
|
- 8
|
||||||
times: 100
|
times: 100
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-and-list-tenants
|
- name: create-and-list-tenants
|
||||||
@@ -146,36 +132,33 @@ rally:
|
|||||||
- name: create-and-list-users
|
- name: create-and-list-users
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/keystonebasic/create_and_list_users-cc.yml
|
file: rally/keystonebasic/create_and_list_users-cc.yml
|
||||||
sla_max_avg_duration: 12
|
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: neutron
|
- name: neutron
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 2
|
||||||
times: 100
|
times: 10
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-list-network
|
- name: create-list-network
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/neutron/neutron-create-list-network-cc.yml
|
file: rally/neutron/neutron-create-list-network-cc.yml
|
||||||
sla_max_seconds: 30
|
|
||||||
sla_max_failure: 0
|
|
||||||
- name: create-list-port
|
- name: create-list-port
|
||||||
enabled: true
|
enabled: true
|
||||||
file: rally/neutron/neutron-create-list-port-cc.yml
|
file: rally/neutron/neutron-create-list-port-cc.yml
|
||||||
- name: create-list-router
|
- name: create-list-router
|
||||||
enabled: false
|
enabled: true
|
||||||
file: rally/neutron/neutron-create-list-router-cc.yml
|
file: rally/neutron/neutron-create-list-router-cc.yml
|
||||||
- name: create-list-security-group
|
- name: create-list-security-group
|
||||||
enabled: false
|
enabled: true
|
||||||
file: rally/neutron/neutron-create-list-security-group-cc.yml
|
file: rally/neutron/neutron-create-list-security-group-cc.yml
|
||||||
- name: create-list-subnet
|
- name: create-list-subnet
|
||||||
enabled: false
|
enabled: true
|
||||||
file: rally/neutron/neutron-create-list-subnet-cc.yml
|
file: rally/neutron/neutron-create-list-subnet-cc.yml
|
||||||
|
|
||||||
- name: nova
|
- name: nova
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: boot-snapshot-delete-cirros
|
- name: boot-snapshot-delete-cirros
|
||||||
@@ -183,43 +166,41 @@ rally:
|
|||||||
file: rally/nova/nova-boot-snapshot-cc.yml
|
file: rally/nova/nova-boot-snapshot-cc.yml
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-list-cirros
|
- name: boot-list-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-boot-list-cc.yml
|
file: rally/nova/nova-boot-list-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-show-cirros
|
- name: boot-show-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-boot-show-cc.yml
|
file: rally/nova/nova-boot-show-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-bounce-delete-cirros
|
- name: boot-bounce-delete-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-boot-bounce-delete-cc.yml
|
file: rally/nova/nova-boot-bounce-delete-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: boot-lock-unlock-cirros
|
- name: boot-lock-unlock-cirros
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
file: rally/nova/nova-lock-unlock-cc.yml
|
file: rally/nova/nova-lock-unlock-cc.yml
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id:
|
|
||||||
- name: glance
|
- name: glance
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 2
|
||||||
times: 10
|
times: 10
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: create-and-delete-image
|
- name: create-and-delete-image
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
flavor_name: m1.small
|
container_format: bare
|
||||||
|
disk_format: qcow2
|
||||||
file: rally/glance/create-and-delete-image-cc.yml
|
file: rally/glance/create-and-delete-image-cc.yml
|
||||||
- name: plugins
|
|
||||||
|
- name: simple-plugins
|
||||||
enabled: true
|
enabled: true
|
||||||
concurrency:
|
concurrency:
|
||||||
- 8
|
- 8
|
||||||
@@ -230,43 +211,58 @@ rally:
|
|||||||
enable_dhcp: true
|
enable_dhcp: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.tiny
|
||||||
file: rally/rally-plugins/netcreate-boot/netcreate_boot.yml
|
file: rally/rally-plugins/netcreate-boot/netcreate_nova_boot.yml
|
||||||
- name: netcreate-boot-ping
|
- name: netcreate-boot-ping
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: cirros
|
image_name: cirros
|
||||||
flavor_name: m1.xtiny
|
flavor_name: m1.xtiny
|
||||||
net_id: 790354c7-f286-4fd1-a4a1-ec9749c61fbf
|
ext_net_id:
|
||||||
file: rally/rally-plugins/netcreate-boot-ping/netcreate_nova-boot-fip-ping.yml
|
file: rally/rally-plugins/netcreate-boot/netcreate_nova_boot_fip_ping.yml
|
||||||
- name: subnet-router-create
|
- name: router-subnet-create-delete
|
||||||
enabled: true
|
enabled: true
|
||||||
num_networks: 10
|
num_networks: 5
|
||||||
file: rally/rally-plugins/subnet-router-create/subnet-router-create.yml
|
file: rally/rally-plugins/neutron/router_subnet_create_delete.yml
|
||||||
- name: glance-create-boot-delete
|
- name: glance-create-boot-delete
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
flavor_name: m1.tiny
|
flavor_name: m1.xtiny
|
||||||
file: rally/rally-plugins/glance-create-boot-delete/glance_create_boot_delete.yml
|
file: rally/rally-plugins/glance/glance_create_boot_delete.yml
|
||||||
- name: neutron-securitygroup-port
|
- name: neutron-securitygroup-port
|
||||||
enabled: false
|
|
||||||
file: rally/rally-plugins/neutron-securitygroup-port/neutron-securitygroup-port.yml
|
|
||||||
- name: nova-create-pbench-uperf
|
|
||||||
enabled: true
|
enabled: true
|
||||||
hypervisor_server: "nova:overcloud-compute-1.localdomain"
|
file: rally/rally-plugins/neutron/securitygroup_port.yml
|
||||||
hypervisor_client: "nova:overcloud-compute-0.localdomain"
|
|
||||||
image_name: pbench-image
|
- name: plugin-workloads
|
||||||
|
enabled: true
|
||||||
|
concurrency:
|
||||||
|
- 1
|
||||||
|
times: 1
|
||||||
|
scenarios:
|
||||||
|
- name: linpack
|
||||||
|
enabled: true
|
||||||
|
image_name: browbeat-linpack
|
||||||
flavor_name: m1.small
|
flavor_name: m1.small
|
||||||
cloudname: "my-cloudname"
|
external_network:
|
||||||
elastic_host: "my-elastic-host.org"
|
net_id:
|
||||||
elastic_port: 9200
|
file: rally/rally-plugins/workloads/linpack.yml
|
||||||
user: "root"
|
|
||||||
password: "password"
|
- name: browbeat-pbench-uperf
|
||||||
external_network: "public"
|
enabled: true
|
||||||
protocols: "tcp"
|
user: root
|
||||||
|
image_name: browbeat-uperf
|
||||||
|
flavor_name: m1.small
|
||||||
|
# hypervisor_server: "nova:overcloud-compute-1.localdomain"
|
||||||
|
# hypervisor_client: "nova:overcloud-compute-0.localdomain"
|
||||||
|
external_network:
|
||||||
|
net_id:
|
||||||
|
protocols: tcp,udp
|
||||||
|
instances: 1
|
||||||
num_pairs: 1
|
num_pairs: 1
|
||||||
message_sizes: "64,1024,16384"
|
|
||||||
instances: "1,8,16,32,64"
|
|
||||||
test_types: "stream"
|
|
||||||
samples: 1
|
samples: 1
|
||||||
send_results: True
|
test_types: stream,rr
|
||||||
test_name: "browbeat-rally"
|
message_sizes: 64,1024,16384
|
||||||
file: rally/rally-plugins/nova-create-pbench-uperf/nova-create-pbench-uperf.yml
|
test_name: "browbeat-pbench-uperf"
|
||||||
|
send_results: true
|
||||||
|
cloudname:
|
||||||
|
elastic_host:
|
||||||
|
elastic_port: 9200
|
||||||
|
file: rally/rally-plugins/workloads/pbench-uperf.yml
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Complete set of Glance Benchmarks
|
# Complete set of Glance Benchmarks
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -47,18 +47,18 @@ rally:
|
|||||||
scenarios:
|
scenarios:
|
||||||
- name: create-image-boot-instances
|
- name: create-image-boot-instances
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
instances: 2
|
instances: 2
|
||||||
flavor_name: m1.small
|
flavor_name: m1.small
|
||||||
file: rally/glance/create-image-and-boot-instances-cc.yml
|
file: rally/glance/create-image-and-boot-instances-cc.yml
|
||||||
- name: create-and-delete-image
|
- name: create-and-delete-image
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
flavor_name: m1.small
|
flavor_name: m1.small
|
||||||
file: rally/glance/create-and-delete-image-cc.yml
|
file: rally/glance/create-and-delete-image-cc.yml
|
||||||
- name: create-and-list-image
|
- name: create-and-list-image
|
||||||
enabled: true
|
enabled: true
|
||||||
image_location: /home/stack/cirros
|
image_location: /home/stack/cirros.qcow2
|
||||||
file: rally/glance/create-and-list-image-cc.yml
|
file: rally/glance/create-and-list-image-cc.yml
|
||||||
- name: list-images
|
- name: list-images
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Complete set of Keystone Stress tests run 3 times over multiple concurrencies with high repetitions(times)
|
# Complete set of Keystone Stress tests run 3 times over multiple concurrencies with high repetitions(times)
|
||||||
# This testing will take days to complete. (You have been warned)
|
# This testing will take days to complete. (You have been warned)
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 3
|
rerun: 3
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -9,7 +9,6 @@ elasticsearch:
|
|||||||
regather: false
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
@@ -203,3 +202,13 @@ rally:
|
|||||||
file: rally/keystonebasic/create_and_get_role-cc.yml
|
file: rally/keystonebasic/create_and_get_role-cc.yml
|
||||||
sla_max_seconds: 30
|
sla_max_seconds: 30
|
||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
|
- name: create-add-list-roles
|
||||||
|
enabled: true
|
||||||
|
file: rally/keystonebasic/create_add_list_roles-cc.yml
|
||||||
|
sla_max_seconds: 30
|
||||||
|
sla_max_failure: 0
|
||||||
|
- name: create-and-update-user
|
||||||
|
enabled: true
|
||||||
|
file: rally/keystonebasic/create_and_update_user-cc.yml
|
||||||
|
sla_max_seconds: 30
|
||||||
|
sla_max_failure: 0
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Complete set of Keystone Stress tests run minimal number of times.
|
# Complete set of Keystone Stress tests run minimal number of times.
|
||||||
# Good sanity test to see if OSP will be able to handle the longer stress tests.
|
# Good sanity test to see if OSP will be able to handle the longer stress tests.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -9,7 +9,6 @@ elasticsearch:
|
|||||||
regather: false
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
@@ -127,6 +126,7 @@ rally:
|
|||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
- name: create-tenant-with-users
|
- name: create-tenant-with-users
|
||||||
enabled: true
|
enabled: true
|
||||||
|
users_per_tenant: 2
|
||||||
file: rally/keystonebasic/create_tenant_with_users-cc.yml
|
file: rally/keystonebasic/create_tenant_with_users-cc.yml
|
||||||
sla_max_seconds: 30
|
sla_max_seconds: 30
|
||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
@@ -195,3 +195,13 @@ rally:
|
|||||||
file: rally/keystonebasic/create_and_get_role-cc.yml
|
file: rally/keystonebasic/create_and_get_role-cc.yml
|
||||||
sla_max_seconds: 30
|
sla_max_seconds: 30
|
||||||
sla_max_failure: 0
|
sla_max_failure: 0
|
||||||
|
- name: create-add-list-roles
|
||||||
|
enabled: true
|
||||||
|
file: rally/keystonebasic/create_add_list_roles-cc.yml
|
||||||
|
sla_max_seconds: 30
|
||||||
|
sla_max_failure: 0
|
||||||
|
- name: create-and-update-user
|
||||||
|
enabled: true
|
||||||
|
file: rally/keystonebasic/create_and_update_user-cc.yml
|
||||||
|
sla_max_seconds: 30
|
||||||
|
sla_max_failure: 0
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Complete set of Workload Benchmarks
|
# Complete set of Workload Benchmarks
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -45,30 +45,32 @@ rally:
|
|||||||
- 1
|
- 1
|
||||||
times: 1
|
times: 1
|
||||||
scenarios:
|
scenarios:
|
||||||
- name: linpack
|
- name: browbeat-linpack
|
||||||
enabled: true
|
enabled: true
|
||||||
image_name: browbeat-linpack
|
image_name: browbeat-linpack
|
||||||
|
flavor_name: m1.small
|
||||||
external_network:
|
external_network:
|
||||||
net_id:
|
net_id:
|
||||||
flavor_name: m1.small
|
|
||||||
file: rally/rally-plugins/workloads/linpack.yml
|
file: rally/rally-plugins/workloads/linpack.yml
|
||||||
- name: uperf
|
|
||||||
|
- name: browbeat-pbench-uperf
|
||||||
enabled: true
|
enabled: true
|
||||||
user: root
|
user: root
|
||||||
password: None
|
|
||||||
image_name: browbeat-uperf
|
image_name: browbeat-uperf
|
||||||
|
flavor_name: m1.small
|
||||||
|
# hypervisor_server: "nova:overcloud-compute-1.localdomain"
|
||||||
|
# hypervisor_client: "nova:overcloud-compute-0.localdomain"
|
||||||
external_network:
|
external_network:
|
||||||
net_id:
|
net_id:
|
||||||
flavor_name: m1.small
|
protocols: tcp,udp
|
||||||
test_name: test-uperf
|
|
||||||
protocols: 'tcp'
|
|
||||||
send_results: true
|
|
||||||
num_pairs: 1
|
|
||||||
instances: 1
|
instances: 1
|
||||||
|
num_pairs: 1
|
||||||
samples: 1
|
samples: 1
|
||||||
test_types: 'stream'
|
test_types: stream,rr
|
||||||
message_sizes: '64'
|
message_sizes: 64,1024,16384
|
||||||
cloudname: test-cloud
|
test_name: browbeat-pbench-uperf
|
||||||
|
send_results: true
|
||||||
|
cloudname:
|
||||||
elastic_host:
|
elastic_host:
|
||||||
elastic_port: 9200
|
elastic_port: 9200
|
||||||
file: rally/rally-plugins/workloads/pbench-uperf.yml
|
file: rally/rally-plugins/workloads/pbench-uperf.yml
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# Ceilometer Stress tests run minimal number of times.
|
# Ceilometer Stress tests run minimal number of times.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
@@ -36,9 +36,7 @@ rally:
|
|||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
sleep_after: 5
|
sleep_after: 5
|
||||||
plugins:
|
plugins: []
|
||||||
- validate-ceilometer: rally/rally-plugins/validate-ceilometer
|
|
||||||
- nova-ceilometer: rally/rally-plugins/nova-ceilometer
|
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: CeilometerAlarms
|
- name: CeilometerAlarms
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
# each iteration it measures response time of several Ceilometer APIs.
|
# each iteration it measures response time of several Ceilometer APIs.
|
||||||
# Currently it maxs at 200 instances
|
# Currently it maxs at 200 instances
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
# Complete set of Gnocchi Stress tests run minimal number of times.
|
# Complete set of Gnocchi Stress tests run minimal number of times.
|
||||||
# Good sanity test to see if OSP will be able to handle the longer stress tests.
|
# Good sanity test to see if OSP will be able to handle the longer stress tests.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
@@ -28,7 +28,7 @@ ansible:
|
|||||||
workers: ansible/browbeat/adjustment-workers.yml
|
workers: ansible/browbeat/adjustment-workers.yml
|
||||||
metadata: ansible/gather/site.yml
|
metadata: ansible/gather/site.yml
|
||||||
grafana:
|
grafana:
|
||||||
enabled: true
|
enabled: false
|
||||||
grafana_ip: 1.1.1.1
|
grafana_ip: 1.1.1.1
|
||||||
grafana_port: 3000
|
grafana_port: 3000
|
||||||
dashboards:
|
dashboards:
|
||||||
|
@@ -7,14 +7,14 @@
|
|||||||
# how system resources and api responsiveness degrade over each new set of
|
# how system resources and api responsiveness degrade over each new set of
|
||||||
# instances booted.
|
# instances booted.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
|
@@ -7,14 +7,14 @@
|
|||||||
# how system resources and api responsiveness degrade over each new set of
|
# how system resources and api responsiveness degrade over each new set of
|
||||||
# instances booted.
|
# instances booted.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
|
@@ -7,14 +7,14 @@
|
|||||||
# how system resources and api responsiveness degrade over each new set of
|
# how system resources and api responsiveness degrade over each new set of
|
||||||
# instances booted.
|
# instances booted.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
|
@@ -7,14 +7,14 @@
|
|||||||
# how system resources and api responsiveness degrade over each new set of
|
# how system resources and api responsiveness degrade over each new set of
|
||||||
# instances booted.
|
# instances booted.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
regather: false
|
||||||
host: 1.1.1.1
|
host: 1.1.1.1
|
||||||
port: 9200
|
port: 9200
|
||||||
regather: true
|
|
||||||
metadata_files:
|
metadata_files:
|
||||||
- name: hardware-metadata
|
- name: hardware-metadata
|
||||||
file: metadata/hardware-metadata.json
|
file: metadata/hardware-metadata.json
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
# booted. The instances have a nic and a fip.
|
# booted. The instances have a nic and a fip.
|
||||||
# You must pre-populate (external_net_name and private_net_id)
|
# You must pre-populate (external_net_name and private_net_id)
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
# booted. The instances have a nic, volume and fip.
|
# booted. The instances have a nic, volume and fip.
|
||||||
# You must pre-populate (external_net_name and private_net_id)
|
# You must pre-populate (external_net_name and private_net_id)
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
# with a concurrency of 20 instances. A total of 1000 instances are
|
# with a concurrency of 20 instances. A total of 1000 instances are
|
||||||
# booted. The instances have a nic and volume.
|
# booted. The instances have a nic and volume.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
# additional telemetry load. View how system resources degrade over each
|
# additional telemetry load. View how system resources degrade over each
|
||||||
# new set of instances booted.
|
# new set of instances booted.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
# booted. View how system resources degrade over each new set of
|
# booted. View how system resources degrade over each new set of
|
||||||
# instances booted.
|
# instances booted.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results: results/
|
||||||
rerun: 1
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
|
@@ -342,7 +342,7 @@ setup Browbeat with Rally against your local quickstart cloud.
|
|||||||
Also creating executable in /home/akrzos/browbeat/.rally-venv/bin/python
|
Also creating executable in /home/akrzos/browbeat/.rally-venv/bin/python
|
||||||
Installing setuptools, pip, wheel...done.
|
Installing setuptools, pip, wheel...done.
|
||||||
[akrzos@bithead browbeat]$ . .rally-venv/bin/activate
|
[akrzos@bithead browbeat]$ . .rally-venv/bin/activate
|
||||||
(.rally-venv) [akrzos@bithead browbeat]$ pip install rally ansible==2.3.2.0
|
(.rally-venv) [akrzos@bithead browbeat]$ pip install rally==0.9.1 ansible==2.3.2.0 elasticsearch
|
||||||
...(Truncated)
|
...(Truncated)
|
||||||
(.rally-venv) [akrzos@bithead browbeat]$ rally-manage db recreate
|
(.rally-venv) [akrzos@bithead browbeat]$ rally-manage db recreate
|
||||||
(.rally-venv) [akrzos@bithead browbeat]$ scp -F ~/.quickstart/ssh.config.ansible stack@undercloud:overcloudrc .
|
(.rally-venv) [akrzos@bithead browbeat]$ scp -F ~/.quickstart/ssh.config.ansible stack@undercloud:overcloudrc .
|
||||||
|
@@ -1,2 +0,0 @@
|
|||||||
Authenticate scenarios
|
|
||||||
======================
|
|
@@ -1,2 +0,0 @@
|
|||||||
Cinder scenarios
|
|
||||||
================
|
|
@@ -12,11 +12,15 @@
|
|||||||
name: {{image_name}}
|
name: {{image_name}}
|
||||||
flavor:
|
flavor:
|
||||||
name: {{flavor_name}}
|
name: {{flavor_name}}
|
||||||
|
auto_assign_nic: true
|
||||||
runner:
|
runner:
|
||||||
concurrency: {{concurrency}}
|
concurrency: {{concurrency}}
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
type: "constant"
|
type: "constant"
|
||||||
context:
|
context:
|
||||||
|
network:
|
||||||
|
start_cidr: "10.0.0.0/16"
|
||||||
|
networks_per_tenant: 1
|
||||||
users:
|
users:
|
||||||
tenants: 2
|
tenants: 2
|
||||||
users_per_tenant: 2
|
users_per_tenant: 2
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
{% set image_location = image_location or "/home/stack/cirros" %}
|
{% set image_location = image_location or "/home/stack/cirros.qcow2" %}
|
||||||
|
{% set container_format = container_format or "bare" %}
|
||||||
|
{% set disk_format = disk_format or "qcow2" %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
@@ -7,8 +9,8 @@
|
|||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
image_location: "{{image_location}}"
|
image_location: "{{image_location}}"
|
||||||
container_format: "bare"
|
container_format: "{{container_format}}"
|
||||||
disk_format: "qcow2"
|
disk_format: "{{disk_format}}"
|
||||||
runner:
|
runner:
|
||||||
type: "constant"
|
type: "constant"
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
@@ -22,4 +24,3 @@
|
|||||||
max_seconds_per_iteration: {{sla_max_seconds}}
|
max_seconds_per_iteration: {{sla_max_seconds}}
|
||||||
failure_rate:
|
failure_rate:
|
||||||
max: {{sla_max_failure}}
|
max: {{sla_max_failure}}
|
||||||
|
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
{% set image_location = image_location or "/home/stack/cirros" %}
|
{% set image_location = image_location or "/home/stack/cirros.qcow2" %}
|
||||||
|
{% set container_format = container_format or "bare" %}
|
||||||
|
{% set disk_format = disk_format or "qcow2" %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
@@ -7,8 +9,8 @@
|
|||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
image_location: "{{image_location}}"
|
image_location: "{{image_location}}"
|
||||||
container_format: "bare"
|
container_format: "{{container_format}}"
|
||||||
disk_format: "qcow2"
|
disk_format: "{{disk_format}}"
|
||||||
runner:
|
runner:
|
||||||
type: "constant"
|
type: "constant"
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
@@ -22,4 +24,3 @@
|
|||||||
max_seconds_per_iteration: {{sla_max_seconds}}
|
max_seconds_per_iteration: {{sla_max_seconds}}
|
||||||
failure_rate:
|
failure_rate:
|
||||||
max: {{sla_max_failure}}
|
max: {{sla_max_failure}}
|
||||||
|
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
|
{% set image_location = image_location or "/home/stack/cirros.qcow2" %}
|
||||||
|
{% set container_format = container_format or "bare" %}
|
||||||
|
{% set disk_format = disk_format or "qcow2" %}
|
||||||
{% set flavor_name = flavor_name or "m1.small" %}
|
{% set flavor_name = flavor_name or "m1.small" %}
|
||||||
{% set instances = instances or 2 %}
|
{% set instances = instances or 2 %}
|
||||||
{% set image_location = image_location or "/home/stack/cirros" %}
|
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
@@ -9,16 +11,21 @@
|
|||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
image_location: "{{image_location}}"
|
image_location: "{{image_location}}"
|
||||||
container_format: "bare"
|
container_format: "{{container_format}}"
|
||||||
disk_format: "qcow2"
|
disk_format: "{{disk_format}}"
|
||||||
flavor:
|
flavor:
|
||||||
name: "{{flavor_name}}"
|
name: "{{flavor_name}}"
|
||||||
number_instances: {{instances}}
|
number_instances: {{instances}}
|
||||||
|
boot_server_kwargs:
|
||||||
|
auto_assign_nic: true
|
||||||
runner:
|
runner:
|
||||||
type: "constant"
|
type: "constant"
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
concurrency: {{concurrency}}
|
concurrency: {{concurrency}}
|
||||||
context:
|
context:
|
||||||
|
network:
|
||||||
|
start_cidr: "10.0.0.0/16"
|
||||||
|
networks_per_tenant: 1
|
||||||
users:
|
users:
|
||||||
tenants: 1
|
tenants: 1
|
||||||
users_per_tenant: 1
|
users_per_tenant: 1
|
||||||
|
@@ -1,2 +0,0 @@
|
|||||||
KeystoneBasic scenarios
|
|
||||||
=======================
|
|
25
rally/keystonebasic/create_add_list_roles-cc.yml
Normal file
25
rally/keystonebasic/create_add_list_roles-cc.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{% 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 %}
|
||||||
|
---
|
||||||
|
KeystoneBasic.create_and_list_roles:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
create_role_kwargs: {}
|
||||||
|
list_role_kwargs: {}
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
project_domain: "default"
|
||||||
|
resource_management_workers: 30
|
||||||
|
tenants: 1
|
||||||
|
user_domain: "default"
|
||||||
|
users_per_tenant: 8
|
||||||
|
runner:
|
||||||
|
concurrency: {{concurrency}}
|
||||||
|
times: {{times}}
|
||||||
|
type: "constant"
|
||||||
|
sla:
|
||||||
|
max_avg_duration: {{sla_max_avg_duration}}
|
||||||
|
max_seconds_per_iteration: {{sla_max_seconds}}
|
||||||
|
failure_rate:
|
||||||
|
max: {{sla_max_failure}}
|
26
rally/keystonebasic/create_and_update_user-cc.yml
Normal file
26
rally/keystonebasic/create_and_update_user-cc.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{% 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 %}
|
||||||
|
---
|
||||||
|
KeystoneBasic.create_and_update_user:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
create_user_kwargs: {}
|
||||||
|
update_user_kwargs:
|
||||||
|
enabled: false
|
||||||
|
context:
|
||||||
|
users:
|
||||||
|
project_domain: "default"
|
||||||
|
resource_management_workers: 30
|
||||||
|
tenants: 1
|
||||||
|
user_domain: "default"
|
||||||
|
users_per_tenant: 8
|
||||||
|
runner:
|
||||||
|
concurrency: {{concurrency}}
|
||||||
|
times: {{times}}
|
||||||
|
type: "constant"
|
||||||
|
sla:
|
||||||
|
max_avg_duration: {{sla_max_avg_duration}}
|
||||||
|
max_seconds_per_iteration: {{sla_max_seconds}}
|
||||||
|
failure_rate:
|
||||||
|
max: {{sla_max_failure}}
|
@@ -1,10 +0,0 @@
|
|||||||
Rally Plugins Browbeat can use
|
|
||||||
==============================
|
|
||||||
|
|
||||||
Current plugins
|
|
||||||
---------------
|
|
||||||
|
|
||||||
- netcreate-boot-ping ( not complete )
|
|
||||||
- netcreate-boot
|
|
||||||
- subnet-router-create
|
|
||||||
- glance-create-boot-delete
|
|
@@ -1,5 +1,3 @@
|
|||||||
# All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
# not use this file except in compliance with the License. You may obtain
|
# not use this file except in compliance with the License. You may obtain
|
||||||
# a copy of the License at
|
# a copy of the License at
|
||||||
@@ -12,11 +10,12 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import time
|
||||||
|
|
||||||
from rally.common.i18n import _
|
from rally.common.i18n import _
|
||||||
from rally.common import logging
|
from rally.common import logging
|
||||||
from rally.task import context
|
from rally.task import context
|
||||||
from rally import consts
|
from rally import consts
|
||||||
import time
|
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
@@ -10,30 +10,31 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
from rally.task import scenario
|
|
||||||
from rally.plugins.openstack.scenarios.nova import utils as nova_utils
|
|
||||||
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
|
||||||
from rally.plugins.openstack.scenarios.glance import utils as glance_utils
|
from rally.plugins.openstack.scenarios.glance import utils as glance_utils
|
||||||
|
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
||||||
|
from rally.plugins.openstack.scenarios.nova import utils as nova_utils
|
||||||
|
from rally.task import scenario
|
||||||
from rally.task import types
|
from rally.task import types
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
|
from rally import consts
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
@types.convert(flavor={"type": "nova_flavor"},
|
||||||
glance_utils.GlanceScenario,
|
image_location={"type": "path_or_url"})
|
||||||
nova_utils.NovaScenario,
|
@validation.required_services(consts.Service.GLANCE, consts.Service.NEUTRON, consts.Service.NOVA)
|
||||||
scenario.Scenario):
|
@validation.required_openstack(users=True)
|
||||||
@types.convert(flavor={"type": "nova_flavor"})
|
@scenario.configure(context={"cleanup": ["glance", "neutron", "nova"]},
|
||||||
@validation.flavor_exists("flavor")
|
name="BrowbeatPlugin.glance_create_boot_delete")
|
||||||
@validation.required_openstack(users=True)
|
class GlanceCreateBootDelete(glance_utils.GlanceScenario,
|
||||||
@scenario.configure(context={"cleanup": ["nova", "neutron", "glance"]})
|
neutron_utils.NeutronScenario,
|
||||||
def glance_create_boot_delete(self, container_format, image_location, disk_format, flavor,
|
nova_utils.NovaScenario):
|
||||||
network_create_args=None, subnet_create_args=None, **kwargs):
|
|
||||||
|
def run(self, container_format, image_location, disk_format, flavor,
|
||||||
|
network_create_args=None, subnet_create_args=None, **kwargs):
|
||||||
image = self._create_image(container_format, image_location, disk_format, **kwargs)
|
image = self._create_image(container_format, image_location, disk_format, **kwargs)
|
||||||
image_id = image.id
|
|
||||||
net = self._create_network(network_create_args or {})
|
net = self._create_network(network_create_args or {})
|
||||||
self._create_subnet(net, subnet_create_args or {})
|
self._create_subnet(net, subnet_create_args or {})
|
||||||
kwargs['nics'] = [{'net-id': net['network']['id']}]
|
kwargs['nics'] = [{'net-id': net['network']['id']}]
|
||||||
server = self._boot_server(image_id, flavor, **kwargs)
|
server = self._boot_server(image.id, flavor, **kwargs)
|
||||||
self._delete_server(server)
|
self._delete_server(server)
|
||||||
self._delete_image(image)
|
self._delete_image(image)
|
@@ -1,4 +1,7 @@
|
|||||||
{% set image_location = image_location or "/home/stack/cirros" %}
|
{% set image_location = image_location or '/home/stack/cirros.qcow2' %}
|
||||||
|
{% set flavor_name = flavor_name or 'm1.small' %}
|
||||||
|
{% set container_format = container_format or 'bare' %}
|
||||||
|
{% set disk_format = disk_format or 'qcow2' %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
@@ -8,15 +11,15 @@ BrowbeatPlugin.glance_create_boot_delete:
|
|||||||
args:
|
args:
|
||||||
flavor:
|
flavor:
|
||||||
name: '{{flavor_name}}'
|
name: '{{flavor_name}}'
|
||||||
image_location: "{{image_location}}"
|
image_location: '{{image_location}}'
|
||||||
container_format: "bare"
|
container_format: '{{container_format}}'
|
||||||
disk_format: "qcow2"
|
disk_format: '{{disk_format}}'
|
||||||
network_create_args: {}
|
network_create_args: {}
|
||||||
subnet_create_args: {}
|
subnet_create_args: {}
|
||||||
runner:
|
runner:
|
||||||
concurrency: {{concurrency}}
|
concurrency: {{concurrency}}
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
type: "constant"
|
type: 'constant'
|
||||||
context:
|
context:
|
||||||
users:
|
users:
|
||||||
tenants: 1
|
tenants: 1
|
@@ -10,162 +10,22 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import uuid
|
||||||
|
|
||||||
from rally.common.i18n import _
|
from rally.common.i18n import _
|
||||||
from rally.common import logging
|
|
||||||
from rally.plugins.openstack import scenario
|
from rally.plugins.openstack import scenario
|
||||||
|
from rally.common import logging
|
||||||
from rally.task import atomic
|
from rally.task import atomic
|
||||||
from rally.task import context
|
from rally.task import context
|
||||||
|
from rally.task import validation
|
||||||
from rally import consts
|
from rally import consts
|
||||||
from rally import osclients
|
from rally import osclients
|
||||||
import uuid
|
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatGnocchi(scenario.OpenStackScenario):
|
class GnocchiScenario(scenario.OpenStackScenario):
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.archive_policy_list')
|
|
||||||
def archive_policy_list(self):
|
|
||||||
"""List archive policies from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._archive_policy_list(gnocchi_client)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.archive_policy_rule_list')
|
|
||||||
def archive_policy_rule_list(self):
|
|
||||||
"""List archive policy rules from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._archive_policy_rule_list(gnocchi_client)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.capabilities_list')
|
|
||||||
def capabilities_list(self):
|
|
||||||
"""List capabilities from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._capabilities_list(gnocchi_client)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_archive_policy')
|
|
||||||
def create_archive_policy(self):
|
|
||||||
"""Create archive policy from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
name = self.generate_random_name()
|
|
||||||
definition = [{'granularity': '0:00:01', 'timespan': '1:00:00'}]
|
|
||||||
aggregation_methods = ['std', 'count', '95pct', 'min', 'max', 'sum', 'median', 'mean']
|
|
||||||
self._create_archive_policy(gnocchi_client, name, definition, aggregation_methods)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_delete_archive_policy')
|
|
||||||
def create_delete_archive_policy(self):
|
|
||||||
"""Create archive policy from Gnocchi client and then delete it."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
name = self.generate_random_name()
|
|
||||||
definition = [{'granularity': '0:00:01', 'timespan': '1:00:00'}]
|
|
||||||
aggregation_methods = ['std', 'count', '95pct', 'min', 'max', 'sum', 'median', 'mean']
|
|
||||||
self._create_archive_policy(gnocchi_client, name, definition, aggregation_methods)
|
|
||||||
self._delete_archive_policy(gnocchi_client, name)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_archive_policy_rule')
|
|
||||||
def create_archive_policy_rule(self):
|
|
||||||
"""Create archive policy rule from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
name = self.generate_random_name()
|
|
||||||
metric_pattern = 'cpu_*'
|
|
||||||
archive_policy_name = 'low'
|
|
||||||
self._create_archive_policy_rule(gnocchi_client, name, metric_pattern, archive_policy_name)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_delete_archive_policy_rule')
|
|
||||||
def create_delete_archive_policy_rule(self):
|
|
||||||
"""Create archive policy rule from Gnocchi client and then delete it."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
name = self.generate_random_name()
|
|
||||||
metric_pattern = 'cpu_*'
|
|
||||||
archive_policy_name = 'low'
|
|
||||||
self._create_archive_policy_rule(gnocchi_client, name, metric_pattern, archive_policy_name)
|
|
||||||
self._delete_archive_policy_rule(gnocchi_client, name)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_metric')
|
|
||||||
def create_metric(self, metric_name=None, archive_policy_name=None, unit=None,
|
|
||||||
resource_id=None):
|
|
||||||
"""Create metric from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._create_metric(gnocchi_client, metric_name, archive_policy_name, unit, resource_id)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_delete_metric')
|
|
||||||
def create_delete_metric(self, metric_name=None, archive_policy_name=None, unit=None,
|
|
||||||
resource_id=None):
|
|
||||||
"""Create metric from Gnocchi client and then delete it."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
metric = self._create_metric(gnocchi_client, metric_name, archive_policy_name, unit,
|
|
||||||
resource_id)
|
|
||||||
self._delete_metric(gnocchi_client, metric['id'])
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_resource')
|
|
||||||
def create_resource(self, resource_type):
|
|
||||||
"""Create resource from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._create_resource(gnocchi_client, resource_type)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_delete_resource')
|
|
||||||
def create_delete_resource(self, resource_type):
|
|
||||||
"""Create resource from Gnocchi client and then delete it."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
resource = self._create_resource(gnocchi_client, resource_type)
|
|
||||||
self._delete_resource(gnocchi_client, resource['id'])
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_resource_type')
|
|
||||||
def create_resource_type(self):
|
|
||||||
"""Create resource type from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._create_resource_type(gnocchi_client, self.generate_random_name())
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.create_delete_resource_type')
|
|
||||||
def create_delete_resource_type(self):
|
|
||||||
"""Create resource type from Gnocchi client and then delete it."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
resource_type = self._create_resource_type(gnocchi_client, self.generate_random_name())
|
|
||||||
self._delete_resource_type(gnocchi_client, resource_type['name'])
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.metric_aggregation')
|
|
||||||
def metric_aggregation(self, aggregation=None, refresh=False):
|
|
||||||
"""Get aggregation of metrics from Gnocchi client. The list of metrics to aggregate from
|
|
||||||
is determined through a context before the scenario starts.
|
|
||||||
"""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
metric_index = self.context['iteration'] % len(self.context['metric_ids'])
|
|
||||||
self._metric_aggregation(gnocchi_client, [self.context['metric_ids'][metric_index]],
|
|
||||||
aggregation, refresh)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.metric_get_measures')
|
|
||||||
def metric_get_measures(self, aggregation=None, refresh=False):
|
|
||||||
"""Get measures from a metric from Gnocchi client. The list of metrics to get measures
|
|
||||||
from is determined through a context before the scenario starts.
|
|
||||||
"""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
metric_index = self.context['iteration'] % len(self.context['metric_ids'])
|
|
||||||
self._metric_get_measures(gnocchi_client, self.context['metric_ids'][metric_index],
|
|
||||||
aggregation, refresh)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.metric_list')
|
|
||||||
def metric_list(self):
|
|
||||||
"""List metrics from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._metric_list(gnocchi_client)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.resource_list')
|
|
||||||
def resource_list(self):
|
|
||||||
"""List resources from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._resource_list(gnocchi_client)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.resource_type_list')
|
|
||||||
def resource_type_list(self):
|
|
||||||
"""List resource types from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._resource_type_list(gnocchi_client)
|
|
||||||
|
|
||||||
@scenario.configure(name='BrowbeatGnocchi.status_get')
|
|
||||||
def status_get(self, detailed):
|
|
||||||
"""Get status of Gnocchi from Gnocchi client."""
|
|
||||||
gnocchi_client = self.admin_clients("gnocchi")
|
|
||||||
self._status_get(gnocchi_client, detailed)
|
|
||||||
|
|
||||||
@atomic.action_timer("gnocchi.archive_policy_list")
|
@atomic.action_timer("gnocchi.archive_policy_list")
|
||||||
def _archive_policy_list(self, gnocchi_client):
|
def _archive_policy_list(self, gnocchi_client):
|
||||||
@@ -269,6 +129,243 @@ class BrowbeatGnocchi(scenario.OpenStackScenario):
|
|||||||
return gnocchi_client.status.get(detailed)
|
return gnocchi_client.status.get(detailed)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.archive_policy_list')
|
||||||
|
class ArchivePolicyList(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""List archive policies from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._archive_policy_list(gnocchi_client)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.archive_policy_rule_list')
|
||||||
|
class ArchivePolicyRuleList(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""List archive policy rules from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._archive_policy_rule_list(gnocchi_client)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.capabilities_list')
|
||||||
|
class CapabilitiesList(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""List capabilities from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._capabilities_list(gnocchi_client)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_archive_policy')
|
||||||
|
class CreateArchivePolicy(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Create archive policy from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
name = self.generate_random_name()
|
||||||
|
definition = [{'granularity': '0:00:01', 'timespan': '1:00:00'}]
|
||||||
|
aggregation_methods = ['std', 'count', '95pct', 'min', 'max', 'sum', 'median', 'mean']
|
||||||
|
self._create_archive_policy(gnocchi_client, name, definition, aggregation_methods)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_delete_archive_policy')
|
||||||
|
class CreateDeleteArchivePolicy(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Create archive policy from Gnocchi client and then delete it."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
name = self.generate_random_name()
|
||||||
|
definition = [{'granularity': '0:00:01', 'timespan': '1:00:00'}]
|
||||||
|
aggregation_methods = ['std', 'count', '95pct', 'min', 'max', 'sum', 'median', 'mean']
|
||||||
|
self._create_archive_policy(gnocchi_client, name, definition, aggregation_methods)
|
||||||
|
self._delete_archive_policy(gnocchi_client, name)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_archive_policy_rule')
|
||||||
|
class CreateArchivePolicyRule(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Create archive policy rule from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
name = self.generate_random_name()
|
||||||
|
metric_pattern = 'cpu_*'
|
||||||
|
archive_policy_name = 'low'
|
||||||
|
self._create_archive_policy_rule(gnocchi_client, name, metric_pattern, archive_policy_name)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_delete_archive_policy_rule')
|
||||||
|
class CreateDeleteArchivePolicyRule(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Create archive policy rule from Gnocchi client and then delete it."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
name = self.generate_random_name()
|
||||||
|
metric_pattern = 'cpu_*'
|
||||||
|
archive_policy_name = 'low'
|
||||||
|
self._create_archive_policy_rule(gnocchi_client, name, metric_pattern, archive_policy_name)
|
||||||
|
self._delete_archive_policy_rule(gnocchi_client, name)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_metric')
|
||||||
|
class CreateMetric(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, metric_name=None, archive_policy_name=None, unit=None, resource_id=None):
|
||||||
|
"""Create metric from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._create_metric(gnocchi_client, metric_name, archive_policy_name, unit, resource_id)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_delete_metric')
|
||||||
|
class CreateDeleteMetric(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, metric_name=None, archive_policy_name=None, unit=None, resource_id=None):
|
||||||
|
"""Create metric from Gnocchi client and then delete it."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
metric = self._create_metric(gnocchi_client, metric_name, archive_policy_name, unit,
|
||||||
|
resource_id)
|
||||||
|
self._delete_metric(gnocchi_client, metric['id'])
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_resource')
|
||||||
|
class CreateResource(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, resource_type):
|
||||||
|
"""Create resource from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._create_resource(gnocchi_client, resource_type)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_delete_resource')
|
||||||
|
class CreateDeleteResource(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, resource_type):
|
||||||
|
"""Create resource from Gnocchi client and then delete it."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
resource = self._create_resource(gnocchi_client, resource_type)
|
||||||
|
self._delete_resource(gnocchi_client, resource['id'])
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_resource_type')
|
||||||
|
class CreateResourceType(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Create resource type from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._create_resource_type(gnocchi_client, self.generate_random_name())
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.create_delete_resource_type')
|
||||||
|
class CreateDeleteResourceType(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Create resource type from Gnocchi client and then delete it."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
resource_type = self._create_resource_type(gnocchi_client, self.generate_random_name())
|
||||||
|
self._delete_resource_type(gnocchi_client, resource_type['name'])
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_contexts("browbeat_gnocchi_metric_list")
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.metric_aggregation')
|
||||||
|
class MetricAggregation(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, aggregation=None, refresh=False):
|
||||||
|
"""Get aggregation of metrics from Gnocchi client. The list of metrics to aggregate from
|
||||||
|
is determined through a context before the scenario starts.
|
||||||
|
"""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
metric_index = self.context['iteration'] % len(self.context['metric_ids'])
|
||||||
|
self._metric_aggregation(gnocchi_client, [self.context['metric_ids'][metric_index]],
|
||||||
|
aggregation, refresh)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_contexts("browbeat_gnocchi_metric_list")
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.metric_get_measures')
|
||||||
|
class MetricGetMeasures(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, aggregation=None, refresh=False):
|
||||||
|
"""Get measures from a metric from Gnocchi client. The list of metrics to get measures
|
||||||
|
from is determined through a context before the scenario starts.
|
||||||
|
"""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
metric_index = self.context['iteration'] % len(self.context['metric_ids'])
|
||||||
|
self._metric_get_measures(gnocchi_client, self.context['metric_ids'][metric_index],
|
||||||
|
aggregation, refresh)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.metric_list')
|
||||||
|
class MetricList(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""List metrics from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._metric_list(gnocchi_client)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.resource_list')
|
||||||
|
class ResourceList(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""List resources from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._resource_list(gnocchi_client)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.resource_type_list')
|
||||||
|
class ResourceTypeList(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""List resource types from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._resource_type_list(gnocchi_client)
|
||||||
|
|
||||||
|
|
||||||
|
@validation.required_services(consts.Service.GNOCCHI)
|
||||||
|
@validation.required_openstack(admin=True)
|
||||||
|
@scenario.configure(name='BrowbeatGnocchi.status_get')
|
||||||
|
class StatusGet(GnocchiScenario):
|
||||||
|
|
||||||
|
def run(self, detailed):
|
||||||
|
"""Get status of Gnocchi from Gnocchi client."""
|
||||||
|
gnocchi_client = self.admin_clients("gnocchi")
|
||||||
|
self._status_get(gnocchi_client, detailed)
|
||||||
|
|
||||||
|
|
||||||
@context.configure(name="browbeat_gnocchi_metric_list", order=350)
|
@context.configure(name="browbeat_gnocchi_metric_list", order=350)
|
||||||
class BrowbeatGnocchiMetricList(context.Context):
|
class BrowbeatGnocchiMetricList(context.Context):
|
||||||
"""Grabs list of metric ids from Gnocchi for use with getting aggregates/measures."""
|
"""Grabs list of metric ids from Gnocchi for use with getting aggregates/measures."""
|
||||||
|
@@ -1,93 +0,0 @@
|
|||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
from rally.task import atomic
|
|
||||||
from rally.task import scenario
|
|
||||||
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
|
||||||
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
|
||||||
from rally.task import types
|
|
||||||
from rally.task import validation
|
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
|
||||||
vm_utils.VMScenario,
|
|
||||||
scenario.Scenario):
|
|
||||||
#
|
|
||||||
# Create network
|
|
||||||
# Create subnet
|
|
||||||
# Attach to router
|
|
||||||
# Attach guest to new network
|
|
||||||
# List
|
|
||||||
# Ping
|
|
||||||
# Cleanup
|
|
||||||
#
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
|
||||||
@validation.required_openstack(users=True)
|
|
||||||
@scenario.configure(context={"cleanup": ["nova", "neutron"],
|
|
||||||
"keypair": {}, "allow_ssh": {}})
|
|
||||||
def create_network_nova_boot_ping(self, image, flavor, ext_net, floating=True,
|
|
||||||
router_create_args=None, router=None,
|
|
||||||
network_create_args=None, subnet_create_args=None,
|
|
||||||
**kwargs):
|
|
||||||
if router is None:
|
|
||||||
router = self._create_router(router_create_args, ext_net)
|
|
||||||
|
|
||||||
network = self._create_network(network_create_args or {})
|
|
||||||
subnet = self._create_subnet(network, subnet_create_args or {})
|
|
||||||
self._add_interface_router(subnet['subnet'], router['router'])
|
|
||||||
kwargs["nics"] = [{'net-id': network['network']['id']}]
|
|
||||||
_address = None
|
|
||||||
if floating:
|
|
||||||
_guest = self._boot_server_with_fip(
|
|
||||||
image, flavor, True, ext_net, **kwargs)
|
|
||||||
_address = _guest[1]['ip']
|
|
||||||
else:
|
|
||||||
self._boot_server(image, flavor, **kwargs)
|
|
||||||
_address = ""
|
|
||||||
|
|
||||||
if _address:
|
|
||||||
self._wait_for_ping(_address)
|
|
||||||
|
|
||||||
@atomic.action_timer("neutronPlugin.create_router")
|
|
||||||
def _create_router(self, router_create_args, external_gw=False):
|
|
||||||
"""Create neutron router.
|
|
||||||
|
|
||||||
:param router_create_args: POST /v2.0/routers request options
|
|
||||||
:returns: neutron router dict
|
|
||||||
"""
|
|
||||||
router_create_args["name"] = self.generate_random_name()
|
|
||||||
|
|
||||||
if 'id' in external_gw.keys():
|
|
||||||
for network in self._list_networks():
|
|
||||||
if network.get("router:external"):
|
|
||||||
if network.get("id") == external_gw["id"]:
|
|
||||||
external_network = network
|
|
||||||
gw_info = {"network_id": external_network["id"],
|
|
||||||
"enable_snat": True}
|
|
||||||
router_create_args.setdefault("external_gateway_info",
|
|
||||||
gw_info)
|
|
||||||
|
|
||||||
else:
|
|
||||||
if external_gw:
|
|
||||||
for network in self._list_networks():
|
|
||||||
if network.get("router:external"):
|
|
||||||
external_network = network
|
|
||||||
gw_info = {"network_id": external_network["id"],
|
|
||||||
"enable_snat": True}
|
|
||||||
router_create_args.setdefault("external_gateway_info",
|
|
||||||
gw_info)
|
|
||||||
|
|
||||||
return self.clients("neutron").create_router(
|
|
||||||
{"router": router_create_args})
|
|
@@ -10,24 +10,25 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from rally.task import scenario
|
|
||||||
from rally.plugins.openstack.scenarios.nova import utils as nova_utils
|
from rally.plugins.openstack.scenarios.nova import utils as nova_utils
|
||||||
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
||||||
|
from rally.task import scenario
|
||||||
from rally.task import types
|
from rally.task import types
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
|
from rally import consts
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
nova_utils.NovaScenario,
|
@validation.required_services(consts.Service.NEUTRON, consts.Service.NOVA)
|
||||||
scenario.Scenario):
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
|
@validation.required_openstack(users=True)
|
||||||
|
@scenario.configure(context={"cleanup": ["neutron", "nova"]},
|
||||||
|
name="BrowbeatPlugin.create_network_nova_boot")
|
||||||
|
class CreateNetworkNovaBoot(neutron_utils.NeutronScenario,
|
||||||
|
nova_utils.NovaScenario):
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
def run(self, image, flavor, num_networks=1, network_create_args=None,
|
||||||
flavor={"type": "nova_flavor"})
|
subnet_create_args=None, **kwargs):
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
|
||||||
@validation.required_openstack(users=True)
|
|
||||||
@scenario.configure(context={"cleanup": ["nova", "neutron"]})
|
|
||||||
def create_network_nova_boot(self, image, flavor, num_networks=1, network_create_args=None,
|
|
||||||
subnet_create_args=None, **kwargs):
|
|
||||||
nets = []
|
nets = []
|
||||||
for net in range(0, num_networks):
|
for net in range(0, num_networks):
|
||||||
network = self._create_network(network_create_args or {})
|
network = self._create_network(network_create_args or {})
|
@@ -1,8 +1,10 @@
|
|||||||
|
{% set image_name = image_name or 'cirros' %}
|
||||||
|
{% set flavor_name = flavor_name or 'm1.xtiny' %}
|
||||||
|
{% set enable_dhcp = enable_dhcp or true %}
|
||||||
|
{% set num_networks = num_networks or 1 %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
{% set num_networks = num_networks or 1 %}
|
|
||||||
{% set enable_dhcp = enable_dhcp or true %}
|
|
||||||
---
|
---
|
||||||
BrowbeatPlugin.create_network_nova_boot:
|
BrowbeatPlugin.create_network_nova_boot:
|
||||||
-
|
-
|
||||||
@@ -17,7 +19,7 @@ BrowbeatPlugin.create_network_nova_boot:
|
|||||||
runner:
|
runner:
|
||||||
concurrency: {{concurrency}}
|
concurrency: {{concurrency}}
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
type: "constant"
|
type: 'constant'
|
||||||
context:
|
context:
|
||||||
users:
|
users:
|
||||||
tenants: 1
|
tenants: 1
|
@@ -0,0 +1,53 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
||||||
|
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
||||||
|
from rally.task import atomic
|
||||||
|
from rally.task import scenario
|
||||||
|
from rally.task import types
|
||||||
|
from rally.task import validation
|
||||||
|
from rally import consts
|
||||||
|
|
||||||
|
|
||||||
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
|
@validation.required_services(consts.Service.NEUTRON, consts.Service.NOVA)
|
||||||
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
|
@validation.required_openstack(users=True)
|
||||||
|
@scenario.configure(context={"cleanup": ["neutron", "nova"], "keypair": {}, "allow_ssh": None},
|
||||||
|
name="BrowbeatPlugin.create_network_nova_boot_ping")
|
||||||
|
class CreateNetworkNovaBootPing(neutron_utils.NeutronScenario,
|
||||||
|
vm_utils.VMScenario):
|
||||||
|
|
||||||
|
def run(self, image, flavor, ext_net_id, router_create_args=None,
|
||||||
|
network_create_args=None, subnet_create_args=None, **kwargs):
|
||||||
|
router_create_args["name"] = self.generate_random_name()
|
||||||
|
router_create_args.setdefault("external_gateway_info",
|
||||||
|
{"network_id": ext_net_id, "enable_snat": True})
|
||||||
|
router = self._create_router(router_create_args)
|
||||||
|
|
||||||
|
network = self._create_network(network_create_args or {})
|
||||||
|
subnet = self._create_subnet(network, subnet_create_args or {})
|
||||||
|
self._add_interface_router(subnet['subnet'], router['router'])
|
||||||
|
kwargs["nics"] = [{'net-id': network['network']['id']}]
|
||||||
|
guest = self._boot_server_with_fip(image, flavor, True, None, **kwargs)
|
||||||
|
|
||||||
|
self._wait_for_ping(guest[1]['ip'])
|
||||||
|
|
||||||
|
@atomic.action_timer("neutron.create_router")
|
||||||
|
def _create_router(self, router_create_args):
|
||||||
|
"""Create neutron router.
|
||||||
|
|
||||||
|
:param router_create_args: POST /v2.0/routers request options
|
||||||
|
:returns: neutron router dict
|
||||||
|
"""
|
||||||
|
return self.clients("neutron").create_router({"router": router_create_args})
|
@@ -1,4 +1,5 @@
|
|||||||
|
{% set image_name = image_name or 'cirros' %}
|
||||||
|
{% set flavor_name = flavor_name or 'm1.xtiny' %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
@@ -11,8 +12,7 @@ BrowbeatPlugin.create_network_nova_boot_ping:
|
|||||||
name: '{{flavor_name}}'
|
name: '{{flavor_name}}'
|
||||||
image:
|
image:
|
||||||
name: '{{image_name}}'
|
name: '{{image_name}}'
|
||||||
ext_net:
|
ext_net_id: '{{ext_net_id}}'
|
||||||
id: {{ net_id }}
|
|
||||||
network_create_args: {}
|
network_create_args: {}
|
||||||
router_create_args: {}
|
router_create_args: {}
|
||||||
subnet_create_args: {}
|
subnet_create_args: {}
|
||||||
@@ -39,4 +39,3 @@ BrowbeatPlugin.create_network_nova_boot_ping:
|
|||||||
max_seconds_per_iteration: {{sla_max_seconds}}
|
max_seconds_per_iteration: {{sla_max_seconds}}
|
||||||
failure_rate:
|
failure_rate:
|
||||||
max: {{sla_max_failure}}
|
max: {{sla_max_failure}}
|
||||||
|
|
@@ -1,5 +1,3 @@
|
|||||||
# All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
# not use this file except in compliance with the License. You may obtain
|
# not use this file except in compliance with the License. You may obtain
|
||||||
# a copy of the License at
|
# a copy of the License at
|
||||||
|
@@ -10,21 +10,19 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from rally.task import scenario
|
|
||||||
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
||||||
from rally.task import types
|
from rally.task import scenario
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
|
from rally import consts
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
@validation.required_services(consts.Service.NEUTRON)
|
||||||
scenario.Scenario):
|
@validation.required_openstack(users=True)
|
||||||
|
@scenario.configure(context={"cleanup": ["neutron"]},
|
||||||
|
name="BrowbeatPlugin.router_subnet_create_delete")
|
||||||
|
class RouterSubnetCreateDelete(neutron_utils.NeutronScenario):
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
def run(self, num_networks=1, network_create_args=None, subnet_create_args=None, **kwargs):
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.required_openstack(users=True)
|
|
||||||
@scenario.configure(context={"cleanup": ["neutron"]})
|
|
||||||
def create_router_and_net(self, num_networks=1, network_create_args=None,
|
|
||||||
subnet_create_args=None, **kwargs):
|
|
||||||
router = self._create_router({})
|
router = self._create_router({})
|
||||||
subnets = []
|
subnets = []
|
||||||
for net in range(num_networks):
|
for net in range(num_networks):
|
@@ -1,9 +1,9 @@
|
|||||||
|
{% set num_networks = num_networks or 1 %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
{% set num_networks = num_networks or 1 %}
|
|
||||||
---
|
---
|
||||||
BrowbeatPlugin.create_router_and_net:
|
BrowbeatPlugin.router_subnet_create_delete:
|
||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
network_create_args: {}
|
network_create_args: {}
|
@@ -10,18 +10,20 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from rally.task import scenario
|
|
||||||
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
||||||
|
from rally.task import scenario
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
|
from rally import consts
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
@validation.required_services(consts.Service.NEUTRON)
|
||||||
scenario.Scenario):
|
@validation.required_openstack(users=True)
|
||||||
|
@scenario.configure(context={"cleanup": ["neutron"]},
|
||||||
|
name="BrowbeatPlugin.securitygroup_port")
|
||||||
|
class BrowbeatPlugin(neutron_utils.NeutronScenario):
|
||||||
|
|
||||||
@validation.required_openstack(users=True)
|
def run(self, network_create_args=None, security_group_create_args={}, port_create_args={},
|
||||||
@scenario.configure(context={"cleanup": ["neutron"]})
|
**kwargs):
|
||||||
def neutron_securitygroup_port(self, network_create_args=None,
|
|
||||||
security_group_create_args={}, port_create_args={}, **kwargs):
|
|
||||||
net = self._create_network(network_create_args or {})
|
net = self._create_network(network_create_args or {})
|
||||||
sec_grp = self._create_security_group(**security_group_create_args)
|
sec_grp = self._create_security_group(**security_group_create_args)
|
||||||
sec_grp_list = []
|
sec_grp_list = []
|
@@ -2,7 +2,7 @@
|
|||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
---
|
---
|
||||||
BrowbeatPlugin.neutron_securitygroup_port:
|
BrowbeatPlugin.securitygroup_port:
|
||||||
-
|
-
|
||||||
args:
|
args:
|
||||||
network_create_args: {}
|
network_create_args: {}
|
@@ -10,53 +10,47 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from rally import consts
|
|
||||||
from rally.task import scenario
|
|
||||||
from rally.plugins.openstack.scenarios.cinder import utils as cinder_utils
|
from rally.plugins.openstack.scenarios.cinder import utils as cinder_utils
|
||||||
from rally.plugins.openstack.scenarios.nova import utils as nova_utils
|
from rally.plugins.openstack.scenarios.nova import utils as nova_utils
|
||||||
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
||||||
|
from rally.task import scenario
|
||||||
from rally.task import types
|
from rally.task import types
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
|
from rally import consts
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
@validation.required_contexts("browbeat_delay")
|
@validation.required_contexts("browbeat_delay")
|
||||||
@validation.required_services(consts.Service.NOVA)
|
@validation.required_services(consts.Service.NOVA)
|
||||||
@validation.required_openstack(users=True)
|
@validation.required_openstack(users=True)
|
||||||
@scenario.configure(context={},
|
@scenario.configure(context={}, name="BrowbeatNova.nova_boot_persist")
|
||||||
name="BrowbeatNova.nova_boot_persist")
|
|
||||||
class NovaBootPersist(nova_utils.NovaScenario):
|
class NovaBootPersist(nova_utils.NovaScenario):
|
||||||
|
|
||||||
def run(self, image, flavor, **kwargs):
|
def run(self, image, flavor, **kwargs):
|
||||||
self._boot_server(image, flavor)
|
self._boot_server(image, flavor)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
@validation.required_contexts("browbeat_delay")
|
@validation.required_contexts("browbeat_delay")
|
||||||
@validation.required_contexts("browbeat_persist_network")
|
@validation.required_contexts("browbeat_persist_network")
|
||||||
@validation.required_services(consts.Service.NOVA)
|
@validation.required_services(consts.Service.NOVA)
|
||||||
@validation.required_openstack(users=True)
|
@validation.required_openstack(users=True)
|
||||||
@scenario.configure(context={},
|
@scenario.configure(context={}, name="BrowbeatNova.nova_boot_persist_with_network")
|
||||||
name="BrowbeatNova.nova_boot_persist_with_network")
|
|
||||||
class NovaBootPersistWithNetwork(nova_utils.NovaScenario):
|
class NovaBootPersistWithNetwork(nova_utils.NovaScenario):
|
||||||
|
|
||||||
def run(self, image, flavor, **kwargs):
|
def run(self, image, flavor, **kwargs):
|
||||||
self._boot_server(image, flavor, **kwargs)
|
self._boot_server(image, flavor, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
@validation.required_contexts("browbeat_delay")
|
@validation.required_contexts("browbeat_delay")
|
||||||
@validation.required_contexts("browbeat_persist_network")
|
@validation.required_contexts("browbeat_persist_network")
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
||||||
@validation.required_openstack(users=True)
|
@validation.required_openstack(users=True)
|
||||||
@scenario.configure(context={},
|
@scenario.configure(context={}, name="BrowbeatNova.nova_boot_persist_with_network_volume")
|
||||||
name="BrowbeatNova.nova_boot_persist_with_network_volume")
|
|
||||||
class NovaBootPersistWithNetworkVolume(nova_utils.NovaScenario, cinder_utils.CinderScenario):
|
class NovaBootPersistWithNetworkVolume(nova_utils.NovaScenario, cinder_utils.CinderScenario):
|
||||||
|
|
||||||
def run(self, image, flavor, volume_size, **kwargs):
|
def run(self, image, flavor, volume_size, **kwargs):
|
||||||
@@ -65,28 +59,24 @@ class NovaBootPersistWithNetworkVolume(nova_utils.NovaScenario, cinder_utils.Cin
|
|||||||
self._attach_volume(server, volume)
|
self._attach_volume(server, volume)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
@validation.required_contexts("browbeat_delay")
|
@validation.required_contexts("browbeat_delay")
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
||||||
@validation.required_openstack(users=True)
|
@validation.required_openstack(users=True)
|
||||||
@scenario.configure(context={},
|
@scenario.configure(context={}, name="BrowbeatNova.nova_boot_persist_with_network_fip")
|
||||||
name="BrowbeatNova.nova_boot_persist_with_network_fip")
|
|
||||||
class NovaBootPersistWithNetworkFip(vm_utils.VMScenario):
|
class NovaBootPersistWithNetworkFip(vm_utils.VMScenario):
|
||||||
|
|
||||||
def run(self, image, flavor, external_net_name, boot_server_kwargs):
|
def run(self, image, flavor, external_net_name, boot_server_kwargs):
|
||||||
server = self._boot_server(image, flavor, **boot_server_kwargs)
|
server = self._boot_server(image, flavor, **boot_server_kwargs)
|
||||||
self._attach_floating_ip(server, external_net_name)
|
self._attach_floating_ip(server, external_net_name)
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
flavor={"type": "nova_flavor"})
|
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
@validation.required_contexts("browbeat_delay")
|
@validation.required_contexts("browbeat_delay")
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
||||||
@validation.required_openstack(users=True)
|
@validation.required_openstack(users=True)
|
||||||
@scenario.configure(context={},
|
@scenario.configure(context={}, name="BrowbeatNova.nova_boot_persist_with_network_volume_fip")
|
||||||
name="BrowbeatNova.nova_boot_persist_with_network_volume_fip")
|
|
||||||
class NovaBootPersistWithNetworkVolumeFip(vm_utils.VMScenario):
|
class NovaBootPersistWithNetworkVolumeFip(vm_utils.VMScenario):
|
||||||
|
|
||||||
def run(self, image, flavor, volume_size, boot_server_kwargs, external_net_name):
|
def run(self, image, flavor, volume_size, boot_server_kwargs, external_net_name):
|
||||||
|
@@ -1,9 +0,0 @@
|
|||||||
Browbeat Rally Plugin: subnet-router-create
|
|
||||||
======================================
|
|
||||||
|
|
||||||
Functions:
|
|
||||||
----------
|
|
||||||
- Create Neutron Router
|
|
||||||
- Create 'N' Neutron network
|
|
||||||
- Create 'N' Neutron subnet
|
|
||||||
- Attach subnets created above to Neutron router
|
|
@@ -1,10 +1,11 @@
|
|||||||
|
{% set image_name = image_name or 'browbeat-linpack' %}
|
||||||
|
{% set flavor_name = flavor_name or 'm1.small' %}
|
||||||
|
{% set username = username or 'centos' %}
|
||||||
|
{% set times = times or 1 %}
|
||||||
|
{% set concurrency = concurrency or 1 %}
|
||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set sla_max_failure = sla_max_failure or 0 %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
||||||
{% set times = times or 1 %}
|
|
||||||
{% set concurrency = concurrency or 1 %}
|
|
||||||
{% set username = username or 'centos' %}
|
|
||||||
|
|
||||||
---
|
---
|
||||||
VMTasks.boot_runcommand_delete:
|
VMTasks.boot_runcommand_delete:
|
||||||
-
|
-
|
||||||
@@ -16,15 +17,15 @@ VMTasks.boot_runcommand_delete:
|
|||||||
external:
|
external:
|
||||||
name: '{{external_network}}'
|
name: '{{external_network}}'
|
||||||
command:
|
command:
|
||||||
remote_path: "./linpack.sh"
|
remote_path: './linpack.sh'
|
||||||
local_path: "rally/rally-plugins/workloads/linpack.sh"
|
local_path: 'rally/rally-plugins/workloads/linpack.sh'
|
||||||
username: '{{username}}'
|
username: '{{username}}'
|
||||||
nics:
|
nics:
|
||||||
- net-id: '{{net_id}}'
|
- net-id: '{{net_id}}'
|
||||||
runner:
|
runner:
|
||||||
concurrency: {{concurrency}}
|
concurrency: {{concurrency}}
|
||||||
times: {{times}}
|
times: {{times}}
|
||||||
type: "constant"
|
type: 'constant'
|
||||||
context:
|
context:
|
||||||
users:
|
users:
|
||||||
tenants: 1
|
tenants: 1
|
||||||
|
@@ -10,35 +10,38 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from rally.task import scenario
|
import csv
|
||||||
|
import datetime
|
||||||
|
import json
|
||||||
|
import logging
|
||||||
|
import StringIO
|
||||||
|
import time
|
||||||
|
|
||||||
|
import browbeat.elastic
|
||||||
|
|
||||||
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
||||||
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
|
||||||
|
from rally.common import sshutils
|
||||||
|
from rally.task import scenario
|
||||||
from rally.task import types
|
from rally.task import types
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
from rally.common import sshutils
|
from rally import consts
|
||||||
import browbeat.elastic
|
|
||||||
import time
|
|
||||||
import StringIO
|
|
||||||
import csv
|
|
||||||
import json
|
|
||||||
import datetime
|
|
||||||
import logging
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
@types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"})
|
||||||
vm_utils.VMScenario,
|
@validation.required_services(consts.Service.NEUTRON, consts.Service.NOVA)
|
||||||
scenario.Scenario):
|
@validation.image_valid_on_flavor("flavor", "image")
|
||||||
|
@validation.required_openstack(users=True)
|
||||||
|
@scenario.configure(context={"cleanup": ["cinder", "neutron", "nova"], "keypair": {},
|
||||||
|
"allow_ssh": None},
|
||||||
|
name="BrowbeatPlugin.pbench_uperf")
|
||||||
|
class BrowbeatPbenchUperf(neutron_utils.NeutronScenario,
|
||||||
|
vm_utils.VMScenario):
|
||||||
|
|
||||||
def build_jump_host(
|
def build_jump_host(self, external, image, flavor, user, password=None, **kwargs):
|
||||||
self,
|
|
||||||
external,
|
|
||||||
image,
|
|
||||||
flavor,
|
|
||||||
user,
|
|
||||||
password=None,
|
|
||||||
**kwargs):
|
|
||||||
keyname = self.context["user"]["keypair"]["name"]
|
keyname = self.context["user"]["keypair"]["name"]
|
||||||
jump_host, jump_host_ip = self._boot_server_with_fip(image,
|
jump_host, jump_host_ip = self._boot_server_with_fip(image,
|
||||||
flavor,
|
flavor,
|
||||||
@@ -159,32 +162,10 @@ class BrowbeatPlugin(neutron_utils.NeutronScenario,
|
|||||||
|
|
||||||
return _clients, _servers
|
return _clients, _servers
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
def run(self, image, flavor, user, test_types, protocols, samples, test_name, external=None,
|
||||||
flavor={"type": "nova_flavor"})
|
send_results=True, num_pairs=1, password="", network_id=None, zones=None,
|
||||||
@validation.required_openstack(users=True)
|
message_sizes=None, instances=None, elastic_host=None, elastic_port=None,
|
||||||
@scenario.configure(context={"cleanup": ["nova", "neutron", "cinder"],
|
cloudname=None, **kwargs):
|
||||||
"keypair": {}, "allow_ssh": {}})
|
|
||||||
def pbench_uperf(
|
|
||||||
self,
|
|
||||||
image,
|
|
||||||
flavor,
|
|
||||||
user,
|
|
||||||
test_types,
|
|
||||||
protocols,
|
|
||||||
samples,
|
|
||||||
test_name,
|
|
||||||
external=None,
|
|
||||||
send_results=True,
|
|
||||||
num_pairs=1,
|
|
||||||
password="",
|
|
||||||
network_id=None,
|
|
||||||
zones=None,
|
|
||||||
message_sizes=None,
|
|
||||||
instances=None,
|
|
||||||
elastic_host=None,
|
|
||||||
elastic_port=None,
|
|
||||||
cloudname=None,
|
|
||||||
**kwargs):
|
|
||||||
|
|
||||||
pbench_path = "/opt/pbench-agent"
|
pbench_path = "/opt/pbench-agent"
|
||||||
pbench_results = "/var/lib/pbench-agent"
|
pbench_results = "/var/lib/pbench-agent"
|
||||||
|
@@ -1,7 +1,5 @@
|
|||||||
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
|
{% set image_name = image_name or 'browbeat-uperf' %}
|
||||||
{% set sla_max_failure = sla_max_failure or 0 %}
|
{% set flavor_name = flavor_name or 'm1.small' %}
|
||||||
{% set sla_max_seconds = sla_max_seconds or 60 %}
|
|
||||||
{% set times = times or 1 %}
|
|
||||||
{% set num_pairs = num_pairs or 1 %}
|
{% set num_pairs = num_pairs or 1 %}
|
||||||
{% set instances = instances or 1 %}
|
{% set instances = instances or 1 %}
|
||||||
{% set password = password or 'None' %}
|
{% set password = password or 'None' %}
|
||||||
@@ -9,7 +7,9 @@
|
|||||||
{% set message_sizes = message_sizes or '64,1024,16384' %}
|
{% set message_sizes = message_sizes or '64,1024,16384' %}
|
||||||
{% set hypervisor_server = hypervisor_server or 'None' %}
|
{% set hypervisor_server = hypervisor_server or 'None' %}
|
||||||
{% set hypervisor_client = hypervisor_client or 'None' %}
|
{% set hypervisor_client = hypervisor_client or 'None' %}
|
||||||
|
{% 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.pbench_uperf:
|
BrowbeatPlugin.pbench_uperf:
|
||||||
-
|
-
|
||||||
|
Reference in New Issue
Block a user