Se requiere actualización de la versión del kernel al actualizar discourse manualmente

Si haces rsync de /var/discourse entre droplets en el mismo centro de datos, tu tiempo de inactividad puede ser mínimo y tu opción de recuperación es solo una reversión de DNS.
El nuevo VPS solo necesita docker y potencialmente swap.

2 Me gusta

Hola,

Yo también obtengo este error al ejecutar Red Hat Enterprise Linux 7, ejecutando el kernel 3.10.0. RHEL8 no ejecuta mucho más nuevo.

1 me gusta

Lo mismo aquí, 3.1.0.beta1 funcionando bien en CentOS7 (3.10.0-1160.76.1.el7.x86_64)

Obviamente, los kernels de la distribución reciben una tonelada de backports. Comprobar la versión del kernel vanilla de esta manera ha estado causando problemas en otros proyectos también. ¿Hay alguna forma de omitir esta comprobación desde la línea de comandos?

—ACTUALIZACIÓN—
Edité el script del lanzador para omitir la comprobación; varias instalaciones de CentOS7 se actualizaron sin problemas.

5 Me gusta

¿Se va a arrojar más luz sobre este problema? Los requisitos del sistema no exigen ninguna versión del kernel y Centos 7/RHEL 7 aún no está en fin de vida (EOL). Docker tampoco requiere un kernel más nuevo. No creo que omitir manualmente la verificación sea la solución adecuada a largo plazo.

2 Me gusta

Estaba a punto de actualizar un foro antiguo y obtuve el mismo error. Centos7 aún no ha llegado al final de su vida útil, ¿podrías encontrar una solución alternativa para Ubuntu 14.04?

Si crees que estás ejecutando el kernel más actualizado de tu proveedor de sistema operativo (con correcciones retroportadas), podrías intentar omitir la verificación. ¡Yo lo haría! Este es el problema donde se agregó la verificación. Creo que podrías simplemente eliminar o comentar el comando exit en tu script ./launcher, en este párrafo:

  # Al menos versión mínima
  if compare_version "${kernel_min_version}" "${test}"; then
    echo "ERROR: Versión del kernel ${test} no compatible, actualiza al menos a ${kernel_min_version}"
    exit 1
  fi

Si, como resultado, la actualización aún falla, deberás encontrar una manera de ejecutar tu Discourse en un kernel más nuevo.

(Es bastante posible que este consejo se considere fuera de tema, pero creo que lo que ha sucedido es que tenemos una verificación de un número de versión en lugar de una verificación de una instalación (urandom), y ese enfoque puede dar falsos positivos).

4 Me gusta

Estoy teniendo este problema ahora mismo y nuestro foro está caído por esto. ¿Cómo puedo editar el script del lanzador y comentar la verificación del kernel (al menos hasta que Centos7 reciba esta actualización o intentemos migrar el foro a otro servidor)?

ACTUALIZACIÓN:
He tenido éxito (por prueba y error) actualizando el Lanzador y, en lugar de comentar el kernel, simplemente puse una versión inferior como requisito. Funcionó bien.

Quizás esta no sea una buena solución a largo plazo, pero nuestra empresa de hosting ya nos informó que Centos7 no recibirá la versión del kernel 4.4… ¿alguien puede explicar qué significa esto en términos prácticos?

1 me gusta

Parece que Centos 7 recibirá actualizaciones hasta mediados de 2024.

En algún momento, posiblemente antes del fin de vida útil (EOL), el siempre cambiante Discourse necesitará algo que Centos 7 no tiene, y necesitarás actualizar tu sistema operativo (o migrar a una nueva instancia con una versión de sistema operativo adecuada). Parece que ese momento aún no ha llegado.

Como siempre, antes de intentar actualizar Discourse, ahora o en el futuro, haz una copia de seguridad de tus foros y guarda una copia segura de esa copia de seguridad, así como una copia segura de tu archivo app.yml.

1 me gusta

¿Qué kernel está ejecutando que funciona con la reconstrucción que acaba de hacer?

Si es algo inferior a 4.4 y funciona, entonces parece que @falco puede necesitar reducir nuevamente la versión requerida.

(Dado que las distribuciones tendrán back-ports de características y correcciones de kernels posteriores, la verificación de la versión del kernel es un instrumento muy rudimentario. Entiendo la idea de reducir la carga de soporte, pero también hay un efecto opuesto cuando la verificación de seguridad tiene un falso positivo. Y a medida que Discourse se vuelve más popular, este problema se agrava. Es mucho mejor verificar una característica que una versión.)

2 Me gusta

Nuestro sistema está ejecutando lo siguiente:

  • CentOS Linux release 7.9.2009 (Core)
  • Kernel 3.10.0-1160.88.1.el7.x86_64
1 me gusta

Actualizando esto:\nAunque nuestro foro funciona ahora, vemos este error cada vez más a menudo:\n\u003e # Oops\n\u003e \n\u003e El software que impulsa este foro de discusión encontró un problema inesperado. Lamentamos las molestias.\n\u003e \n\u003e Se registró información detallada sobre el error y se generó una notificación automática. Le echaremos un vistazo.\n\u003e \n\u003e No se requiere ninguna acción adicional. Sin embargo, si la condición de error persiste, puede proporcionar detalles adicionales, incluidos los pasos para reproducir el error, publicando un tema de discusión en la categoría de comentarios del sitio.\n\n~~¿Puede estar esto relacionado de alguna manera con el problema de los requisitos mínimos del kernel? Esta "inestabilidad" (llamémosla así) se ha notado más en los últimos días/semanas. Parece ir y venir, a veces el foro está bien y otras veces no.~~\n\nEDITAR: Olvídalo, creo que esto estaba relacionado con un problema de postgresql (tener demasiados procesos en curso asociados con imágenes sin un contenedor, algo que una limpieza del lanzador resolvió).

1 me gusta

Me inclinaría a estar de acuerdo con esto. ¿Crees que es una buena idea, @Falco?

1 me gusta

Sí, se aceptan PR para detectarlo correctamente.

2 Me gusta

Hola Falco:

Me encontré con este problema al intentar actualizar Discourse de 3.1.0.beta2 a 3.1.0.beta4.

Parecía una actualización menor, pero debido a la verificación del kernel, la actualización fue bastante más complicada en CentOS7. Quizás la próxima vez un número de versión diferente pueda reflejar mejor el impacto relativamente alto de los cambios.

Leyendo la discusión, no puedo decir realmente qué verificación de características es necesaria, tal vez si puedes dar más detalles sobre eso, alguien pueda enviar una PR.

1 me gusta

Está en la publicación de @Ed_S:

En Ruby 3.1 hay una RuntimeException al llamar a Random.urandom en plataformas donde no está implementado correctamente, lo que incluye a personas que ejecutan Ubuntu 14.04 con el kernel 3.13.