Depending on the network management backend being used, if the interface configuration in stage 1 is not cleared, there might still be some old addresses or routes from stage 1 present in stage 2 after network configuration has finished.
34 lines
857 B
Nix
34 lines
857 B
Nix
import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
|
name = "initrd-network";
|
|
|
|
meta.maintainers = [ pkgs.stdenv.lib.maintainers.eelco ];
|
|
|
|
machine = { ... }: {
|
|
imports = [ ../modules/profiles/minimal.nix ];
|
|
boot.initrd.network.enable = true;
|
|
boot.initrd.network.postCommands =
|
|
''
|
|
ip addr show
|
|
ip route show
|
|
ip addr | grep 10.0.2.15 || exit 1
|
|
ping -c1 10.0.2.2 || exit 1
|
|
'';
|
|
# Check if cleanup was done correctly
|
|
boot.initrd.postMountCommands = lib.mkAfter
|
|
''
|
|
ip addr show
|
|
ip route show
|
|
ip addr | grep 10.0.2.15 && exit 1
|
|
ping -c1 10.0.2.2 && exit 1
|
|
'';
|
|
};
|
|
|
|
testScript =
|
|
''
|
|
start_all()
|
|
machine.wait_for_unit("multi-user.target")
|
|
machine.succeed("ip addr show >&2")
|
|
machine.succeed("ip route show >&2")
|
|
'';
|
|
})
|