graphite: fix the graphiteApi service

+13 -7
+2 -2
nixos/modules/services/monitoring/graphite.nix
··· 22 22 ); 23 23 24 24 graphiteApiConfig = pkgs.writeText "graphite-api.yaml" '' 25 - time_zone: ${config.time.timeZone} 26 25 search_index: ${dataDir}/index 26 + ${optionalString (!isNull config.time.timeZone) ''time_zone: ${config.time.timeZone}''} 27 27 ${optionalString (cfg.api.finders != []) ''finders:''} 28 28 ${concatMapStringsSep "\n" (f: " - " + f.moduleName) cfg.api.finders} 29 29 ${optionalString (cfg.api.functions != []) ''functions:''} ··· 536 536 environment = { 537 537 PYTHONPATH = let 538 538 aenv = pkgs.python.buildEnv.override { 539 - extraLibs = [ cfg.api.package pkgs.cairo ] ++ cfg.api.finders; 539 + extraLibs = [ cfg.api.package pkgs.cairo pkgs.pythonPackages.cffi ] ++ cfg.api.finders; 540 540 }; 541 541 in "${aenv}/${pkgs.python.sitePackages}"; 542 542 GRAPHITE_API_CONFIG = graphiteApiConfig;
+11 -5
nixos/tests/graphite.nix
··· 4 4 nodes = { 5 5 one = 6 6 { config, pkgs, ... }: { 7 + time.timeZone = "UTC"; 7 8 services.graphite = { 8 - web = { 9 + web.enable = true; 10 + api = { 9 11 enable = true; 10 - }; 11 - carbon = { 12 - enableCache = true; 12 + port = 8082; 13 13 }; 14 + carbon.enableCache = true; 15 + seyren.enable = true; 16 + pager.enable = true; 14 17 }; 15 18 }; 16 - }; 19 + }; 17 20 18 21 testScript = '' 19 22 startAll; 20 23 $one->waitForUnit("default.target"); 21 24 $one->requireActiveUnit("graphiteWeb.service"); 25 + $one->requireActiveUnit("graphiteApi.service"); 26 + $one->requireActiveUnit("graphitePager.service"); 22 27 $one->requireActiveUnit("carbonCache.service"); 28 + $one->requireActiveUnit("seyren.service"); 23 29 $one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003"); 24 30 $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo") 25 31 '';