publik_dump: update README

This commit is contained in:
Nicolas Roche 2022-04-29 13:47:54 +02:00
parent 2db7812fed
commit 60e78f033b
2 changed files with 149 additions and 62 deletions

View File

@ -1,62 +0,0 @@
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 la source,
https://demarches-ac-versailles.test.entrouvert.org/backoffice/settings/postgresql
puis récupérer le mot de passe via l'inspecteur
* Récupérer les identifiant de connexion à la base de donnée 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.
* Recopier le certificat
* Redireger vers une page de travaux (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 config.pck sur w.c.s.
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/config.pck --host test-hds.saas.entrouvert.clusters.entrouvert.org --password XXX
* Mise à jour des identifiant de connexion à la base de donnée et du dsn sentry sur wcs-olap
ssh bijoe.node1.test-hds.saas.entrouvert
vi /var/lib/bijoe/tenants/statistiques-ac-versailles.test.entrouvert.org/wcs-olap.ini
...
pg_dsn = dbname='bijoe' host='test-hds.saas.entrouvert.clusters.entrouvert.org' password='yaingohqu4haeF0K'
[sentry]
dsn = https://39e69f265d6d41adbba9cbdd9f1d4573@sentry.entrouvert.org/6
environment = test
...
* Rejouer les migrations Passerelle
ssh passerelle.node1.test-hds.saas.entrouvert
sudo -u passerelle passerelle-manage migrate_schemas -v2
* Valider les tenants cibles
publik_dump/publik_dump.py validate_target node2.test.saas.entrouvert.org hobo-ac-versailles.test.entrouvert.org --target node1.test-hds.saas.entrouvert
* Modifier les DNS
* Retirer la redirection haproxy du SaaS

149
publik-dump/README.rst Normal file
View File

@ -0,0 +1,149 @@
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
--------------------------------------