Impossible d'installer de nouveaux plugins : la structure doit être nettoyée

Bonjour, lorsque j’ajoute le plugin des réactions ou le plugin de traduction dans containers/app.yml et que j’essaie de reconstruire l’application, j’obtiens la sortie suivante. Étrangement, le message d’erreur contient également une phrase en néerlandais.

Vérification de la mise à jour du lanceur
Récupération de l'origine
avertissement : impossible d'accéder à '.git/info/grafts' : Structure moet worden opgeschoond
avertissement : impossible d'accéder à '.git/info/grafts' : Structure moet worden opgeschoond
avertissement : impossible d'accéder à '.git/info/grafts' : Structure moet worden opgeschoond
Mise à jour du lanceur...
avertissement : impossible d'accéder à '.git/info/grafts' : Structure moet worden opgeschoond
avertissement : impossible d'accéder à '.git/info/grafts' : Structure moet worden opgeschoond
avertissement : impossible d'accéder à '.git/info/grafts' : Structure moet worden opgeschoond
Mise à jour de 333b879..f982cc4
avertissement : impossible d'accéder à '.git/info/attributes' : Structure moet worden opgeschoond
avertissement : impossible d'accéder à '.git/info/exclude' : Structure moet worden opgeschoond
erreur : Vos modifications locales sur les fichiers suivants seraient écrasées par la fusion :
        image/base/Dockerfile
        image/base/install-gifsicle
        image/base/install-imagemagick
        image/base/install-nginx
        image/base/install-pngcrush
        image/base/install-pngquant
        image/base/install-redis
Veuillez valider vos modifications ou les mettre en réserve avant de fusionner.
Annulation
échec de la mise à jour
Lanceur mis à jour, redémarrage...

Et cela se répète indéfiniment jusqu’à ce que j’appuie sur CTRL+C.

Je fais probablement quelque chose de mal. J’ai essayé de tout mettre à jour vers la dernière version, mais sans succès.

Y a-t-il d’autres informations que je puisse fournir ? Existe-t-il une procédure de nettoyage que je pourrais essayer, puis réessayer d’installer les plugins ?

Vous avez ajouté les deux lignes pour cloner ces plugins et avez exécuté

 ./launcher rebuild app

?

Bonjour, j’ai suivi cette procédure.

La partie plugins du fichier containers/app.yml :

## Les plugins sont placés ici
## voir https://meta.discourse.org/t/19157 pour les détails
hooks:
  after_code:
- exec:
    cd: $home/plugins
    cmd:
      - git clone https://github.com/discourse/docker_manager.git
      - git clone https://github.com/paviliondev/discourse-locations.git
      - git clone https://github.com/discourse/discourse-sitemap.git
#          - git clone https://github.com/discourse/discourse-reactions.git
      - git clone https://github.com/discourse/discourse-translator.git

Je l’ai essayé à nouveau tout à l’heure, et le même cycle de messages se répète encore et encore.

Salut Jay, tu aurais une idée là-dessus ? Y a-t-il quelque chose que je pourrais faire pour fournir plus d’informations ?

Désolé. Rien ne m’a sauté aux yeux. Il se peut que vous ayez besoin de deux espaces devant - exec (ou peut-être que le copier-coller a mal fonctionné ?). Ce n’est pas une erreur que je reconnais ou que je m’attendrais à ce qu’elle provoque cette erreur. . .. Oui. Peut-être avez-vous besoin de 4 espaces devant - exec et de 2 autres devant le reste. Vous pourriez (ou renommer) votre app.yml, relancer discourse-setup, puis copier/coller soigneusement la ligne discourse_docker et la modifier pour les plugins supplémentaires.

Si vous souhaitez investir de l’argent pour résoudre ce problème, consultez Redirecting… ou Redirecting… et je pourrai jeter un coup d’œil.

1 « J'aime »

J’ai essayé votre suggestion et je pense avoir obtenu quelque chose en exécutant discourse-setup. Voici ce que j’ai obtenu :

AVERTISSEMENT : Discourse nécessite au moins 2 Go d'espace d'échange (swap) lorsqu'il fonctionne avec 2 Go de RAM ou moins. Ce système ne semble pas avoir suffisamment d'espace d'échange.

Sans un espace d'échange suffisant, votre site pourrait ne pas fonctionner correctement, et les futures mises à niveau de Discourse pourraient ne pas se terminer avec succès.

