summaryrefslogtreecommitdiff
path: root/gate
diff options
context:
space:
mode:
authorChris Dent <cdent@anticdent.org>2018-08-14 22:14:12 +0100
committerChris Dent <cdent@anticdent.org>2018-08-16 18:21:47 +0100
commite6754e1b9e57cff653204ef9c4234ad1817feb67 (patch)
tree793bf9e93d9b0da32c4aba1e248af4cf08acf844 /gate
parent8b4fcdfdc6c59e024e7639e0d2da6ccbea5c73d3 (diff)
downloadnova-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-xgate/post_test_perf_check.sh32
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