From: Friedrich Weber <f.weber@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Dominik Csapak <d.csapak@proxmox.com>
Subject: Re: [pve-devel] [PATCH qemu-server/manager/docs v7] cluster mapping
Date: Fri, 16 Jun 2023 17:00:05 +0200 [thread overview]
Message-ID: <660ee3ff-aee5-edd8-ca10-57380cb8a812@proxmox.com> (raw)
In-Reply-To: <20230616130542.199182-1-d.csapak@proxmox.com>
Started testing, I'll continue on Monday.
Noticed so far:
* Small UI glitch:
On node 1, click PCI->Add Devices
Choose a PCI device that also exists on node 2
Select node 2 in the upper-right corner
Click "Create"
-> Mapping entry is added for node 1, where I would have expected node 2
* Small UI glitch:
Click USB->Add mapping, choose a device, add a comment
Choose USB device, click "Edit"
-> comment field is empty, where I would have expected the comment I
set earlier
* Initially I forgot enabling IOMMU in the kernel commandline. I could
still add PCI mappings, but the IOMMU group was unset. Not sure if this
should be possible?
On 16/06/2023 15:05, Dominik Csapak wrote:
> this series is the remaining part to add a cluster-wide device mapping
> for pci and usb devices. so that an admin can configure a device to be
> availble for migration and configuring for uses that are non-root
> (the existing pattern can be copied easily for other types, e.g.
> markus upcoming folder sharing)
>
> maybe the place for the docs are not optimal, if anyone has a better
> suggestion, please say
>
> pve-manager depends on docs, otherwise the onlineHelp reference
> is not there
>
> changes from v6:
> * rebase on master
> * moved the mapping config into its own property in the hostpci and usb
> property strings, this has some advantages:
> - the checking code is much cleaner
> - it's better separated when we're using it
> - the documented format is clearer
> * added a usb code refactor patch up front, this makes the adding of the
> mapped case much easer and more in line with the pci code
> * adapted to fabians/wolfgans requests
> - fix s/resource/mapping/ where i forgot it
> - deduplicated most permission checks
> - fixed the api endpoint handling (id <-> name, permission on the
> correct path, correct id in the link hash)
> * readded the warning in the gui for multiple devices (was accidentally
> never shown in my last changes)
> * added a short note in the docs that only one usb devce per node per
> mapping is possible currently
>
> changes from v5:
> * rebase on master
> * included docs
> * adapted permission checks for restore/clone to (now) existing ones
> * renamed a few variables (thanks to wolfgangs feedback)
> * simplified the js filterPropertyStringList helper
> * added onlineHelp where appropriate
>
> qemu-server:
>
> Dominik Csapak (7):
> usb: refactor usb code and move some into USB module
> enable cluster mapped USB devices for guests
> enable cluster mapped PCI devices for guests
> check_local_resources: extend for mapped resources
> api: migrate preconditions: use new check_local_resources info
> migration: check for mapped resources
> add test for mapped pci devices
>
> PVE/API2/Qemu.pm | 115 ++++++--
> PVE/QemuMigrate.pm | 23 +-
> PVE/QemuServer.pm | 216 ++++++++-------
> PVE/QemuServer/PCI.pm | 256 +++++++++++++++---
> PVE/QemuServer/USB.pm | 147 +++++++---
> test/MigrationTest/Shared.pm | 14 +
> test/cfg2cmd/q35-linux-hostpci-mapping.conf | 17 ++
> .../q35-linux-hostpci-mapping.conf.cmd | 36 +++
> test/cfg2cmd/q35-linux-hostpci.conf | 2 +-
> test/cfg2cmd/q35-linux-hostpci.conf.cmd | 2 +-
> test/run_config2command_tests.pl | 83 ++++++
> 11 files changed, 709 insertions(+), 202 deletions(-)
> create mode 100644 test/cfg2cmd/q35-linux-hostpci-mapping.conf
> create mode 100644 test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
>
> pve-manager:
>
> Dominik Csapak (14):
> api: add resource map api endpoints for PCI and USB
> ui: parser: add helper for lists of property strings
> ui: form/USBSelector: make it more flexible with nodename
> ui: form: add PCIMapSelector
> ui: form: add USBMapSelector
> ui: qemu/PCIEdit: rework panel to add a mapped configuration
> ui: qemu/USBEdit: add 'mapped' device case
> ui: form: add MultiPCISelector
> ui: add edit window for pci mappings
> ui: add edit window for usb mappings
> ui: add ResourceMapTree
> ui: allow configuring pci and usb mapping
> ui: window/Migrate: allow mapped devices
> ui: improve permission handling for hardware
>
> PVE/API2/Cluster.pm | 8 +
> PVE/API2/Cluster/Makefile | 5 +
> PVE/API2/Cluster/Mapping.pm | 53 +++++
> PVE/API2/Cluster/Mapping/Makefile | 18 ++
> PVE/API2/Cluster/Mapping/PCI.pm | 300 ++++++++++++++++++++++++
> PVE/API2/Cluster/Mapping/USB.pm | 295 ++++++++++++++++++++++++
> PVE/API2/Hardware.pm | 1 -
> www/css/ext6-pve.css | 4 +
> www/manager6/Makefile | 8 +
> www/manager6/Parser.js | 4 +
> www/manager6/data/PermPathStore.js | 1 +
> www/manager6/dc/Config.js | 46 +++-
> www/manager6/dc/PCIMapView.js | 106 +++++++++
> www/manager6/dc/USBMapView.js | 98 ++++++++
> www/manager6/form/MultiPCISelector.js | 288 +++++++++++++++++++++++
> www/manager6/form/PCIMapSelector.js | 112 +++++++++
> www/manager6/form/PCISelector.js | 1 +
> www/manager6/form/USBMapSelector.js | 98 ++++++++
> www/manager6/form/USBSelector.js | 33 ++-
> www/manager6/qemu/HardwareView.js | 17 +-
> www/manager6/qemu/PCIEdit.js | 314 ++++++++++++++++---------
> www/manager6/qemu/USBEdit.js | 75 ++++--
> www/manager6/tree/ResourceMapTree.js | 316 ++++++++++++++++++++++++++
> www/manager6/window/Migrate.js | 52 ++++-
> www/manager6/window/PCIMapEdit.js | 215 ++++++++++++++++++
> www/manager6/window/USBMapEdit.js | 217 ++++++++++++++++++
> 26 files changed, 2530 insertions(+), 155 deletions(-)
> create mode 100644 PVE/API2/Cluster/Mapping.pm
> create mode 100644 PVE/API2/Cluster/Mapping/Makefile
> create mode 100644 PVE/API2/Cluster/Mapping/PCI.pm
> create mode 100644 PVE/API2/Cluster/Mapping/USB.pm
> create mode 100644 www/manager6/dc/PCIMapView.js
> create mode 100644 www/manager6/dc/USBMapView.js
> create mode 100644 www/manager6/form/MultiPCISelector.js
> create mode 100644 www/manager6/form/PCIMapSelector.js
> create mode 100644 www/manager6/form/USBMapSelector.js
> create mode 100644 www/manager6/tree/ResourceMapTree.js
> create mode 100644 www/manager6/window/PCIMapEdit.js
> create mode 100644 www/manager6/window/USBMapEdit.js
>
> pve-docs:
>
> Dominik Csapak (1):
> qemu: add documentation about cluster device mapping
>
> qm-pci-passthrough.adoc | 8 ++++
> qm.adoc | 87 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 95 insertions(+)
>
next prev parent reply other threads:[~2023-06-16 15:00 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-16 13:05 Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 1/7] usb: refactor usb code and move some into USB module Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 2/7] enable cluster mapped USB devices for guests Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 3/7] enable cluster mapped PCI " Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 4/7] check_local_resources: extend for mapped resources Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 5/7] api: migrate preconditions: use new check_local_resources info Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 6/7] migration: check for mapped resources Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH qemu-server v7 7/7] add test for mapped pci devices Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 01/14] api: add resource map api endpoints for PCI and USB Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 02/14] ui: parser: add helper for lists of property strings Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 03/14] ui: form/USBSelector: make it more flexible with nodename Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 04/14] ui: form: add PCIMapSelector Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 05/14] ui: form: add USBMapSelector Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 06/14] ui: qemu/PCIEdit: rework panel to add a mapped configuration Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 07/14] ui: qemu/USBEdit: add 'mapped' device case Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 08/14] ui: form: add MultiPCISelector Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 09/14] ui: add edit window for pci mappings Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 10/14] ui: add edit window for usb mappings Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 11/14] ui: add ResourceMapTree Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 12/14] ui: allow configuring pci and usb mapping Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 13/14] ui: window/Migrate: allow mapped devices Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH manager v7 14/14] ui: improve permission handling for hardware Dominik Csapak
2023-06-16 13:05 ` [pve-devel] [PATCH docs v7 1/1] qemu: add documentation about cluster device mapping Dominik Csapak
2023-06-19 7:12 ` [pve-devel] applied: " Thomas Lamprecht
2023-06-16 15:00 ` Friedrich Weber [this message]
2023-06-19 5:29 ` [pve-devel] partially-applied: [PATCH qemu-server/manager/docs v7] cluster mapping Thomas Lamprecht
2023-06-19 7:28 ` [pve-devel] applied: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=660ee3ff-aee5-edd8-ca10-57380cb8a812@proxmox.com \
--to=f.weber@proxmox.com \
--cc=d.csapak@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.