From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 0A4051FF15F
	for <inbox@lore.proxmox.com>; Mon, 18 Nov 2024 14:17:40 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 62E99106A4;
	Mon, 18 Nov 2024 14:17:42 +0100 (CET)
References: <20241009125600.240441-1-m.sandoval@proxmox.com>
 <f678525a-b116-4783-a071-6cf596920633@proxmox.com>
User-agent: mu4e 1.10.8; emacs 29.4
From: Maximiliano Sandoval <m.sandoval@proxmox.com>
To: Fiona Ebner <f.ebner@proxmox.com>
Date: Mon, 18 Nov 2024 14:15:40 +0100
In-reply-to: <f678525a-b116-4783-a071-6cf596920633@proxmox.com>
Message-ID: <s8o4j44isul.fsf@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.094 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: Re: [pve-devel] [PATCH qemu 1/2] vm-network-scripts: move scripts
 to /usr/libexec
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Cc: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>


Fiona Ebner <f.ebner@proxmox.com> writes:

> It's the "qemu-server" repository, not "qemu".
>
> Am 09.10.24 um 14:55 schrieb Maximiliano Sandoval:
>> Moves the network scripts from /var/lib/qemu-server into
>> /usr/libexec/qemu-server.
>>
>> /usr/libexec is described as binaries run by programs which are not
>> intended to be directly executed by the user on [FHS 4.7]. On the other
>> hand /var/lib corresponds to variable state information, which does not
>> fit the use case here, see [FHS 5.8].
>>
>> [FHS 4.7]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html
>> [FHS 5.8]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s08.html
>>
>
> Can this cause issues for a brief time during upgrade/unpacking, i.e.
>
> A) if the old QemuServer.pm is still loaded while the scripts get
> removed from its old location (or to be more precise, a QEMU process
> with the old parameter is started at that time)

I tested this at the time and it was not an issue.

> B) if the new QemuServer.pm gets loaded before the scripts are extracted
> to their new location (or to be more precise, a QEMU process with the
> new parameter is started at that time)

This might be an issue, but no idea how to test this, it sounds
extremely racy. It might make more sense to hold this for pve 9?

>
> ?
>
> Is there something preventing those from happening? Otherwise, we might
> need to ship the scripts to both locations until the next major release
> and drop them from the old location only then.
>
>> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
>> ---
>>  PVE/QemuServer.pm                     |  4 ++--
>>  vm-network-scripts/Makefile           | 10 +++++-----
>>  vm-network-scripts/pve-bridge-hotplug |  2 +-
>>  3 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
>> index b26da505..88100638 100644
>> --- a/PVE/QemuServer.pm
>> +++ b/PVE/QemuServer.pm
>> @@ -1759,8 +1759,8 @@ sub print_netdev_full {
>>      my $script = $hotplug ? "pve-bridge-hotplug" : "pve-bridge";
>>
>>      if ($net->{bridge}) {
>> -	$netdev = "type=tap,id=$netid,ifname=${ifname},script=/var/lib/qemu-server/$script"
>> -	    .",downscript=/var/lib/qemu-server/pve-bridgedown$vhostparam";
>> +	$netdev = "type=tap,id=$netid,ifname=${ifname},script=/usr/libexec/qemu-server/$script"
>> +	    .",downscript=/usr/libexec/qemu-server/pve-bridgedown$vhostparam";
>>      } else {
>>          $netdev = "type=user,id=$netid,hostname=$vmname";
>>      }
>> diff --git a/vm-network-scripts/Makefile b/vm-network-scripts/Makefile
>> index 5ba537d0..dc2c85ff 100644
>> --- a/vm-network-scripts/Makefile
>> +++ b/vm-network-scripts/Makefile
>> @@ -1,12 +1,12 @@
>>  DESTDIR=
>> -VARLIBDIR=$(DESTDIR)/var/lib/qemu-server
>> +LIBEXECDIR=$(DESTDIR)/usr/libexec/qemu-server
>>
>>  .PHONY: install
>>  install: pve-bridge pve-bridge-hotplug pve-bridgedown
>> -	install -d ${VARLIBDIR}
>> -	install -m 0755 pve-bridge ${VARLIBDIR}/pve-bridge
>> -	install -m 0755 pve-bridge-hotplug ${VARLIBDIR}/pve-bridge-hotplug
>> -	install -m 0755 pve-bridgedown ${VARLIBDIR}/pve-bridgedown
>> +	install -d ${LIBEXECDIR}
>> +	install -m 0755 pve-bridge ${LIBEXECDIR}/pve-bridge
>> +	install -m 0755 pve-bridge-hotplug ${LIBEXECDIR}/pve-bridge-hotplug
>> +	install -m 0755 pve-bridgedown ${LIBEXECDIR}/pve-bridgedown
>>
>>  .PHONY: clean
>>  clean:
>> diff --git a/vm-network-scripts/pve-bridge-hotplug b/vm-network-scripts/pve-bridge-hotplug
>> index f36ed408..3ae01ea5 100755
>> --- a/vm-network-scripts/pve-bridge-hotplug
>> +++ b/vm-network-scripts/pve-bridge-hotplug
>> @@ -1,3 +1,3 @@
>>  #!/bin/sh
>>
>> -exec /var/lib/qemu-server/pve-bridge --hotplug "$@"
>> +exec /usr/libexec/qemu-server/pve-bridge --hotplug "$@"


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel