The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/7517
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) ===
From f8de3180632a1e8de675b1ba943de017881882b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Thu, 11 Jun 2020 15:51:51 -0400 Subject: [PATCH 1/4] lxd/vm: Separate template keys in global/local MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- lxd/instance/drivers/driver_qemu.go | 33 +++++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go index 78ecde039b..de69b3f3db 100644 --- a/lxd/instance/drivers/driver_qemu.go +++ b/lxd/instance/drivers/driver_qemu.go @@ -1726,8 +1726,9 @@ func (vm *qemu) generateQemuConfigFile(bus string, devConfs []*deviceConfig.RunC "bus": bus, "devBus": devBus, "devAddr": devAddr, - "vsockID": vm.vsockID(), "multifunction": multi, + + "vsockID": vm.vsockID(), }) if err != nil { return "", err @@ -1735,11 +1736,12 @@ func (vm *qemu) generateQemuConfigFile(bus string, devConfs []*deviceConfig.RunC devBus, devAddr, multi = allocateBusAddr("generic") err = qemuSerial.Execute(sb, map[string]interface{}{ - "bus": bus, - "devBus": devBus, - "devAddr": devAddr, + "bus": bus, + "devBus": devBus, + "devAddr": devAddr, + "multifunction": multi, + "ringbufSizeBytes": qmp.RingbufSize, - "multifunction": multi, }) if err != nil { return "", err @@ -1761,8 +1763,9 @@ func (vm *qemu) generateQemuConfigFile(bus string, devConfs []*deviceConfig.RunC "bus": bus, "devBus": devBus, "devAddr": devAddr, - "path": filepath.Join(vm.Path(), "config"), "multifunction": multi, + + "path": filepath.Join(vm.Path(), "config"), }) if err != nil { return "", err @@ -1989,11 +1992,12 @@ func (vm *qemu) addDriveDirConfig(sb *strings.Builder, bus string, allocateBusAd "bus": bus, "devBus": devBus, "devAddr": devAddr, - "devName": driveConf.DevName, - "mountTag": mountTag, - "path": driveConf.DevPath, - "readonly": true, "multifunction": multi, + + "devName": driveConf.DevName, + "mountTag": mountTag, + "path": driveConf.DevPath, + "readonly": true, }) } @@ -2003,11 +2007,12 @@ func (vm *qemu) addDriveDirConfig(sb *strings.Builder, bus string, allocateBusAd "bus": bus, "devBus": devBus, "devAddr": devAddr, - "devName": driveConf.DevName, - "mountTag": mountTag, - "proxyFD": proxyFD, - "readonly": false, "multifunction": multi, + + "devName": driveConf.DevName, + "mountTag": mountTag, + "proxyFD": proxyFD, + "readonly": false, }) } From 3d1dca4c57363666ba53ce758d550390f125b528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Thu, 11 Jun 2020 15:46:45 -0400 Subject: [PATCH 2/4] lxd/vm: Use virtio-gpu-pci on non-x86 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- lxd/instance/drivers/driver_qemu.go | 2 ++ lxd/instance/drivers/driver_qemu_templates.go | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go index de69b3f3db..a83560aabd 100644 --- a/lxd/instance/drivers/driver_qemu.go +++ b/lxd/instance/drivers/driver_qemu.go @@ -1777,6 +1777,8 @@ func (vm *qemu) generateQemuConfigFile(bus string, devConfs []*deviceConfig.RunC "devBus": devBus, "devAddr": devAddr, "multifunction": multi, + + "architecture": vm.architectureName, }) if err != nil { return "", err diff --git a/lxd/instance/drivers/driver_qemu_templates.go b/lxd/instance/drivers/driver_qemu_templates.go index ed2cd9397f..7aa900e8e4 100644 --- a/lxd/instance/drivers/driver_qemu_templates.go +++ b/lxd/instance/drivers/driver_qemu_templates.go @@ -169,7 +169,11 @@ var qemuVGA = template.Must(template.New("qemuVGA").Parse(` # VGA [device "qemu_vga"] {{- if eq .bus "pci" "pcie"}} +{{if eq .architecture "x86_64" -}} driver = "virtio-vga" +{{- else}} +driver = "virtio-gpu-pci" +{{- end}} bus = "{{.devBus}}" addr = "{{.devAddr}}" {{- end}} From e209429bbf852678fb95fad4b02a022db54a6817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Thu, 11 Jun 2020 16:06:09 -0400 Subject: [PATCH 3/4] lxd/vm: Rename qemuVGA to qemuGPU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- lxd/instance/drivers/driver_qemu.go | 2 +- lxd/instance/drivers/driver_qemu_templates.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go index a83560aabd..b8d1dad622 100644 --- a/lxd/instance/drivers/driver_qemu.go +++ b/lxd/instance/drivers/driver_qemu.go @@ -1772,7 +1772,7 @@ func (vm *qemu) generateQemuConfigFile(bus string, devConfs []*deviceConfig.RunC } devBus, devAddr, multi = allocateBusAddr("") - err = qemuVGA.Execute(sb, map[string]interface{}{ + err = qemuGPU.Execute(sb, map[string]interface{}{ "bus": bus, "devBus": devBus, "devAddr": devAddr, diff --git a/lxd/instance/drivers/driver_qemu_templates.go b/lxd/instance/drivers/driver_qemu_templates.go index 7aa900e8e4..a9777d0c87 100644 --- a/lxd/instance/drivers/driver_qemu_templates.go +++ b/lxd/instance/drivers/driver_qemu_templates.go @@ -165,9 +165,9 @@ multifunction = "on" {{- end }} `)) -var qemuVGA = template.Must(template.New("qemuVGA").Parse(` -# VGA -[device "qemu_vga"] +var qemuGPU = template.Must(template.New("qemuGPU").Parse(` +# GPU +[device "qemu_gpu"] {{- if eq .bus "pci" "pcie"}} {{if eq .architecture "x86_64" -}} driver = "virtio-vga" From b9b023d4aef75a878d4935ca076ec256738b538a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Thu, 11 Jun 2020 16:24:29 -0400 Subject: [PATCH 4/4] lxd/vm: Add virtio-input keyboard/mouse MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- lxd/instance/drivers/driver_qemu.go | 22 +++++++++++++ lxd/instance/drivers/driver_qemu_templates.go | 32 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/lxd/instance/drivers/driver_qemu.go b/lxd/instance/drivers/driver_qemu.go index b8d1dad622..c2a81f479f 100644 --- a/lxd/instance/drivers/driver_qemu.go +++ b/lxd/instance/drivers/driver_qemu.go @@ -1721,6 +1721,28 @@ func (vm *qemu) generateQemuConfigFile(bus string, devConfs []*deviceConfig.RunC return "", err } + devBus, devAddr, multi = allocateBusAddr("generic") + err = qemuKeyboard.Execute(sb, map[string]interface{}{ + "bus": bus, + "devBus": devBus, + "devAddr": devAddr, + "multifunction": multi, + }) + if err != nil { + return "", err + } + + devBus, devAddr, multi = allocateBusAddr("generic") + err = qemuTablet.Execute(sb, map[string]interface{}{ + "bus": bus, + "devBus": devBus, + "devAddr": devAddr, + "multifunction": multi, + }) + if err != nil { + return "", err + } + devBus, devAddr, multi = allocateBusAddr("generic") err = qemuVsock.Execute(sb, map[string]interface{}{ "bus": bus, diff --git a/lxd/instance/drivers/driver_qemu_templates.go b/lxd/instance/drivers/driver_qemu_templates.go index a9777d0c87..f4a6c3f1ca 100644 --- a/lxd/instance/drivers/driver_qemu_templates.go +++ b/lxd/instance/drivers/driver_qemu_templates.go @@ -185,6 +185,38 @@ multifunction = "on" {{- end }} `)) +var qemuKeyboard = template.Must(template.New("qemuKeyboard").Parse(` +# Input +[device "qemu_keyboard"] +{{- if eq .bus "pci" "pcie"}} +driver = "virtio-keyboard-pci" +bus = "{{.devBus}}" +addr = "{{.devAddr}}" +{{- end}} +{{if eq .bus "ccw" -}} +driver = "virtio-keyboard-ccw" +{{- end}} +{{if .multifunction -}} +multifunction = "on" +{{- end }} +`)) + +var qemuTablet = template.Must(template.New("qemuTablet").Parse(` +# Input +[device "qemu_tablet"] +{{- if eq .bus "pci" "pcie"}} +driver = "virtio-tablet-pci" +bus = "{{.devBus}}" +addr = "{{.devAddr}}" +{{- end}} +{{if eq .bus "ccw" -}} +driver = "virtio-tablet-ccw" +{{- end}} +{{if .multifunction -}} +multifunction = "on" +{{- end }} +`)) + var qemuCPU = template.Must(template.New("qemuCPU").Parse(` # CPU [smp-opts]
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel