xenapi: max out VCPU count
Give as much VCPUs to the DevStack machine as possible. First asking xenapi about its CPU count, and as a fallback, count the CPUs in dom0. This should result in faster test runs. Change-Id: I1ffb99ecd435f1d7eb5754fe9cd99f0e8ceae6dc
This commit is contained in:
parent
1c1aef0eb7
commit
9f878cbe6d
@ -287,3 +287,35 @@ function set_vm_memory() {
|
|||||||
dynamic-max=${memory}MiB \
|
dynamic-max=${memory}MiB \
|
||||||
uuid=$vm
|
uuid=$vm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function max_vcpus() {
|
||||||
|
local vm_name_label
|
||||||
|
|
||||||
|
vm_name_label="$1"
|
||||||
|
|
||||||
|
local vm
|
||||||
|
local host
|
||||||
|
local cpu_count
|
||||||
|
|
||||||
|
host=$(xe host-list --minimal)
|
||||||
|
vm=$(_vm_uuid "$vm_name_label")
|
||||||
|
|
||||||
|
cpu_count=$(xe host-param-get \
|
||||||
|
param-name=cpu_info \
|
||||||
|
uuid=$host |
|
||||||
|
sed -e 's/^.*cpu_count: \([0-9]*\);.*$/\1/g')
|
||||||
|
|
||||||
|
if [ -z "$cpu_count" ]; then
|
||||||
|
# get dom0's vcpu count
|
||||||
|
cpu_count=$(cat /proc/cpuinfo | grep processor | wc -l)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Assert cpu_count is not empty
|
||||||
|
[ -n "$cpu_count" ]
|
||||||
|
|
||||||
|
# Assert ithas a numeric nonzero value
|
||||||
|
expr "$cpu_count" + 0
|
||||||
|
|
||||||
|
xe vm-param-set uuid=$vm VCPUs-max=$cpu_count
|
||||||
|
xe vm-param-set uuid=$vm VCPUs-at-startup=$cpu_count
|
||||||
|
}
|
||||||
|
@ -263,6 +263,9 @@ $THIS_DIR/prepare_guest_template.sh "$GUEST_NAME"
|
|||||||
# Set virtual machine parameters
|
# Set virtual machine parameters
|
||||||
set_vm_memory "$GUEST_NAME" "$OSDOMU_MEM_MB"
|
set_vm_memory "$GUEST_NAME" "$OSDOMU_MEM_MB"
|
||||||
|
|
||||||
|
# Max out VCPU count for better performance
|
||||||
|
max_vcpus "$GUEST_NAME"
|
||||||
|
|
||||||
# start the VM to run the prepare steps
|
# start the VM to run the prepare steps
|
||||||
xe vm-start vm="$GUEST_NAME"
|
xe vm-start vm="$GUEST_NAME"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user