Merge pull request #13854 from makefu/graphite-web-fix

graphite: fix carbonCache graphiteWeb graphiteApi

+24 -5
+24 -5
nixos/modules/services/monitoring/graphite.nix
··· 51 ''; 52 53 carbonEnv = { 54 - PYTHONPATH = "${pkgs.python27Packages.carbon}/lib/python2.7/site-packages"; 55 GRAPHITE_ROOT = dataDir; 56 GRAPHITE_CONF_DIR = configDir; 57 GRAPHITE_STORAGE_DIR = dataDir; ··· 445 after = [ "network-interfaces.target" ]; 446 path = [ pkgs.perl ]; 447 environment = { 448 - PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages"; 449 DJANGO_SETTINGS_MODULE = "graphite.settings"; 450 GRAPHITE_CONF_DIR = configDir; 451 GRAPHITE_STORAGE_DIR = dataDir; 452 }; 453 serviceConfig = { 454 ExecStart = '' ··· 486 wantedBy = [ "multi-user.target" ]; 487 after = [ "network-interfaces.target" ]; 488 environment = { 489 - PYTHONPATH = 490 - "${cfg.api.package}/lib/python2.7/site-packages:" + 491 - concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders; 492 GRAPHITE_API_CONFIG = graphiteApiConfig; 493 LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; 494 };
··· 51 ''; 52 53 carbonEnv = { 54 + PYTHONPATH = let 55 + cenv = pkgs.python.buildEnv.override { 56 + extraLibs = [ pkgs.python27Packages.carbon ]; 57 + }; 58 + cenvPack = "${cenv}/${pkgs.python.sitePackages}"; 59 + # opt/graphite/lib contains twisted.plugins.carbon-cache 60 + in "${cenvPack}/opt/graphite/lib:${cenvPack}"; 61 GRAPHITE_ROOT = dataDir; 62 GRAPHITE_CONF_DIR = configDir; 63 GRAPHITE_STORAGE_DIR = dataDir; ··· 451 after = [ "network-interfaces.target" ]; 452 path = [ pkgs.perl ]; 453 environment = { 454 + PYTHONPATH = let 455 + penv = pkgs.python.buildEnv.override { 456 + extraLibs = [ 457 + pkgs.python27Packages.graphite_web 458 + pkgs.python27Packages.pysqlite 459 + ]; 460 + }; 461 + penvPack = "${penv}/${pkgs.python.sitePackages}"; 462 + # opt/graphite/webapp contains graphite/settings.py 463 + # explicitly adding pycairo in path because it cannot be imported via buildEnv 464 + in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pycairo}/${pkgs.python.sitePackages}"; 465 DJANGO_SETTINGS_MODULE = "graphite.settings"; 466 GRAPHITE_CONF_DIR = configDir; 467 GRAPHITE_STORAGE_DIR = dataDir; 468 + LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; 469 }; 470 serviceConfig = { 471 ExecStart = '' ··· 503 wantedBy = [ "multi-user.target" ]; 504 after = [ "network-interfaces.target" ]; 505 environment = { 506 + PYTHONPATH = let 507 + aenv = pkgs.python.buildEnv.override { 508 + extraLibs = [ cfg.api.package pkgs.cairo ] ++ cfg.api.finders; 509 + }; 510 + in "${aenv}/${pkgs.python.sitePackages}"; 511 GRAPHITE_API_CONFIG = graphiteApiConfig; 512 LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; 513 };