I'm running 15.04 with systemd as pid 1 and I want to share some observations.

1) systemd-vconsole-setup.service

"Cannot add dependency job for unit systemd-vconsole-setup.service,
ignoring: Unit systemd-vconsole-setup.service failed to load: No such
file or directory." is in the output of journalctl until I remove
"systemd-vconsole-setup.service" from "Wants=" and "After=":

# diff /etc/systemd/system/plymouth-start.service
/lib/systemd/system/plymouth-start.service
4,5c4,5
< Wants=systemd-ask-password-plymouth.path
< After=systemd-udev-trigger.service systemd-udevd.service
---
> Wants=systemd-ask-password-plymouth.path systemd-vconsole-setup.service
> After=systemd-vconsole-setup.service systemd-udev-trigger.service 
> systemd-udevd.service

2) ifup@.service

I'm using systemd-networkd.service (and libvirt) and ifup@.service
isn't enabled:

# find /{etc,lib}/systemd/system -name "*networkd*"
/etc/systemd/system/multi-user.target.wants/systemd-networkd.service
/lib/systemd/system/systemd-networkd.service
/lib/systemd/system/systemd-networkd-wait-online.service

# find /{etc,lib}/systemd/system -name "*ifup*"
/lib/systemd/system/ifup@.service

"/etc/init.d/networking" is disabled:

# find /etc/rc?.d -name "*networking" | sort
/etc/rc0.d/K07networking
/etc/rc6.d/K07networking
/etc/rcS.d/K09networking

And yet, unless I run "journalctl mask ifup@.service", I have the
following in my logs:

# journalctl _COMM=systemd | grep ifup
Nov 03 13:41:52 yoga systemd[1]: Starting system-ifup.slice.
Nov 03 13:41:52 yoga systemd[1]: Created slice system-ifup.slice.
Nov 03 13:42:02 yoga systemd[1]: Starting ifup for wlan0...
Nov 03 13:42:02 yoga systemd[1]: ifup@wlan0.service: control process
exited, code=exited status=1
Nov 03 13:42:02 yoga systemd[1]: ifup@wlan0.service: main process
exited, code=exited, status=1/FAILURE
Nov 03 13:42:02 yoga systemd[1]: ifup@wlan0.service: control process
exited, code=exited status=1
Nov 03 13:42:02 yoga systemd[1]: Failed to start ifup for wlan0.
Nov 03 13:42:02 yoga systemd[1]: Unit ifup@wlan0.service entered failed state.
Nov 03 13:42:03 yoga systemd[1]: Starting ifup for virbr0...
Nov 03 13:42:03 yoga systemd[1]: ifup@virbr0.service: main process
exited, code=exited, status=1/FAILURE
Nov 03 13:42:03 yoga systemd[1]: ifup@virbr0.service: control process
exited, code=exited status=1
Nov 03 13:42:03 yoga systemd[1]: ifup@virbr0.service: control process
exited, code=exited status=1
Nov 03 13:42:03 yoga systemd[1]: Failed to start ifup for virbr0.
Nov 03 13:42:03 yoga systemd[1]: Unit ifup@virbr0.service entered failed state.
Nov 03 13:42:03 yoga systemd[1]: Starting ifup for virbr0/nic...
Nov 03 13:42:03 yoga systemd[1]: ifup@virbr0-nic.service: main process
exited, code=exited, status=1/FAILURE
Nov 03 13:42:03 yoga systemd[1]: ifup@virbr0-nic.service: control
process exited, code=exited status=1
Nov 03 13:42:03 yoga systemd[1]: ifup@virbr0-nic.service: control
process exited, code=exited status=1
Nov 03 13:42:03 yoga systemd[1]: Failed to start ifup for virbr0/nic.
Nov 03 13:42:03 yoga systemd[1]: Unit ifup@virbr0-nic.service entered
failed state.

3) friendly-recovery.service

https://bugs.launchpad.net/ubuntu/+source/friendly-recovery/+bug/1354937

(with apologies for the typo!)

4) nfs-common, nfs-kernel-server, rpcbind

NFS is broken with systemd as pid 1 because nfs-common only has upstart jobs.

I've installed and adapted the upstream nfs-utils units and created
rpcbind ones.

# diff /etc/systemd/system/nfs-config.service
/lib/systemd/system/nfs-config.service
7c7
< ExecStart=/lib/systemd/scripts/nfs-utils_env.sh
---
> ExecStart=/usr/lib/systemd/scripts/nfs-utils_env.sh

# diff /etc/systemd/system/rpc-statd-notify.service
/lib/systemd/system/rpc-statd-notify.service
19c19
< ExecStart=-/sbin/sm-notify -d $SMNOTIFYARGS
---
> ExecStart=-/usr/sbin/sm-notify -d $SMNOTIFYARGS

# diff /etc/systemd/system/rpc-statd.service
/lib/systemd/system/rpc-statd.service
16,17c16,17
< PIDFile=/run/rpc.statd.pid
< ExecStart=/sbin/rpc.statd --no-notify $STATDARGS
---
> PIDFile=/var/run/rpc.statd.pid
> ExecStart=/usr/sbin/rpc.statd --no-notify $STATDARGS

# cat /lib/systemd/scripts/nfs-utils_env.sh
#!/bin/sh

NFS_CONFIG=/run/sysconfig/nfs-utils

if [ -e $NFS_CONFIG ] ; then
    rm -f $NFS_CONFIG
fi

if [ -r /etc/default/nfs-common ] ; then
    . /etc/default/nfs-common
fi

if [ -r /etc/default/nfs-kernel-server ] ; then
    . /etc/default/nfs-kernel-server
fi

RPCNFSDARGStmp="$RPCNFSDCOUNT $RPCNFSDOPTS"

mkdir -p /run/sysconfig

echo "GSSDARGS=\"\"" >> $NFS_CONFIG
echo "RPCIDMAPDARGS=\"$RPCIDMAPDARGS\"" >> $NFS_CONFIG
echo "SMNOTIFYARGS=\"\"" >> $NFS_CONFIG
echo "STATDARGS=\"$STATDOPTS\"" >> $NFS_CONFIG

echo "RPCMOUNTDARGS=\"$RPCMOUNTDOPTS\"" >> $NFS_CONFIG
echo "RPCNFSDARGS=\"$RPCNFSDARGStmp\"" >> $NFS_CONFIG
echo "SVCGSSDARGS=\"$RPCSVCGSSDOPTS\"" >> $NFS_CONFIG

[Note on RPCIDMAPDARGS: I set it to "-p /var/lib/nfs/rpc_pipefs" in
"/etc/default/nfs-common" because nfs-idmapd.service was failing
without it. The path to rpc_pipefs was defaulting to "/run/rpc_pipefs"
even though the man page says that the default is
"/var/lib/nfs/rpc_pipefs".]

# cat /lib/systemd/system/rpcbind.service
[Unit]
Description=RPC Bind
After=network.target

[Service]
Type=forking
ExecStart=/sbin/rpcbind
Restart=always

[Install]
WantedBy=rpcbind.target

[Note on rpcbind.service: I'm not sure whether this is the right unit
or whether it should have "Before=rpcbind.target multi-user.target"
and "Requires=rpcbind.target" in the "Unit" section and
"WantedBy=multi-user.target" in the "Install" section.]

# cat /lib/systemd/system/rpcbind.socket
[Unit]
Description=RPC Bind Socket

[Socket]
ListenStream=/run/rpcbind.sock

[Install]
WantedBy=sockets.target

-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss

Reply via email to