From: Wolfgang Bumiller Date: Tue, 1 Dec 2015 14:53:48 +0000 (+0100) Subject: OpenSUSE support added X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=fa7cb12b3960bf4c02ec270499c429ec03471b03;p=pve-container.git OpenSUSE support added * Detection via /etc/SuSE-brand * Currently only supporting version 13.1 (This apparently ships no systemd-networkd and has no wicked yet.) * Introduced ct_modify_file_head_portion: Both Redhat and SuSE have separate route files for network interfaces, but with a different formats. For consistency the SuSE code also only changes routes between the BEGIN/END PVE comment lines. This version also fixes a bug where the route file got deleted instead of left untouched when no changes were made (now caught by a testcase). --- diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index ad630b8..80f127c 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -98,7 +98,7 @@ my $confdesc = { ostype => { optional => 1, type => 'string', - enum => ['debian', 'ubuntu', 'centos', 'fedora', 'archlinux'], + enum => ['debian', 'ubuntu', 'centos', 'fedora', 'opensuse', 'archlinux'], description => "OS type. Corresponds to lxc setup scripts in /usr/share/lxc/config/.common.conf.", }, console => { @@ -1072,7 +1072,7 @@ sub update_lxc_config { my $custom_idmap = grep { $_->[0] eq 'lxc.id_map' } @{$conf->{lxc}}; my $ostype = $conf->{ostype} || die "missing 'ostype' - internal error"; - if ($ostype =~ /^(?:debian | ubuntu | centos | fedora | archlinux)$/x) { + if ($ostype =~ /^(?:debian | ubuntu | centos | fedora | opensuse | archlinux)$/x) { $raw .= "lxc.include = /usr/share/lxc/config/$ostype.common.conf\n"; if ($unprivileged || $custom_idmap) { $raw .= "lxc.include = /usr/share/lxc/config/$ostype.userns.conf\n" diff --git a/src/PVE/LXC/Setup.pm b/src/PVE/LXC/Setup.pm index eaa4e2c..20f8530 100644 --- a/src/PVE/LXC/Setup.pm +++ b/src/PVE/LXC/Setup.pm @@ -9,6 +9,7 @@ use PVE::LXC::Setup::Debian; use PVE::LXC::Setup::Ubuntu; use PVE::LXC::Setup::Redhat; use PVE::LXC::Setup::Fedora; +use PVE::LXC::Setup::SUSE; use PVE::LXC::Setup::ArchLinux; my $plugins = { @@ -16,6 +17,7 @@ my $plugins = { ubuntu => 'PVE::LXC::Setup::Ubuntu', redhat => 'PVE::LXC::Setup::Redhat', fedora => 'PVE::LXC::Setup::Fedora', + opensuse => 'PVE::LXC::Setup::SUSE', archlinux => 'PVE::LXC::Setup::ArchLinux', }; @@ -32,6 +34,8 @@ my $autodetect_type = sub { if (-f "$rootdir/etc/debian_version") { return "debian"; + } elsif (-f "$rootdir/etc/SuSE-brand" || -f "$rootdir/etc/SuSE-release") { + return "opensuse"; } elsif (-f "$rootdir/etc/fedora-release") { return "fedora"; } elsif (-f "$rootdir/etc/redhat-release") { diff --git a/src/PVE/LXC/Setup/Base.pm b/src/PVE/LXC/Setup/Base.pm index 65f7bdd..7627f55 100644 --- a/src/PVE/LXC/Setup/Base.pm +++ b/src/PVE/LXC/Setup/Base.pm @@ -549,4 +549,32 @@ sub ct_file_set_contents { $self->ct_reset_ownership($file); } +# Modify a marked portion of a file and move it to the beginning of the file. +# If the file becomes empty it will be deleted. +sub ct_modify_file_head_portion { + my ($self, $file, $head, $tail, $data) = @_; + if ($self->ct_file_exists($file)) { + my $old = $self->ct_file_get_contents($file); + # remove the portion between $head and $tail (all instances via /g) + $old =~ s/(?:^|(?<=\n))\Q$head\E.*\Q$tail\E//gs; + chomp $old; + if ($old) { + # old data existed, append and add the trailing newline + if ($data) { + $self->ct_file_set_contents($file, $head.$data.$tail . $old."\n"); + } else { + $self->ct_file_set_contents($file, $old."\n"); + } + } elsif ($data) { + # only our own data will be added + $self->ct_file_set_contents($file, $head.$data.$tail); + } else { + # empty => delete + $self->ct_unlink($file); + } + } else { + $self->ct_file_set_contents($file, $head.$data.$tail); + } +} + 1; diff --git a/src/PVE/LXC/Setup/Makefile b/src/PVE/LXC/Setup/Makefile index 1b5f6a2..9235edf 100644 --- a/src/PVE/LXC/Setup/Makefile +++ b/src/PVE/LXC/Setup/Makefile @@ -1,4 +1,4 @@ -SOURCES=Base.pm Debian.pm Ubuntu.pm Redhat.pm Fedora.pm ArchLinux.pm +SOURCES=Base.pm Debian.pm Ubuntu.pm Redhat.pm Fedora.pm SUSE.pm ArchLinux.pm .PHONY: install install: diff --git a/src/PVE/LXC/Setup/Redhat.pm b/src/PVE/LXC/Setup/Redhat.pm index 04c3372..71cf854 100644 --- a/src/PVE/LXC/Setup/Redhat.pm +++ b/src/PVE/LXC/Setup/Redhat.pm @@ -237,21 +237,7 @@ sub setup_network { # To keep user-defined routes in route-$iface we mark ours: my $head = "# --- BEGIN PVE ROUTES ---\n"; my $tail = "# --- END PVE ROUTES ---\n"; - $routes = $head . $routes . $tail if $routes; - if ($self->ct_file_exists($routefile)) { - # if it exists we update by first removing our old rules - my $old = $self->ct_file_get_contents($routefile); - $old =~ s/(?:^|(?<=\n))\Q$head\E.*\Q$tail\E//gs; - chomp $old; - if ($old) { - $self->ct_file_set_contents($routefile, $routes . $old . "\n"); - } else { - # or delete if we aren't adding routes and the file's now empty - $self->ct_unlink($routefile); - } - } elsif ($routes) { - $self->ct_file_set_contents($routefile, $routes); - } + $self->ct_modify_file_head_portion($routefile, $head, $tail, $routes); } my $sysconfig_network = "/etc/sysconfig/network"; diff --git a/src/PVE/LXC/Setup/SUSE.pm b/src/PVE/LXC/Setup/SUSE.pm new file mode 100644 index 0000000..db8d140 --- /dev/null +++ b/src/PVE/LXC/Setup/SUSE.pm @@ -0,0 +1,129 @@ +package PVE::LXC::Setup::SUSE; + +use strict; +use warnings; + +use PVE::LXC::Setup::Base; + +use base qw(PVE::LXC::Setup::Base); + +sub new { + my ($class, $conf, $rootdir) = @_; + + my $release = eval { -f "$rootdir/etc/SuSE-release" + ? PVE::Tools::file_get_contents("$rootdir/etc/SuSE-release") + : PVE::Tools::file_get_contents("$rootdir/etc/SuSE-brand") }; + die "unable to read version info\n" if $@; + + my $version; + + # Fixme: not sure whether the minor part is optional. + if ($release =~ m/^\s*VERSION\s*=\s*(\d+)(?:\.(\d+))?\s*$/m) { + $version = "$1.$2"; + # 13.2 seems to get stuck in a mount loop with AppArmor, + # and otherwise fails to start up fully. Needs some more work. + if ($1 != 13 || ($2//0) > 1) { + die "unsupported suse release '$version'\n"; + } + } else { + die "unrecognized suse release"; + } + + my $self = { conf => $conf, rootdir => $rootdir, version => $version }; + + $conf->{ostype} = 'opensuse'; + + return bless $self, $class; +} + +sub template_fixup { + # Nothing to do +} + +sub setup_init { + my ($self, $conf) = @_; + + $self->setup_securetty($conf, qw(lxc/console lxc/tty1 lxc/tty2 lxc/tty3 lxc/tty4)); + $self->setup_systemd_console($conf); +} + +sub setup_network { + my ($self, $conf) = @_; + + my ($gw, $gw6); + + $self->ct_make_path('/etc/sysconfig/network'); + + foreach my $k (keys %$conf) { + next if $k !~ m/^net(\d+)$/; + my $d = PVE::LXC::parse_lxc_network($conf->{$k}); + next if !$d->{name}; + + my $filename = "/etc/sysconfig/network/ifcfg-$d->{name}"; + my $routefile = "/etc/sysconfig/network/ifroute-$d->{name}"; + my $routes = ''; + + my @DHCPMODES = ('static', 'dhcp4', 'dhcp6', 'dhcp'); + my ($NONE, $DHCP4, $DHCP6, $BOTH) = (0, 1, 2, 3); + my $dhcp = $NONE; + my @addrs = (); + + my $data = ''; + my $is_configured = 0; + + if ($d->{ip} && $d->{ip} ne 'manual') { + $is_configured = 1; + if ($d->{ip} eq 'dhcp') { + $dhcp |= $DHCP4; + } else { + push @addrs, $d->{ip}; + if (defined($d->{gw})) { + if (!PVE::Network::is_ip_in_cidr($d->{gw}, $d->{ip}, 4)) { + $routes .= "$d->{gw} 0.0.0.0 255.255.255.255 $d->{name}\n"; + } + $routes .= "default $d->{gw} 0.0.0.0 $d->{name}\n"; + } + } + } + + if ($d->{ip6} && $d->{ip6} ne 'manual') { + $is_configured = 1; + if ($d->{ip6} eq 'auto') { + # FIXME: Not sure what to do here... + } elsif ($d->{ip6} eq 'dhcp') { + $dhcp |= $DHCP6; + } else { + push @addrs, $d->{ip6}; + if (defined($d->{gw6})) { + if (!PVE::Network::is_ip_in_cidr($d->{gw6}, $d->{ip6}, 6)) { + $routes .= "$d->{gw6}/128 - - $d->{name}\n"; + } + $routes .= "default $d->{gw6} - $d->{name}\n"; + } + } + } + + if (@addrs > 1) { + for my $i (1..@addrs) { + $data .= "IPADDR_${i}=$addrs[$i-1]\n"; + } + } elsif (@addrs) { + $data .= "IPADDR=$addrs[0]\n"; + } else { + # check for non-manual config with no dhcp and no addresses + next if $is_configured && $dhcp == $NONE; + } + + $data = "STARTMODE=" . ($is_configured ? 'onboot' : 'manual') . "\n" + . "BOOTPROTO=$DHCPMODES[$dhcp]\n" + . $data; + $self->ct_file_set_contents($filename, $data); + + # To keep user-defined routes in route-$iface we mark ours: + my $head = "# --- BEGIN PVE ROUTES ---\n"; + my $tail = "# --- END PVE ROUTES ---\n"; + $self->ct_modify_file_head_portion($routefile, $head, $tail, $routes); + } +} + +1; diff --git a/src/test/run_tests.pl b/src/test/run_tests.pl index 8fe465b..3babf44 100755 --- a/src/test/run_tests.pl +++ b/src/test/run_tests.pl @@ -14,7 +14,7 @@ sub test_file { return if system("diff -u '$exp_fn' '$real_fn'") == 0; - die "files does not match\n"; + die "files do not match\n"; } sub run_test { @@ -43,7 +43,35 @@ sub run_test { srand(0); $lxc_setup->post_create_hook('$TEST$ABCDEF'); - my @testfiles = qw(/etc/hostname /etc/hosts /etc/inittab /etc/network/interfaces /etc/resolv.conf /etc/passwd /etc/shadow /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth2 /etc/sysconfig/network-scripts/ifcfg-eth3 /etc/init/start-ttys.conf /etc/init/tty.conf /etc/init/power-status-changed.conf /etc/securetty /etc/crontab); + my @testfiles = qw(/etc/hostname + /etc/hosts + /etc/inittab + /etc/network/interfaces + /etc/resolv.conf + /etc/passwd + /etc/shadow + /etc/sysconfig/network + /etc/sysconfig/network-scripts/ifcfg-eth0 + /etc/sysconfig/network-scripts/route-eth0 + /etc/sysconfig/network-scripts/ifcfg-eth1 + /etc/sysconfig/network-scripts/route-eth1 + /etc/sysconfig/network-scripts/ifcfg-eth2 + /etc/sysconfig/network-scripts/route-eth2 + /etc/sysconfig/network-scripts/ifcfg-eth3 + /etc/sysconfig/network-scripts/route-eth3 + /etc/sysconfig/network/ifcfg-eth0 + /etc/sysconfig/network/ifroute-eth0 + /etc/sysconfig/network/ifcfg-eth1 + /etc/sysconfig/network/ifroute-eth1 + /etc/sysconfig/network/ifcfg-eth2 + /etc/sysconfig/network/ifroute-eth2 + /etc/sysconfig/network/ifcfg-eth3 + /etc/sysconfig/network/ifroute-eth3 + /etc/init/start-ttys.conf + /etc/init/tty.conf + /etc/init/power-status-changed.conf + /etc/securetty + /etc/crontab); foreach my $fn (@testfiles) { next if !-f "$testdir/$fn.exp"; test_file("$testdir/$fn.exp", "$rootfs/$fn"); diff --git a/src/test/test-opensuse-001/config b/src/test/test-opensuse-001/config new file mode 100644 index 0000000..48a4020 --- /dev/null +++ b/src/test/test-opensuse-001/config @@ -0,0 +1,5 @@ +hostname: pvesuse1 +net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1 +net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24 +net2: bridge=vmbr0,name=eth2,ip=manual +net3: bridge=vmbr0,name=eth3 diff --git a/src/test/test-opensuse-001/etc/SuSE-brand b/src/test/test-opensuse-001/etc/SuSE-brand new file mode 100644 index 0000000..e696c32 --- /dev/null +++ b/src/test/test-opensuse-001/etc/SuSE-brand @@ -0,0 +1,2 @@ +BasedOnopenSUSE +VERSION = 13.1 diff --git a/src/test/test-opensuse-001/etc/hosts.exp b/src/test/test-opensuse-001/etc/hosts.exp new file mode 100644 index 0000000..c0113b8 --- /dev/null +++ b/src/test/test-opensuse-001/etc/hosts.exp @@ -0,0 +1,2 @@ +127.0.0.1 localhost.localnet localhost +1.2.3.4 pvesuse1.proxmox.com pvesuse1 diff --git a/src/test/test-opensuse-001/etc/resolv.conf.exp b/src/test/test-opensuse-001/etc/resolv.conf.exp new file mode 100644 index 0000000..e505ad3 --- /dev/null +++ b/src/test/test-opensuse-001/etc/resolv.conf.exp @@ -0,0 +1,3 @@ +search proxmox.com +nameserver 8.8.8.8 +nameserver 8.8.8.9 diff --git a/src/test/test-opensuse-001/etc/securetty b/src/test/test-opensuse-001/etc/securetty new file mode 100644 index 0000000..e0bd229 --- /dev/null +++ b/src/test/test-opensuse-001/etc/securetty @@ -0,0 +1,7 @@ +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +console diff --git a/src/test/test-opensuse-001/etc/securetty.exp b/src/test/test-opensuse-001/etc/securetty.exp new file mode 100644 index 0000000..a0f3062 --- /dev/null +++ b/src/test/test-opensuse-001/etc/securetty.exp @@ -0,0 +1,12 @@ +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +console +lxc/console +lxc/tty1 +lxc/tty2 +lxc/tty3 +lxc/tty4 diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp new file mode 100644 index 0000000..65bbdac --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp @@ -0,0 +1,3 @@ +STARTMODE=onboot +BOOTPROTO=static +IPADDR=1.2.3.4/24 diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp new file mode 100644 index 0000000..eeeb459 --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp @@ -0,0 +1,3 @@ +STARTMODE=onboot +BOOTPROTO=static +IPADDR=10.2.3.4/24 diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp new file mode 100644 index 0000000..28fdc31 --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp @@ -0,0 +1,2 @@ +STARTMODE=manual +BOOTPROTO=static diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp new file mode 100644 index 0000000..28fdc31 --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp @@ -0,0 +1,2 @@ +STARTMODE=manual +BOOTPROTO=static diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp new file mode 100644 index 0000000..a936f06 --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp @@ -0,0 +1,3 @@ +# --- BEGIN PVE ROUTES --- +default 1.2.3.1 0.0.0.0 eth0 +# --- END PVE ROUTES --- diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1 b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1 new file mode 100644 index 0000000..b864673 --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1 @@ -0,0 +1 @@ +# Nothing else diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp new file mode 100644 index 0000000..b864673 --- /dev/null +++ b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp @@ -0,0 +1 @@ +# Nothing else diff --git a/src/test/test-opensuse-002/config b/src/test/test-opensuse-002/config new file mode 100644 index 0000000..3337969 --- /dev/null +++ b/src/test/test-opensuse-002/config @@ -0,0 +1,4 @@ +hostname: pvesuse1 +net0: bridge=vmbr0,name=eth0,ip6=2001:1::/64,gw6=2001:1::ffff +net1: bridge=vmbr0,name=eth1,ip6=2001:2::/64 +net2: bridge=vmbr0,name=eth2,ip6=manual diff --git a/src/test/test-opensuse-002/etc/SuSE-brand b/src/test/test-opensuse-002/etc/SuSE-brand new file mode 100644 index 0000000..e696c32 --- /dev/null +++ b/src/test/test-opensuse-002/etc/SuSE-brand @@ -0,0 +1,2 @@ +BasedOnopenSUSE +VERSION = 13.1 diff --git a/src/test/test-opensuse-002/etc/securetty b/src/test/test-opensuse-002/etc/securetty new file mode 100644 index 0000000..e0bd229 --- /dev/null +++ b/src/test/test-opensuse-002/etc/securetty @@ -0,0 +1,7 @@ +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +console diff --git a/src/test/test-opensuse-002/etc/securetty.exp b/src/test/test-opensuse-002/etc/securetty.exp new file mode 100644 index 0000000..a0f3062 --- /dev/null +++ b/src/test/test-opensuse-002/etc/securetty.exp @@ -0,0 +1,12 @@ +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +console +lxc/console +lxc/tty1 +lxc/tty2 +lxc/tty3 +lxc/tty4 diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp new file mode 100644 index 0000000..477cae7 --- /dev/null +++ b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp @@ -0,0 +1,3 @@ +STARTMODE=onboot +BOOTPROTO=static +IPADDR=2001:1::/64 diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp new file mode 100644 index 0000000..2abcd37 --- /dev/null +++ b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp @@ -0,0 +1,3 @@ +STARTMODE=onboot +BOOTPROTO=static +IPADDR=2001:2::/64 diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp new file mode 100644 index 0000000..28fdc31 --- /dev/null +++ b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp @@ -0,0 +1,2 @@ +STARTMODE=manual +BOOTPROTO=static diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp new file mode 100644 index 0000000..11d7b71 --- /dev/null +++ b/src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp @@ -0,0 +1,3 @@ +# --- BEGIN PVE ROUTES --- +default 2001:1::ffff - eth0 +# --- END PVE ROUTES --- diff --git a/src/test/test-opensuse-003/config b/src/test/test-opensuse-003/config new file mode 100644 index 0000000..cbe2dcd --- /dev/null +++ b/src/test/test-opensuse-003/config @@ -0,0 +1,5 @@ +hostname: pvesuse1 +net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=4.3.2.1,ip6=2001:1::/64,gw6=2001:1::ffff +net1: bridge=vmbr0,name=eth1,ip=dhcp +net2: bridge=vmbr0,name=eth2,ip6=dhcp +net3: bridge=vmbr0,name=eth3,ip=dhcp,ip6=dhcp diff --git a/src/test/test-opensuse-003/etc/SuSE-brand b/src/test/test-opensuse-003/etc/SuSE-brand new file mode 100644 index 0000000..e696c32 --- /dev/null +++ b/src/test/test-opensuse-003/etc/SuSE-brand @@ -0,0 +1,2 @@ +BasedOnopenSUSE +VERSION = 13.1 diff --git a/src/test/test-opensuse-003/etc/securetty b/src/test/test-opensuse-003/etc/securetty new file mode 100644 index 0000000..e0bd229 --- /dev/null +++ b/src/test/test-opensuse-003/etc/securetty @@ -0,0 +1,7 @@ +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +console diff --git a/src/test/test-opensuse-003/etc/securetty.exp b/src/test/test-opensuse-003/etc/securetty.exp new file mode 100644 index 0000000..a0f3062 --- /dev/null +++ b/src/test/test-opensuse-003/etc/securetty.exp @@ -0,0 +1,12 @@ +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +console +lxc/console +lxc/tty1 +lxc/tty2 +lxc/tty3 +lxc/tty4 diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp new file mode 100644 index 0000000..d5255e2 --- /dev/null +++ b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp @@ -0,0 +1,4 @@ +STARTMODE=onboot +BOOTPROTO=static +IPADDR_1=1.2.3.4/24 +IPADDR_2=2001:1::/64 diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp new file mode 100644 index 0000000..9afa8b7 --- /dev/null +++ b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp @@ -0,0 +1,2 @@ +STARTMODE=onboot +BOOTPROTO=dhcp4 diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp new file mode 100644 index 0000000..4b5bf6f --- /dev/null +++ b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp @@ -0,0 +1,2 @@ +STARTMODE=onboot +BOOTPROTO=dhcp6 diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp new file mode 100644 index 0000000..e498f5b --- /dev/null +++ b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp @@ -0,0 +1,2 @@ +STARTMODE=onboot +BOOTPROTO=dhcp diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp new file mode 100644 index 0000000..c784a38 --- /dev/null +++ b/src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp @@ -0,0 +1,5 @@ +# --- BEGIN PVE ROUTES --- +4.3.2.1 0.0.0.0 255.255.255.255 eth0 +default 4.3.2.1 0.0.0.0 eth0 +default 2001:1::ffff - eth0 +# --- END PVE ROUTES ---