[RESUELTO] Actualización de Discovery: Error al iniciar sesión en la consola

Comparta sus sugerencias o problemas relacionados con la consola WAPT o el agente WAPT aquí
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

11 de agosto de 2022 - 10:18

Hola,


he realizado cuatro intentos, todos con el mismo resultado. En cada ocasión, me veo obligado a restaurar el servidor a la instantánea anterior.
Estoy intentando actualizar desde la última versión Community a Discovery 2.2.

Todo parece funcionar correctamente, pero después de la actualización, ya no es posible autenticarse en la consola con la cuenta "admin".
He probado varias combinaciones:
- Postconfiguración: actualización de contraseña o sin actualización (para mantener la anterior).
- Actualización de la consola: con desinstalación completa o todo automatizado por el instalador de Windows.

WAPT está instalado en Debian 10.

¿Cómo puedo recuperar el control de la consola?

Atentamente
Administrador de Sistemas y Redes en Domitia Habitat
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

11 de agosto de 2022 - 14:23

Acabo de intentar importar la base de datos PostgreSQL del servidor antiguo que estoy intentando actualizar con una instalación nueva.

Simplemente cargando la base de datos con la misma versión de WAPT, ya no es posible conectarse a la nueva instalación.

Probablemente ahí radica el problema.
Administrador de Sistemas y Redes en Domitia Habitat
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

12 de agosto de 2022 - 16:00

¿Puede proporcionar el número de versión de la base de datos disponible en la interfaz web?

Puedes probar una:

Código: Seleccionar todo

sudo -u wapt /opt/wapt/waptpython.sh

Código: Seleccionar todo

from waptserver.config import load_config
from waptserver.model import *
conf = waptserver.config.load_config('/opt/wapt/conf/waptserver.ini')
load_db_config(conf)
create_default_users(conf)
quit()
Esto le permite volver a crear la cuenta de administrador con las ACL si no es una cuenta de administrador
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

12 de agosto de 2022 - 16:36

Hola Simon, me alegro de verte aquí después de todos estos años en las TIC ;-)

A continuación se muestra la retroalimentación solicitada:
Estado base: OK (2.2.5.2)

Y después de ejecutar el código Python, aparece este mensaje de error:

Código: Seleccionar todo

administrateur@serv-wapt:~$ sudo -u wapt /opt/wapt/waptpython.sh
[sudo] password for administrateur: 
Python 3.8.13 (default, May 23 2022, 11:25:12) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from waptserver.config import load_config
>>> from waptserver.model import *
>>> conf = waptserver.config.load_config('/opt/wapt/conf/waptserver.ini')
>>> load_db_config(conf)
<playhouse.pool.PooledPostgresqlExtDatabase object at 0x7f7bb20678e0>
>>> create_default_users(conf)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/wapt/waptserver/model.py", line 1246, in create_default_users
    if created or not admin_acls.acls.get('admin'):
AttributeError: 'NoneType' object has no attribute 'get'
>>> quit()
Entonces todavía tengo este problema de autenticación en la consola ;-/
Administrador de Sistemas y Redes en Domitia Habitat
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

17 de agosto de 2022 - 10:15

jlatieule escribió: 12 de agosto de 2022 - 16:36 Hola Simon, me alegra verte por aquí después de tantos años en el sector de las TIC. ;-)
Todavía aquí ;)

Está bien, la base de datos está bloqueada en 2.2.5.2

El problema, por tanto, radica en el cambio de la versión 2.2.5.2 a la 2.2.6.0

En la última versión de wapt, la base es 2.2.6.1


El código es feo aquí porque en la línea 3083 de model.py tenemos:

Código: Seleccionar todo

    
    finally:
        pass
 
Así que es poco probable que veamos el error...

Puede reemplazar el código en model.py en la línea 3083 con:

Código: Seleccionar todo

    except:
        import traceback
        print(traceback.format_exc())

    finally:
        pass



Entonces puedes probar esto:

Código: Seleccionar todo

sudo -u wapt /opt/wapt/waptpython.sh

Código: Seleccionar todo

from waptserver.config import load_config
from waptserver.model import *
conf = waptserver.config.load_config('/opt/wapt/conf/waptserver.ini')
load_db_config(conf)
upgrade_db_structure(conf)
Al menos veremos algo

Además, ¿qué versión de PostgreSQL tienes instalada?
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

17 de agosto de 2022 - 12:42

De hecho, podemos ver más información.

Respecto a la versión de PostgreSQL:
postgres (PostgreSQL) 11.17 (Debian 11.17-0+deb10u1)
y el regreso de la actualización:

Código: Seleccionar todo

>>> from waptserver.config import load_config
>>> from waptserver.model import *
>>> conf = waptserver.config.load_config('/opt/wapt/conf/waptserver.ini')
>>> load_db_config(conf)
<playhouse.pool.PooledPostgresqlExtDatabase object at 0x7fc32e401940>
>>> upgrade_db_structure(conf)
Traceback (most recent call last):
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
psycopg2.errors.UndefinedFunction: function is_valid_jsonb(jsonb) does not exist
LINE 1: ...set value = to_jsonb(value::text)::text where not is_valid_j...
                                                             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/wapt/waptserver/model.py", line 2987, in upgrade_db_structure
    wapt_db.execute_sql("""update hostauditdata set value = to_jsonb(value::text)::text where not is_valid_jsonb(value) and not is_valid_jsonb(replace(value,'''','"'));""")
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 3151, in execute_sql
    self.commit()
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 2917, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 190, in reraise
    raise value.with_traceback(tb)
  File "/opt/wapt/lib/python3.8/site-packages/peewee.py", line 3144, in execute_sql
    cursor.execute(sql, params or ())
peewee.ProgrammingError: function is_valid_jsonb(jsonb) does not exist
LINE 1: ...set value = to_jsonb(value::text)::text where not is_valid_j...
                                                             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
Administrador de Sistemas y Redes en Domitia Habitat
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

17 de agosto de 2022 - 15:36

De acuerdo, hemos identificado el problema.

Veré si puedo lanzar una versión de desarrollo nocturna hoy mismo.
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

17 de agosto de 2022 - 15:44

Genial, logré reportar un error

. ¿Necesito restaurar la versión 1.8.2 y volver a actualizar, o tendré que ejecutar un comando?
Administrador de Sistemas y Redes en Domitia Habitat
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

18 de agosto de 2022 - 18:01

Normalmente, una simple actualización será suficiente; la base de datos migrará correctamente con el nuevo código. ¿

Podrías probar con este?

https://wapt.tranquil.it/wapt/nightly/w ... 5-3fd94bd1

Simon
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

22 de agosto de 2022 - 17:16

Gracias Simon,


busqué la dirección del repositorio de Debian en https://wapt.tranquil.it/Debian/ pero estoy completamente desactualizado en este tema.

¿Cómo puedo instalar la versión nightly que me recomendaste?
Administrador de Sistemas y Redes en Domitia Habitat
Bloqueado