diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index 9443aa2514..a72ec66d11 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -108,8 +108,27 @@ mkdir -p /var/spool/pandora/data_out if [ ! -d /var/log/pandora ]; then mkdir -p /var/log/pandora fi -/sbin/chkconfig --add pandora_agent_daemon -/sbin/chkconfig pandora_agent_daemon on + +if [ `command -v systemctl` ]; +then + echo "Copying new version of pandora_agent_daemon service" + cp -f /usr/share/pandora_agent/pandora_agent_daemon.service /usr/lib/systemd/system/ + chmod -x /usr/lib/systemd/system/pandora_agent_daemon.service +# Enable the services on SystemD + systemctl enable pandora_agent_daemon.service +else + /sbin/chkconfig --add pandora_agent_daemon + /sbin/chkconfig pandora_agent_daemon on +fi + +if [ "$1" -gt 1 ] +then + + echo "If Pandora Agent daemon was running with init.d script," + echo "please stop it manually and start the service with systemctl" + +fi + %preun diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 0e0a261dc7..a6215292d5 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -98,11 +98,27 @@ fi cp -aRf /usr/share/pandora_agent/pandora_agent_logrotate /etc/logrotate.d/pandora_agent -# Enable the service on SystemD -systemctl enable pandora_agent_daemon.service - mkdir -p /var/spool/pandora/data_out -chkconfig pandora_agent_daemon on + +if [ `command -v systemctl` ]; +then + echo "Copying new version of pandora_agent_daemon service" + cp -f /usr/share/pandora_agent/pandora_agent_daemon.service /usr/lib/systemd/system/ + chmod -x /usr/lib/systemd/system/pandora_agent_daemon.service +# Enable the services on SystemD + systemctl enable pandora_agent_daemon.service +else + chkconfig pandora_agent_daemon on +fi + +if [ "$1" -gt 1 ] +then + + echo "If Pandora Agent daemon was running with init.d script," + echo "please stop it manually and start the service with systemctl" + +fi + %preun diff --git a/pandora_agents/unix/pandora_agent_daemon.service b/pandora_agents/unix/pandora_agent_daemon.service index 182144d1e7..103ca44167 100644 --- a/pandora_agents/unix/pandora_agent_daemon.service +++ b/pandora_agents/unix/pandora_agent_daemon.service @@ -4,6 +4,8 @@ After=network-online.target [Service] ExecStart=/usr/bin/pandora_agent /etc/pandora +Restart=on-failure +RestartPreventExitStatus=1 [Install] WantedBy=multi-user.target diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index 7d13ff58e9..2a5518a7ad 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -110,20 +110,34 @@ exit 0 %post # Initial installation -if [ "$1" = 1 ]; then - /sbin/chkconfig --add pandora_server - /sbin/chkconfig --add tentacle_serverd - /sbin/chkconfig pandora_server on - /sbin/chkconfig tentacle_serverd on +# Run when not uninstalling +if [ "$1" -ge 1 ] +then + if [ `command -v systemctl` ] + then + echo "Copying new version for tentacle_serverd service" + cp -f /usr/share/pandora_server/util/tentacle_serverd.service /usr/lib/systemd/system/ + chmod -x /usr/lib/systemd/system/tentacle_serverd.service + # Enable the services on SystemD + systemctl enable tentacle_serverd.service + else + /sbin/chkconfig --add tentacle_serverd + /sbin/chkconfig tentacle_serverd on + fi - echo "Pandora FMS Server configuration is %{_sysconfdir}/pandora/pandora_server.conf" - echo "Pandora FMS Server main directory is %{prefix}/pandora_server/" - echo "The manual can be reached at: man pandora or man pandora_server" - echo "Pandora FMS Documentation is in: http://pandorafms.org" - echo " " + /sbin/chkconfig --add pandora_server + /sbin/chkconfig pandora_server on + + systemctl enable pandora_server.service + + echo "Pandora FMS Server configuration is %{_sysconfdir}/pandora/pandora_server.conf" + echo "Pandora FMS Server main directory is %{prefix}/pandora_server/" + echo "The manual can be reached at: man pandora or man pandora_server" + echo "Pandora FMS Documentation is in: http://pandorafms.org" + echo " " fi -# This will avoid confi files overwritting on UPGRADES. +# This will avoid config files overwritting on UPGRADES. # Main configuration file if [ ! -e "/etc/pandora/pandora_server.conf" ] then @@ -144,6 +158,14 @@ fi echo "Don't forget to start Tentacle Server daemon if you want to receive" echo "data using tentacle" +if [ "$1" -gt 1 ] +then + + echo "If Tentacle Server daemon was running with init.d script," + echo "please stop it manually and start the service with systemctl" + +fi + %preun # Upgrading diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index f38fde5715..59f6c6daae 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -102,11 +102,21 @@ fi exit 0 %post -chkconfig pandora_server on -chkconfig tentacle_serverd on +if [ `command -v systemctl` ]; +then + echo "Copying new version for tentacle_serverd service" + cp -f /usr/share/pandora_server/util/tentacle_serverd.service /usr/lib/systemd/system/ + chmod -x /usr/lib/systemd/system/tentacle_serverd.service -# Enable the services on SystemD -systemctl enable tentacle_serverd.service +# Enable the service on SystemD + systemctl enable tentacle_serverd.service +else + chkconfig tentacle_serverd on +fi + +chkconfig pandora_server on + +# Enable the service on SystemD systemctl enable pandora_server.service @@ -139,6 +149,14 @@ fi echo "Don't forget to start Tentacle Server daemon if you want to receive" echo "data using tentacle" +if [ "$1" -gt 1 ] +then + + echo "If Tentacle Server daemon was running with init.d script," + echo "please stop it manually and start the service with systemctl" + +fi + exit 0 %preun diff --git a/pandora_server/util/tentacle_serverd.service b/pandora_server/util/tentacle_serverd.service index e5c3bfad3e..fb6d2af2e3 100644 --- a/pandora_server/util/tentacle_serverd.service +++ b/pandora_server/util/tentacle_serverd.service @@ -1,11 +1,14 @@ [Unit] Description=Tentacle server daemon After=network-online.target +Requires=network.target [Service] Type=forking ExecStart=/usr/bin/tentacle_server -F /etc/tentacle/tentacle_server.conf User=pandora +Restart=on-failure +RestartPreventExitStatus=1 [Install] WantedBy=multi-user.target