mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #12311 from swordqiu/hotfix/qj-add-disable-kvm-option
fix: host add disable_kvm option
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user