Commit Graph

2453 Commits

Author SHA1 Message Date
Eelco Dolstra
1371f4e6c8 * Apparantly GRUB 2 cannot boot from a software RAID partition, so use
a separate /boot.

svn path=/nixos/branches/boot-order/; revision=22344
2010-06-20 16:05:15 +00:00
Eelco Dolstra
20a88efffa * Fix networking in the installer test.
* If connecting to the host fails in the guest, then shutdown
  immediately.

svn path=/nixos/branches/boot-order/; revision=22341
2010-06-20 15:33:44 +00:00
Eelco Dolstra
411139148d * Put a timeout on the call to readline.
svn path=/nixos/branches/boot-order/; revision=22338
2010-06-19 21:57:20 +00:00
Eelco Dolstra
363806e89b * To establish the connection to the root shell in the guest, let the
guest connect to a Unix domain socket on the host rather than the
  other way around.  The former is a QEMU feature (guestfwd to a
  socket) while the latter requires a patch (which we can now get rid
  of).

svn path=/nixos/branches/boot-order/; revision=22331
2010-06-18 19:31:02 +00:00
Eelco Dolstra
7eb7e8d732 * Enable some tests.
svn path=/nixos/branches/boot-order/; revision=22330
2010-06-18 19:14:33 +00:00
Eelco Dolstra
200a8b9a56 * Change the priority to make the NAT and Bittorrent tests work.
svn path=/nixos/branches/boot-order/; revision=22329
2010-06-18 18:53:13 +00:00
Eelco Dolstra
cf7e902283 * Intercept SIGCHLD to prevent accept() from waiting forever if QEMU
dies before connecting to the monitor.

svn path=/nixos/branches/boot-order/; revision=22328
2010-06-18 15:30:36 +00:00
Eelco Dolstra
ac22e5369f * Prevent tests from accessing the host's network accidentally. For
instance, `nixos-rebuild' in the installer test does a `nix-pull'
  from nixos.org.

svn path=/nixos/branches/boot-order/; revision=22325
2010-06-18 13:21:01 +00:00
Eelco Dolstra
a65b5ec81c * Added an option boot.loader.grub.extraConfig to add commands to
grub.cfg before the menu entries.  (This could also be done using
  `extraEntriesBeforeNixOS', but then you can't have entries *after*
  the main entry anymore.)
* In the installer test, redirect GRUB output to the serial port.

svn path=/nixos/branches/boot-order/; revision=22300
2010-06-16 22:18:26 +00:00
Eelco Dolstra
69c7175404 * During shutdown, don't unmount mount points that don't exist (in the
current namespace).  This prevents warnings about the aufs/tmpfs
  mounts from the initrd used by the installation CD.

svn path=/nixos/branches/boot-order/; revision=22299
2010-06-16 22:16:43 +00:00
Eelco Dolstra
eab5aff8d0 * Drop the -no-kvm-irqchip flag here as well.
svn path=/nixos/branches/boot-order/; revision=22281
2010-06-15 18:00:56 +00:00
Eelco Dolstra
46ac1375a7 * Don't use -smb and -no-kvm-irqchip. Maybe this makes VM builds more
reliable.

svn path=/nixos/branches/boot-order/; revision=22280
2010-06-15 16:15:17 +00:00
Eelco Dolstra
e2dbfbdcf4 * Use writeback caching for virtual disks instead of writethrough
caching.  This makes a huge performance difference (e.g. from 4 MB/s
  `dd' throughput to 140 MB/s on the Hydra machines).  As the QEMU
  manual says: "Some block drivers perform badly with
  ‘cache=writethrough’, most notably, qcow2."

svn path=/nixos/branches/boot-order/; revision=22248
2010-06-13 23:36:55 +00:00
Eelco Dolstra
03f77ca82b * PostgreSQL / MySQL: depend on the "filesystem" event.
svn path=/nixos/branches/boot-order/; revision=22247
2010-06-13 20:59:49 +00:00
Eelco Dolstra
a5c433696c * Put all of /var/run (not just /var/run/nscd) on a tmpfs to simplify
shutdown.  (Portmap and statd are needed during shutdown to unmount
  NFS volumes but have open files in /var/run.)
* In the shutdown job, don't kill PIDs belonging to Upstart jobs that
  are still running.  If they don't stop on the "starting shutdown"
  event, then they're needed during shutdown (such as portmap and
  statd).
* NFS test: test whether the shutdown quickly unmounts NFS volumes
  (i.e. whether portmap and statd are still running).

svn path=/nixos/branches/boot-order/; revision=22204
2010-06-09 22:29:06 +00:00
Eelco Dolstra
e519b0652a * Test whether locks survive a reboot of the server.
svn path=/nixos/branches/boot-order/; revision=22201
2010-06-09 15:11:46 +00:00
Eelco Dolstra
483c322a62 * mustFail -> fail.
* Added a function to crash a VM.

