Tweak trove devstack plugin
Tweak the trove devstack plugin to force KVM if possible. This change is semi-experimental. I would like to see how it performs in the gate, it seems to be fine on my local machine. It takes some precautions to only force kvm if it is possible. In speaking with infra, there are also some known stability issues with kvm and part of the experiment here is to see what those are. The other part is to quantify the improvement that it brings to the trove gate. Change-Id: I209d3202b4f6414cd3430c11f2ccdb8d5b541d94
This commit is contained in:
parent
48f4fa52f9
commit
47971156f3
@ -100,10 +100,49 @@ function iniset_conditional {
|
||||
}
|
||||
|
||||
|
||||
# tweak_nova() - update the nova hypervisor configuration if possible
|
||||
function tweak_nova {
|
||||
if [ -e /sys/module/kvm_*/parameters/nested ]; then
|
||||
reconfigure_nova="F"
|
||||
|
||||
if [ -e /sys/module/kvm_intel/parameters/nested ]; then
|
||||
if [[ "$(cat /sys/module/kvm_*/parameters/nested)" == "Y" ]]; then
|
||||
reconfigure_nova="Y"
|
||||
else
|
||||
echo_summary "Found Intel with no support for nested KVM."
|
||||
fi
|
||||
elif [ -e /sys/module/kvm_amd/parameters/nested ]; then
|
||||
if [[ "$(cat /sys/module/kvm_*/parameters/nested)" == "1" ]]; then
|
||||
reconfigure_nova="Y"
|
||||
else
|
||||
echo_summary "Found AMD with no support for nested KVM."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${reconfigure_nova}" == "Y" ]; then
|
||||
echo_summary "Configuring Nova to use KVM."
|
||||
|
||||
NOVA_CONF_DIR=${NOVA_CONF_DIR:-/etc/nova}
|
||||
NOVA_CONF=${NOVA_CONF:-${NOVA_CONF_DIR}/nova.conf}
|
||||
iniset $NOVA_CONF libvirt cpu_mode "none"
|
||||
iniset $NOVA_CONF libvirt virt_type "kvm"
|
||||
else
|
||||
virt_type=$(iniget $NOVA_CONF libvirt virt_type)
|
||||
echo_summary "Nested hypervisor not supported, using ${virt_type}."
|
||||
fi
|
||||
else
|
||||
virt_type=$(iniget $NOVA_CONF libvirt virt_type)
|
||||
echo_summary "Unable to configure Nova to use KVM, using ${virt_type}."
|
||||
echo "Unable to configure Nova to use KVM, using ${virt_type}."
|
||||
fi
|
||||
}
|
||||
|
||||
# configure_trove() - Set config files, create data dirs, etc
|
||||
function configure_trove {
|
||||
setup_develop $TROVE_DIR
|
||||
|
||||
tweak_nova
|
||||
|
||||
# Create the trove conf dir and cache dirs if they don't exist
|
||||
sudo install -d -o $STACK_USER ${TROVE_CONF_DIR} ${TROVE_AUTH_CACHE_DIR}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user