No se pueden instalar nuevos plugins: la estructura necesita limpieza

Hola, cuando agrego el plugin de reacciones o el plugin de traducción en containers/app.yml e intento reconstruir la aplicación, obtengo la siguiente salida. Curiosamente, también hay una frase en neerlandés en el mensaje de error.

Asegurando que el lanzador esté actualizado
Obteniendo origen
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
Actualizando lanzador...
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
warning: unable to access '.git/info/grafts': Structure moet worden opgeschoond
Actualizando 333b879..f982cc4
warning: unable to access '.git/info/attributes': Structure moet worden opgeschoond
warning: unable to access '.git/info/exclude': Structure moet worden opgeschoond
error: Your local changes to the following files would be overwritten by merge:
        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
Por favor, confirma tus cambios o almacénalos antes de realizar la fusión.
Abortando
falló la actualización
Lanzador actualizado, reiniciando...

Y esto se repite indefinidamente hasta que presiono CTRL+C.

Probablemente estoy haciendo algo mal. Intenté actualizar todo a la versión más reciente, pero sin éxito.

¿Hay alguna información adicional que pueda proporcionar? ¿Existe algún procedimiento de limpieza que pueda probar y luego intentar instalar los complementos nuevamente?

¿Añadiste las dos líneas para clonar esos plugins y ejecutaste

 ./launcher rebuild app

?

Hola, seguí este procedimiento.

La parte de los plugins en containers/app.yml:

## Los plugins van aquí
## consulta https://meta.discourse.org/t/19157 para más detalles
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

Lo intenté de nuevo ahora mismo y el mismo ciclo de salida se repite una y otra vez.

Oye Jay, ¿tienes alguna idea sobre esto? ¿Hay algo que pueda hacer para proporcionar más información?

Lo siento. No me llamó la atención nada. Es posible que necesites dos espacios delante de - exec (o quizás se pegó de forma extraña). No es un error que reconozca ni que esperaría que causara ese problema. .. Sí. Tal vez necesites 4 espacios delante de - exec y 2 más delante del resto. Podrías (o renombrar) tu app.yml y volver a ejecutar discourse-setup, luego copiar y pegar cuidadosamente la línea discourse_docker y editarla para incluir los plugins adicionales.

Si prefieres invertir dinero en resolver este problema, consulta Redirecting… o Redirecting… y puedo echar un vistazo.

1 me gusta

Probé tu sugerencia y creo que obtuve algo al ejecutar discourse-setup. Recibí esto:

ADVERTENCIA: Discourse requiere al menos 2 GB de espacio de intercambio (swap) cuando se ejecuta con 2 GB de RAM o menos. Este sistema parece no tener suficiente espacio de intercambio.

Sin suficiente espacio de intercambio, tu sitio podría no funcionar correctamente y las futuras actualizaciones de Discourse podrían no completarse con éxito.

Presiona Ctrl+C para salir o espera 5 segundos para que se cree un archivo de intercambio de 2 GB.
install: no se puede acceder a '/swapfile': Estructura debe ser limpiada
fallocate: no se puede abrir /swapfile: Estructura debe ser limpiada
mkswap: no se puede abrir /swapfile: Estructura debe ser limpiada
swapon: no se puede abrir /swapfile: Estructura debe ser limpiada
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
Error al crear el espacio de intercambio: ¿eres root? ¿Estás ejecutando en hardware real o en un servidor totalmente virtualizado?

El comando free indica que no hay espacio de intercambio disponible en mi VPS. Lo extraño es que nunca lo había tenido antes y, de todos modos, el sitio funciona correctamente. También he instalado plugins con éxito.

¿Debo obtener espacio de intercambio o hay alguna limpieza que pueda hacer?

Ejecuté ./launcher cleanup. No ayudó.

Lo que me intriga es esta línea de error en neerlandés:

Structure moet worden opgeschoond

Ocurre al ejecutar discourse-setup y al intentar realizar el intercambio. Y sucede mientras se intenta acceder a .git/info/grafts.

¿Así que borraste/cambiaste el nombre de tu app.yml, ejecutaste nuevamente la configuración de Discourse y aun así obtuviste el error? Eso es extraño.

No esperaría que ./launcher cleanup ayude. Eso solo (intenta) limpiar cosas de Docker (principalmente).

Failed to create swap: are you root? Are you running on real hardware, or a fully virtualized server?

Hola. Aquí va una pregunta: ¿Eres root? ¿Estás en un servidor totalmente virtualizado?

¿Lo instalaste hace mucho, mucho tiempo?

Pero ya me he quedado sin ideas sobre este caso.

OK, debe ser algo con el sistema de archivos. Mira esto: ni siquiera puedo hacer cd al directorio ‘info’:

root@skrzat:/var/discourse/.git# ls -al
ls: no se puede acceder a 'info': Estructura de directorios dañada
total 32
drwxr-xr-x   8 root root  198 mar 26 21:54 .
drwxr-xr-x  11 root root  246 ene  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 ene  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

Lo más extraño son todos esos signos de interrogación.

Haré mi propia investigación; probablemente no tenga nada que ver con Discourse.

1 me gusta

Hola a todos, solo para informar sobre cómo resolví esto.

Efectivamente, fue el sistema de archivos XFS el que se corrompió gravemente. Repararlo requirió instalar XFSprogs, lo cual no pude hacer porque usar apt-get para instalarlo dio los mismos errores.

He llegado a entender que instalar plugins y reconstruir la aplicación es una tarea intensiva en memoria. Sin embargo, tengo un foro pequeño con hardware equivalente debajo de 2 GB de RAM y 15 GB de espacio en disco. No tenía swap activado y mi hipótesis es que tuve problemas de memoria porque tuve que reiniciar el sistema varias veces mientras intentaba instalar los plugins. Probablemente no fue bueno para el sistema de archivos y XFS puso salvaguardas, entre otras cosas, en la carpeta GIT.

Así que recuperé una copia de seguridad (afortunadamente en S3, así que no hubo problemas con eso), hice una copia de seguridad del archivo app.yml, reinicié el VPS y configuré SWAP con esta guía (VPS Debian). En menos de una hora, todo volvió a funcionar. Un poco de :sweat_smile:

¡Y el plugin de reacciones que quería instalar funciona genial!

4 Me gusta

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