Erreur Migration WAPT 1.3 vers 1.5

Question about WAPT Server / Requêtes et aides autour du serveur Wapt
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

08 déc. 2017 - 13:43

Bonjour,

Après avoir suivi les instructions du wiki, je rencontre toujours l'erreur :
Version : .5.1.9-tisdeb9-4420-1134da77

Code : Tout sélectionner

mongodb process running, need to migrate
sh: 1: mongoexport: not found
Traceback (most recent call last):
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 209, in <module>
    upgrade2postgres()
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 151, in upgrade2postgres
    create_import_data(ip='127.0.0.1', fn=data_import_filename)
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 72, in create_import_data
    d = json.load(os.popen('mongoexport -h %s -d wapt -c hosts  --jsonArray' % ip))
  File "/usr/lib/python2.7/json/__init__.py", line 291, in load
    **kw)
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 511, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 338, in main
    mongo_update_status = check_mongo2pgsql_upgrade_needed(waptserver_ini)
  File "/opt/wapt/waptserver/scripts/postconf.py", line 241, in check_mongo2pgsql_upgrade_needed
    run_verbose("sudo -u wapt /usr/bin/python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres")
  File "/opt/wapt/waptserver/scripts/postconf.py", line 68, in run_verbose
    output = subprocess.check_output(*args, shell=True, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'sudo -u wapt /usr/bin/python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres' returned non-zero exit status 1
Une idée du problème ?
Machine sous debian 9.*
Merci !
Dernière modification par tech62 le 08 déc. 2017 - 16:02, modifié 1 fois.
tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

08 déc. 2017 - 14:51

Après avoir fait un apt-get install mongo-tools, j'obtiens ceci :

Code : Tout sélectionner

could not change directory to "/root": Permission non accordée
2017-12-08T14:49:47.069+0100    connected to: 127.0.0.1
2017-12-08T14:49:47.138+0100    exported 6 records
WARNING:root:Traceback (most recent call last):
  File "/opt/wapt/waptserver/waptserver_model.py", line 424, in update_host_data
    existing = Hosts.select(Hosts.uuid, Hosts.computer_fqdn).where(Hosts.uuid == uuid).first()
  File "/opt/wapt/lib/site-packages/peewee.py", line 4941, in select
    query = SelectQuery(cls, *selection)
  File "/opt/wapt/lib/site-packages/peewee.py", line 3016, in __init__
    self.require_commit = self.database.commit_select
  File "/opt/wapt/lib/site-packages/peewee.py", line 439, in __getattr__
    raise AttributeError('Cannot use uninitialized Proxy.')
AttributeError: Cannot use uninitialized Proxy.

CRITICAL:root:Error updating data for [SERVERID] : AttributeError: Cannot use uninitialized Proxy.
Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 511, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 338, in main
    mongo_update_status = check_mongo2pgsql_upgrade_needed(waptserver_ini)
  File "/opt/wapt/waptserver/scripts/postconf.py", line 241, in check_mongo2pgsql_upgrade_needed
    run_verbose("sudo -u wapt /usr/bin/python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres")
  File "/opt/wapt/waptserver/scripts/postconf.py", line 68, in run_verbose
    output = subprocess.check_output(*args, shell=True, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'sudo -u wapt /usr/bin/python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres' returned non-zero exit status 1
Dernière modification par tech62 le 08 déc. 2017 - 17:34, modifié 1 fois.
tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

08 déc. 2017 - 15:10

En exécutant : python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres

J'obtiens :

Code : Tout sélectionner

upgrading data from mongodb to postgresql
psql: FATAL:  le rôle « root » n'existe pas
Traceback (most recent call last):
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 209, in <module>
    upgrade2postgres()
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 144, in upgrade2postgres
    val = subprocess.check_output("""  psql wapt -c " SELECT datname FROM pg_database WHERE datname='wapt';   " """, shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '  psql wapt -c " SELECT datname FROM pg_database WHERE datname='wapt';   " ' returned non-zero exit status 2

tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

08 déc. 2017 - 15:46

Log Postgres :

Code : Tout sélectionner

déc. 08 15:10:27 wapt systemd[1]: Starting PostgreSQL RDBMS...
déc. 08 15:10:27 wapt systemd[1]: Started PostgreSQL RDBMS.
déc. 08 15:10:27 wapt systemd[1]: postgresql.service: Failed to reset devices.list: Operation not permitted
déc. 08 15:13:41 wapt systemd[1]: postgresql.service: Failed to reset devices.list: Operation not permitted
déc. 08 15:15:36 wapt systemd[1]: postgresql.service: Failed to reset devices.list: Operation not permitted
déc. 08 15:15:37 wapt systemd[1]: postgresql.service: Failed to reset devices.list: Operation not permitted
déc. 08 15:26:01 wapt systemd[1]: postgresql.service: Failed to reset devices.list: Operation not permitted
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

08 déc. 2017 - 17:20

Code : Tout sélectionner

sudo -u wapt python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres
tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

08 déc. 2017 - 17:27

Voici le résultat de la commande :

Code : Tout sélectionner

sudo -u wapt python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres

Code : Tout sélectionner

Upgrading from mongodb to postgres
[uwsgi]
http-socket = 127.0.0.1:8080
master = true
processes = 16
wsgi=waptserver:app
chdir=/opt/wapt/waptserver/
max-requests=100
uid=wapt
gid=www-data
enable-threads = true

[options]
#################################mongodb_port=27017
#################################mongodb_ip=127.0.0.1

#wapt_folder=/var/www/wapt/
#waptwua_folder=/var/www/waptwua
#waptserver_port=8080
wapt_user=[SECRET]
wapt_password=[SECRET]
wapt_folder = /var/www/wapt
server_uuid = [SECRET]
#loglevel=warning

#client_tasks_timeout=0.3
#client_connect_timeout=1
#client_read_timeout=10

upgrading data from mongodb to postgresql
could not change directory to "/root": Permission non accordée

dumping mongodb data in /tmp/waptupgrade_20171208-Dec:26:1512750374.json
Read mongo data from 127.0.0.1...
2017-12-08T17:26:14.064+0100    connected to: 127.0.0.1
2017-12-08T17:26:14.131+0100    exported 6 records
6 records read.
File /tmp/waptupgrade_20171208-Dec:26:1512750374.json done.
Loading /tmp/waptupgrade_20171208-Dec:26:1512750374.json
6 recs to load
WARNING:root:Traceback (most recent call last):
  File "/opt/wapt/waptserver/waptserver_model.py", line 424, in update_host_data
    existing = Hosts.select(Hosts.uuid, Hosts.computer_fqdn).where(Hosts.uuid == uuid).first()
  File "/opt/wapt/lib/site-packages/peewee.py", line 4941, in select
    query = SelectQuery(cls, *selection)
  File "/opt/wapt/lib/site-packages/peewee.py", line 3016, in __init__
    self.require_commit = self.database.commit_select
  File "/opt/wapt/lib/site-packages/peewee.py", line 439, in __getattr__
    raise AttributeError('Cannot use uninitialized Proxy.')
AttributeError: Cannot use uninitialized Proxy.

CRITICAL:root:Error updating data for [SECRET] : AttributeError: Cannot use uninitialized Proxy.
Error for [SECRET] : AttributeError: Cannot use uninitialized Proxy.
Traceback (most recent call last):
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 153, in upgrade2postgres
    load_json(filenames=data_import_filename)
  File "/opt/wapt/waptserver/waptserver_upgrade.py", line 106, in load_json
    wapt_db.rollback()
  File "/opt/wapt/lib/site-packages/peewee.py", line 439, in __getattr__
    raise AttributeError('Cannot use uninitialized Proxy.')
AttributeError: Cannot use uninitialized Proxy.
Exception while loading data, please check current configuration
tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

11 déc. 2017 - 15:40

UP ;)
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

12 déc. 2017 - 09:49

Il manque une initialisation de base de données dans le code de waptserver_upgrade.

2 lignes à ajouter :
Ajouter

Code : Tout sélectionner

from waptserver_model import load_db_config
dans les imports en hait du code

Ajouter

Code : Tout sélectionner

    conf = waptserver_config.load_config(options.configfile)
après

Code : Tout sélectionner

    (options, args) = parser.parse_args()

Code : Tout sélectionner

--- a/waptserver/waptserver_upgrade.py
+++ b/waptserver/waptserver_upgrade.py
@@ -48,6 +48,7 @@ sys.path.insert(0, os.path.join(wapt_root_dir, 'lib'))
 sys.path.insert(0, os.path.join(wapt_root_dir, 'lib', 'site-packages'))
 
 from waptserver_config import __version__
+from waptserver_model import load_db_config
 
 import logging
 import ConfigParser
@@ -196,6 +197,7 @@ if __name__ == '__main__':
         help='test prefix for fqdn and uuid for load testing (for development only)')
 
     (options, args) = parser.parse_args()
+    conf = waptserver_config.load_config(options.configfile)
 
     utils_set_devel_mode(options.devel)
     if options.loglevel is not None: 

Nighlty build : https://wapt.tranquil.it/wapt/nightly/w ... -ef7b7b4b/
Tranquil IT
tech62
Messages : 21
Inscription : 08 déc. 2017 - 13:40

12 déc. 2017 - 10:26

Merci du retour !
Quand la modif sera effective dans le depot ?
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

12 déc. 2017 - 11:36

J'ai mis à jour le dépot RC 1.5
Tranquil IT
Verrouillé