Projet

Général

Profil

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

Ajouté par Emmanuel GARETTE il y a presque 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
03/05/2019
Echéance:
% réalisé:

100%

Restant à faire (heures):
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.

Révisions associées

Révision bcc2a00e (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

Update debian/rules

Ref: #28163

Révision 0df48ae0 (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

Update debian/rules

Ref: #28163

Révision ef2d6b20 (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

Remove old systemV init script link

Ref: #28163

Révision 2f7fd0ef (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

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

Ref: #28163

Révision 2abd797d (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

zephir-client : clean scripts in debian

Ref: #28163

Révision cd4dacb6 (diff)
Ajouté par Joël Cuissinat il y a presque 5 ans

Update debian/rules for EOLE>=2.7.2

Ref: #28163

Historique

#1 Mis à jour par Joël Cuissinat il y a presque 5 ans

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 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Tracker changé de Demande à Tâche
  • Tâche parente mis à #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 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Tâche parente changé de #28148 à #28342

#4 Mis à jour par Benjamin Bohard il y a presque 5 ans

  • Statut changé de Nouveau à En cours

#5 Mis à jour par Benjamin Bohard il y a presque 5 ans

  • Description mis à jour (diff)
  • Assigné à mis à Benjamin Bohard

#6 Mis à jour par Benjamin Bohard il y a presque 5 ans

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 Mis à jour par Benjamin Bohard il y a presque 5 ans

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 Mis à jour par Benjamin Bohard il y a presque 5 ans

  • Statut changé de En cours à Nouveau

#9 Mis à jour par Benjamin Bohard il y a presque 5 ans

  • Assigné à Benjamin Bohard supprimé

#10 Mis à jour par Joël Cuissinat il y a presque 5 ans

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 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Statut changé de Nouveau à Résolu

#12 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Assigné à mis à Joël Cuissinat

#13 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Statut changé de Résolu à Fermé
  • % réalisé changé de 0 à 100
  • Restant à faire (heures) mis à 0.0

Publié en 2.7.1 & 2.7.2

Formats disponibles : Atom PDF