Commit graph

69 commits

Author SHA1 Message Date
Eelco Dolstra 163ed5264b Start sm-notify/statd atfer nfsd
The README of nfs-utils explains that we must not notify clients
before nfsd is running, otherwise they may fail to reclaim their
locks.  OTOH it's allowed but not required to start "rpc.statd
--no-notify" before nfsd.  So for simplicity we do both after starting
nfsd.
2013-07-16 13:48:52 +02:00
Eelco Dolstra 945849b86f Don't set $TZ
We don't need to set $TZ, because we have /etc/localtime.  In fact,
setting $TZ without $TZDIR doesn't work anymore since Glibc no longer
contains zone info.
2013-04-22 18:56:19 +02:00
Eelco Dolstra ae4e94d9ac Rename ‘boot.systemd’ to ‘systemd’
Suggested by Mathijs Kwik.  ‘boot.systemd’ is a misnomer because
systemd affects more than just booting.  And it saves some typing.
2013-01-16 12:33:18 +01:00
Mathijs Kwik dc58c2ea37 systemd: convert samba jobs to systemd services (samba.target) 2012-12-27 12:23:50 +01:00
Eelco Dolstra b1da38f564 Merge remote-tracking branch 'origin/master' into systemd 2012-11-30 16:12:04 +01:00
Eelco Dolstra 7435db4f89 Get rid of the last uses of mkAlways
mkAlways is an insane function, mkMerge is much saner.
2012-11-30 15:07:39 +01:00
Eelco Dolstra b6f9e05269 Update NFS client/server modules for systemd 2012-10-24 18:10:58 +02:00
Eelco Dolstra 73532c3855 Global replace /var/run/current-system -> /run/current-system 2012-07-16 11:34:21 -04:00
Eelco Dolstra 2a135eb4d4 * Remove the ‘services.nfs.client.enable’ flag; use
‘boot.supportedFilesystems = [ "nfs" ]’ if needed.

svn path=/nixos/trunk/; revision=33356
2012-03-22 12:24:23 +00:00
Lluís Batlle i Rossell 5ddae4a83a Changing portmap by rpcbind on nfs services.
That could make rpc.statd work.

Patch by Rickard Nilsson.

I'm not sure we need that netconfig file in etc.


svn path=/nixos/trunk/; revision=33342
2012-03-21 20:37:37 +00:00
Lluís Batlle i Rossell 20edb255bd Adding idmapd, for NFSv4.
Patch by Rickard Nilsson.

This may fix rpc.statd start.


svn path=/nixos/trunk/; revision=33330
2012-03-21 11:58:06 +00:00
Eelco Dolstra ee6c9bb998 * Provide two utility functions in Upstart jobs: "ensure JOBNAME"
starts the given job and waits until it's running; "stop_check"
  checks that the current job hasn't been asked to stop.

svn path=/nixos/trunk/; revision=33214
2012-03-17 19:12:33 +00:00
Eelco Dolstra 67a90c6d6f * Renamed services.nfsKernel to services.nfs. Unfortunately
rename.nix doesn't allow renaming sets of options...
* Renamed nfs-kernel.nix to nfsd.nix
* Move NFS client stuff from nfsd.nix to filesystems/nfs.nix.

svn path=/nixos/trunk/; revision=33174
2012-03-16 20:41:49 +00:00
Eelco Dolstra a395e46192 * Fix the NFS Upstart dependencies. Mountd is now started before
nfsd, as suggested by the nfs-utils README.

  Also, rather than relying on Upstart events (which have all sorts of
  problems, especially if you have jobs that have multiple
  dependencies), we know just let jobs start their on prerequisites.
  That is, nfsd starts mountd in its preStart script; mountd starts
  statd; statd starts portmap.  Likewise, mountall starts statd to
  ensure that it can mount NFS filesystems.  This means that doing
  something like "start nfsd" from the command line will Do The Right
  Thing and start the dependencies of nfsd.

svn path=/nixos/trunk/; revision=33172
2012-03-16 20:10:14 +00:00
Eelco Dolstra 5a36c25e9f * nfsd and statd do not need to be stopped when portmap stops.
svn path=/nixos/trunk/; revision=33167
2012-03-16 17:43:18 +00:00
Eelco Dolstra c5ca681c06 * Drop the unnecessary "nfs-kernel-" prefix from the job names.
svn path=/nixos/trunk/; revision=33159
2012-03-16 13:56:51 +00:00
Eelco Dolstra 0c1ec805fc * In fact get rid of the whole nfs-kernel-exports job.
svn path=/nixos/trunk/; revision=33156
2012-03-16 13:40:02 +00:00
Eelco Dolstra d2b3c2cda4 * Start fixing the NFS mess. It was completely broken because the
exportfs job didn't work at all (so /var/lib/nfs/etab didn't get
  initialised).

