Error 502 après une mise à jour des applications (échouée)

Mon serveur YunoHost

Matériel: Vieux laptop
Version de YunoHost: 3.4.2.3
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : Non

Description du problème

Bonjour,
Je vais commencer par prévenir que je suis loin d’être expert dans le domaine donc je ne sais pas vraiment quelles informations sont importantes à fournir, mais j’ai fait de mon mieux.
J’ai lancé une mise à jour de mes applications depuis l’interface d’administration et pendant la mise à jour, le serveur a planté et en le rallumant plusieurs applications ne marchaient plus. La plupart d’entres elles m’affichent une erreur 502 (“Bad gateway” avec juste “nginx” marqué en dessous).
J’ai tenté de relancer uniquement la mise à jour de gitlab depuis l’interface d’administration mais encore une fois ça a échoué avec le message suivant :

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py", line 439, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 523, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/app.py", line 617, in app_upgrade
    _check_manifest_requirements(manifest, app_instance_name=app_instance_name)
  File "/usr/lib/moulinette/yunohost/app.py", line 2103, in _check_manifest_requirements
    *requirements.keys(), strict=True, as_dict=True)
  File "/usr/lib/moulinette/yunohost/utils/packages.py", line 410, in get_installed_version
    cache = apt.Cache()
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 113, in __init__
    self.open(progress)
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 165, in open
    self._depcache = apt_pkg.DepCache(self._cache)
Error: E:The package gitlab-ce needs to be reinstalled, but I can't find an archive for it.

Je me suis ensuite rendu compte que gitlab avait carrément disparu de ma liste d’application, dans le SSO (mais est toujours dans la liste des application dans l’interface d’administration). Accessoirement, j’ai essayé de faire les mises à jours des autres paquets à la main en ssh (avec un simple apt upgrade, hein), mais je ne peux rien faire et cette ligne réapparait peu importe ce que je veux faire :

E: Le paquet gitlab-ce doit être réinstallé, mais il est impossible de trouver son archive.

J’ai souvent des problèmes d’erreur 502 après des mises à jour, mais elles se résolvent en général avec un reboot, mais là ça ne semble pas suffire.

Sur un autre topic j’ai vu quelqu’un demander le résultat de la commande systemctl list-dependencies, je l’ai donc executé et je vois que mariadb est en rouge, ainsi que php7.0-fpm.

Voilà, pour le moment, j’en suis là. Si vous avez une idée ou si vous avez besoin de plus d’infos demandez-moi car je suis un peu néophyte dans le domaine.

Merci d’avance :smiley:

Bonjour,

Pour commencer je suis vraiment désolé pour ce problème!

Le message E: Le paquet gitlab-ce doit être réinstallé [...] me fait penser à un problème de mise à jour de l’application gitlab. Pour avancer, pourrais-tu nous donner les logs de la mise à jour gitlab qui a fail?
Pour trouver ça:
Panel Admin->Tools->Logs-> Upgrade 'gitlab' application A la date et l’heure où les problèmes ont commencés.

Merci, et bon courage!

Bonjour,

Pas de soucis, je suis juste content d’avoir de l’aide :smiley:

Alors le log Upgrade ‘gitlab’ application est vachement long et ne loge pas sur le paste.yunohost, du coup j’ai coupé ce qui avait l’air d’être uniquement des lignes pour informer sur l’avancement du chargement, dites moi si vous avez besoin de plus.
Ensuite il y a un fichier Remove ‘gitlab’ application, et un dernier Restore ‘gitlab’ from a backup archive que j’ai aussi dû couper.

Aussi, depuis cet incident, lorsque je rejoins la page d’asministration un message d’erreur apparait dans le bandeau avec ce message :

Yunohost encountered an internal error:/
Really sorry about that.
You should look for help on the forum or the chat to fix the situation, or report the bug on the bugtracker.
The following information might be useful for the person helping you:

Action

  GET /diagnosis
  {"locale":"en"}

Traceback

  Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py", line 439, in process
      ret = self.actionsmap.process(arguments, timeout=30, route=_route)
    File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 523, in process
      return func(**arguments)
    File "/usr/lib/moulinette/yunohost/tools.py", line 626, in tools_diagnosis
      diagnosis['packages'] = ynh_packages_version()
    File "/usr/lib/moulinette/yunohost/utils/packages.py", line 471, in ynh_packages_version
      with_repo=True
    File "/usr/lib/moulinette/yunohost/utils/packages.py", line 410, in get_installed_version
      cache = apt.Cache()
    File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 113, in __init__
      self.open(progress)
    File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 165, in open
      self._depcache = apt_pkg.DepCache(self._cache)
  Error: E:The package gitlab-ce needs to be reinstalled, but I can't find an archive for it.

Cela ne m’empêche pas d’utiliser l’interface d’administration et n’a pas l’air de gêner le fonctionnement des applications, mais si cela peut vous aider…

