Actualización = ☠

Hola a todos

Me mantengo al día con las actualizaciones bastante bien, vi que una estaba pendiente y la hice, el resultado fue que no había interfaz de usuario excepto en administración.

Entré por SSH e hice las actualizaciones del servidor para asegurarme de que todo estuviera bien, sin ayuda.

Intenté revertir y obtuve esto

Entré en Modo Seguro y me desconectó, pero obtuve una interfaz de usuario parcial.

No puedo iniciar sesión, dice que mi nombre de usuario está disponible y que mi correo electrónico no existe.

Podría usar algo de ayuda, por favor, gracias.


edición, reinicié el servidor y obtuve

no me convenció, fui a registrarme, pensé que una copia de seguridad estaba pendiente ahora

tampoco tuve suerte allí


edición, al actualizar una ventana diferente, parecía que podía registrarme

luego

todavía sin suerte


SSH y las cosas todavía parecen como estaban


edición
image



DISCOURSE DOCTOR Dom 12 Nov 01:54:06 UTC 2023
SO: Linux ip-10-0-159-37 6.2.0-1015-aws #15~22.04.1-Ubuntu SMP Fri Oct  6 21:37:24 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux


Se encontró containers/app.yml

==================== CONFIGURACIÓN DE YML ====================
DISCOURSE_HOSTNAME=forum.full30.com
SMTP_ADDRESS=smtp.sendgrid.net
DEVELOPER_EMAILS=REDACTED
SMTP_PASSWORD=REDACTED
SMTP_PORT=587
SMTP_USER_NAME=apikey
LETSENCRYPT_ACCOUNT_EMAIL=REDACTED LETSCRYPT_ACCOUNT_EMAIL

==================== INFORMACIÓN DE DOCKER ====================
VERSIÓN DE DOCKER: Docker version 24.0.7, build afdd53b

PROCESOS DE DOCKER (docker ps -a)

CONTAINER ID   IMAGE                 COMMAND        CREATED        STATUS                      PORTS     NAMES
0be0150fecde   local_discourse/app   \"/sbin/boot\"   5 months ago   Exited (5) 11 minutes ago             app

