misc-nroche/publik-dump/README.rst

150 lines
4.6 KiB
ReStructuredText

La procédure de migration est la suivante :
Récupérer le mot de passe w.c.s. de connexion à la base de donnée
-----------------------------------------------------------------
Il faut récupérer le mot de passe sur une autre instance, sur la cible :
https://demarches-eurelien.test.entrouvert.org/backoffice/settings/postgresql
puis utiliser l'inspecteur pour récupérer le mot de passe.
Ou sinon en ligne de commande :
::
$ sudo -u wcs wcs-manage shell -d demarches-eurelien.test.entrouvert.org
In [1]: from quixote import get_publisher
In [2]: print(get_publisher().cfg['postgresql'].get('createdb-connection-params', {}))
Récupérer les identifiant de connexion à la BD et le dsn sentry sur wcs-olap
----------------------------------------------------------------------------
Il faut récupérer ces information sur la cible, dans les fichiers
wcs-olap.ini des instances déjà migrées (en recette, il s'agit du même
mot de passe que pour w.c.s).
Recopier le certificat
----------------------
Pour la recette rien a faire le certificat wildcard est déja en place
pour test.entrouvert.org
::
$ haproxy.test-hds.saas.entrouvert:/etc/ssl/bundles$ openssl x509 -in test.entrouvert.org.pem -text
Re-diriger vers une page de travaux
-----------------------------------
Ce n'est pas encore possible en recette.
Jouer une première fois le scripts pour cibler la bon noeud
-----------------------------------------------------------
(Le script doit être lancé sur le noeud où les crons ne sont pas désactivés)
::
$ publik_dump/publik_dump.py tenantinfo node2.test.saas.entrouvert.org hobo-ac-versailles.test.entrouvert.org --update
Invalider les tenants
---------------------
Pour ne pas avoir les cron qui se jouent sur les 2 instances.
::
$ publik_dump/publik_dump.py invalidate_source node2.test.saas.entrouvert.org hobo-ac-versailles.test.entrouvert.org
Dump
----
(tenant + base de donnée)
::
$ publik_dump/publik_dump.py dump node2.test.saas.entrouvert.org hobo-ac-versailles.test.entrouvert.org
Restore
-------
::
$ publik_dump/publik_dump.py restore node2.test.saas.entrouvert.org hobo-ac-versailles.test.entrouvert.org --target node1.test-hds.saas.entrouvert --dbtarget sql3.test-hds.saas.entrouvert
Mise à jour des identifiant de connexion à la base de donnée de w.c.s.
----------------------------------------------------------------------
Modification du pickle config.pck :
::
$ scp publik_dump/adapt_wcs_config.py wcs.node1.test-hds.saas.entrouvert:.
$ ssh wcs.node1.test-hds.saas.entrouvert
$ sudo -u wcs ./adapt_wcs_config.py /var/lib/wcs/demarches-ac-versailles.test.entrouvert.org.invalid/config.pck --host test-hds.saas.entrouvert.clusters.entrouvert.org --password XXX
Remarque, ici on peut tester la connexion :
::
$ ssh wcs.node1.test-hds.saas.entrouvert
$ psql -U wcs -h test-hds.saas.entrouvert.clusters.entrouvert.org
Mot de passe pour l'utilisateur wcs : XXX
et aussi que tout va bien côté wcs :
::
$ sudo -u wcs wcs-manage shell -d demarches-ac-versailles.test.entrouvert.org.invalid
Mise à jour des identifiant de connexion à la BD et du dsn sentry de wcs-olap
-----------------------------------------------------------------------------
Modification de wcs-olap.ini :
::
$ ssh bijoe.node1.test-hds.saas.entrouvert
$ sudo -u bijoe vi /var/lib/bijoe/tenants/statistiques-ac-versailles.test.entrouvert.org.invalid/wcs-olap.ini
...
pg_dsn = dbname='bijoe' host='test-hds.saas.entrouvert.clusters.entrouvert.org' password='YYY'
[sentry]
dsn = https://39e69f265d6d41adbba9cbdd9f1d4573@sentry.entrouvert.org/6
environment = test
...
Remarque, ici on peut tester la connexion et l'import :
::
ssh bijoe.node1.test-hds.saas.entrouvert
psql -U bijoe -h test-hds.saas.entrouvert.clusters.entrouvert.org
Mot de passe pour l'utilisateur bijoe : YYY
bijoe=> set search_path="statistiques_ac_versailles_test_entrouvert_org"
bijoe=> \d
bijoe=> select * from auth_user;
Valider les tenants cibles
--------------------------
Cela va également rétablir les crons.
::
$ publik_dump/publik_dump.py validate_target node2.test.saas.entrouvert.org hobo-ac-versailles.test.entrouvert.org --target node1.test-hds.saas.entrouvert
Rejouer les migrations Passerelle
---------------------------------
Parce qu'il y a les deux connecteurs mdph13 et rsa13 en plus sur
l'HDS, qui ne sont pas déployé sur le SaaS.
::
$ ssh passerelle.node1.test-hds.saas.entrouvert
$ sudo -u passerelle passerelle-manage migrate_schemas -v2
Modifier les DNS
----------------
Retirer la redirection haproxy du SaaS
--------------------------------------