svn path=/nixos/branches/boot-order/; revision=22200
2010-06-09 13:46:52 +00:00
Eelco Dolstra
b56b4c22d5 * Test whether clients release their locks when they reboot.
svn path=/nixos/branches/boot-order/; revision=22199
2010-06-09 13:46:18 +00:00
Eelco Dolstra
94088e9b48 * Daemonise mountd/statd.
svn path=/nixos/branches/boot-order/; revision=22198
2010-06-09 13:45:51 +00:00
Eelco Dolstra
6e27ce8e8e * Test whether distributed locking works on NFS.
svn path=/nixos/branches/boot-order/; revision=22197
2010-06-09 13:18:49 +00:00
Eelco Dolstra
645ed8d3b4 * Start NFS daemons in the right order as described in the nfs-utils
README (i.e. for the server: exportfs, mountd, statd, nfsd,
  sm-notify; for the client: statd / sm-notify before mountall).  This
  is important to allow locking to work correctly.

svn path=/nixos/branches/boot-order/; revision=22196
2010-06-09 13:18:01 +00:00
Eelco Dolstra
156ba2def2 * Don't use the "kvm-clock" clock source because it's unreliable.
When starting multiple VMs, some will have perfectly synchronised
  clocks, while others will have their clocks run much slower (say, a
  factor of 5).

svn path=/nixos/branches/boot-order/; revision=22195
2010-06-09 13:15:15 +00:00
Eelco Dolstra
d837ae4914 * portmap: don't use the -f flag to ensure that when the job reaches
the "started" state, portmap is actually up.

svn path=/nixos/branches/boot-order/; revision=22192
2010-06-09 11:15:25 +00:00
Eelco Dolstra
c1ecdf708f * Put the hostname of the VM in the window title.
svn path=/nixos/branches/boot-order/; revision=22191
2010-06-09 10:51:05 +00:00
Eelco Dolstra
5ddaf9b963 * Set `services.nfsKernel.client.enable' automatically if there is a
filesystem with type "nfs" or "nfs4".

svn path=/nixos/branches/boot-order/; revision=22189
2010-06-08 16:14:41 +00:00
Eelco Dolstra
2678f947fb * Add a test for the NFS server/client.
svn path=/nixos/branches/boot-order/; revision=22188
2010-06-08 16:02:22 +00:00
Eelco Dolstra
a9e8bf6491 * nfsd: run rpc.nfsd from the pre-start script since it's not actually
a daemon (it just starts some kernel threads).  In the post-stop
  script, stop the kernel threads.
* exportfs: fix the createMountPoints option.
* Mount the nfsd filesystem on /proc/fs/nfsd because mountd prefers
  this.

svn path=/nixos/branches/boot-order/; revision=22187
2010-06-08 16:01:31 +00:00
Eelco Dolstra
3eac003800 * Maintain /var/log/wtmp correctly during boot/shutdown.
svn path=/nixos/branches/boot-order/; revision=22182
2010-06-08 12:48:16 +00:00
Eelco Dolstra
7c3ae9e716 * During shutdown, warn explicitly about filesystems that could not be
unmounted or remounted read-only.
* Don't try to unmount / or /nix/store.

svn path=/nixos/branches/boot-order/; revision=22181
2010-06-08 11:52:16 +00:00
Eelco Dolstra
23cc979f61 * Run `swapoff -a' during shutdown. Otherwise filesystems containing
swapfiles cannot be unmounted or even remounted read-only.
* In the remount, pass `-t none' to get a more informative error
  message if the filesystem is in use.

svn path=/nixos/branches/boot-order/; revision=22179
2010-06-08 10:06:00 +00:00
Eelco Dolstra
48fdc931a4 * Run udevtrigger in a separate job. This speeds up booting because
it allows the `mountall' task to start mounting filesystems as soon
  as udev is running and devices become available (i.e. it doesn't
  have to wait for all devices).  This means that some jobs should
  depend on "stopped udevtrigger" instead of "started udev".

svn path=/nixos/branches/boot-order/; revision=22167
2010-06-07 12:39:50 +00:00
Eelco Dolstra
085a47c88a * Bind mounts should have filesystem type "none" to prevent an
invocation of "fsck.auto" at boot time.

svn path=/nixos/branches/boot-order/; revision=22166
2010-06-07 12:16:59 +00:00
Eelco Dolstra
6290788247 * If mountall fails to mount all filesystems, start an emergency shell
to allow the user to fix or ignore the problem.

