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
name = "/var/lib/kea/dhcp4.leases";
45
};
46
0
0
0
0
0
47
interfaces-config = {
48
dhcp-socket-type = "raw";
49
interfaces = [
···
88
} ];
89
};
90
};
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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")
0
0
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
0
4
}:
5
6
python3Packages.buildPythonApplication rec {
···
28
$out/bin/kea-exporter --help > /dev/null
29
$out/bin/kea-exporter --version | grep -q ${version}
30
'';
0
0
0
0
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";