From c6884bd8035e8d605ed6e3f702d009491b6712de Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Wed, 3 Aug 2016 09:40:04 -0400 Subject: Enable nested kvm for virtual deployment For virtual deployment, we will attempt to enable nested kvm, if that is not possible, qemu will be used instead. Only support Intel for now. Change-Id: I951835c3e3faedfc698a4c879366d6c96249e5c1 Signed-off-by: Feng Pan --- lib/configure-deps-functions.sh | 19 +++++++++++++++++++ lib/undercloud-functions.sh | 1 - 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/configure-deps-functions.sh b/lib/configure-deps-functions.sh index 06a4c72c..2c5411e3 100755 --- a/lib/configure-deps-functions.sh +++ b/lib/configure-deps-functions.sh @@ -135,6 +135,25 @@ Are you sure you have enabled vmx in your bios or hypervisor?${reset}" return 1 fi + # try to enabled nested kvm + if [ "$virtual" == "TRUE" ]; then + nested_kvm=`cat /sys/module/kvm_intel/parameters/nested` + if [ "$nested_kvm" != "Y" ]; then + # try to enable nested kvm + echo 'options kvm-intel nested=1' > /etc/modprobe.d/kvm_intel.conf + if rmmod kvm_intel; then + modprobe kvm_intel + fi + nested_kvm=`cat /sys/module/kvm_intel/parameters/nested` + fi + if [ "$nested_kvm" != "Y" ]; then + echo "${red}Cannot enable nested kvm, falling back to qemu for deployment${reset}" + DEPLOY_OPTIONS+=" --libvirt-type qemu" + else + echo "${blue}Nested kvm enabled, deploying with kvm acceleration${reset}" + fi + fi + ##sshkeygen for root if [ ! -e ~/.ssh/id_rsa.pub ]; then ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa diff --git a/lib/undercloud-functions.sh b/lib/undercloud-functions.sh index f1c42865..0e26fa89 100755 --- a/lib/undercloud-functions.sh +++ b/lib/undercloud-functions.sh @@ -166,7 +166,6 @@ EOI # vm power on the hypervisor ssh ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "cat /home/stack/.ssh/id_rsa.pub" >> /root/.ssh/authorized_keys - DEPLOY_OPTIONS+=" --libvirt-type qemu" INSTACKENV=$CONFIG/instackenv-virt.json # upload instackenv file to Undercloud for virtual deployment -- cgit 1.2.3-korg