Scénario #29220
'systemctl stop samba-ad-dc' n'arrete pas les process samba
100%
Description
Il semble que l'Unit samba ne soit pas conforme à la procédure d'arret de Samba.
Il est préférable d'executer 'smbcontrol all shutdown' pour arrêt "proprement" samba
une idée de correction :
[Unit] Description=Samba AD Daemon GG Wants=network-online.target After=network.target network-online.target remote-fs.target nss-lookup.target [Service] Type=notify NotifyAccess=all PIDFile=/var/run/samba/samba.pid LimitNOFILE=16384 EnvironmentFile=-/etc/default/samba ExecStartPre=/usr/bin/install -o root -g root -m 755 -d /var/run/samba ExecStart= ExecStart=/usr/sbin/samba --foreground --no-process-group $SAMBAOPTIONS ExecStop=/usr/bin/smbcontrol all shutdown ExecStopPost=/usr/bin/test -f /var/run/samba/samba.pid && echo "ok" ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target
Demandes liées
Révisions associées
dans stop_samba, ajout des messages et utilisation de kill 15 au lieu de
kill 9 !
Historique
#1 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
Effectivement, le code samba4.sh semble douteux :
echo "Redémarrage service" service samba-ad-dc stop &> /dev/null service smbd stop &> /dev/null service nmbd stop &> /dev/null service winbind stop &> /dev/null pgrep ^samba$ > /dev/null && killall samba -9 pgrep ^smbd$ > /dev/null && killall smbd -9 pgrep ^nmbd$ > /dev/null && killall nmbd -9 pgrep ^winbind$ > /dev/null && killall winbind -9 pgrep ^winbindd$ > /dev/null && killall winbindd -9 return 0
les killall ne devraient pas exister !
A vérifier: lors d'un reconfigure l'arrêt des services samba par Creole ne fait pas de kill ! nous modifions donc la conf avec les services actifs.
#2 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Tracker changé de Demande à Scénario
- Echéance mis à 22/11/2019
- Version cible mis à sprint 2019 45-47 Equipe MENSR
- Points de scénarios mis à 1.0
#3 Mis à jour par Daniel Dehennin il y a plus de 4 ans
J’ai testé la commande ExecStop
fournie dans le scénario :
- aca.dc1-2.6.2.2-instance-default
- aca.dc2-2.6.2.2-instance-auto
- aca.file-2.6.2.2-instance-auto
Se connecter sur dc1
:
root@dc1:~# systemctl stop samba-ad-dc.service root@dc1:~# echo $? 0 root@dc1:~# systemctl status samba-ad-dc.service ● samba-ad-dc.service - Samba AD Daemon Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/samba-ad-dc.service.d └─override.conf Active: failed (Result: exit-code) since lun. 2019-11-18 15:25:27 CET; 6s ago Docs: man:samba(8) man:samba(7) man:smb.conf(5) Process: 3694 ExecStop=/usr/bin/smbcontrol all shutdown (code=exited, status=0/SUCCESS) Process: 3446 ExecStart=/usr/sbin/samba --foreground --no-process-group $SAMBAOPTIONS (code=exited, status=127) Main PID: 3446 (code=exited, status=127) Status: "winbindd: ready to serve connections..." nov. 18 15:25:27 dc1 samba[3454]: [2019/11/18 15:25:27.507420, 0] ../source4/smbd/process_standard.c:86(sigterm_signal_handler) nov. 18 15:25:27 dc1 samba[3454]: Exiting pid 3454 on SIGTERM nov. 18 15:25:27 dc1 samba[3452]: [2019/11/18 15:25:27.511393, 0] ../source4/smbd/process_standard.c:86(sigterm_signal_handler) nov. 18 15:25:27 dc1 samba[3452]: Exiting pid 3452 on SIGTERM nov. 18 15:25:27 dc1 samba[3460]: [2019/11/18 15:25:27.511414, 0] ../source4/smbd/process_standard.c:86(sigterm_signal_handler) nov. 18 15:25:27 dc1 samba[3460]: Exiting pid 3460 on SIGTERM nov. 18 15:25:27 dc1 systemd[1]: samba-ad-dc.service: Main process exited, code=exited, status=127/n/a nov. 18 15:25:27 dc1 systemd[1]: Stopped Samba AD Daemon. nov. 18 15:25:27 dc1 systemd[1]: samba-ad-dc.service: Unit entered failed state. nov. 18 15:25:27 dc1 systemd[1]: samba-ad-dc.service: Failed with result 'exit-code'.
Même avec la commande fournie nous avons bien un samba-ad-dc.service: Main process exited, code=exited, status=127/n/a
.
#4 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
- Statut changé de Nouveau à En cours
#5 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
- Statut changé de En cours à Terminé (Sprint)
#6 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Release mis à EOLE 2.7.2
#7 Mis à jour par Joël Cuissinat il y a plus de 4 ans
Gilles Grandgérard a écrit :
Effectivement, le code samba4.sh semble douteux :
[...]les killall ne devraient pas exister !
A vérifier: lors d'un reconfigure l'arrêt des services samba par Creole ne fait pas de kill ! nous modifions donc la conf avec les services actifs.
Modification eole-ad-dc:38254efb effectuée en 2.7.2 à rétro-porter si concluant !
#8 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- % réalisé changé de 0 à 100
#9 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Lié à Tâche #29353: Modification sur l'arrêt des services Seth à rétro-porter en 2.7.1 ajouté