From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id DE8F191678 for ; Wed, 28 Sep 2022 14:51:03 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id C7C1E28434 for ; Wed, 28 Sep 2022 14:51:03 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 28 Sep 2022 14:51:01 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 6E0E044639 for ; Wed, 28 Sep 2022 14:51:01 +0200 (CEST) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Wed, 28 Sep 2022 14:50:46 +0200 Message-Id: <20220928125059.1139296-1-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.146 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [migrate.pm, jsonschema.pm, qemuserver.pm, storage.pm, proxmox.com, accesscontrol.pm, qemu.pm, pvesm.pm, qemumigrate.pm, qm.pm, lxc.pm, pct.pm] Subject: [pve-devel] [PATCH-SERIES v6 0/13] remote migration X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2022 12:51:03 -0000 this series adds remote migration for VMs and CTs. both live and offline migration of VMs including NBD and storage-migrated disks should work, containers don't have any live migration so both offline and restart mode work identical except for the restart part. groundwork for extending to pvesr already laid. uncovered (but still not fixed) https://bugzilla.proxmox.com/show_bug.cgi?id=3873 (migration btrfs -> btrfs with snapshots) dependencies/breaks: - qemu-server / pve-container -> bumped pve-storage (taint bug storage migration) - qemu-server / pve-container -> bumped pve-access-control (new priv) - qemu-server -> bumped pve-common (moved pve-targetstorage option) - pve-common -BREAKS-> not-bumped qemu-server (same) follow-ups/todos: - implement disk export/import for shared storages like rbd - implement disk export/import raw+size for ZFS zvols - extend ZFS replication via websocket tunnel to remote cluster - extend replication to support RBD snapshot-based replication - extend RBD replication via websocket tunnel to remote cluster - switch regular migration SSH mtunnel to version 2 with json support (related -> s.hanreichs pre-/post-migrate-hook series) new in v6: - --with-local-disks always set and not a parameter - `pct remote-migrate` - new Sys.Incoming privilege + checks - storage export taintedness bug fix - properly take over pve-targetstorage option (qemu-server -> pve-common) - review feedback addressed new in v5: lots of edge cases fixed, PoC for pve-container, some more helper moving for re-use in pve-container without duplication new in v4: lots of small fixes, improved bwlimit handling, `qm` command (thanks Fabian Ebner and Dominik Csapak for the feedback on v3!) new in v3: lots of refactoring and edge-case handling new in v2: dropped parts already applied, incorporated Fabian's and Dominik's feedback (thanks!) new in v1: explicit remote endpoint specified as part of API call instead of remote.cfg overview over affected repos and changes, see individual patches for more details. pve-access-control: Fabian Grünbichler (1): privs: add Sys.Incoming src/PVE/AccessControl.pm | 1 + 1 file changed, 1 insertion(+) pve-common: Fabian Grünbichler (1): schema: take over 'pve-targetstorage' option src/PVE/JSONSchema.pm | 7 +++++++ 1 file changed, 7 insertions(+) pve-container: Fabian Grünbichler (3): migration: add remote migration pct: add 'remote-migrate' command migrate: print mapped volume in error src/PVE/API2/LXC.pm | 635 +++++++++++++++++++++++++++++++++++++++++ src/PVE/CLI/pct.pm | 124 ++++++++ src/PVE/LXC/Migrate.pm | 248 +++++++++++++--- 3 files changed, 965 insertions(+), 42 deletions(-) pve-docs: Fabian Grünbichler (1): pveum: mention Sys.Incoming privilege pveum.adoc | 1 + 1 file changed, 1 insertion(+) qemu-server: Fabian Grünbichler (6): schema: move 'pve-targetstorage' to pve-common mtunnel: add API endpoints migrate: refactor remote VM/tunnel start migrate: add remote migration handling api: add remote migrate endpoint qm: add remote-migrate command PVE/API2/Qemu.pm | 709 ++++++++++++++++++++++++++++++++++++++++++++- PVE/CLI/qm.pm | 113 ++++++++ PVE/QemuMigrate.pm | 590 ++++++++++++++++++++++++++++--------- PVE/QemuServer.pm | 48 ++- debian/control | 5 +- 5 files changed, 1299 insertions(+), 166 deletions(-) pve-storage: Fabian Grünbichler (1): (remote) export: check and untaint format PVE/CLI/pvesm.pm | 6 ++---- PVE/Storage.pm | 9 +++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) -- 2.30.2