Systemd - nmsd
Is done here: https://github.com/schmto/nmsprime/blob/dev/modules/ProvBase/Install/files/nmsprimed.service
and here: https://github.com/schmto/nmsprime/blob/dev/modules/ProvBase/Install/after_install.sh
- every service that needs to be restarted shall create a file in app/storage/systemd/ named like the service that indicates a needed restart for the provisioning-related-services-controlling daemon
- this daemon calls the restart script that has to be placed under app/extensions/systemd/ named like the service with file ending .php where the daemon is placed as well
- following unit script has to be placed with path /usr/lib/systemd/system/
nmsd.service
[Unit] Description=Controlling-Deamon for Provisioning-related-Services Documentation= Wants=network-online.target After=network-online.target After=time-sync.target [Service] Type=simple ExecStart=/usr/bin/php -f /var/www/nmsprime/app/extensions/systemd/nmsd.php [Install] WantedBy=multi-user.target
To enable and start nmsd issue the following commands:
systemctl daemon-reload systemctl enable nmsprimed.service systemctl start nmsprimed.service
- every service that needs to be restarted when it's config was changed through laravel provisioning system has to be inserted into the services array on top of the file
- the deamon proofs now if there is an indicating file under app/storage/systemd/, deletes this file and restarts the service while suspending race conditions (proof if restart script already runs)