[RISOLTO] Aggiornamento a Discovery: errore durante l'accesso alla console

Condividi qui i tuoi suggerimenti o problemi riguardanti la console WAPT o l'agente WAPT
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
jlatieule
Messaggi: 59
Registrazione: 3 luglio 2019 - 9:18

11 agosto 2022 - 10:18

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
Amministratore di sistema e di rete presso Domitia Habitat
jlatieule
Messaggi: 59
Registrazione: 3 luglio 2019 - 9:18

11 agosto 2022 - 14:23

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ì.
Amministratore di sistema e di rete presso Domitia Habitat
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

12 agosto 2022 - 16:00

Puoi fornire il numero di versione del database disponibile sull'interfaccia web?

Puoi provare:

Codice: Seleziona tutto

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

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
jlatieule
Messaggi: 59
Registrazione: 3 luglio 2019 - 9:18

12 agosto 2022 - 16:36

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 ;-/
Amministratore di sistema e di rete presso Domitia Habitat
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

17 agosto 2022 - 10:15

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:

Codice: Seleziona tutto

    
    finally:
        pass
 
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

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

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?
jlatieule
Messaggi: 59
Registrazione: 3 luglio 2019 - 9:18

17 agosto 2022 - 12:42

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.
Amministratore di sistema e di rete presso Domitia Habitat
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

17 agosto 2022 - 15:36

Ok, abbiamo identificato il problema.

Vedrò se è possibile rilasciare una build notturna oggi stesso.
jlatieule
Messaggi: 59
Registrazione: 3 luglio 2019 - 9:18

17 agosto 2022 - 15:44

Ottimo, sono riuscito a segnalare un bug

. Devo ripristinare la versione 1.8.2 e rifare l'aggiornamento, oppure devo eseguire un comando specifico?
Amministratore di sistema e di rete presso Domitia Habitat
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

18 agosto 2022 - 18:01

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
jlatieule
Messaggi: 59
Registrazione: 3 luglio 2019 - 9:18

22 agosto 2022 - 17:16

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?
Amministratore di sistema e di rete presso Domitia Habitat
Bloccato