Merge pull request #12311 from swordqiu/hotfix/qj-add-disable-kvm-option

fix: host add disable_kvm option
This commit is contained in:
Zexi Li
2021-09-26 20:09:44 +08:00
committed by GitHub
3 changed files with 33 additions and 21 deletions
+25 -13
View File
@@ -136,24 +136,36 @@ func (s *SKVMGuestInstance) generateArmStartScript(data *jsonutils.JSONDict) (st
cmd += "else\n"
cmd += " QEMU_CMD=$DEFAULT_QEMU_CMD\n"
cmd += "fi\n"
cmd += "function nic_speed() {\n"
cmd += " $QEMU_CMD "
if s.IsKvmSupport() {
cmd += "-enable-kvm"
if s.IsKvmSupport() && !options.HostOptions.DisableKVM {
cmd += "QEMU_CMD_KVM_ARG=-enable-kvm\n"
} else {
cmd += "QEMU_CMD_KVM_ARG=\n"
}
cmd += `
function nic_speed() {
$QEMU_CMD $QEMU_CMD_KVM_ARG -device virtio-net-pci,help 2>&1 | grep -q "\<speed="
if [ "$?" -eq "0" ]; then
echo ",speed=$1"
fi
}
cmd += " -device virtio-net-pci,? 2>&1 | grep .speed= > /dev/null\n"
cmd += " if [ \"$?\" -eq \"0\" ]; then\n"
cmd += " echo \",speed=$1\"\n"
cmd += " fi\n"
cmd += "}\n"
function nic_mtu() {
local bridge="$1"; shift
$QEMU_CMD $QEMU_CMD_KVM_ARG -device virtio-net-pci,help 2>&1 | grep -q '\<host_mtu='
if [ "$?" -eq "0" ]; then
local origmtu="$(<"/sys/class/net/$bridge/mtu")"
if [ -n "$origmtu" -a "$origmtu" -gt 576 ]; then
echo ",host_mtu=$(($origmtu - 58))"
fi
fi
}
`
// Generate Start VM script
cmd += `CMD="$QEMU_CMD`
cmd += `CMD="$QEMU_CMD $QEMU_CMD_KVM_ARG`
var accel, cpuType string
if s.IsKvmSupport() {
cmd += " -enable-kvm"
if s.IsKvmSupport() && !options.HostOptions.DisableKVM {
accel = "kvm"
if options.HostOptions.HostCpuPassthrough {
cpuType = "host"
+6 -8
View File
@@ -435,7 +435,7 @@ func (s *SKVMGuestInstance) _generateStartScript(data *jsonutils.JSONDict) (stri
// cmd += " fi\n"
// cmd += "else\n"
cmd += "QEMU_CMD=$DEFAULT_QEMU_CMD\n"
if s.IsKvmSupport() {
if s.IsKvmSupport() && !options.HostOptions.DisableKVM {
cmd += "QEMU_CMD_KVM_ARG=-enable-kvm\n"
} else {
cmd += "QEMU_CMD_KVM_ARG=-no-kvm\n"
@@ -455,18 +455,17 @@ function nic_mtu() {
$QEMU_CMD $QEMU_CMD_KVM_ARG -device virtio-net-pci,help 2>&1 | grep -q '\<host_mtu='
if [ "$?" -eq "0" ]; then
local origmtu="$(<"/sys/class/net/$bridge/mtu")"
if [ -n "$origmtu" -a "$origmtu" -gt 576 ]; then
echo ",host_mtu=$(($origmtu - 58))"
fi
if [ -n "$origmtu" -a "$origmtu" -gt 576 ]; then
echo ",host_mtu=$(($origmtu - 58))"
fi
fi
}
`
// Generate Start VM script
cmd += `CMD="$QEMU_CMD`
cmd += `CMD="$QEMU_CMD $QEMU_CMD_KVM_ARG`
var accel, cpuType string
if s.IsKvmSupport() {
cmd += " -enable-kvm"
if s.IsKvmSupport() && !options.HostOptions.DisableKVM {
accel = "kvm"
cpuType = ""
if osname == OS_NAME_MACOS {
@@ -493,7 +492,6 @@ function nic_mtu() {
cpuType = isolatedDevsParams.Cpu
}
} else {
cmd += " -no-kvm"
accel = "tcg"
cpuType = "qemu64"
}
+2
View File
@@ -142,6 +142,8 @@ type SHostOptions struct {
DisableProbeKubelet bool `help:"Disable probe kubelet config" default:"false"`
KubeletRunDirectory string `help:"Kubelet config file path" default:"/var/lib/kubelet"`
DisableKVM bool `help:"force disable KVM" default:"false"`
}
var (