nixos/tests/kea: test ctrl-agent via kea-exporter

+31
+26
nixos/tests/kea.nix
··· 44 name = "/var/lib/kea/dhcp4.leases"; 45 }; 46 47 interfaces-config = { 48 dhcp-socket-type = "raw"; 49 interfaces = [ ··· 88 } ]; 89 }; 90 }; 91 }; 92 }; 93 ··· 182 client.wait_until_succeeds("ping -c 5 10.0.0.1") 183 router.wait_until_succeeds("ping -c 5 10.0.0.3") 184 nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3") 185 ''; 186 })
··· 44 name = "/var/lib/kea/dhcp4.leases"; 45 }; 46 47 + control-socket = { 48 + socket-type = "unix"; 49 + socket-name = "/run/kea/dhcp4.sock"; 50 + }; 51 + 52 interfaces-config = { 53 dhcp-socket-type = "raw"; 54 interfaces = [ ··· 93 } ]; 94 }; 95 }; 96 + }; 97 + 98 + services.kea.ctrl-agent = { 99 + enable = true; 100 + settings = { 101 + http-host = "127.0.0.1"; 102 + http-port = 8000; 103 + control-sockets.dhcp4 = { 104 + socket-type = "unix"; 105 + socket-name = "/run/kea/dhcp4.sock"; 106 + }; 107 + }; 108 + }; 109 + 110 + services.prometheus.exporters.kea = { 111 + enable = true; 112 + controlSocketPaths = [ 113 + "http://127.0.0.1:8000" 114 + ]; 115 }; 116 }; 117 ··· 206 client.wait_until_succeeds("ping -c 5 10.0.0.1") 207 router.wait_until_succeeds("ping -c 5 10.0.0.3") 208 nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3") 209 + router.log(router.execute("curl 127.0.0.1:9547")[1]) 210 + router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'") 211 ''; 212 })
+5
pkgs/servers/monitoring/prometheus/kea-exporter.nix
··· 1 { lib 2 , python3Packages 3 , fetchPypi 4 }: 5 6 python3Packages.buildPythonApplication rec { ··· 28 $out/bin/kea-exporter --help > /dev/null 29 $out/bin/kea-exporter --version | grep -q ${version} 30 ''; 31 32 meta = with lib; { 33 changelog = "https://github.com/mweinelt/kea-exporter/blob/v${version}/HISTORY";
··· 1 { lib 2 , python3Packages 3 , fetchPypi 4 + , nixosTests 5 }: 6 7 python3Packages.buildPythonApplication rec { ··· 29 $out/bin/kea-exporter --help > /dev/null 30 $out/bin/kea-exporter --version | grep -q ${version} 31 ''; 32 + 33 + passthru.tests = { 34 + inherit (nixosTests) kea; 35 + }; 36 37 meta = with lib; { 38 changelog = "https://github.com/mweinelt/kea-exporter/blob/v${version}/HISTORY";