From 60e78f033b8c367624deb59d7f611e2a20b3d259 Mon Sep 17 00:00:00 2001 From: Nicolas ROCHE Date: Fri, 29 Apr 2022 13:47:54 +0200 Subject: [PATCH] publik_dump: update README --- publik-dump/README | 62 ----------------- publik-dump/README.rst | 149 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+), 62 deletions(-) delete mode 100644 publik-dump/README create mode 100644 publik-dump/README.rst diff --git a/publik-dump/README b/publik-dump/README deleted file mode 100644 index 366b255..0000000 --- a/publik-dump/README +++ /dev/null @@ -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 \ No newline at end of file diff --git a/publik-dump/README.rst b/publik-dump/README.rst new file mode 100644 index 0000000..07258e2 --- /dev/null +++ b/publik-dump/README.rst @@ -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 +--------------------------------------