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