svn path=/nixos/trunk/; revision=33153
2012-03-16 13:00:27 +00:00
Eelco Dolstra 03ebb883d1 * Modularize filesystem support. Filesystems such as btrfs and
reiserfs now have separate modules that are conditional on
  boot.supportedFilesystems and boot.initrd.supportedFilesystems.
  By default, these include the filesystems specified in the fsType
  attribute in fileSystems.  Ext2/3/4 support is currently
  unconditional.

  Also unbreak the installer test (http://hydra.nixos.org/build/2272302). 

svn path=/nixos/trunk/; revision=32954
2012-03-09 14:37:58 +00:00
Lluís Batlle i Rossell 5cf6543e6e Removing unused lines of the nfs-kernel script, and fixing some indentation.
svn path=/nixos/trunk/; revision=31120
2011-12-28 09:05:52 +00:00
Lluís Batlle i Rossell 99cca93398 Fixing the race condition on loading nfsd. It was not a modprobe thing like I
said on 31113, but again, upstart order.

I restore the usual modprobe procedure.


svn path=/nixos/trunk/; revision=31119
2011-12-28 08:44:24 +00:00
Lluís Batlle i Rossell ef1755f3c0 I had a bug in my nfs server... just after boot, all clients were receiving
"Permission denied" until I run "restart nfs-kernel-exports". "exportfs -ra" did not help.

I tracked that down to some race condition between loading the module nfsd and
starting the daemons. Therefore, I decided to add nfsd to the boot.kernelModules instead
of using modprove with it.

Now it works for my server. No more Permission denied after reboot.


svn path=/nixos/trunk/; revision=31113
2011-12-27 18:08:05 +00:00
Lluís Batlle i Rossell 8bc381c4cd Fixing the boot sequence in case of only having nfsKernel.client.enable = true, and not server.
svn path=/nixos/trunk/; revision=31109
2011-12-27 16:33:10 +00:00
Lluís Batlle i Rossell 2c77b292a6 I reworked the nfs upstart jobs, so they work better on the events of interest of nixos.
Related to http://yellowgrass.org/issue/NixOS/109 .


svn path=/nixos/trunk/; revision=31103
2011-12-26 16:06:20 +00:00
Eelco Dolstra aac71e8f95 * Add a module for DRBD.
svn path=/nixos/trunk/; revision=30202
2011-11-03 02:14:57 +00:00
Peter Simons eb6e1310b8 strip trailing whitespace; no functional change
svn path=/nixos/trunk/; revision=29285
2011-09-14 18:20:50 +00:00
Eelco Dolstra 14636ba057 * The Powers That Be have decided that there shall be a /run to
replace /var/run and /var/lock.  For instance, udev now keeps state
  in /run/udev instead of /dev/.udev.  See

    http://lists.fedoraproject.org/pipermail/devel/2011-March/150031.html
    http://bugs.freestandards.org/show_bug.cgi?id=718

  So this patch creates /run as a tmpfs, and symlinks /var/run to /run
  and /var/lock to /run/lock.

  TODO: create /run in stage 1 and propagate it to stage 2.    

svn path=/nixos/trunk/; revision=27803
2011-07-16 19:27:45 +00:00
Lluís Batlle i Rossell c4fe98706b Fixing the samba daemons. "smbd -i", as we were using, handles *one request* and exit.
When it was working more or less, it was through upstart respawn.


svn path=/nixos/trunk/; revision=27140
2011-05-04 12:34:26 +00:00
Lluís Batlle i Rossell 0af7c7bdcb Making the samba services get the timezone.
svn path=/nixos/trunk/; revision=27022
2011-04-28 08:07:17 +00:00
Lluís Batlle i Rossell d8a702f59f Making the samba daemons see the nss modules (needed for ldap-unix-pam integration)
svn path=/nixos/trunk/; revision=26830
2011-04-13 20:06:29 +00:00
Nicolas Pierron 96fc9379ba Convert assertion option into mkAssert.
svn path=/nixos/trunk/; revision=26614
2011-03-30 17:52:34 +00:00
Eelco Dolstra 636307c62b * Create /var/lib/nfs/v4recovery.
svn path=/nixos/trunk/; revision=24858
2010-11-25 16:51:07 +00:00
Eelco Dolstra c50948309d * Add a missing dependency.
svn path=/nixos/trunk/; revision=22563
2010-07-12 15:32:23 +00:00
Eelco Dolstra 9600035e02 * Don't use "starting" events because they basically don't work - they
cause restarting of jobs to hang indefinitely because the required
  "start on" condition never triggers.

  For instance, after "stop nfs-kernel-nfsd", "start nfs-kernel-nfsd"
  will hang until we do "stop portmap; start portmap".  This is due to
  the "starting nfs-kernel-nfsd and started portmap" condition in
  the nfs-kernel-mountd job.  Apparently, because portmap is already
  running, the condition "started portmap" never happens because no
  event is emitted.

svn path=/nixos/trunk/; revision=22562
2010-07-12 15:14:26 +00:00
Eelco Dolstra b51e309c89 * `sm-notify' should also run on the server
(http://hydra.nixos.org/build/483567).  I love regression tests.

svn path=/nixos/trunk/; revision=22559
2010-07-12 13:03:27 +00:00
Eelco Dolstra 6856c60ba3 * There is no "samba-control" job.
svn path=/nixos/trunk/; revision=22509
2010-07-07 12:32:56 +00:00
Eelco Dolstra 9ac60a3aa3 * Merge the ‘nfs-kernel-sm-notify’ task into the post-start script of
the ‘nfs-kernel-statd’ task.
* Work around an apparent bug in Upstart: the ‘mountall’ task cannot
  be restarted because of the ‘starting mountall’ condition in the
  statd task.  So instead make ‘mountall’ depend on ‘started
  nfs-kernel-statd’.

svn path=/nixos/trunk/; revision=22508
2010-07-07 12:11:29 +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 94088e9b48 * Daemonise mountd/statd.
svn path=/nixos/branches/boot-order/; revision=22198
2010-06-09 13:45:51 +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 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 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
Lluís Batlle i Rossell f8ff75202e Fixing the mountd nfs upstart script (about /etc/exports and its contents)
svn path=/nixos/trunk/; revision=21668
2010-05-08 19:02:54 +00:00
Michael Raskin 6788d457dc Make security type configurable
svn path=/nixos/trunk/; revision=20667
2010-03-16 17:17:37 +00:00
Michael Raskin 11f8647d73 Add a default share to Samba to make creating simple fileserver easier
svn path=/nixos/trunk/; revision=20665
2010-03-16 16:34:27 +00:00
Lluís Batlle i Rossell 9f5d77f78d Still problems with nfs-kernel with only the client enabled.
Fix the upstart script 'start on' part.

svn path=/nixos/trunk/; revision=20555
2010-03-11 12:56:40 +00:00
Lluís Batlle i Rossell dfb89ec8c3 nfs: the statd daemon should be started after nfs only if the nfs server is
enabled.

OTH, I don't know why statd may depend at all on nfsd being started.


svn path=/nixos/trunk/; revision=20402
2010-03-05 11:05:37 +00:00
Lluís Batlle i Rossell bc4e159d0e Fixing a terrible bug in nixos nfs-kernel server, related to the exports file.
The file contents were taken as a file path. This resulted in a system with a totally broken /etc:
lrwxrwxrwx 1 root nixbld   51 22 feb 21:45 bashrc -> /nix/store/gh71a6w50cxrl4124kxfn24yi0b7aaka-useradd
lrwxrwxrwx 1 root nixbld   44 22 feb 21:45 nix.conf -> 192.168.1.4(rw,no_root_squash,no_all_squash)
lrwxrwxrwx 1 root nixbld   58 22 feb 21:45 inputrc -> /nix/store/1czhdj7q74dc556frqrh51jyshfsxhl3-bashrc-user.sh
lrwxrwxrwx 1 root nixbld   51 22 feb 21:45 nsswitch.conf -> /nix/store/qsgsli992hd1g8245d8am9izn9xmw90x-inputrc
lrwxrwxrwx 1 root nixbld   20 22 feb 21:45 exports -> /home/sheevaplugroot

Notice that the inputrc has strange contents. In my case, that disabled me to type 's' or 'i' (at least) in any new interactive shell.

If you notice, the 'exports' symlink should point to a store file, which contents had to look like:
/home/sheevaplugroot 192.168.1.4(rw,no_root_squash,no_all_squash)

This patch achieves this later behaviour rather than the former.


svn path=/nixos/trunk/; revision=20181
2010-02-22 21:41:49 +00:00
Eelco Dolstra cc0a2a6944 * Don't say `jobs.foo = mkIf condition { ... }' because that will
create an empty job `foo' if the condition is false.  Instead use
  `jobs = optionalAttrs condition { foo = { ... }; }'.
* Enable portmap automatically when using the NFS server or client.

svn path=/nixos/trunk/; revision=20178
2010-02-22 17:12:26 +00:00
Lluís Batlle i Rossell 0fb8300bb6 Updating the nixos NFS related expressions. Thanks to Oleksandr for the
help.
I tried not to break the tests.


svn path=/nixos/trunk/; revision=20157
2010-02-21 16:26:33 +00:00