==================== ¡¡¡PROBLEMA GRAVE!!! ====================
¡la aplicación no se está ejecutando!
Intentando reconstruir
==================== REGISTRO DE RECONSTRUCCIÓN ====================
Se detectó la arquitectura x86_64.
Asegurando que el lanzador esté actualizado
Obteniendo origen
El lanzador está actualizado
Deteniendo el contenedor antiguo
+ /usr/bin/docker stop -t 600 app
app
2.0.20231023-1945: Extrayendo de discourse/base
Digest: sha256:2b0eb484d20888cc2daadb690dcfa73522105650c1420212e99345a36a424d77
Estado: La imagen está actualizada para discourse/base:2.0.20231023-1945
docker.io/discourse/base:2.0.20231023-1945
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2023-11-12T01:54:13.829288 #1]  INFO -- : Leyendo desde stdin
I, [2023-11-12T01:54:13.834181 #1]  INFO -- :
I, [2023-11-12T01:54:13.862453 #1]  INFO -- : Generando locales (¡esto puede tardar un poco!)...
Generación completa.

I, [2023-11-12T01:54:13.862638 #1]  INFO -- :
I, [2023-11-12T01:54:13.865023 #1]  INFO -- :
I, [2023-11-12T01:54:13.865390 #1]  INFO -- :
I, [2023-11-12T01:54:13.867489 #1]  INFO -- :
I, [2023-11-12T01:54:13.867791 #1]  INFO -- :
I, [2023-11-12T01:54:13.869643 #1]  INFO -- :
I, [2023-11-12T01:54:13.869925 #1]  INFO -- :
/tmp/discourse-debug.txt
2 Me gusta

Esto parece importante:

Advertencia: No se pudo crear el socket de escucha TCP del servidor *:6379: bind: Address already in use

Creo que se espera que Redis se ejecute en el puerto 6379.

¿No poder crear el servidor Redis podría causar problemas con las migraciones?

Error: relation "summary_sections" already exists

Por alguna razón, la migración para crear la tabla summary_sections se está ejecutando de nuevo. ¿Hay otros errores de tablas duplicadas en sus registros?

Supongo que la otra pregunta es, ¿tiene un archivo de copia de seguridad reciente?

6 Me gusta

lol, sí, supongo que lo mismo, la respuesta lamentablemente es que al mirar en mi servidor veo el 5 de noviembre como el más reciente, ya que no puedo iniciar sesión como administrador, no puedo ver si quizás hay uno más nuevo creado por Discourse.

Pero… esto es de esta mañana,

forum

Si no puedo iniciar sesión en el panel de administración para hacer una copia de seguridad, ¿simplemente no sé qué hacer?

Gracias por la respuesta, espero poder volver a funcionar rápidamente, incluso con una copia de seguridad de una semana.

Robert

1 me gusta

No estoy familiarizado con los registros, he estado haciendo esto durante cinco años con tan pocos y fácilmente reparables problemas que no había razón para estarlo, y no tengo un equipo técnico al que preguntar, ¿es algo que me puede guiar para obtener y publicar y se redactará como el archivo del Doctor si lo subo?

También experimenté un problema con esta actualización más reciente para un sitio nuevo, es posible que haya interrumpido accidentalmente la instalación y luego el sitio informó que se había actualizado y, al mismo tiempo, necesitaba actualizarse urgentemente, pero no se pudo actualizar porque acababa de completar la actualización más reciente.

Reconstruir la aplicación desde la consola resolvió esto, no tuve que recuperarla de una copia de seguridad.

Sería bueno saber cómo reiniciar el sitio desde una copia de seguridad, tampoco sé cómo hacerlo.

2 Me gusta

solo para intentarlo de nuevo lo hice

cd /var/discourse
git pull
./launcher rebuild app

y de nuevo obtuve

errores/advertencias como siguen

image

Doctor no ayudó de nuevo, guardé su informe pero no hay nada nuevo en él

1 me gusta

Realizando otra reconstrucción ahora con errores similares:

137:M 12 Nov 2023 13:09:14.143 # Advertencia: No se pudo crear el socket de escucha TCP del servidor *:6379: bind: Address already in use
137:M 12 Nov 2023 13:09:14.143 # Falló la escucha en el puerto 6379 (TCP), abortando.

Sin embargo, todavía continúa, recuerdo haber visto esto antes, pero la instalación se completó.

¿Ha iniciado sesión en la consola del servidor con ssh como root?

Un par de veces durante la instalación, tarda en completarse, parecía más de 10 minutos, había pensado que se estaba bloqueando al principio, pero después de esperar lo suficiente, se completó.

Muchos errores sobre dependencia de pares incorrecta/no cumplida.

Luego se detiene después de la línea “guardado en segundo plano terminado con éxito”, que suena como una conclusión, pero aparentemente no es así, aquí es donde puede tardar diez minutos en pasar al siguiente paso.

2 Me gusta

Para ver los detalles del registro, puedes hacer algo como esto:

inicia sesión como root o ejecuta “sudo su
luego ejecuta los comandos:

cd /var/discourse
./launcher enter app
tail -f log/production.log

Después de ejecutar el último comando, necesitas hacer una solicitud HTTP a tu Discourse. Se mostrará un nuevo mensaje de error en tu terminal. Luego puedes detener la ejecución del comando tail usando Ctrl+C y ver o copiar el mensaje.

Para salir del shell del contenedor, puedes usar el comando exit.

2 Me gusta

Respuesta de error del demonio: El contenedor 0be0150fecde6af5e98c0f12b97d24ccc1333fee2e96f02174ac63b79df8efbc no se está ejecutando
tail: no se puede abrir ‘log/production.log’ para leer: No existe tal archivo o directorio
tail: no quedan archivos

Intenté la solicitud HTTP como curl “https://forum.full30.com"

y obtuve

curl: (3) URL usando formato malo/ilegal o URL faltante

así que… tal vez simplemente no entendí a qué te referías con solicitud http :man_shrugging:

Con esa como tu copia de seguridad más reciente, y yo no siendo un experto en este tipo de cosas, no estoy seguro de si debería dar consejos aquí.

Por lo que puedo decir, el problema con Warning: Could not create server TCP listening socket *:6379 probablemente no esté relacionado con los errores que estás obteniendo para las migraciones. Por ejemplo:

INFO -- cd /var/www/discourse and su discourse -c 'bundle exec rake db:migrate'

ERROR: database "discourse" already exists

Error: role "discourse" already exists

Error: relation "summary_sections" already exists

Esos errores parecen sugerir que tu base de datos está de alguna manera corrupta. El comando bundle exec rake db:migrate (que está en la sección INFO del fragmento de tus registros que publiqué anteriormente) debería activar Discourse para verificar la tabla schema_migrations de la base de datos para ver qué migraciones se han ejecutado previamente. Eso evita que la misma migración se ejecute varias veces. Así que mi suposición es que o la tabla schema_migrations de tu base de datos está corrupta, o que entradas duplicadas han llegado de alguna manera a la carpeta db/migrations, o que los archivos en la carpeta db/migrations han sido renombrados de alguna manera. No estoy seguro de qué podría desencadenar que ocurra alguna de estas cosas.

Me tentaría entrar a la aplicación con ./launcher enter app y ejecutar la migración manualmente desde allí para ver si eso marca alguna diferencia. Sin embargo, espera antes de hacer eso. Espero que alguien con más conocimiento de los scripts del lanzador vea esta publicación y corrija cualquier cosa que haya escrito que sea incorrecta.

3 Me gusta

Tengo curiosidad por tu opinión, o la de cualquiera

Estamos planeando otra migración de servidor, ¿sería este un buen momento ya que estos problemas parecen centrarse en

PG::DuplicateTable: ERROR: relation "summary_sections" already exists

etc. elementos que ya existen?

¿Podría ayudar una migración?

Sospecho que eso resolvería el problema. No estaría de más intentar crear una nueva instalación e importar su archivo de copia de seguridad más reciente en ella.

2 Me gusta

El sitio ya parece pensar que es una nueva instalación, tenga en cuenta algunas de mis capturas de pantalla.

Eso ocurrió simplemente cuando usé safemode, es un bloqueo bastante sustancial solo por una actualización, y lo más extraño es si solo mi instancia de discourse se ha visto afectada.

He hecho git pulls, etc., no hay diferencia, diría yo, desde la construcción nueva, si me equivoco, por favor, díganme cómo.

intentado

./launcher start-cmd app

./launcher cleanup

eliminó 18 MB de imágenes, hizo un nuevo pull/rebuild/fail/doctor y todavía no hay suerte

toda mi información todavía está presente cuando accedo a mi aplicación, así que al menos eso.

Estoy 95% seguro de que los errores de tabla duplicada se pueden ignorar sin problemas. (Recuerdo haberlos visto en cada actualización en nuestro foro)

1 me gusta

Los ignoré pero todavía no puedo volver a conectarme.

¿qué opinas de esos errores?

¿Podrías publicar un registro completo de una reconstrucción?

1 me gusta

Ayer tuve el mismo problema. Pensé que era un problema del servidor porque en actualizaciones anteriores se había comportado de manera similar, y decidí ejecutar para resolverlo temporalmente

/launcher rebuild app

Descargué la última copia de seguridad y desplegué un nuevo servidor. Restaurar la copia de seguridad fue demasiado fácil y, misteriosamente, todo ya está actualizado.

1 me gusta
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 645 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
adb2c505fd2f1289f44586496fea24ff31264f73c26eb524baf16602a189f
root@ip-10-0-159-37:/var/discourse#

¿significa hacer qué exactamente?

Sí, ¿qué debería redactar primero?