Appuyez sur Ctrl+C pour quitter ou attendez 5 secondes pour qu'un fichier d'échange de 2 Go soit créé.
install: impossible d'accéder à '/swapfile': Structure doit être nettoyée
fallocate: impossible d'ouvrir /swapfile: Structure doit être nettoyée
mkswap: impossible d'ouvrir /swapfile: Structure doit être nettoyée
swapon: impossible d'ouvrir /swapfile: Structure doit être nettoyée
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
Échec de la création de l'espace d'échange : êtes-vous root ? Exécutez-vous sur du matériel réel ou sur un serveur entièrement virtualisé ?

La commande free indique qu’aucun espace d’échange n’est disponible sur mon VPS. Chose étrange, je n’en ai jamais eu auparavant et le site fonctionne bien par ailleurs. J’ai également installé avec succès des plugins.

Dois-je ajouter un espace d’échange ou y a-t-il un nettoyage à effectuer ?

J’ai exécuté ./launcher cleanup. Cela n’a pas aidé.

Ce qui m’intrigue, c’est cette ligne d’erreur en néerlandais :

Structure moet worden opgeschoond

Cela se produit lors de l’exécution de discourse-setup et lors de la tentative de swap. Cela survient alors qu’on essaie d’accéder à .git/info/grafts.

Donc, vous avez supprimé/renommé votre app.yml et relancé la configuration de Discourse, et vous avez toujours obtenu l’erreur ? C’est étrange.

Je ne m’attendrais pas à ce que ./launcher cleanup aide. Cela ne fait qu’essayer de nettoyer les éléments Docker (principalement).

Échec de la création de l'espace d'échange : êtes-vous root ? Exécutez-vous cela sur du matériel réel ou sur un serveur entièrement virtualisé ?

Hé. Voici une question : êtes-vous root ? Êtes-vous sur un serveur entièrement virtualisé ?

L’avez-vous installé il y a très, très longtemps ?

Mais je suis surtout à court d’idées pour ce cas.

OK, cela doit être lié au système de fichiers. Regardez ceci : je ne peux même pas faire cd dans le répertoire ‘info’ :

root@skrzat:/var/discourse/.git# ls -al
ls: impossible d'accéder à 'info' : Structure doit être nettoyée
total 32
drwxr-xr-x   8 root root  198 mar 26 21:54 .
drwxr-xr-x  11 root root  246 jan  7 22:18 ..
drwxr-xr-x   2 root root    6 nov 13 11:43 branches
-rw-r--r--   1 root root  274 nov 13 11:43 config
-rw-r--r--   1 root root   73 nov 13 11:43 description
-rw-r--r--   1 root root    0 mar 26 21:53 FETCH_HEAD
-rw-r--r--   1 root root   23 nov 13 11:43 HEAD
drwxr-xr-x   2 root root  301 nov 13 11:43 hooks
-rw-r--r--   1 root root 7395 jan  7 22:18 index
d?????????   ? ?    ?       ?            ? info
drwxr-xr-x   3 root root   30 nov 13 11:43 logs
drwxr-xr-x 155 root root 4096 mar 24 15:13 objects
-rw-r--r--   1 root root   41 mar 26 21:52 ORIG_HEAD
-rw-r--r--   1 root root 1572 nov 13 11:43 packed-refs

drwxr-xr-x 5 root root 46 nov 13 11:43 refs

La chose la plus étrange, ce sont tous ces points d’interrogation.

Je ferai mes propres recherches, ce n’est probablement rien à voir avec Discourse.

1 « J'aime »

Salut à tous, juste pour faire un retour sur la façon dont j’ai résolu ce problème.

C’était bien le système de fichiers XFS qui était gravement corrompu. Le réparer nécessitait l’installation de XFSprogs, ce que je n’ai pas pu faire car l’utilisation d’apt-get pour l’installation entraînait les mêmes erreurs.

J’ai compris que l’installation de plugins et la reconstruction de l’application sont des tâches gourmandes en mémoire. Cependant, j’ai un petit forum avec un matériel équivalent en dessous de 2 Go de RAM et 15 Go d’espace disque. Le swap n’était pas activé et mon hypothèse est que j’ai rencontré des problèmes de mémoire car j’ai dû redémarrer le système plusieurs fois en essayant d’installer les plugins. Ce n’est probablement pas bon pour le système de fichiers, et XFS a mis en place des mesures de sécurité, notamment autour du dossier GIT.

J’ai donc restauré une sauvegarde (heureusement sur S3, donc aucun problème de ce côté-là), fait une sauvegarde du fichier app.yml, relancé le VPS et configuré le swap avec ce guide (VPS Debian). En moins d’une heure, tout était de nouveau opérationnel. Un peu de stress :sweat_smile:

Et le plugin de réactions que je cherchais fonctionne parfaitement !

4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.