GoogleCloudPlatform / PerfKitBenchmarker

PerfKit Benchmarker (PKB) contains a set of benchmarks to measure and compare cloud offerings. The benchmarks use default settings to reflect what most users will see. PerfKit Benchmarker is licensed under the Apache 2 license terms. Please make sure to read, understand and agree to the terms of the LICENSE and CONTRIBUTING files before proceeding.
https://googlecloudplatform.github.io/PerfKitBenchmarker/
Apache License 2.0
1.91k stars 512 forks source link

OpenStack "openstack_volume_size" not included in json results output #1122

Open akrzos opened 8 years ago

akrzos commented 8 years ago

OpenStack provider specific flags such as "openstack_volume_size" are not making their way into the result json which could be misleading, since defaults make their way in.

Flag Values:

2016-09-27 13:46:35,551 browbeat MainThread INFO     Flag values:
--openstack_volume_size=5
--machine_type=m1.small
--os_type=rhel
--benchmarks=copy_throughput
--openstack_network=browbeat_private
--image=centos7
--cloud=OpenStack
--timing_measurements=runtimes
--copy_benchmark_mode=cp
--run_uri=browbeat
--openstack_floating_ip_pool=browbeat_public
--openstack_image_username=centos

And in the newline delimited results json:

{"labels": "|data_disk_0_type:standard|,|zone:nova|,|scratch_disk_type:standard|,|perfkitbenchmarker_version:v1.7.0|,|num_striped_disks:1|,|machine_type:m1.small|,|scratch_disk_size:500|,|data_disk_0_size:500|,|data_disk_0_num_stripes:1|,|image:centos7|,|cloud:OpenStack|,|vm_count:1|", "timestamp": 1474998635.938512, "metric": "cp throughput", "official": false, "value": 197.3035439137134, "test": "copy_throughput", "run_uri": "browbeat-eed78df5-5389-4b37-b717-ed062cea8d99", "owner": "stack", "product_name": "PerfKitBenchmarker", "unit": "MB/sec", "sample_uri": "3f3a66a2-7a1c-4be7-9378-1a9533518d92"}

Looking through the results, you might think there is a 500G disk vs just a 5G cinder volume. Shouldn't "openstack_volume_size" be included under "labels"?

meteorfox commented 8 years ago

Yes, good catch.

So, we could remove deprecate openstack_volume_size and use data_disk_size, and if openstack_volume_size is set then use it as the data_disk_size.

What do you think?

akrzos commented 8 years ago

Yes, good catch.

So, we could remove deprecate openstack_volume_size and use data_disk_size, and if openstack_volume_size is set then use it as the data_disk_size.

What do you think?

Thanks, For consistency with the other providers it sounds like data_disk_size would be the way to go.

On another note, should --data_disk_type=local allow the use of my flavor's ephemeral disk?

meteorfox commented 8 years ago

Sounds good, I'll work on a patch soon.

Regarding data disk types, we could define our own. At the moment, it always uses Cinder Volumes regardless of the data_disk_type. I had a PR that added support for ephemeral disks, as well as using a path within the boot partition, but I closed since it needs rework after I made the changes to move the OpenStack CLI.

Here's the PR #759

I'm open to suggestions for other disk types as well.

akrzos commented 8 years ago

Sounds good, I'll work on a patch soon.

Cool I can help contribute to the patch as well.

Regarding data disk types, we could define our own. At the moment, it always uses Cinder Volumes regardless of the data_disk_type. I had a PR that added support for ephemeral disks, as well as using a path within the boot partition, but I closed since it needs rework after I made the changes to move the OpenStack CLI.

Here's the PR #759

Got it.

I'm open to suggestions for other disk types as well.

I'll let you know if we think there should be other disk types for OpenStack we should support.

vhe182 commented 7 years ago

Hi there, @akrzos. I provided a fix to this issue #1220. Please confirm and close whenever you have time.