Merge "Enable nested kvm for virtual deployment"
authorTim Rozet <trozet@redhat.com>
Thu, 4 Aug 2016 01:11:31 +0000 (01:11 +0000)
committerGerrit Code Review <gerrit@172.30.200.206>
Thu, 4 Aug 2016 01:11:31 +0000 (01:11 +0000)
lib/configure-deps-functions.sh
lib/undercloud-functions.sh

index 06a4c72..2c5411e 100755 (executable)
@@ -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
index f1c4286..0e26fa8 100755 (executable)
@@ -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