Pagina 1 di 2
[RISOLTO] Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 11 agosto 2022 - 10:18
di jlatieule
Salve,
ho fatto quattro tentativi, ognuno con lo stesso risultato. Ogni volta sono costretto a ripristinare il server allo snapshot precedente.
Sto cercando di aggiornare dalla versione Community più recente a Discovery 2.2.
Tutto sembra funzionare correttamente, ma dopo l'aggiornamento non è più possibile autenticarsi sulla console con l'account "admin".
Ho provato diverse combinazioni:
- Post-configurazione: aggiornamento password o nessun aggiornamento (per mantenere quella vecchia)
- Aggiornamento console: con disinstallazione completa o tutto automatizzato dal programma di installazione di Windows.
WAPT è installato su Debian 10.
Come posso riprendere il controllo della console?
Cordiali saluti
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 11 agosto 2022 - 14:23
di jlatieule
Ho appena provato a importare il database PostgreSQL dal vecchio server che sto cercando di aggiornare con una nuova installazione.
Semplicemente caricando il database con la stessa versione di WAPT, non è più possibile connettersi alla nuova installazione.
Il problema probabilmente risiede lì.
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 12 agosto 2022 - ore 16:00
di sfontenau
Puoi fornire il numero di versione del database disponibile sull'interfaccia web?
Puoi provare:
Codice: Seleziona tutto
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()
Ciò consente di ricreare l'account amministratore con gli ACL se non si tratta di un account amministratore
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 12 agosto 2022 - 16:36
di jlatieule
Ciao Simon, sono felice di vederti qui dopo tutti questi anni nell'ICT
Ecco il feedback richiesto:
Stato di base: OK (2.2.5.2)
Dopo aver eseguito il codice Python, ricevo questo messaggio di errore:
Codice: Seleziona tutto
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()
Quindi ho ancora questo problema di autenticazione sulla console ;-/
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 17 agosto 2022 - 10:15
di sfontenau
jlatieule ha scritto: ↑12 agosto 2022 - 16:36
Ciao Simon, sono contento di vederti qui dopo tutti questi anni di ICT
Ancora qui
Ok, il database è bloccato alla versione 2.2.5.2
Il problema risiede quindi nel passaggio dalla versione 2.2.5.2 alla 2.2.6.0
Nell'ultima versione di wapt, la base è 2.2.6.1
Il codice qui è brutto perché alla riga 3083 di model.py abbiamo:
Quindi è improbabile che ci accorgiamo dell'errore...
Puoi sostituire il codice in model.py alla riga 3083 con:
Codice: Seleziona tutto
except:
import traceback
print(traceback.format_exc())
finally:
pass
allora puoi provare:
Codice: Seleziona tutto
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)
Almeno vedremo qualcosa
Inoltre, quale versione di PostgreSQL hai installato?
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 17 agosto 2022 - 12:42
di jlatieule
In effetti, possiamo vedere più informazioni.
Per quanto riguarda la versione PostgreSQL:
postgres (PostgreSQL) 11.17 (Debian 11.17-0+deb10u1)
e il ritorno dell'aggiornamento:
Codice: Seleziona tutto
>>> 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.
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 17 agosto 2022 - 15:36
di sfontenau
Ok, abbiamo identificato il problema.
Vedrò se è possibile rilasciare una build notturna oggi stesso.
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 17 agosto 2022 - 15:44
di jlatieule
Ottimo, sono riuscito a segnalare un bug
. Devo ripristinare la versione 1.8.2 e rifare l'aggiornamento, oppure devo eseguire un comando specifico?
Re: Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 18 agosto 2022 - 18:01
di sfontenau
Normalmente, è sufficiente un semplice aggiornamento; il database verrà migrato correttamente con il nuovo codice.
Potresti provare questo?
https://wapt.tranquil.it/wapt/nightly/w ... 5-3fd94bd1
Simon
Re: [RISOLTO] Aggiornamento a Discovery: errore durante l'accesso alla console
Pubblicato: 22 agosto 2022 - 17:16
di jlatieule
Grazie Simon,
ho cercato l'indirizzo del repository Debian su
https://wapt.tranquil.it/Debian/ ma non me ne intendo affatto.
Come posso installare la nightly build che hai suggerito?