On Wed, Jun 11, 2025 at 04:48:58PM +0200, Filip Schauer wrote:
> When a container uses the default `/sbin/init` entrypoint, network

I'm not a fan of this logic, also because it does not support 'dhcp' (in
which case it should IMO fail instead).
But maybe we can figure out an IP if SDN is in use to support the dhcp
case if there are static/permanent leases? (@Stefan?)

I think this should be handled with a separate key in the containers
network configuration. Maybe a "setup" property which defaults to
"container" and can be set to "host" (not sure if we ever need more,
if we know we don't, it could be a boolean...)

> interface configuration is usually managed by processes within the
> container. However, containers with a different entrypoint might not
> have any internal network management process. Consequently, IP addresses
> might not be assigned.
> 
> This change ensures that a static IP address is explicitly set in the
> LXC config for the container.
> 
> Signed-off-by: Filip Schauer <f.scha...@proxmox.com>
> ---
>  src/PVE/LXC.pm | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
> index b2be27e..0131ac3 100644
> --- a/src/PVE/LXC.pm
> +++ b/src/PVE/LXC.pm
> @@ -818,6 +818,18 @@ sub update_lxc_config {
>       if ($lxc_major >= 4) {
>           $raw .= "lxc.net.$ind.script.up = /usr/share/lxc/lxcnetaddbr\n";
>       }
> +
> +     if (!defined($d->{link_down}) || $d->{link_down} != 1
> +         && PVE::LXC::Config->get_entrypoint($conf) ne "/sbin/init"
> +     ) {
> +         $raw .= "lxc.net.$ind.ipv4.address = $d->{ip}\n"
> +             if defined($d->{ip}) && $d->{ip} !~ /^(dhcp|manual)$/;
> +         $raw .= "lxc.net.$ind.ipv4.gateway = $d->{gw}\n" if 
> defined($d->{gw});
> +         $raw .= "lxc.net.$ind.ipv6.address = $d->{ip6}\n"
> +             if defined($d->{ip6}) && $d->{ip6} !~ /^(auto|dhcp|manual)$/;
> +         $raw .= "lxc.net.$ind.ipv6.gateway = $d->{gw6}\n" if 
> defined($d->{gw6});
> +         $raw .= "lxc.net.$ind.flags = up\n";
> +     }
>      }
>  
>      my $had_cpuset = 0;
> -- 
> 2.39.5


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

Reply via email to