Remove placement perf check
gate/post_test_perf_check.sh did some simplistic performance testing of placement. With the extraction of placement we want it to happen during openstack/placement CI changes so we remove it here. The depends-on is to the placement change that turns it on there, using an independent (and very small) job. Depends-On: I93875e3ce1f77fdb237e339b7b3e38abe3dad8f7 Change-Id: I30a7bc9a0148fd3ed15ddd997d8dab11e4fb1fe1
This commit is contained in:
parent
8446a1e58d
commit
84182d0aa2
@ -1,89 +0,0 @@
|
|||||||
#!/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', 'a', and 't' indicate successful
|
|
||||||
creation of a resource provider and setting inventory, aggregates, and
|
|
||||||
traits on that resource provider.
|
|
||||||
|
|
||||||
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 4000 characters containing
|
|
||||||
'r', 'i', 'a', 't' 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 were not created. At this time, only resource
|
|
||||||
providers are counted, not whether they have the correct inventory,
|
|
||||||
aggregates, or traits.
|
|
||||||
|
|
||||||
"
|
|
||||||
|
|
||||||
|
|
||||||
# This aggregate uuid is a static value in placeload.
|
|
||||||
AGGREGATE="14a5c8a3-5a99-4e8f-88be-00d85fcb1c17"
|
|
||||||
TRAIT="HW_CPU_X86_AVX2"
|
|
||||||
PLACEMENT_QUERY="resources=VCPU:1,DISK_GB:10,MEMORY_MB:256&member_of=${AGGREGATE}&required=${TRAIT}"
|
|
||||||
|
|
||||||
BASE=${BASE:-/opt/stack}
|
|
||||||
source ${BASE}/new/devstack/functions
|
|
||||||
source ${BASE}/new/devstack/lib/nova
|
|
||||||
source ${BASE}/new/devstack/lib/placement
|
|
||||||
# Putting the log here ought to mean it is automatically gathered by zuul
|
|
||||||
LOG=${BASE}/logs/placement-perf.txt
|
|
||||||
COUNT=1000
|
|
||||||
|
|
||||||
function check_placement {
|
|
||||||
local placement_url
|
|
||||||
local rp_count
|
|
||||||
|
|
||||||
python -m virtualenv -p python3 .placeload
|
|
||||||
. .placeload/bin/activate
|
|
||||||
|
|
||||||
# install placeload
|
|
||||||
pip install 'placeload==0.3.0'
|
|
||||||
|
|
||||||
# Turn off keystone auth
|
|
||||||
iniset -sudo $NOVA_CONF DEFAULT auth_strategy noauth2
|
|
||||||
restart_service devstack@placement-api
|
|
||||||
|
|
||||||
# get placement endpoint
|
|
||||||
placement_url=$(get_endpoint_url placement public)
|
|
||||||
|
|
||||||
# load with placeload
|
|
||||||
(
|
|
||||||
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
|
|
||||||
(
|
|
||||||
echo '##### TIMING GET /allocation_candidates'
|
|
||||||
time curl -s -H 'x-auth-token: admin' -H 'openstack-api-version: placement 1.21' "$placement_url/allocation_candidates?${PLACEMENT_QUERY}" > /dev/null
|
|
||||||
time curl -s -H 'x-auth-token: admin' -H 'openstack-api-version: placement 1.21' "$placement_url/allocation_candidates?${PLACEMENT_QUERY}" > /dev/null
|
|
||||||
) 2>&1 | tee -a $LOG
|
|
||||||
else
|
|
||||||
(
|
|
||||||
echo "Unable to create expected number of resource providers. Expected: ${COUNT}, Got: $rp_count"
|
|
||||||
echo "See job-output.txt.gz and logs/screen-placement-api.txt.gz for additional detail."
|
|
||||||
) | tee -a $LOG
|
|
||||||
fi
|
|
||||||
deactivate
|
|
||||||
}
|
|
||||||
|
|
||||||
# Be admin
|
|
||||||
set +x
|
|
||||||
source $BASE/new/devstack/openrc admin
|
|
||||||
set -x
|
|
||||||
check_placement
|
|
@ -61,9 +61,6 @@
|
|||||||
if [ -f $BASE/new/nova/gate/post_test_hook.sh ]; then
|
if [ -f $BASE/new/nova/gate/post_test_hook.sh ]; then
|
||||||
$BASE/new/nova/gate/post_test_hook.sh
|
$BASE/new/nova/gate/post_test_hook.sh
|
||||||
fi
|
fi
|
||||||
if [ -f $BASE/new/nova/gate/post_test_perf_check.sh ]; then
|
|
||||||
$BASE/new/nova/gate/post_test_perf_check.sh
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
export -f post_test_hook
|
export -f post_test_hook
|
||||||
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
|
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
|
||||||
|
Loading…
Reference in New Issue
Block a user