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 26412706F8 for ; Thu, 24 Jun 2021 15:35:47 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id DF1E1C4F4 for ; Thu, 24 Jun 2021 15:35:16 +0200 (CEST) Received: from kvmformation3.odiso.net (globalOdiso.M6Lille.odiso.net [89.248.211.242]) by firstgate.proxmox.com (Proxmox) with ESMTP id 320ECC298 for ; Thu, 24 Jun 2021 15:34:53 +0200 (CEST) Received: by kvmformation3.odiso.net (Postfix, from userid 0) id 83B94DE289; Thu, 24 Jun 2021 15:34:26 +0200 (CEST) From: Alexandre Derumier To: pve-devel@lists.proxmox.com Date: Thu, 24 Jun 2021 15:34:24 +0200 Message-Id: <20210624133425.3624704-7-aderumier@odiso.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210624133425.3624704-1-aderumier@odiso.com> References: <20210624133425.3624704-1-aderumier@odiso.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 1.437 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% HEADER_FROM_DIFFERENT_DOMAINS 0.25 From and EnvelopeFrom 2nd level mail domains are different KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KHOP_HELO_FCRDNS 0.399 Relay HELO differs from its IP's reverse DNS T_SPF_HELO_TEMPERROR 0.01 SPF: test of HELO record failed (temperror) T_SPF_TEMPERROR 0.01 SPF: test of record failed (temperror) Subject: [pve-devel] [PATCH qemu-server 6/7] api2: add update ip support 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, 24 Jun 2021 13:35:47 -0000 Signed-off-by: Alexandre Derumier --- PVE/API2/Qemu.pm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 24dba86..e8c7107 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -22,6 +22,7 @@ use PVE::GuestHelpers; use PVE::QemuConfig; use PVE::QemuServer; use PVE::QemuServer::Drive; +use PVE::QemuServer::Ipam; use PVE::QemuServer::CPUConfig; use PVE::QemuServer::Monitor qw(mon_cmd); use PVE::QemuMigrate; @@ -1365,6 +1366,23 @@ my $update_vm_api = sub { die "only root can modify '$opt' config for real devices\n"; } $conf->{pending}->{$opt} = $param->{$opt}; + } elsif ($opt =~ m/^net(\d+)/) { + my $netid = $1; + my $net = PVE::QemuServer::parse_net($param->{$opt}); + my $hostname = $param->{name} ? $param->{name} : $conf->{name}; + if ($conf->{pending}->{$opt}) { + my $oldnet = PVE::QemuServer::parse_net($conf->{pending}->{$opt}); + my $pending_hostname = "pending.".$hostname; + PVE::QemuServer::Ipam::update_net_ip($net, $oldnet, $pending_hostname, $pending_hostname, "vm:$vmid net:$netid pending:1"); + } elsif ($conf->{$opt}) { + my $oldnet = PVE::QemuServer::parse_net($conf->{$opt}); + my $oldhostname = $conf->{name}; + PVE::QemuServer::Ipam::update_net_ip($net, $oldnet, $hostname, $oldhostname, "vm:$vmid net:$netid"); + } else { + PVE::QemuServer::Ipam::update_net_ip($net, undef, $hostname, undef, "vm:$vmid net:$netid"); + } + my $value = PVE::QemuServer::print_net($net); + $conf->{pending}->{$opt} = $value; } else { $conf->{pending}->{$opt} = $param->{$opt}; -- 2.20.1