diff options
author | Chris Dent <cdent@anticdent.org> | 2018-08-14 22:14:12 +0100 |
---|---|---|
committer | Chris Dent <cdent@anticdent.org> | 2018-08-16 18:21:47 +0100 |
commit | e6754e1b9e57cff653204ef9c4234ad1817feb67 (patch) | |
tree | 793bf9e93d9b0da32c4aba1e248af4cf08acf844 /gate | |
parent | 8b4fcdfdc6c59e024e7639e0d2da6ccbea5c73d3 (diff) | |
download | nova-e6754e1b9e57cff653204ef9c4234ad1817feb67.tar.gz |
Add explanatory prefix to post_test_perf output
The pirate on crack output of placeload can be confusing
so this change adds a prefix to the placement-perf.txt log
file so that it is somewhat more self-explanatory.
This change also pins the version of placeload because the
explanation is version dependent.
Change-Id: I055adb5f6004c93109b17db8313a7fef85538217
Diffstat (limited to 'gate')
-rwxr-xr-x | gate/post_test_perf_check.sh | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/gate/post_test_perf_check.sh b/gate/post_test_perf_check.sh index 0b6a34c291..3d3ea84478 100755 --- a/gate/post_test_perf_check.sh +++ b/gate/post_test_perf_check.sh @@ -1,6 +1,31 @@ #!/bin/bash -x # Do some performance related information gathering for placement. +EXPLANATION=" +This output combines output from placeload with timing information +gathered via curl. The placeload output is the current maximum +microversion of placement followed by an encoded representation of +what it has done. Lowercase 'r', 'i', and 'a' indicate successful +creation of a resource provider, inventory and aggregate. If +there are upper case versions of any of those letters, a failure +happened for a single request. The letter will be followed by the +HTTP status code and the resource provider uuid. These can be used +to find the relevant entry in logs/screen-placement-api.txt.gz. + +Note that placeload does not exit with an error code when this +happens. It merely reports and moves on. Under correct circumstances +the right output is a long string of 3000 characters containing +'r', 'i', 'a' in random order (because async). + +After that are three aggregate uuids, and then the output +of two timed curl requests. + +If no timed requests are present it means that the expected number +of resource providers was not created. At this time, only resource +providers are counted, not whether they have inventory or aggregates. + +" + # This aggregate uuid is a static value in placeload. AGGREGATE="14a5c8a3-5a99-4e8f-88be-00d85fcb1c17" @@ -22,7 +47,7 @@ function check_placement { . .placeload/bin/activate # install placeload - pip install placeload + pip install 'placeload==0.2.2' # Turn off keystone auth iniset -sudo $NOVA_CONF DEFAULT auth_strategy noauth2 @@ -32,7 +57,10 @@ function check_placement { placement_url=$(get_endpoint_url placement public) # load with placeload - placeload $placement_url $COUNT | tee -a $LOG + ( + echo "$EXPLANATION" + placeload $placement_url $COUNT + ) | tee -a $LOG rp_count=$(curl -H 'x-auth-token: admin' $placement_url/resource_providers |json_pp|grep -c '"name"') # Skip curl and note if we failed to create the required number of rps if [[ $rp_count -ge $COUNT ]]; then |