]> git.proxmox.com Git - pve-container.git/blobdiff - src/PVE/LXC/Setup/Fedora.pm
raise supported fedora version to 30
[pve-container.git] / src / PVE / LXC / Setup / Fedora.pm
index 23851d51c2fd5a2df248275ed3c853a935c38acd..b64dbe21e47f71f323bc6ffe3f595bf44611320d 100644 (file)
@@ -11,7 +11,7 @@ sub new {
     my ($class, $conf, $rootdir, $os_release) = @_;
 
     my $version = $os_release->{VERSION_ID};
-    die "unsupported fedora release\n" if !($version >= 22 && $version <= 26);
+    die "unsupported fedora release\n" if !($version >= 22 && $version <= 30);
 
     my $self = { conf => $conf, rootdir => $rootdir, version => $version };
 
@@ -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;