svn path=/nixos/branches/boot-order/; revision=22165
2010-06-07 12:15:55 +00:00
Eelco Dolstra
5702557a65 * Put e2fsprogs etc. in mountall's $PATH so that fsck works.
svn path=/nixos/branches/boot-order/; revision=22151
2010-06-04 15:35:32 +00:00
Eelco Dolstra
dbadf6e9c2 * Use mountall to mount all filesystems and activate all swap devices
during boot.  Mountall ensures that these are done in the right
  order.  It's informed by udev about devices becoming available.  It
  emits some Upstart events upon reaching certain states, in
  particular ‘local-filesystems’ after all local filesystems have been
  mounted successfully, ‘remote-filesystems’ after all network
  filesystems have been mounted, and ‘filesystem’ (sic) when all
  filesystems have been mounted.

  Currently, if a filesystem fails to mount or doesn't exist, then the
  mingettys won't start and the boot will appear to hang.  This is
  because mountall doesn't emit an event for failing filesystems and
  waits indefinitely for the filesystems to become available.

* The ‘filesystems’ and ‘swap’ Upstart jobs are gone.  (Support for
  encrypted swap devices is temporarily gone.)
  
* Generate a proper /etc/fstab from the ‘fileSystems’ and
  ‘swapDevices’ options.

svn path=/nixos/branches/boot-order/; revision=22148
2010-06-04 14:22:11 +00:00
Eelco Dolstra
5316059442 * Revert an unintended commit.
svn path=/nixos/trunk/; revision=22145
2010-06-04 14:00:56 +00:00
Rob Vermaas
de8d0c3e14 added some debugging
svn path=/nixos/trunk/; revision=22142
2010-06-04 13:18:19 +00:00
Eelco Dolstra
7f41d2bb86 svn path=/nixos/trunk/; revision=22126 2010-06-03 14:32:23 +00:00
Eelco Dolstra
6676bbe61d svn path=/nixos/trunk/; revision=22111 2010-06-02 23:02:09 +00:00
Eelco Dolstra
48255afa61 * This passwd doesn't have a --stdin flag.
svn path=/nixos/trunk/; revision=22110
2010-06-02 21:59:19 +00:00
Eelco Dolstra
0cdce12006 * Rename the pwdutils' module to shadow'.
svn path=/nixos/trunk/; revision=22109
2010-06-02 21:16:27 +00:00
Eelco Dolstra
c089738bdc * Use the shadow' package instead of pwdutils', `pam_login' and
`su'.
* The `usermod' from `shadow' allows setting a supplementary group
  equal to the user's primary group, so the special hack for the
  `nixbld' group is no longer needed.
* Removed /etc/default/passwd since it's not used by the new passwd.
  The hash is configured in pam_unix.
* Move some values for `security.setuidPrograms' and
  `security.pam.services' to the appropriate modules.

svn path=/nixos/trunk/; revision=22107
2010-06-02 21:10:48 +00:00
Eelco Dolstra
876954d15d * Use pam_unix (from the PAM package) instead of pam_unix2. All the
functionality we needed from pam_unix2 (more secure hashes, and,
  uh...) has been merged into pam_unix.

svn path=/nixos/trunk/; revision=22106
2010-06-02 19:59:44 +00:00
Eelco Dolstra
8b308272df * We don't use pam_console anymore.
svn path=/nixos/trunk/; revision=22104
2010-06-02 17:11:20 +00:00
Eelco Dolstra
d67e6e6285 * Remove some `stopOn = "ip-down"' declarations since they probably
don't do the right thing (e.g. they don't distinguish between
  network interfaces).

svn path=/nixos/trunk/; revision=22102
2010-06-02 16:19:48 +00:00
Eelco Dolstra
d317d83ba8 * Remove `stopOn = "shutdown"' which doesn't work.
svn path=/nixos/trunk/; revision=22101
2010-06-02 16:05:09 +00:00
Eelco Dolstra
8519e72ccc * Don't stop tty-backgrounds during shutdown.
svn path=/nixos/trunk/; revision=22100
2010-06-02 16:04:30 +00:00
Eelco Dolstra
ad93acc295 * Make all Upstart jobs shut down on the `starting shutdown' event.
This ensures that they're gone by the time the shutdown job runs, so
  it doesn't have to stop them itself.
* Don't respawn tasks, as it doesn't seem useful (if they fail they're
  likely to fail again if they're restarted).

svn path=/nixos/trunk/; revision=22099
2010-06-02 16:04:08 +00:00
Eelco Dolstra
b135e38bea * atd's postStop action should be unnecessary.
svn path=/nixos/trunk/; revision=22095
2010-06-01 20:42:33 +00:00
Eelco Dolstra
94b2268192 * Start "exec" jobs using the "script" stanza to allow redirects in
the job's "exec" to work properly.

svn path=/nixos/trunk/; revision=22094
2010-06-01 20:41:59 +00:00