 96190535e5
			
		
	
	
		96190535e5
		
	
	
	
	
		
			
			This reverts commit 095fe5b43def40279a243e663c662b02caac5318. Pointless renames considered harmful. All they do is force people to spend extra work updating their configs for no benefit, and hindering the ability to switch between unstable and stable versions of NixOS. Like, what was the value of having the "nixos." there? I mean, by definition anything in a NixOS module has something to do with NixOS...
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Test for NixOS' container support.
 | |
| 
 | |
| import ./make-test.nix ({ pkgs, ...} : {
 | |
|   name = "containers-ipv4";
 | |
|   meta = with pkgs.stdenv.lib.maintainers; {
 | |
|     maintainers = [ aristid aszlig eelco chaoflow kampfschlaefer ];
 | |
|   };
 | |
| 
 | |
|   machine =
 | |
|     { pkgs, ... }:
 | |
|     { imports = [ ../modules/installer/cd-dvd/channel.nix ];
 | |
|       virtualisation.writableStore = true;
 | |
|       virtualisation.memorySize = 768;
 | |
| 
 | |
|       containers.webserver =
 | |
|         { privateNetwork = true;
 | |
|           hostAddress = "10.231.136.1";
 | |
|           localAddress = "10.231.136.2";
 | |
|           config =
 | |
|             { services.httpd.enable = true;
 | |
|               services.httpd.adminAddr = "foo@example.org";
 | |
|               networking.firewall.allowedTCPPorts = [ 80 ];
 | |
|               networking.firewall.allowPing = true;
 | |
|               system.stateVersion = "18.03";
 | |
|             };
 | |
|         };
 | |
| 
 | |
|       virtualisation.pathsInNixDB = [ pkgs.stdenv ];
 | |
|     };
 | |
| 
 | |
|   testScript =
 | |
|     ''
 | |
|       $machine->succeed("nixos-container list") =~ /webserver/ or die;
 | |
| 
 | |
|       # Start the webserver container.
 | |
|       $machine->succeed("nixos-container start webserver");
 | |
| 
 | |
|       # wait two seconds for the container to start and the network to be up
 | |
|       sleep 2;
 | |
| 
 | |
|       # Since "start" returns after the container has reached
 | |
|       # multi-user.target, we should now be able to access it.
 | |
|       my $ip = $machine->succeed("nixos-container show-ip webserver");
 | |
|       chomp $ip;
 | |
|       $machine->succeed("ping -n -c1 $ip");
 | |
|       $machine->succeed("curl --fail http://$ip/ > /dev/null");
 | |
| 
 | |
|       # Stop the container.
 | |
|       $machine->succeed("nixos-container stop webserver");
 | |
|       $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
 | |
| 
 | |
|       # Destroying a declarative container should fail.
 | |
|       $machine->fail("nixos-container destroy webserver");
 | |
|     '';
 | |
| 
 | |
| })
 |