- The repository is no longer explicitly created on the storage server, but on the webserver in which the /repos dir is a NFS mount

- NFS mounts are created during startup time
- Played a bit with waiting times in order to capture a nice screenshot


svn path=/nixos/trunk/; revision=16964
This commit is contained in:
Sander van der Burg 2009-09-04 22:06:54 +00:00
parent 17c063b627
commit 4c2650d015

View File

@ -19,16 +19,11 @@ rec {
nfsKernel = { nfsKernel = {
enable = true; enable = true;
exports = '' exports = ''
/repos/trac 192.168.1.0/255.255.255.0(rw,no_root_squash) /repos 192.168.1.0/255.255.255.0(rw,no_root_squash)
''; '';
createMountPoints = true;
}; };
}; };
environment = {
extraPackages = [
pkgs.subversion
];
};
}; };
postgresql = postgresql =
@ -57,6 +52,12 @@ rec {
webserver = webserver =
{config, pkgs, ...}: {config, pkgs, ...}:
{ {
fileSystems = pkgs.lib.mkOverride 50 {}
[
{ mountPoint = "/repos";
device = "storage:/repos"; }
];
services = { services = {
portmap = { portmap = {
enable = true; enable = true;
@ -64,7 +65,7 @@ rec {
nfsKernel = { nfsKernel = {
enable = true; enable = true;
}; };
httpd = { httpd = {
enable = true; enable = true;
@ -76,7 +77,7 @@ rec {
}; };
environment = { environment = {
extraPackages = [ pkgs.pythonPackages.trac ]; extraPackages = [ pkgs.pythonPackages.trac pkgs.subversion ];
}; };
}; };
@ -124,7 +125,6 @@ rec {
environment = { environment = {
extraPackages = [ extraPackages = [
pkgs.firefoxWrapper
pkgs.scrot pkgs.scrot
]; ];
}; };
@ -137,24 +137,21 @@ rec {
'' ''
startAll; startAll;
$storage->mustSucceed("mkdir -p /repos/trac");
$storage->mustSucceed("svnadmin create /repos/trac");
$postgresql->waitForFile("/tmp/.s.PGSQL.5432"); $postgresql->waitForFile("/tmp/.s.PGSQL.5432");
$postgresql->mustSucceed("createdb trac"); $postgresql->mustSucceed("createdb trac");
$webserver->mustSucceed("mkdir -p /repos/trac");
#$webserver->mustSucceed("mount storage:/repos/trac /repos/trac");
$webserver->waitForFile("/var/trac"); $webserver->mustSucceed("mkdir -p /repos/trac");
$webserver->mustSucceed("svnadmin create /repos/trac");
$webserver->waitForFile("/var/trac");
$webserver->mustSucceed("mkdir -p /var/trac/projects/test"); $webserver->mustSucceed("mkdir -p /var/trac/projects/test");
$webserver->mustSucceed("PYTHONPATH=${pkgs.pythonPackages.psycopg2}/lib/python2.5/site-packages trac-admin /var/trac/projects/test initenv Test postgres://root\@postgresql/trac svn /repos/trac"); $webserver->mustSucceed("PYTHONPATH=${pkgs.pythonPackages.psycopg2}/lib/python2.5/site-packages trac-admin /var/trac/projects/test initenv Test postgres://root\@postgresql/trac svn /repos/trac");
$client->waitForFile("/tmp/.X11-unix/X0"); $client->waitForFile("/tmp/.X11-unix/X0");
sleep 60; sleep 60;
print STDERR $client->execute("DISPLAY=:0.0 konqueror http://webserver/projects/test &"); print STDERR $client->execute("su - alice -c 'DISPLAY=:0.0 konqueror http://webserver/projects/test &'");
sleep 30; sleep 120;
print STDERR $client->execute("DISPLAY=:0.0 scrot /hostfs/$ENV{out}/screen1.png"); print STDERR $client->execute("DISPLAY=:0.0 scrot /hostfs/$ENV{out}/screen1.png");
''; '';