Migration 1.3 -> 1.5 sous Centos 7
Publié : 30 mars 2018 - 14:54
Bonjour,
J'ai suivi la procédure telle qu'expliquée à la page https://www.wapt.fr/fr/doc/waptserver_u ... entos.html mais j'ai rencontré quelques erreurs lors de la procédure.
Au cas à où cela puisse servir à d'autres, voici les modifications que j'ai du faire pour réussir la migration :
Pour la désinstallation de wapt 1.3 :
devient :
Dans la section Mettre à jour le serveur CentOS / RedHat :
devient :
(mongodb est scindé en deux paquets sous centos : mongodb-server et mongodb. Le paquet mongodb contient mongoexport utilisé par le script de migration)
J'ai également effectué la commande suivante afin que le script de migration puisse vérifier la présence du fichier de lock :
J'ai patché le fichier /opt/wapt/waptserver/waptserver_upgrade.py (j'ai mis (current_distrib != "centos linux" uniquement car je n'ai pas de rhel7 sous la main pour tester si le script initial nécessite également une modification pour fonctionner) :
J'ai également patché le fichier /opt/wapt/waptserver/scripts/postconf.py car sous centos le daemon ne s'appelle pas mongodb mais mongod :
Pour resigner les paquets du dépots, modifier les commandes spécifiées à la page https://www.wapt.fr/fr/doc/waptserver_u ... regenerate en changeant /var/www/wapt/... en /var/www/html/wapt/...
J'ai suivi la procédure telle qu'expliquée à la page https://www.wapt.fr/fr/doc/waptserver_u ... entos.html mais j'ai rencontré quelques erreurs lors de la procédure.
Au cas à où cela puisse servir à d'autres, voici les modifications que j'ai du faire pour réussir la migration :
Pour la désinstallation de wapt 1.3 :
Code : Tout sélectionner
yum remove tis-waptrepo tis-waptsetup tis-waptserver
systemctl stop apache2
systemctl disable apache2
Code : Tout sélectionner
yum remove tis-waptrepo tis-waptsetup tis-waptserver
systemctl stop httpd
systemctl disable httpd
Dans la section Mettre à jour le serveur CentOS / RedHat :
Code : Tout sélectionner
yum install postgresql94-server postgresql94-contrib
Code : Tout sélectionner
yum install postgresql94-server postgresql94-contrib mongodb
J'ai également effectué la commande suivante afin que le script de migration puisse vérifier la présence du fichier de lock :
Code : Tout sélectionner
chmod 755 /var/lib/mongodb
Code : Tout sélectionner
--- /opt/wapt/waptserver/waptserver_upgrade.py.orig 2018-03-29 15:00:58.908069144 +0200
+++ /opt/wapt/waptserver/waptserver_upgrade.py 2018-03-29 15:12:00.480088326 +0200
@@ -67,7 +67,10 @@
"""Connect to a mongo instance and write all wapt.hosts collection as json into a file"""
if platform.system()=='Linux':
mongo_datadir = '/var/lib/mongodb/'
- if 'dbpath' in subprocess.check_output('mongoexport --help',shell=True):
+ distrib_tuple = platform.linux_distribution()
+ current_distrib = distrib_tuple[0].lower()
+ print ('detected distrib : %s ' % current_distrib)
+ if ('dbpath' in subprocess.check_output('mongoexport --help',shell=True)) and (current_distrib != "centos linux"):
data = subprocess.check_output('mongoexport -d wapt -c hosts --jsonArray --dbpath=%s' % mongo_datadir,shell=True)
else:
data = subprocess.check_output('mongoexport -c hosts --jsonArray --db wapt',shell=True)
Code : Tout sélectionner
--- /opt/wapt/waptserver/scripts/postconf.py.orig 2018-03-29 15:51:46.261262372 +0200
+++ /opt/wapt/waptserver/scripts/postconf.py 2018-03-29 15:52:12.043380391 +0200
@@ -234,8 +234,12 @@
def upgrade2postgres(configfilename):
print ("mongodb process running, need to migrate")
run_verbose('sudo -u wapt PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt /opt/wapt/bin/python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres -c "%s"' % configfilename)
- run_verbose("systemctl stop mongodb")
- run_verbose("systemctl disable mongodb")
+ if type_redhat():
+ run_verbose("systemctl stop mongod")
+ run_verbose("systemctl disable mongod")
+ else:
+ run_verbose("systemctl stop mongodb")
+ run_verbose("systemctl disable mongodb")
def nginx_set_worker_limit(nginx_conf):
already_set=False
Code : Tout sélectionner
PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt python /opt/wapt/wapt-signpackages.py -i -s --message-digest=sha256,sha1 -c /root/wapt-private-20180312-1522.crt /var/www/html/wapt/*.wapt
PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt python /opt/wapt/wapt-signpackages.py -i -s --message-digest=sha256,sha1 -c /root/wapt-private-20180312-1522.crt /var/www/html/wapt-host/*.wapt