1let
2 mkNode = id: {
3 imports = [ ../../modules/profiles/minimal.nix ];
4
5 virtualisation.interfaces.eth1.vlan = 1;
6
7 networking.ifstate = {
8 enable = true;
9 settings.interfaces.eth1 = {
10 addresses = [ "2001:0db8::${builtins.toString id}/64" ];
11 link = {
12 state = "up";
13 kind = "physical";
14 };
15 };
16 };
17 };
18in
19
20{
21 name = "ifstate-ping";
22
23 nodes = {
24 foo = mkNode 1;
25 bar = mkNode 2;
26 };
27
28 testScript = # python
29 ''
30 start_all()
31
32 foo.wait_for_unit("default.target")
33 bar.wait_for_unit("default.target")
34
35 foo.wait_until_succeeds("ping -c 1 2001:0db8::2")
36 bar.wait_until_succeeds("ping -c 1 2001:0db8::1")
37 '';
38}