Upgrade PerfKit to latest (v1.7.0)
Working: * Benchmark output makes it to browbeat results directory * v1.7 PerfKitBenchmarker is installed * Many benchmarks are tested however there is still some that require testing/configuration * Example are provided in conf/perfkit-benchmarks.yml Change-Id: I62dec86fe7e8c6f71b7c5654abfd4b2079904e4b
This commit is contained in:
parent
b04de2d9d3
commit
8611eea339
@ -3,6 +3,7 @@ gathering = smart
|
|||||||
fact_caching_timeout = 86400
|
fact_caching_timeout = 86400
|
||||||
fact_caching = jsonfile
|
fact_caching = jsonfile
|
||||||
fact_caching_connection = /tmp/browbeat_fact_cache
|
fact_caching_connection = /tmp/browbeat_fact_cache
|
||||||
|
timeout=30
|
||||||
|
|
||||||
[ssh_connection]
|
[ssh_connection]
|
||||||
# Load the specific ssh config file in this directory
|
# Load the specific ssh config file in this directory
|
||||||
|
@ -37,8 +37,9 @@ shaker_venv: /home/stack/shaker-venv
|
|||||||
# Shaker version to Install
|
# Shaker version to Install
|
||||||
shaker_version: 0.0.15
|
shaker_version: 0.0.15
|
||||||
|
|
||||||
# The default PerfKit venv:
|
# PerfKitBenchmarker Settings
|
||||||
perfkit_venv: /home/stack/perfkit-venv
|
perfkit_venv: /home/stack/perfkit-venv
|
||||||
|
perfkit_version: v1.7.0
|
||||||
|
|
||||||
# Guest images for the Overcloud
|
# Guest images for the Overcloud
|
||||||
images:
|
images:
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
- name: Create browbeat public network
|
- name: Create browbeat public network
|
||||||
shell: ". {{overcloudrc}}; neutron net-create {{browbeat_pub_net_name}} --router:external | grep -E ' id ' | awk '{print $4}'"
|
shell: ". {{overcloudrc}}; neutron net-create {{browbeat_pub_net_name}} --shared --router:external | grep -E ' id ' | awk '{print $4}'"
|
||||||
register: public_net_id
|
register: public_net_id
|
||||||
|
|
||||||
- name: Create browbeat public subnet
|
- name: Create browbeat public subnet
|
||||||
shell: ". {{overcloudrc}}; neutron subnet-create {{public_net_id.stdout}} {{browbeat_pub_subnet}} --allocation-pool start={{browbeat_pub_pool_start}},end={{browbeat_pub_pool_end}} --gateway={{browbeat_pub_pool_gw}} --disable-dhcp"
|
shell: ". {{overcloudrc}}; neutron subnet-create {{public_net_id.stdout}} {{browbeat_pub_subnet}} --allocation-pool start={{browbeat_pub_pool_start}},end={{browbeat_pub_pool_end}} --gateway={{browbeat_pub_pool_gw}} --disable-dhcp"
|
||||||
|
|
||||||
- name: Create browbeat private network
|
- name: Create browbeat private network
|
||||||
shell: ". {{overcloudrc}}; neutron net-create {{browbeat_pri_net_name}} | grep -E ' id ' | awk '{print $4}'"
|
shell: ". {{overcloudrc}}; neutron net-create {{browbeat_pri_net_name}} --shared | grep -E ' id ' | awk '{print $4}'"
|
||||||
register: private_net_id
|
register: private_net_id
|
||||||
|
|
||||||
- name: Create browbeat private subnet
|
- name: Create browbeat private subnet
|
||||||
|
@ -94,30 +94,39 @@
|
|||||||
- name: Install requirements.txt into browbeat-venv
|
- name: Install requirements.txt into browbeat-venv
|
||||||
pip: requirements={{ browbeat_path }}/requirements.txt virtualenv={{ browbeat_venv }}
|
pip: requirements={{ browbeat_path }}/requirements.txt virtualenv={{ browbeat_venv }}
|
||||||
|
|
||||||
- name: Determine if perfkit is already cloned
|
# PerfKitBenchmarker Install
|
||||||
|
- name: Determine if PerfKitBenchmarker is already cloned
|
||||||
stat: path={{ perfkit_venv }}/PerfKitBenchmarker
|
stat: path={{ perfkit_venv }}/PerfKitBenchmarker
|
||||||
register: perfkit_exists
|
register: perfkit_exists
|
||||||
|
|
||||||
- debug: msg="PerfKit already exists on the host"
|
- debug: msg="PerfKitBenchmarker already exists on the host"
|
||||||
when: perfkit_exists.stat.isdir is defined and perfkit_exists.stat.isdir
|
when: perfkit_exists.stat.isdir is defined and perfkit_exists.stat.isdir
|
||||||
|
|
||||||
- name: Clone PerfKitBenchmarker on undercloud
|
- name: Clone PerfKitBenchmarker on undercloud
|
||||||
git:
|
git:
|
||||||
repo=https://github.com/GoogleCloudPlatform/PerfKitBenchmarker.git
|
repo: https://github.com/GoogleCloudPlatform/PerfKitBenchmarker.git
|
||||||
dest={{ perfkit_venv }}/PerfKitBenchmarker
|
dest: "{{perfkit_venv}}/PerfKitBenchmarker"
|
||||||
version=v1.4.0
|
version: "{{perfkit_version}}"
|
||||||
when: perfkit_exists.stat.isdir is undefined
|
when: perfkit_exists.stat.isdir is undefined
|
||||||
|
|
||||||
|
|
||||||
- name: Install PerfKitBenchmarker requirements into perfkit-venv
|
- name: Install PerfKitBenchmarker requirements into perfkit-venv
|
||||||
pip:
|
pip:
|
||||||
requirements={{ perfkit_venv }}/PerfKitBenchmarker/requirements.txt
|
requirements: "{{perfkit_venv}}/PerfKitBenchmarker/requirements.txt"
|
||||||
virtualenv={{ perfkit_venv }}
|
virtualenv: "{{perfkit_venv}}"
|
||||||
|
|
||||||
- name: Install PerfKitBenchmarker Openstack requirements into perfkit-venv
|
- name: Install PerfKitBenchmarker Openstack requirements into perfkit-venv
|
||||||
pip:
|
pip:
|
||||||
requirements={{ perfkit_venv }}/PerfKitBenchmarker/requirements-openstack.txt
|
requirements: "{{ perfkit_venv }}/PerfKitBenchmarker/perfkitbenchmarker/providers/openstack/requirements.txt"
|
||||||
virtualenv={{ perfkit_venv }}
|
virtualenv: "{{perfkit_venv}}"
|
||||||
|
|
||||||
|
# (akrzos) - Using 2.6 seems most stable, Using latest or >2.6 as per PerfKitBenchmarker
|
||||||
|
# openstack/requirements.txt results in an openstack cli error.
|
||||||
|
- name: Downgrade python-openstackclient inside perfkit-venv
|
||||||
|
pip:
|
||||||
|
name: python-openstackclient
|
||||||
|
version: 2.6.0
|
||||||
|
virtualenv: "{{perfkit_venv}}"
|
||||||
|
# End PerfKitBenchmarker Install
|
||||||
|
|
||||||
- name: Install rally into rally-venv
|
- name: Install rally into rally-venv
|
||||||
pip: name=rally version={{ rally_version }} virtualenv={{ rally_venv }}
|
pip: name=rally version={{ rally_version }} virtualenv={{ rally_venv }}
|
||||||
|
@ -50,11 +50,12 @@ perfkit:
|
|||||||
openstack_image_username: centos
|
openstack_image_username: centos
|
||||||
openstack_floating_ip_pool: browbeat_public
|
openstack_floating_ip_pool: browbeat_public
|
||||||
openstack_network: browbeat_private
|
openstack_network: browbeat_private
|
||||||
|
timing_measurements: runtimes
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: fio-centos-m1-small
|
- name: fio-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: fio
|
benchmarks: fio
|
||||||
data_disk_size: 4
|
openstack_volume_size: 1
|
||||||
rally:
|
rally:
|
||||||
enabled: true
|
enabled: true
|
||||||
sleep_before: 5
|
sleep_before: 5
|
||||||
|
@ -50,11 +50,12 @@ perfkit:
|
|||||||
openstack_image_username: centos
|
openstack_image_username: centos
|
||||||
openstack_floating_ip_pool: browbeat_public
|
openstack_floating_ip_pool: browbeat_public
|
||||||
openstack_network: browbeat_private
|
openstack_network: browbeat_private
|
||||||
|
timing_measurements: runtimes
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: fio-centos-m1-small
|
- name: fio-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: fio
|
benchmarks: fio
|
||||||
data_disk_size: 4
|
openstack_volume_size: 1
|
||||||
shaker:
|
shaker:
|
||||||
enabled: true
|
enabled: true
|
||||||
server: 1.1.1.1
|
server: 1.1.1.1
|
||||||
|
@ -37,8 +37,9 @@ shaker_venv: /home/stack/shaker-venv
|
|||||||
# Shaker version to install
|
# Shaker version to install
|
||||||
shaker_version: 0.0.15
|
shaker_version: 0.0.15
|
||||||
|
|
||||||
# The default PerfKit venv:
|
# PerfKitBenchmarker Settings
|
||||||
perfkit_venv: /home/stack/perfkit-venv
|
perfkit_venv: /home/stack/perfkit-venv
|
||||||
|
perfkit_version: v1.7.0
|
||||||
|
|
||||||
# Guest images for the Overcloud
|
# Guest images for the Overcloud
|
||||||
images:
|
images:
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
# Complete set of PerfKit Benchmarks run from Browbeat
|
# Examples of PerfKit Benchmarks run from Browbeat
|
||||||
|
#
|
||||||
|
# Not all benchmark flags are exposed in this file because PerfKit
|
||||||
|
# ships with many benchmarks and many configuration options for
|
||||||
|
# each of the benchmarks. The settings for the benchmarks below
|
||||||
|
# are not tuned for best performance analysis either.
|
||||||
browbeat:
|
browbeat:
|
||||||
results : results/
|
results : results/
|
||||||
rerun: 3
|
rerun: 1
|
||||||
cloud_name: openstack
|
cloud_name: openstack
|
||||||
elasticsearch:
|
elasticsearch:
|
||||||
enabled: false
|
enabled: false
|
||||||
@ -50,6 +55,7 @@ perfkit:
|
|||||||
openstack_image_username: centos
|
openstack_image_username: centos
|
||||||
openstack_floating_ip_pool: browbeat_public
|
openstack_floating_ip_pool: browbeat_public
|
||||||
openstack_network: browbeat_private
|
openstack_network: browbeat_private
|
||||||
|
timing_measurements: runtimes
|
||||||
benchmarks:
|
benchmarks:
|
||||||
- name: aerospike-centos-m1-small
|
- name: aerospike-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
@ -57,28 +63,18 @@ perfkit:
|
|||||||
- name: block_storage_workload-database-centos-m1-small
|
- name: block_storage_workload-database-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: block_storage_workload
|
benchmarks: block_storage_workload
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
workload_mode: database
|
workload_mode: database
|
||||||
- name: block_storage_workload-logging-centos-m1-small
|
- name: block_storage_workload-logging-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: block_storage_workload
|
benchmarks: block_storage_workload
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
workload_mode: logging
|
workload_mode: logging
|
||||||
- name: block_storage_workload-streaming-centos-m1-small
|
- name: block_storage_workload-streaming-centos-m1-small
|
||||||
enabled: true
|
|
||||||
benchmarks: block_storage_workload
|
|
||||||
data_disk_size: 20
|
|
||||||
workload_mode: streaming
|
|
||||||
- name: bonnie-centos-m1-small
|
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: bonnie++
|
benchmarks: block_storage_workload
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
image: centos7
|
workload_mode: streaming
|
||||||
machine_type: m1.small
|
|
||||||
os_type: rhel
|
|
||||||
openstack_image_username: centos
|
|
||||||
openstack_floating_ip_pool: browbeat_public
|
|
||||||
openstack_network: browbeat_private
|
|
||||||
- name: cluster_boot-centos-m1-small
|
- name: cluster_boot-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: cluster_boot
|
benchmarks: cluster_boot
|
||||||
@ -87,28 +83,27 @@ perfkit:
|
|||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: copy_throughput
|
benchmarks: copy_throughput
|
||||||
copy_benchmark_mode: cp
|
copy_benchmark_mode: cp
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
- name: copy_throughput-dd-centos-m1-small
|
- name: copy_throughput-dd-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: copy_throughput
|
benchmarks: copy_throughput
|
||||||
copy_benchmark_mode: dd
|
copy_benchmark_mode: dd
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
- name: copy_throughput-scp-centos-m1-small
|
- name: copy_throughput-scp-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: copy_throughput
|
benchmarks: copy_throughput
|
||||||
copy_benchmark_mode: scp
|
copy_benchmark_mode: scp
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
- name: fio-centos-m1-small
|
- name: fio-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: fio
|
benchmarks: fio
|
||||||
data_disk_size: 4
|
openstack_volume_size: 20
|
||||||
- name: fio-centos-m1-small-10m
|
- name: fio-centos-m1-small-10m
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: fio
|
benchmarks: fio
|
||||||
data_disk_size: 10
|
openstack_volume_size: 20
|
||||||
config_override: "fio.vm_groups.default.vm_count=2"
|
|
||||||
fio_generate_scenarios: all
|
fio_generate_scenarios: all
|
||||||
fio_run_for_minutes: 10
|
fio_runtime: 600
|
||||||
fio_working_set_size: 4
|
fio_working_set_size: 4
|
||||||
- name: iperf-centos-m1-small
|
- name: iperf-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
@ -117,30 +112,12 @@ perfkit:
|
|||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: mesh_network
|
benchmarks: mesh_network
|
||||||
num_vms: 3
|
num_vms: 3
|
||||||
- name: mongodb_ycsb-centos-m1-small
|
|
||||||
enabled: false
|
|
||||||
benchmarks: mongodb_ycsb
|
|
||||||
data_disk_size: 20
|
|
||||||
num_striped_disks: 1
|
|
||||||
ycsb_client_vms: 1
|
|
||||||
mongodb_writeconcern: acknowledged
|
|
||||||
- name: netperf-centos-m1-small
|
- name: netperf-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: netperf
|
benchmarks: netperf
|
||||||
- name: object_storage_service-centos-m1-small
|
|
||||||
enabled: false
|
|
||||||
benchmarks: object_storage_service
|
|
||||||
storage: OpenStack
|
|
||||||
object_storage_scenario: all
|
|
||||||
openstack_swift_insecure: true
|
|
||||||
data_disk_size: 10
|
|
||||||
- name: ping-centos-m1-small
|
- name: ping-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: ping
|
benchmarks: ping
|
||||||
- name: redis-centos-m1-small
|
|
||||||
enabled: false
|
|
||||||
benchmarks: redis
|
|
||||||
redis_clients: 2
|
|
||||||
- name: redis_ycsb-centos-m1-small
|
- name: redis_ycsb-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: redis_ycsb
|
benchmarks: redis_ycsb
|
||||||
@ -151,8 +128,8 @@ perfkit:
|
|||||||
- name: sysbench_oltp-centos-m1-small
|
- name: sysbench_oltp-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: sysbench_oltp
|
benchmarks: sysbench_oltp
|
||||||
data_disk_size: 20
|
openstack_volume_size: 20
|
||||||
- name: unixbench-centos-m1-small
|
- name: unixbench-centos-m1-small
|
||||||
enabled: false
|
enabled: false
|
||||||
benchmarks: unixbench
|
benchmarks: unixbench
|
||||||
data_disk_size: 10
|
openstack_volume_size: 20
|
@ -82,8 +82,8 @@ class PerfKit(WorkloadBase.WorkloadBase):
|
|||||||
cmd += " --{}={}".format(parameter, value)
|
cmd += " --{}={}".format(parameter, value)
|
||||||
|
|
||||||
# Remove any old results
|
# Remove any old results
|
||||||
if os.path.exists("/tmp/perfkitbenchmarker/run_browbeat"):
|
if os.path.exists("/tmp/perfkitbenchmarker/runs/browbeat"):
|
||||||
shutil.rmtree("/tmp/perfkitbenchmarker/run_browbeat")
|
shutil.rmtree("/tmp/perfkitbenchmarker/runs/browbeat")
|
||||||
|
|
||||||
if self.config['connmon']['enabled']:
|
if self.config['connmon']['enabled']:
|
||||||
self.connmon.start_connmon()
|
self.connmon.start_connmon()
|
||||||
@ -139,10 +139,10 @@ class PerfKit(WorkloadBase.WorkloadBase):
|
|||||||
"File missing: {}/pkb.stderr.log".format(result_dir))
|
"File missing: {}/pkb.stderr.log".format(result_dir))
|
||||||
|
|
||||||
# Copy all results
|
# Copy all results
|
||||||
for perfkit_file in glob.glob("/tmp/perfkitbenchmarker/run_browbeat/*"):
|
for perfkit_file in glob.glob("/tmp/perfkitbenchmarker/runs/browbeat/*"):
|
||||||
shutil.move(perfkit_file, result_dir)
|
shutil.move(perfkit_file, result_dir)
|
||||||
if os.path.exists("/tmp/perfkitbenchmarker/run_browbeat"):
|
if os.path.exists("/tmp/perfkitbenchmarker/runs/browbeat"):
|
||||||
shutil.rmtree("/tmp/perfkitbenchmarker/run_browbeat")
|
shutil.rmtree("/tmp/perfkitbenchmarker/runs/browbeat")
|
||||||
|
|
||||||
# Grafana integration
|
# Grafana integration
|
||||||
self.grafana.create_grafana_urls(
|
self.grafana.create_grafana_urls(
|
||||||
|
@ -151,6 +151,12 @@ mapping:
|
|||||||
openstack_network:
|
openstack_network:
|
||||||
type: str
|
type: str
|
||||||
required: True
|
required: True
|
||||||
|
ignore_package_requirements:
|
||||||
|
type: bool
|
||||||
|
required: False
|
||||||
|
timing_measurements:
|
||||||
|
type: str
|
||||||
|
required: False
|
||||||
benchmarks:
|
benchmarks:
|
||||||
type: seq
|
type: seq
|
||||||
sequence:
|
sequence:
|
||||||
|
Loading…
Reference in New Issue
Block a user