Project

General

Profile

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. 
 

Back