all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Friedrich Weber <f.weber@proxmox.com>
Subject: Re: [pve-devel] [PATCH ifupdown2] debian: postinst: ensure /etc/iproute2/rt_tables.d exists
Date: Tue, 8 Jul 2025 19:01:13 +0200	[thread overview]
Message-ID: <1dfdf8a9-2632-4a16-8f7c-e17dad435a2f@proxmox.com> (raw)
In-Reply-To: <20250708164344.104855-1-f.weber@proxmox.com>

Am 08.07.25 um 18:43 schrieb Friedrich Weber:
> When upgrading to Debian Trixie, iproute2 is also upgraded. Its
> postinst deletes /etc/iproute2/rt_tables.d if it is currently empty
> (or only contains a README file) [1]. After that, ifreload -a will
> always print a warning:
> 
>> error: [Errno 2] No such file or directory: '/etc/iproute2/rt_tables.d/ifupdown2_vrf_map.conf'
> 
> because it cannot create the file if the parent directory does not
> exist.
> 
> To avoid that, create the directory in ifupdown2's postinst if it
> does not exist yet.
> 
> Commit b115f7f ("add /etc/iproute2/rt_tables.d/ to managed
> directories") already added the directory to ifupdown2.dirs, but this
> does not seem to be effective, due to the following sequence of events
> on upgrade:
> 
> 1) iproute2 is unpacked
> 2) ifupdown2 is unpacked. The directory still exists, so the
>    ifupdown2.dirs entry does not have an effect
> 3) ifroute2 is set up, and its postinst empties and removes the

s/if/ip/ (can be fixed up on applying).

>    directory
> 4) ifupdown2 is set up
> 
> [1] https://sources.debian.org/src/iproute2/6.15.0-1/debian/iproute2.postinst/
> 
> Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
> ---
> 
> Notes:
>     Please check the reasoning for plausibility, my understanding of dpkg
>     is very basic, this is just what I could infer from running strace on
>     the upgrade.

Seems plausible as unpacking happens before configuring the pacakges.

>     
>     An alternative solution would be to patch ifupdown2 itself to create
>     the directory (if needed) before trying to write to the
>     ifupdown2_vrf_map.conf file.

That might be slightly more robust and should be IMO what upstream should
do already, that said, it's a very specific case and not having to touch
the python code has its advantages, so the patch here would be fine for
me in general.

> 
>  debian/ifupdown2.postinst | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/debian/ifupdown2.postinst b/debian/ifupdown2.postinst
> index f9a719c..13cc987 100644
> --- a/debian/ifupdown2.postinst
> +++ b/debian/ifupdown2.postinst
> @@ -111,6 +111,9 @@ case "$1" in
>          process_udev
>          chmod +x /usr/share/ifupdown2/__main__.py
>          postinst_remove_diverts
> +        if [ ! -d /etc/iproute2/rt_tables.d ]; then
> +            mkdir /etc/iproute2/rt_tables.d || echo "could not create /etc/iproute2/rt_tables.d"
> +        fi
>          if [ -z "$2" ] && [ ! -e /proxmox_install_mode ]; then
>              proxmox_compatibility
>              echo "Reloading network config on first install"



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


  reply	other threads:[~2025-07-08 17:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-08 16:43 Friedrich Weber
2025-07-08 17:01 ` Thomas Lamprecht [this message]
2025-07-09  6:40   ` Friedrich Weber
2025-07-09  8:01     ` [pve-devel] applied: " Thomas Lamprecht
2025-07-08 17:32 ` [pve-devel] " Michael Köppl

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=1dfdf8a9-2632-4a16-8f7c-e17dad435a2f@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=f.weber@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