Task #4594
Updated by Davide Pesavento almost 6 years ago
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`. Requires=nfd.service nfd-autoreg.service has `Wants=nfd.service` Wants=nfd.service which should be replaced with `Requires=nfd.service`. 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.