 3f31678607
			
		
	
	
		3f31678607
		
	
	
	
	
		
			
			Until now, it was failing to start in the test, as it was searching for an influxdb database
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| import ./make-test-python.nix ({ pkgs, ... } :
 | |
| {
 | |
|   name = "graphite";
 | |
|   nodes = {
 | |
|     one =
 | |
|       { ... }: {
 | |
|         virtualisation.memorySize = 1024;
 | |
|         time.timeZone = "UTC";
 | |
|         services.graphite = {
 | |
|           web = {
 | |
|             enable = true;
 | |
|             extraConfig = ''
 | |
|               SECRET_KEY = "abcd";
 | |
|             '';
 | |
|           };
 | |
|           api = {
 | |
|             enable = true;
 | |
|             port = 8082;
 | |
|             finders = [ ];
 | |
|           };
 | |
|           carbon.enableCache = true;
 | |
|           seyren.enable = false;  # Implicitely requires openssl-1.0.2u which is marked insecure
 | |
|           beacon.enable = true;
 | |
|         };
 | |
|       };
 | |
|   };
 | |
| 
 | |
|   testScript = ''
 | |
|     start_all()
 | |
|     one.wait_for_unit("default.target")
 | |
|     one.wait_for_unit("graphiteWeb.service")
 | |
|     one.wait_for_unit("graphiteApi.service")
 | |
|     one.wait_for_unit("graphite-beacon.service")
 | |
|     one.wait_for_unit("carbonCache.service")
 | |
|     # The services above are of type "simple". systemd considers them active immediately
 | |
|     # even if they're still in preStart (which takes quite long for graphiteWeb).
 | |
|     # Wait for ports to open so we're sure the services are up and listening.
 | |
|     one.wait_for_open_port(8080)
 | |
|     one.wait_for_open_port(8082)
 | |
|     one.wait_for_open_port(2003)
 | |
|     one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003')
 | |
|     one.wait_until_succeeds(
 | |
|         "curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
 | |
|     )
 | |
|     one.wait_until_succeeds(
 | |
|         "curl 'http://localhost:8082/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
 | |
|     )
 | |
|   '';
 | |
| })
 |