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 94FD97ED99 for ; Thu, 11 Nov 2021 15:07:56 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 76DA4C65B for ; Thu, 11 Nov 2021 15:07:26 +0100 (CET) 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 id 968DAC63E for ; Thu, 11 Nov 2021 15:07:24 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5F1E342C52 for ; Thu, 11 Nov 2021 15:07:24 +0100 (CET) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Thu, 11 Nov 2021 15:07:06 +0100 Message-Id: <20211111140721.3288364-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.277 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 Subject: [pve-devel] [PATCH v2 qemu-server++ 0/15] 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: Thu, 11 Nov 2021 14:07:56 -0000 this series adds remote migration for VMs. both live and offline migration including NBD and storage-migrated disks should work. besides lots of rebases, implemented todos and fixed issues the main difference to the previous RFC is that we no longer define remote entries in a config file, but just expect the caller/client to give us all the required information to connect to the remote cluster. new in v2: dropped parts already applied, incorporated Fabian's and Dominik's feedback (thanks!) overview over affected repos and changes, see individual patches for more details. proxmox-websocket-tunnel: new tunnel helper tool for forwarding commands and data over websocket connections, required by qemu-server on source side pve-access-control: new ticket type, required by qemu-server on target side pve-guest-common: handle remote migration (no SSH) in AbstractMigrate, required by qemu-server pve-storage: extend 'pvesm import' to allow import from UNIX socket, required on target node by qemu-server qemu-server: some refactoring, new mtunnel endpoints, new remote_migration endpoints TODO: handle pending changes and snapshots TODO: proper CLI for remote migration potential TODO: precond endpoint? pve-http-server: fix for handling unflushed proxy streams as usual, some of the patches are best viewed with '-w', especially in qemu-server.. required dependencies are noted, qemu-server also requires a build-dep on patched pve-common since the required options/formats would be missing otherwise.. proxmox-websocket-tunnel Fabian Grünbichler (4): initial commit add tunnel implementation add fingerprint validation add packaging pve-access-control Fabian Grünbichler (2): tickets: add tunnel ticket ticket: normalize path for verification src/PVE/AccessControl.pm | 52 ++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 12 deletions(-) pve-http-server Fabian Grünbichler (1): webproxy: handle unflushed write buffer src/PVE/APIServer/AnyEvent.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) qemu-server Fabian Grünbichler (8): refactor map_storage to map_id schema: use pve-bridge-id update_vm: allow simultaneous setting of boot-order and dev nbd alloc helper: allow passing in explicit format mtunnel: add API endpoints migrate: refactor remote VM/tunnel start migrate: add remote migration handling api: add remote migrate endpoint PVE/API2/Qemu.pm | 826 ++++++++++++++++++++++++++++++++++++++++++++- PVE/QemuMigrate.pm | 813 ++++++++++++++++++++++++++++++++++++-------- PVE/QemuServer.pm | 80 +++-- debian/control | 2 + 4 files changed, 1539 insertions(+), 182 deletions(-) -- 2.30.2