nixos/tests: rename IP addresses/routes options

This commit is contained in:
rnhmjoj 2017-12-03 05:14:54 +01:00
parent c1bed05e34
commit e239c1e582
No known key found for this signature in database
GPG Key ID: 91BE884FBA4B591A
16 changed files with 74 additions and 67 deletions

View File

@ -124,7 +124,7 @@ in
''; '';
}; };
networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ]; networking.interfaces.vboxnet0.ipv4.addresses = { address = "192.168.56.1"; prefixLength = 24; };
# Make sure NetworkManager won't assume this interface being up # Make sure NetworkManager won't assume this interface being up
# means we have internet access. # means we have internet access.
networking.networkmanager.unmanaged = ["vboxnet0"]; networking.networkmanager.unmanaged = ["vboxnet0"];

View File

@ -16,7 +16,7 @@ let
miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf" miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf"
'' ''
ext_ifname=eth1 ext_ifname=eth1
listening_ip=${(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address}/24 listening_ip=${(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ipv4.addresses).address}/24
allow 1024-65535 192.168.2.0/24 1024-65535 allow 1024-65535 192.168.2.0/24 1024-65535
''; '';
@ -56,7 +56,7 @@ in
{ environment.systemPackages = [ pkgs.transmission ]; { environment.systemPackages = [ pkgs.transmission ];
virtualisation.vlans = [ 2 ]; virtualisation.vlans = [ 2 ];
networking.defaultGateway = networking.defaultGateway =
(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address; (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ipv4.addresses).address;
networking.firewall.enable = false; networking.firewall.enable = false;
}; };
@ -84,7 +84,7 @@ in
# Create the torrent. # Create the torrent.
$tracker->succeed("mkdir /tmp/data"); $tracker->succeed("mkdir /tmp/data");
$tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2");
$tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -p -t http://${(pkgs.lib.head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -p -t http://${(pkgs.lib.head nodes.tracker.config.networking.interfaces.eth1.ipv4.addresses).address}:6969/announce -o /tmp/test.torrent");
$tracker->succeed("chmod 644 /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent");
# Start the tracker. !!! use a less crappy tracker # Start the tracker. !!! use a less crappy tracker

View File

@ -12,7 +12,6 @@ let
# the sequence of address assignment less stochastic. # the sequence of address assignment less stochastic.
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.eth1.prefixLength = 24;
# CJDNS output is incompatible with the XML log. # CJDNS output is incompatible with the XML log.
systemd.services.cjdns.serviceConfig.StandardOutput = "null"; systemd.services.cjdns.serviceConfig.StandardOutput = "null";
#networking.firewall.enable = true; #networking.firewall.enable = true;
@ -49,7 +48,9 @@ import ./make-test.nix ({ pkgs, ...} : {
{ imports = [ basicConfig ]; { imports = [ basicConfig ];
networking.interfaces.eth1.ipAddress = "192.168.0.2"; networking.interfaces.eth1.ipv4.addresses = [
{ address = "192.168.0.2"; prefixLength = 24; }
];
services.cjdns = services.cjdns =
{ UDPInterface = { UDPInterface =
@ -76,7 +77,9 @@ import ./make-test.nix ({ pkgs, ...} : {
CJDNS_ADMIN_PASSWORD=FOOBAR CJDNS_ADMIN_PASSWORD=FOOBAR
''; '';
networking.interfaces.eth1.ipAddress = "192.168.0.1"; networking.interfaces.eth1.ipv4.addresses = [
{ address = "192.168.0.1"; prefixLength = 24; }
];
services.cjdns = services.cjdns =
{ authorizedPasswords = [ carolPassword ]; { authorizedPasswords = [ carolPassword ];

View File

@ -26,8 +26,8 @@ import ./make-test.nix ({ pkgs, ...} : {
}; };
networking.interfaces = { networking.interfaces = {
br0 = { br0 = {
ip4 = [{ address = hostIp; prefixLength = 24; }]; ipv4.addresses = [{ address = hostIp; prefixLength = 24; }];
ip6 = [{ address = hostIp6; prefixLength = 7; }]; ipv6.addresses = [{ address = hostIp6; prefixLength = 7; }];
}; };
}; };

View File

@ -21,11 +21,11 @@ import ./make-test.nix ({ pkgs, ...} : {
}; };
networking.interfaces = { networking.interfaces = {
br0 = { br0 = {
ip4 = [{ address = "192.168.0.1"; prefixLength = 24; }]; ipv4.addresses = [{ address = "192.168.0.1"; prefixLength = 24; }];
ip6 = [{ address = "fc00::1"; prefixLength = 7; }]; ipv6.addresses = [{ address = "fc00::1"; prefixLength = 7; }];
}; };
br1 = { br1 = {
ip4 = [{ address = "192.168.1.1"; prefixLength = 24; }]; ipv4.addresses = [{ address = "192.168.1.1"; prefixLength = 24; }];
}; };
}; };

View File

@ -13,9 +13,9 @@ import ./make-test.nix ({ pkgs, ...} : {
virtualisation.vlans = []; virtualisation.vlans = [];
networking.bridges.br0.interfaces = []; networking.bridges.br0.interfaces = [];
networking.interfaces.br0 = { networking.interfaces.br0.ipv4.addresses = [
ip4 = [ { address = "10.11.0.254"; prefixLength = 24; } ]; { address = "10.11.0.254"; prefixLength = 24; }
}; ];
# Force /etc/hosts to be the only source for host name resolution # Force /etc/hosts to be the only source for host name resolution
environment.etc."nsswitch.conf".text = lib.mkForce '' environment.etc."nsswitch.conf".text = lib.mkForce ''

View File

@ -26,9 +26,9 @@ import ./make-test.nix ({ pkgs, ...} : {
interface = "eth1"; interface = "eth1";
mode = "bridge"; mode = "bridge";
}; };
networking.interfaces.eth1.ip4 = lib.mkForce []; networking.interfaces.eth1.ipv4.addresses = lib.mkForce [];
networking.interfaces.mv-eth1-host = { networking.interfaces.mv-eth1-host = {
ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ]; ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
}; };
containers.test1 = { containers.test1 = {
@ -37,7 +37,7 @@ import ./make-test.nix ({ pkgs, ...} : {
config = { config = {
networking.interfaces.mv-eth1 = { networking.interfaces.mv-eth1 = {
ip4 = [ { address = containerIp1; prefixLength = 24; } ]; ipv4.addresses = [ { address = containerIp1; prefixLength = 24; } ];
}; };
}; };
}; };
@ -48,7 +48,7 @@ import ./make-test.nix ({ pkgs, ...} : {
config = { config = {
networking.interfaces.mv-eth1 = { networking.interfaces.mv-eth1 = {
ip4 = [ { address = containerIp2; prefixLength = 24; } ]; ipv4.addresses = [ { address = containerIp2; prefixLength = 24; } ];
}; };
}; };
}; };

View File

@ -16,9 +16,9 @@ import ./make-test.nix ({ pkgs, ...} : {
interfaces = [ "eth1" ]; interfaces = [ "eth1" ];
config = { config = {
networking.interfaces.eth1 = { networking.interfaces.eth1.ipv4.addresses = [
ip4 = [ { address = "10.10.0.1"; prefixLength = 24; } ]; { address = "10.10.0.1"; prefixLength = 24; }
}; ];
networking.firewall.enable = false; networking.firewall.enable = false;
}; };
}; };
@ -33,9 +33,9 @@ import ./make-test.nix ({ pkgs, ...} : {
config = { config = {
networking.bridges.br0.interfaces = [ "eth1" ]; networking.bridges.br0.interfaces = [ "eth1" ];
networking.interfaces.br0 = { networking.interfaces.br0.ipv4.addresses = [
ip4 = [ { address = "10.10.0.2"; prefixLength = 24; } ]; { address = "10.10.0.2"; prefixLength = 24; }
}; ];
networking.firewall.enable = false; networking.firewall.enable = false;
}; };
}; };
@ -54,9 +54,9 @@ import ./make-test.nix ({ pkgs, ...} : {
interfaces = [ "eth1" ]; interfaces = [ "eth1" ];
mode = "active-backup"; mode = "active-backup";
}; };
networking.interfaces.bond0 = { networking.interfaces.bond0.ipv4.addresses = [
ip4 = [ { address = "10.10.0.3"; prefixLength = 24; } ]; { address = "10.10.0.3"; prefixLength = 24; }
}; ];
networking.firewall.enable = false; networking.firewall.enable = false;
}; };
}; };
@ -76,9 +76,9 @@ import ./make-test.nix ({ pkgs, ...} : {
mode = "active-backup"; mode = "active-backup";
}; };
networking.bridges.br0.interfaces = [ "bond0" ]; networking.bridges.br0.interfaces = [ "bond0" ];
networking.interfaces.br0 = { networking.interfaces.br0.ipv4.addresses = [
ip4 = [ { address = "10.10.0.4"; prefixLength = 24; } ]; { address = "10.10.0.4"; prefixLength = 24; }
}; ];
networking.firewall.enable = false; networking.firewall.enable = false;
}; };
}; };

View File

@ -11,7 +11,7 @@ let
# prevent make-test.nix to change IP # prevent make-test.nix to change IP
networking.interfaces = { networking.interfaces = {
eth1.ip4 = lib.mkOverride 0 [ ]; eth1.ipv4.addresses = lib.mkOverride 0 [ ];
}; };
}; };
in { in {

View File

@ -11,7 +11,7 @@ let
config = { config = {
networking.firewall.enable = false; networking.firewall.enable = false;
networking.firewall.allowPing = true; networking.firewall.allowPing = true;
networking.interfaces.eth0.ip4 = [ networking.interfaces.eth0.ipv4.addresses = [
{ address = "192.168.1.122"; prefixLength = 24; } { address = "192.168.1.122"; prefixLength = 24; }
]; ];
}; };
@ -33,8 +33,8 @@ in import ./make-test.nix ({ pkgs, lib, ...} :
rstp = false; rstp = false;
}; };
networking.interfaces = { networking.interfaces = {
eth1.ip4 = lib.mkOverride 0 [ ]; eth1.ipv4.addresses = lib.mkOverride 0 [ ];
br0.ip4 = [{ address = "192.168.1.1"; prefixLength = 24; }]; br0.ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
}; };
}; };
@ -44,8 +44,8 @@ in import ./make-test.nix ({ pkgs, lib, ...} :
rstp = false; rstp = false;
}; };
networking.interfaces = { networking.interfaces = {
eth1.ip4 = lib.mkOverride 0 [ ]; eth1.ipv4.addresses = lib.mkOverride 0 [ ];
br0.ip4 = [{ address = "192.168.1.2"; prefixLength = 24; }]; br0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
}; };
}; };
client_eth1_rstp = { lib, pkgs, ... }: client_base // { client_eth1_rstp = { lib, pkgs, ... }: client_base // {
@ -54,8 +54,8 @@ in import ./make-test.nix ({ pkgs, lib, ...} :
rstp = true; rstp = true;
}; };
networking.interfaces = { networking.interfaces = {
eth1.ip4 = lib.mkOverride 0 [ ]; eth1.ipv4.addresses = lib.mkOverride 0 [ ];
br0.ip4 = [{ address = "192.168.1.2"; prefixLength = 24; }]; br0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
}; };
}; };
}; };

