Page 1 sur 4

Erreur Migration WAPT 1.3 vers 1.5

Posté : 08 déc. 2017 - 13:43
par tech62
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 !

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 08 déc. 2017 - 14:51
par tech62
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

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 08 déc. 2017 - 15:10
par tech62
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


Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 08 déc. 2017 - 15:46
par tech62
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

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 08 déc. 2017 - 17:20
par sfonteneau

Code : Tout sélectionner

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

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 08 déc. 2017 - 17:27
par tech62
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

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 11 déc. 2017 - 15:40
par tech62
UP ;)

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 12 déc. 2017 - 09:49
par htouvet
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/

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 12 déc. 2017 - 10:26
par tech62
Merci du retour !
Quand la modif sera effective dans le depot ?

Re: Erreur Migration WAPT 1.3 vers 1.5

Posté : 12 déc. 2017 - 11:36
par htouvet
J'ai mis à jour le dépot RC 1.5