vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / lxd / nftables.nix
blobd419f9b66af138cbe5e25e841b778d150eb55502
1 # This test makes sure that lxd stops implicitly depending on iptables when
2 # user enabled nftables.
4 # It has been extracted from `lxd.nix` for clarity, and because switching from
5 # iptables to nftables requires a full reboot, which is a bit hard inside NixOS
6 # tests.
8 import ../make-test-python.nix ({ pkgs, lib, ...} : {
9   name = "lxd-nftables";
11   nodes.machine = { lib, ... }: {
12     virtualisation = {
13       lxd.enable = true;
14     };
16     networking = {
17       firewall.enable = false;
18       nftables.enable = true;
19       nftables.tables."filter".family = "inet";
20       nftables.tables."filter".content = ''
21           chain incoming {
22             type filter hook input priority 0;
23             policy accept;
24           }
26           chain forward {
27             type filter hook forward priority 0;
28             policy accept;
29           }
31           chain output {
32             type filter hook output priority 0;
33             policy accept;
34           }
35       '';
36     };
37   };
39   testScript = ''
40     machine.wait_for_unit("network.target")
42     with subtest("When nftables are enabled, lxd doesn't depend on iptables anymore"):
43         machine.succeed("lsmod | grep nf_tables")
44         machine.fail("lsmod | grep ip_tables")
45   '';