View File

@ -11,8 +11,8 @@ import ./make-test.nix ({ pkgs, ...} : {
with pkgs.lib; with pkgs.lib;
{ {
networking = { networking = {
interfaces.eth1.ip6 = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ]; interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ];
interfaces.eth1.ip4 = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ]; interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ];
}; };
}; };
server = server =
@ -20,8 +20,8 @@ import ./make-test.nix ({ pkgs, ...} : {
with pkgs.lib; with pkgs.lib;
{ {
networking = { networking = {
interfaces.eth1.ip6 = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ]; interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
interfaces.eth1.ip4 = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
}; };
services = { services = {

View File

@ -11,9 +11,7 @@ import ../make-test.nix ({ pkgs, lib, ... }:
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
boot.kernelParams = [ boot.kernelParams = [
"ip=${ "ip=${config.networking.primaryIPAddress}:::255.255.255.0::eth1:none"
(head config.networking.interfaces.eth1.ip4).address
}:::255.255.255.0::eth1:none"
]; ];
boot.initrd.network = { boot.initrd.network = {
enable = true; enable = true;

View File

@ -35,7 +35,7 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
{ virtualisation.vlans = [ 1 ]; { virtualisation.vlans = [ 1 ];
networking.firewall.allowPing = true; networking.firewall.allowPing = true;
networking.defaultGateway = networking.defaultGateway =
(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address; (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ipv4.addresses).address;
} }
(lib.optionalAttrs withConntrackHelpers { (lib.optionalAttrs withConntrackHelpers {
networking.firewall.connectionTrackingModules = [ "ftp" ]; networking.firewall.connectionTrackingModules = [ "ftp" ];

View File

@ -435,13 +435,13 @@ let
name = "Virtual"; name = "Virtual";
machine = { machine = {
networking.interfaces."tap0" = { networking.interfaces."tap0" = {
ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ]; ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
ip6 = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ]; ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
virtual = true; virtual = true;
}; };
networking.interfaces."tun0" = { networking.interfaces."tun0" = {
ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
ip6 = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ]; ipv6.addresses = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ];
virtual = true; virtual = true;
}; };
}; };
@ -481,9 +481,9 @@ let
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
networking = { networking = {
useNetworkd = networkd; useNetworkd = networkd;
interfaces.eth1 = { interfaces.eth1.ipv6.addresses = singleton {
ipv6Address = "fd00:1234:5678:1::1"; address = "fd00:1234:5678:1::1";
ipv6PrefixLength = 64; prefixLength = 64;
}; };
}; };
services.radvd = { services.radvd = {
@ -509,8 +509,8 @@ let
useDHCP = true; useDHCP = true;
interfaces.eth1 = { interfaces.eth1 = {
preferTempAddress = true; preferTempAddress = true;
ip4 = mkOverride 0 [ ]; ipv4.addresses = mkOverride 0 [ ];
ip6 = mkOverride 0 [ ]; ipv6.addresses = mkOverride 0 [ ];
}; };
}; };
}; };

View File

@ -15,25 +15,31 @@ in import ./make-test.nix ({ pkgs, ...} : {
clientv4 = { lib, nodes, ... }: { clientv4 = { lib, nodes, ... }: {
imports = [ common ]; imports = [ common ];
networking.nameservers = lib.mkForce [ networking.nameservers = lib.mkForce [
nodes.server.config.networking.interfaces.eth1.ipAddress (lib.head nodes.server.config.networking.interfaces.eth1.ipv4.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{ address = "192.168.0.2"; prefixLength = 24; }
]; ];
networking.interfaces.eth1.ipAddress = "192.168.0.2";
networking.interfaces.eth1.prefixLength = 24;
}; };
clientv6 = { lib, nodes, ... }: { clientv6 = { lib, nodes, ... }: {
imports = [ common ]; imports = [ common ];
networking.nameservers = lib.mkForce [ networking.nameservers = lib.mkForce [
nodes.server.config.networking.interfaces.eth1.ipv6Address (lib.head nodes.server.config.networking.interfaces.eth1.ipv6.addresses).address
];
networking.interfaces.eth1.ipv4.addresses = [
{ address = "dead:beef::2"; prefixLength = 24; }
]; ];
networking.interfaces.eth1.ipv6Address = "dead:beef::2";
}; };
server = { lib, ... }: { server = { lib, ... }: {
imports = [ common ]; imports = [ common ];
networking.interfaces.eth1.ipAddress = "192.168.0.1"; networking.interfaces.eth1.ipv4.addresses = [
networking.interfaces.eth1.prefixLength = 24; { address = "192.168.0.1"; prefixLength = 24; }
networking.interfaces.eth1.ipv6Address = "dead:beef::1"; ];
networking.interfaces.eth1.ipv6.addresses = [
{ address = "dead:beef::1"; prefixLength = 64; }
];
services.nsd.enable = true; services.nsd.enable = true;
services.nsd.interfaces = lib.mkForce []; services.nsd.interfaces = lib.mkForce [];
services.nsd.zones."example.com.".data = '' services.nsd.zones."example.com.".data = ''

View File

@ -8,7 +8,7 @@
import ./make-test.nix ({ pkgs, ... }: import ./make-test.nix ({ pkgs, ... }:
let let
ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ip4).address; ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
ospfConf = '' ospfConf = ''
interface eth2 interface eth2