formalizing configure_nova_kvm

The earlier hack has proved to be quite good, and has not produced
many problems. Messages echoed to the summary log are not stashed in
logstash, moving to a single message in the log instead. Changed the
function name to a more formal name (configure_nova_kvm) instead of
tweak_nova.

Change-Id: I85364c6530058e964a8eba7fb515d7deadfd5d72
This commit is contained in:
Amrith Kumar 2016-12-20 11:29:07 -05:00
parent 4f9c538f68
commit 966b777e78

View File

@ -100,48 +100,42 @@ function iniset_conditional {
} }
# tweak_nova() - update the nova hypervisor configuration if possible # configure_nova_kvm() - update the nova hypervisor configuration if possible
function tweak_nova { function configure_nova_kvm {
cpu="unknown"
if [ -e /sys/module/kvm_*/parameters/nested ]; then if [ -e /sys/module/kvm_*/parameters/nested ]; then
reconfigure_nova="F" reconfigure_nova="F"
if [ -e /sys/module/kvm_intel/parameters/nested ]; then if [ -e /sys/module/kvm_intel/parameters/nested ]; then
cpu="Intel"
if [[ "$(cat /sys/module/kvm_*/parameters/nested)" == "Y" ]]; then if [[ "$(cat /sys/module/kvm_*/parameters/nested)" == "Y" ]]; then
reconfigure_nova="Y" reconfigure_nova="Y"
else
echo_summary "Found Intel with no support for nested KVM."
fi fi
elif [ -e /sys/module/kvm_amd/parameters/nested ]; then elif [ -e /sys/module/kvm_amd/parameters/nested ]; then
cpu="AMD"
if [[ "$(cat /sys/module/kvm_*/parameters/nested)" == "1" ]]; then if [[ "$(cat /sys/module/kvm_*/parameters/nested)" == "1" ]]; then
reconfigure_nova="Y" reconfigure_nova="Y"
else
echo_summary "Found AMD with no support for nested KVM."
fi fi
fi fi
if [ "${reconfigure_nova}" == "Y" ]; then if [ "${reconfigure_nova}" == "Y" ]; then
echo_summary "Configuring Nova to use KVM."
NOVA_CONF_DIR=${NOVA_CONF_DIR:-/etc/nova} NOVA_CONF_DIR=${NOVA_CONF_DIR:-/etc/nova}
NOVA_CONF=${NOVA_CONF:-${NOVA_CONF_DIR}/nova.conf} NOVA_CONF=${NOVA_CONF:-${NOVA_CONF_DIR}/nova.conf}
iniset $NOVA_CONF libvirt cpu_mode "none" iniset $NOVA_CONF libvirt cpu_mode "none"
iniset $NOVA_CONF libvirt virt_type "kvm" 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 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 fi
virt_type=$(iniget $NOVA_CONF libvirt virt_type)
echo "configure_nova_kvm: using virt_type: ${virt_type} for cpu: ${cpu}."
} }
# configure_trove() - Set config files, create data dirs, etc # configure_trove() - Set config files, create data dirs, etc
function configure_trove { function configure_trove {
setup_develop $TROVE_DIR setup_develop $TROVE_DIR
tweak_nova configure_nova_kvm
# Create the trove conf dir and cache dirs if they don't exist # 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} sudo install -d -o $STACK_USER ${TROVE_CONF_DIR} ${TROVE_AUTH_CACHE_DIR}