notes: 2.3.0 -> 2.3.1 (#352950)
[NixPkgs.git] / nixos / tests / collectd.nix
blob2480bdb5f917e6c9a392cdaa4fab2dfca1f84db6
1 import ./make-test-python.nix ({ pkgs, ... }: {
2   name = "collectd";
3   meta = { };
5   nodes.machine =
6     { pkgs, lib, ... }:
8     {
9       services.collectd = {
10         enable = true;
11         extraConfig = lib.mkBefore ''
12           Interval 30
13         '';
14         plugins = {
15           rrdtool = ''
16             DataDir "/var/lib/collectd/rrd"
17           '';
18           load = "";
19         };
20       };
21       environment.systemPackages = [ pkgs.rrdtool ];
22     };
24   testScript = ''
25     machine.wait_for_unit("collectd.service")
26     hostname = machine.succeed("hostname").strip()
27     file = f"/var/lib/collectd/rrd/{hostname}/load/load.rrd"
28     machine.wait_for_file(file);
29     machine.succeed(f"rrdinfo {file} | logger")
30     # check that this file contains a shortterm metric
31     machine.succeed(f"rrdinfo {file} | grep -F 'ds[shortterm].min = '")
32     # check that interval was set before the plugins
33     machine.succeed(f"rrdinfo {file} | grep -F 'step = 30'")
34     # check that there are frequent updates
35     machine.succeed(f"cp {file} before")
36     machine.wait_until_fails(f"cmp before {file}")
37   '';