Task #4594
opensystemd service files dependency corrections for nfd and associated daemons
80%
Description
The systemd service files currently in use for Ubuntu 16.04 do not correctly support stopping and restarting
daemons that are dependent on each other. For example when we do a stop of nfd:
systemctl stop nfd
nfd and all the dependent daemons should be stopped. Because it is misconfigured, nfd stops and restarts.
Also, when we try to start nfd:
systemctl start nfd
we would like all the associated daemons to start as well. This does not happen.
To fix this, the nfd.service file should contain this in its Unit section:
Wants=nlsr.service
Wants=nfd-autoreg.service
Wants=nfd-status-http-server.service
Wants=repo-ng.service
Wants=repo-ng2.service
Wants=ndnping.service
Wants=ndn-autoconfig-server.service
And each service listed above (nlsr, nfd-autoreg, nfd-status-http-server, repo-ng, repo-ng2, ndnping and ndn-autoconfig-server) should contain this in its Unit section:
Requires=nfd.service
After=nfd.service
Two of the service files should be corrected in the Package system: nfd-status-http-server.service and nfd-autoreg.service.
nfd-status-http-server.service is missing the Requires=nfd.service
.
nfd-autoreg.service has Wants=nfd.service
which should be replaced with Requires=nfd.service
.
nlsr.service, repo-ng.service, ndnping.service and ndn-autoconfig-server.service are all correct.
repo-ng2.service is a second repo-ng that we set up on the Testbed and will need to be taken care of by the Testbed config scripts.
The nfd.service changes should also probably be taken care of by the Testbed config scripts since not alll
Ubuntu users of NFD will want to include all those daemons.