graphite: fix the graphiteApi service

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