Vous regardez une version antérieure (v. /display/INFRA/Site+soce+%3A+descente+de+prod+vers+recette) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 16) afficher la version suivante »

Site Soce.fr : Procédure pour redescendre une version de la production vers la recette

Environnements :

 

OS, versions serveur web : Debian 7, Apache 2.2

Production : 

VM : hesykhia2 (hors LDAP)

Base SQL : prod_anakrys_gorg

URL : https://www.arts-et-metiers.asso.fr

Recette :

VM : pyracmon (hors LDAP)

Base SQL : int_anakrys_gorg

URL : https://recette.soce.fr

Étapes :

1- Manipulations bases SQL :

  • Vider les tables de la base actuelle de recette : int_anakrys_soce
  • Copier les tables de la base prod "prod_anakrys_soce" vers la base recette "int_anakrys_soce"

 

2- Manipulation bases Postgresql du grAM

 

Copier ce script, renseigner le login SSH et le lancer depuis un poste avec la toolbelt Heroku installée

#!/bin/bash
 
#CONF
ssh_host="hestia.gorgu.net"
ssh_login="PUT_YOUR_LOGIN_HERE"
ssh_path="~/tmp/${prod_gram_file_name}"
now=$(date "+%Y%m%d-%H%M%S")
rec_gram_file_name="rec_gram-${now}.sql"
prod_gram_file_name="gram-prod-data-${now}.sql"
 
#ACTION
echo "Sauvegarde de la base de recette du GrAM";
heroku run -a rec-gram-api-2 'pg_dump $DATABASE_URL -F c'> $rec_gram_file_name
 
echo "Dump des tables métiers du GrAM"
heroku run -a gram-api-2 'pg_dump $DATABASE_URL --no-acl --no-owner --clean -t "gram*" '> $prod_gram_file_name

echo "Envois des données sur le serveur SSH"
scp $prod_gram_file_name ${ssh_login}@${ssh_host}:${ssh_path}
 
echo "Copie des données sur la base de recette"
heroku run -a rec-gram-api-2 'scp ${ssh_login}@${ssh_host}:${ssh_path} ~/$prod_gram_file_name &&  pg_restore $DATABASE_URL --no-acl --no-owner ~/$prod_gram_file_name'
 
echo "Nettoyage du serveur SSH"
ssh ${ssh_login}@${ssh_host} "rm {ssh_path}"
 
echo "Nettoyage local"
rm $prod_gram_file_name

 

3- Réinitialisation du LDAP

 

  • vider le ldap : Via apache directory studio


  • relancer avec synchro totale avec la commande bash :

    heroku run -a rec-gram-api-2 'rails runner "MasterData::Account.find_each{|a|LdapDaemon.new.request_account_update(a)}"'

    Génère un message de synchro vers LDAP daemon pour chaque utilisateur.

4- Gorgmail

 

  • Reset via la commande : 

    heroku run -a rec-grog-mail 'rake db:migrate:reset && rake db:seed_recette'

    Drop la base de donnée, la reconstruit à partir des migrations (plus lents que de recharger le schéma mais ça assure d'avoir bien tout les sql qui sont ré-implémentés) puis charge les données d'initialisation de la recette

 

5- GoogleApps

 

  • Suppression de tous les comptes GApps

  • suppression de toutes les Id google apps dans le grAM


 

  • Aucune étiquette