Bonjour,

Tout d’abord, concernant les lignes supprimées dans les logs, elles ne servent pas à grand chose et sont supprimées dans les nouvelles versions de l’app.

De ce que je peux voir, il y a eu deux problèmes différents.

  • Le premier durant l’installation: Malformed configuration JSON file found at /opt/gitlab/embedded/nodes/olomorn.xyz.json.
    Je ne comprends pas trop à quoi c’est dû, mais je peux trouver des problèmes similaires dans les issues de GitLab (par exemple : https://gitlab.com/gitlab-org/gitlab-ce/issues/46747)

  • Et le deuxième durant la restauration, on peut voir que le log est coupé à Dépaquetage de gitlab-ce (11.8.2-ce.0) ...
    Pour ce deuxième point, y a-t-il eu une coupure de courant ou un reboot serveur?
    Il doit y avoir dans l’admin panel->Backup->Local achives-> un backup nommé “gitlab-pre-upgrade2” (il doit être plus récent que gitlab-pre-upgrade1, sinon prendre celui ci). Si c’est bien le cas, il faudrait essayer de désinstaller GitLab via l’admin panel, vérifier qu’il n’y a plus le message d’erreur, et restaurer ce backup.

Bon courage!

ça n’a pas fonctionné, la restauration a échouée, voici les logs. Si vous ne savez pas comment régler ça ne vous inquiétez pas, je pourrai completement réinstaller l’application, je n’ai pas de données importantes dessus pour le moment.

La suppression (aucun problème apparemment) :
Remove ‘gitlab’ application
La restauration (échouée) :
Restore ‘gitlab’ from a backup archive
L’annulation de la restauration (automatique) :
Remove ‘gitlab’ after a failed restore from a backup archive

Faire en ssh:
sudo dpkg --remove --force-all gitlab-ce
puis:
sudo apt update

avant de restaurer l’application devrait corriger le problème. Normalement, après la première commande le message E: Le paquet gitlab-ce doit être réinstallé, mais il est impossible de trouver son archive. devrait disparaître.

La restauration de la backup charge pendant super longtemps et fait planter mon PC au bout d’un moment, ce qui m’oblige à le rebooter. Je vous enverrai les Logs dès que j’ai un peu de temps.

Comment ça planter? L’installation peut prendre du temps (en fonction des performances du PC). Il faut être patient :slight_smile:. Hier j’ai fais une restauration, tout c’est bien passé en dehors du fait que l’app a mis pas mal de temps à s’installer, j’ai même eu un timeout sur le panel admin. Mais ça a fini par se faire.

Je n’ai pas encore eu le temps d’y regarder de près, mais au bout d’un moment, mon serveur est devenu complètement inaccessible, même en ssh. Je l’ai laissé ainsi une petite heure pour voir si cela s’arrangeait mais rien n’avais changé et je ne trouvais aucun moyen de savoir s’il effectuer encore des taches, donc j’ai conclu qu’il avait planté. C’était une erreur ?
Question subsidiaire : si je lance une opération depuis l’interface web, sur navigateur, est-ce que fermer l’onglet (et éteindre mon PC perso en fait (pas le serveur)) pose problème ?

A titre informatif, la réponse m’intéresse aussi :smile:

Je n’ai pas encore eu le temps d’y regarder de près, mais au bout d’un moment, mon serveur est devenu complètement inaccessible, même en ssh. Je l’ai laissé ainsi une petite heure pour voir si cela s’arrangeait mais rien n’avais changé et je ne trouvais aucun moyen de savoir s’il effectuer encore des taches, donc j’ai conclu qu’il avait planté. C’était une erreur ?

L’installation peut vraiment prendre beaucoup de temps en fonction du matériel. Je crois que lors de mes essais sur raspberry pi ça a mis plus d’une heure effectivement.

Question subsidiaire : si je lance une opération depuis l’interface web, sur navigateur, est-ce que fermer l’onglet (et éteindre mon PC perso en fait (pas le serveur)) pose problème ?

En SSH il faut laisser la session ouverte sinon la commande s’arrête (il existe des moyens de contourner ça avec la commande screen.
Sur la page web, il est tout à fait possible de lancer une installation et de fermer l’onglet et faire ce que l’on veut avec l’ordinateur (pas le serveur). :slight_smile:

Okay j’ai eu peu de temps et pas mal de problèmes et au final mon PC portable qui me servait de serveur a rendu l’âme. J’ai donc installé Yunohost sur une nouvelle machine (fixe) et ai fait une restauration de tout ce que je pouvait et cela a résolu tous les nombreux problèmes que j’avais. J’ai donc désormais accès à tout, les mises à jour ne plantent plus et GitLab fonctionne comme un charme.

Merci beaucoup pour votre aide, Kayou.
Bonne soirée !