Project

General

Profile

Tâche #28163

Scénario #28342: Traitement express MEN (24-26)

Zephir : si on demande une mise à jour et que zephir-stats se met à jour, la mise à jour s'arrête en plein milieu

Added by Emmanuel GARETTE 5 months ago. Updated about 1 month ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
05/03/2019
Due date:
% Done:

100%

Remaining (hours):
0.0

Description

J'ai demandé la mise à jour d'un serveur via les actions Zéphir.

Le serveur commence a se mettre à jour, via le service zstats :

root     22408  0.8  6.7 256232 68316 ?        Ss   10:58   0:01 /usr/bin/python2 /usr/bin/twistd --nodaemon --no_save --pidfile /run/z_stats.pid zephiragents --tmp=data --data=stats --archive=/tmp --static=static --actions=actions
root     27342  0.0  0.3  22576  3320 ?        S    11:00   0:00  \_ sh -c /usr/share/zephir/scripts/zephir_client call &> /dev/null
root     27343  0.0  0.3  22576  3324 ?        S    11:00   0:00      \_ /bin/bash /usr/share/zephir/scripts/zephir_client call
root     27344  1.2  2.8  93484 29032 ?        S    11:00   0:00          \_ python /usr/share/zephir/scripts/zephir_client.py call
uucp     28622  0.0  0.2  19636  2220 ?        S    11:00   0:00              \_ /usr/sbin/uuxqt -s zephir
uucp     28623  0.0  0.1   9920  1124 ?        S    11:00   0:00                  \_ /bin/bash /usr/share/zephir/scripts/zephir_client maj_auto
uucp     28624  9.0  2.7  76208 27620 ?        S    11:00   0:00                      \_ python /usr/share/zephir/scripts/zephir_client.py maj_auto
uucp     28653  0.0  0.1   9920  1232 ?        S    11:00   0:00                          \_ sh -c sudo /usr/share/zephir/scripts/maj_auto.zephir   2>&1 >> /var/log/zephir/last_action.log
root     28654  0.0  0.3  66888  3736 ?        S    11:00   0:00                              \_ sudo /usr/share/zephir/scripts/maj_auto.zephir
root     28656 11.0  3.5 141280 35404 ?        S    11:00   0:00                                  \_ python /usr/share/zephir/scripts/maj_auto.zephir
root     28686 16.0  4.5 176444 45704 ?        S    11:00   0:00                                      \_ /usr/bin/python2 /usr/bin/Maj-Auto -W
root     28750  0.0  0.5  46500  5652 ?        R    11:00   0:00                                          \_ apt-get install -f

mais le service est stoppé au moment de l'installation de zephir-stats.

La mise à jour se retrouve alors dans un état incohérent.

Il ne faudrait pas que le paquet coupe la mise à jour durant la mise à jour.

Associated revisions

Revision bcc2a00e (diff)
Added by Joël Cuissinat 2 months ago

Update debian/rules

Ref: #28163

Revision 0df48ae0 (diff)
Added by Joël Cuissinat 2 months ago

Update debian/rules

Ref: #28163

Revision ef2d6b20 (diff)
Added by Joël Cuissinat 2 months ago

Remove old systemV init script link

Ref: #28163

Revision 2f7fd0ef (diff)
Added by Joël Cuissinat 2 months ago

Update debian/rules (like ferme-firewall in eole-server)

Ref: #28163

Revision 2abd797d (diff)
Added by Joël Cuissinat 2 months ago

zephir-client : clean scripts in debian

Ref: #28163

Revision cd4dacb6 (diff)
Added by Joël Cuissinat 2 months ago

Update debian/rules for EOLE>=2.7.2

Ref: #28163

History

#1 Updated by Joël Cuissinat 4 months ago

root@eolebase:~# apt-get install --reinstall zephir-stats && service z_stats status | grep Active 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/22,3 ko dans les archives.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
(Lecture de la base de données... 125340 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../zephir-stats_2.6.2-8_all.deb ...
Dépaquetage de zephir-stats (2.6.2-8) sur (2.6.2-8) ...
Paramétrage de zephir-stats (2.6.2-8) ...
   Active: active (running) since lun. 2019-05-13 11:13:53 CEST; 289ms ago

#2 Updated by Joël Cuissinat 4 months ago

  • Tracker changed from Demande to Tâche
  • Parent task set to #28148

Proposition, ajouter ces lignes dans le fichier debian/rules :

override_dh_systemd_start:
        dh_systemd_start -p zephir-stats --no-start --no-restart-on-upgrade z_stats.service

#3 Updated by Joël Cuissinat 3 months ago

  • Parent task changed from #28148 to #28342

#4 Updated by Benjamin Bohard 3 months ago

  • Status changed from Nouveau to En cours

#5 Updated by Benjamin Bohard 3 months ago

  • Description updated (diff)
  • Assigned To set to Benjamin Bohard

#6 Updated by Benjamin Bohard 3 months ago

L’installation d’un paquet avec le fichier rules modifié ne semble pas régler le problème.
Diverses tentatives de fork du processus de Maj-Auto sans succès. Reste la possibilité d’utiliser inconditionnellement un mécanisme comme cron, at, systemd-run, etc.

#7 Updated by Benjamin Bohard 3 months ago

En passant par systemd-run, plus de problème d’interruption mais twisted se retrouve à un moment dans l’impossibilité d’écrire ses logs et le fichier majsuccess n’est pas créé. La mise-à-jour est déclarée échouée (elle s’est bien finalisée en fait).

juin 17 11:32:56 eolebase zephir[5780]: MAJ => ERR : l'appel à apt-get (-c /etc/apt/apt-eole.conf dist-upgrade) a retourné une erreur (code 100). Voir /var/log/apt/term.log
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))
                                        E: Erreur d'écriture - write (32: Relais brisé (pipe))

#8 Updated by Benjamin Bohard 3 months ago

  • Status changed from En cours to Nouveau

#9 Updated by Benjamin Bohard 3 months ago

  • Assigned To deleted (Benjamin Bohard)

#10 Updated by Joël Cuissinat 2 months ago

La correction proposée est bonne mais malheureusement elle ne sera applicable que pour la mise à jour suivante car "l'ancien" paquet contient déjà le code suivant dans son prerm :

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

# Automatically added by dh_systemd_start/11.1.6ubuntu1
if [ -d /run/systemd/system ]; then
    deb-systemd-invoke stop 'z_stats.service' >/dev/null || true
fi
# End automatically added section

En ajoutant, l'option, une condition sur l'action remove est ajoutée :

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

# Automatically added by dh_systemd_start/11.1.6ubuntu1
if [ -d /run/systemd/system ] && [ "$1" = remove ]; then
    deb-systemd-invoke stop 'z_stats.service' >/dev/null || true
fi
# End automatically added section

#11 Updated by Joël Cuissinat 2 months ago

  • Status changed from Nouveau to Résolu

#12 Updated by Joël Cuissinat 2 months ago

  • Assigned To set to Joël Cuissinat

#13 Updated by Joël Cuissinat about 1 month ago

  • Status changed from Résolu to Fermé
  • % Done changed from 0 to 100
  • Remaining (hours) set to 0.0

Publié en 2.7.1 & 2.7.2

Also available in: Atom PDF