all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: [pve-devel] partially-applied: [PATCH-SERIES v12 qemu-server/manager] API for disk import and OVF
Date: Mon, 14 Mar 2022 16:57:33 +0100	[thread overview]
Message-ID: <1647272668.dywyj5zjzo.astroid@nora.none> (raw)
In-Reply-To: <20220309100919.31512-1-f.ebner@proxmox.com>

applied qemu-server patches except 11 and 14-16, see comments on 
indivudal patches.

some unrelated but possibly fix-able as followup things I noticed:
- cloning a running VM with an EFI disk fails, the EFI disk is not 
  mirrorable (so we need another check like for TPM state?)
- cancelling a running clone doesn't cleanup properly (stops with trying 
  to aquire lock and leaves the target VM locked & existing)


On March 9, 2022 11:09 am, Fabian Ebner wrote:
> Extend qm importdisk/importovf functionality to the API.
> 
> Changes from v11 (after an off-list discussion with Fabian G.):
>     * Avoid confusing $dest->{conf} parameter for clone_disk().
>     * Require relevant parameters to be set explicitly for EFI/TPM.
>     * Base calculation of EFI vars size on passed-in parameters.
> 
> Changes from v10:
>     * Add fix for device unplug issue (patch #1).
>     * Add fixes related to calling create_disks() (patches #2 #3).
>     * Refactor clone_disk() in preparation to re-use it for import
>       (patches #4 #5 #6).
>     * Add patch to print the newly allocated drive (patch #14).
>     * Switch to using clone_disk for PVE-managed volumes and check for
>       VM.Clone in the permission check if there is an owner ID.
>     * Require <storeid>:0 syntax when using import-from. Allowing
>       other values than 0 for the size would be confusing, because
>       with import-from that size is never used (the size of the source
>       image is).
>     * Avoid making all foreach_volume iterators parse with the
>       extended schema. Instead, provide a custom iterator for the
>       places where it's actually required.
> 
> Still missing GUI integration for import from ovf, but that will be it's
> own series.
> 
> Older discussion:
> https://lists.proxmox.com/pipermail/pve-devel/2022-January/051379.html
> 
> 
> qemu-server:
> 
> Dominic Jäger (1):
>   api: support VM disk import
> 
> Fabian Ebner (15):
>   device unplug: verify that unplugging scsi disk completed
>   api: create disks: always activate/update size when attaching existing
>     volume
>   api: update: pass correct config when creating disks
>   clone disk: remove check for min QEMU version 2.7
>   clone disk: group source and target parameters
>   clone disk: pass in efi vars size rather than config
>   clone disk: allow cloning from an unused or unreferenced disk
>   efivars size: allow overriding efidisk parameter
>   schema: add pve-volume-id-or-absolute-path
>   parse ovf: untaint path when calling file_size_info
>   api: add endpoint for parsing .ovf files
>   image convert: allow block device as source
>   api: factor out check/cleanup for drive params
>   schema: drive: use separate schema when disk allocation is possible
>   api: update vm: print drive string for newly allocated/imported drives
> 
>  PVE/API2/Qemu.pm             | 381 +++++++++++++++++++++++++++--------
>  PVE/API2/Qemu/Makefile       |   2 +-
>  PVE/API2/Qemu/OVF.pm         |  55 +++++
>  PVE/QemuServer.pm            | 106 +++++++---
>  PVE/QemuServer/Drive.pm      |  94 ++++++---
>  PVE/QemuServer/ImportDisk.pm |   2 +-
>  PVE/QemuServer/OVF.pm        |   9 +-
>  7 files changed, 508 insertions(+), 141 deletions(-)
>  create mode 100644 PVE/API2/Qemu/OVF.pm
> 
> 
> manager:
> 
> Fabian Ebner (1):
>   api: nodes: add readovf endpoint
> 
>  PVE/API2/Nodes.pm | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> -- 
> 2.30.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 




  parent reply	other threads:[~2022-03-14 15:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-09 10:09 [pve-devel] " Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 01/16] device unplug: verify that unplugging scsi disk completed Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 02/16] api: create disks: always activate/update size when attaching existing volume Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 03/16] api: update: pass correct config when creating disks Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 04/16] clone disk: remove check for min QEMU version 2.7 Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 05/16] clone disk: group source and target parameters Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 06/16] clone disk: pass in efi vars size rather than config Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 07/16] clone disk: allow cloning from an unused or unreferenced disk Fabian Ebner
     [not found]   ` <<20220309100919.31512-8-f.ebner@proxmox.com>
2022-03-14 15:55     ` Fabian Grünbichler
2022-03-17 10:35       ` Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 08/16] efivars size: allow overriding efidisk parameter Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 09/16] schema: add pve-volume-id-or-absolute-path Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 10/16] parse ovf: untaint path when calling file_size_info Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 11/16] api: add endpoint for parsing .ovf files Fabian Ebner
     [not found]   ` <<20220309100919.31512-12-f.ebner@proxmox.com>
2022-03-14 15:55     ` Fabian Grünbichler
2022-03-15 13:00       ` Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 12/16] image convert: allow block device as source Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 13/16] api: factor out check/cleanup for drive params Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 14/16] schema: drive: use separate schema when disk allocation is possible Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 15/16] api: support VM disk import Fabian Ebner
     [not found]   ` <<20220309100919.31512-16-f.ebner@proxmox.com>
2022-03-14 15:54     ` Fabian Grünbichler
2022-03-16  9:29       ` Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 qemu-server 16/16] api: update vm: print drive string for newly allocated/imported drives Fabian Ebner
2022-03-09 10:09 ` [pve-devel] [PATCH v12 manager 1/1] api: nodes: add readovf endpoint Fabian Ebner
2022-03-14 15:57 ` Fabian Grünbichler [this message]
2022-03-16 10:00   ` [pve-devel] partially-applied: [PATCH-SERIES v12 qemu-server/manager] API for disk import and OVF Fabian Ebner
2022-03-16 10:29     ` Fabian Grünbichler
2022-03-16 11:25       ` Fabian Ebner
2022-03-16 11:58         ` Fabian Grünbichler

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=1647272668.dywyj5zjzo.astroid@nora.none \
    --to=f.gruenbichler@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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal