[pve-devel] [PATCH qemu-server/manger/docs v6] cluster mapping
Dominik Csapak
d.csapak at proxmox.com
Wed Jun 14 10:46:00 CEST 2023
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
i omitted the older changelogs as were getting a bit long
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 (6):
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 | 119 ++++++++-
PVE/QemuMigrate.pm | 23 +-
PVE/QemuServer.pm | 150 ++++++++---
PVE/QemuServer/PCI.pm | 243 +++++++++++++++---
PVE/QemuServer/USB.pm | 27 +-
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, 622 insertions(+), 94 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 (15):
pvesh: fix parameters for proxyto_callback
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 -
PVE/API2/Nodes.pm | 1 +
PVE/CLI/pvesh.pm | 10 +-
www/css/ext6-pve.css | 4 +
www/manager6/Makefile | 8 +
www/manager6/Parser.js | 4 +
www/manager6/StateProvider.js | 1 +
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 | 18 +-
www/manager6/form/USBMapSelector.js | 98 ++++++++
www/manager6/form/USBSelector.js | 33 ++-
www/manager6/qemu/HardwareView.js | 17 +-
www/manager6/qemu/PCIEdit.js | 323 +++++++++++++++++---------
www/manager6/qemu/USBEdit.js | 36 ++-
www/manager6/tree/ResourceMapTree.js | 316 +++++++++++++++++++++++++
www/manager6/window/Migrate.js | 52 ++++-
www/manager6/window/PCIMapEdit.js | 207 +++++++++++++++++
www/manager6/window/USBMapEdit.js | 217 +++++++++++++++++
29 files changed, 2536 insertions(+), 140 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 | 86 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 94 insertions(+)
--
2.30.2
More information about the pve-devel
mailing list