]> git.proxmox.com Git - pve-container.git/commitdiff
PVE::LXC::Setup::Fedora: use systemd-networkd
authorStoiko Ivanov <s.ivanov@proxmox.com>
Tue, 17 Jul 2018 16:13:45 +0000 (18:13 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Thu, 19 Jul 2018 07:26:57 +0000 (09:26 +0200)
Upstream's templates seem to have switched to systemd-networkd for
fedora > 25. Since then various workarounds have been suggested (starting
the legacy network.service in /etc/rc.local). This patch tries to accomodate
both network-configuration options for the affected and available templates
(25, 26, 27), by configuring both services.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
src/PVE/LXC/Setup/Fedora.pm

index d19b16251805172b52cb4da43a012aa3863bdf93..52623478614fa46c73b10a0e5b7648440b032b3c 100644 (file)
@@ -31,4 +31,24 @@ sub setup_init {
     $self->setup_container_getty_service($conf);
 }
 
+sub setup_network {
+    my ($self, $conf) = @_;
+
+    # systemd-networkd is default in fedora-templates from upstream since
+    # 25, however quite a few workarounds were posted in the forum, recommending
+    # to start the (legacy) network.service via /etc/rc.local for fedora > 25.
+    # /etc/sysconfig/network is not present in the templates for fedora > 25.
+    # use its presence to decide, whether to configure the legacy config
+    # additionally for 25, 26, 27.
+
+    my $sysconfig_used = $self->ct_file_exists("/etc/sysconfig/network");
+
+    my $version = $self->{version};
+
+    my $setup_sysconfig = ($version <= 24 || ($self->{version} <= 27 && $sysconfig_used));
+    my $setup_systemd = ($self->{version} >= 25);
+
+    $self->SUPER::setup_network($conf) if $setup_sysconfig;
+    $self->SUPER::setup_systemd_networkd($conf) if $setup_systemd;
+}
 1;