Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3

...

Exploitation : Procédures particulières

 

Se connecter en admin via la CLI Heroku à l'appli de prod du GrAM2

 

Bloc de code
themeEmacs
language

...

bash
heroku run rails console --app gram-api-2


 

Gestion des Comptes

 

Création de compte GrAM

 

Pour les comptes existants sur le site Soce mais n'ayant pas de compte GrAM (1 ou 2, sachant que le CAS est relié au GrAM1 donc si pas de GrAM1 pas de CAS, et que le GrAM1 est "esclave" du GrAM2 donc les création doivent être effectuées sur le GrAM2 qui lui va créer les comptes GrAM1...).

Ces comptes spécifiques (dans notre cas) possèdent un ID SOCE et un UUID mais pas de HRUID.

Se rendre sur la fiche du compte Soce, et noter les éléments suivants : Prénom, Nom, ID SOCE sans checksum (la lettre), UUID

Il faudra de plus choisir un password (avec les minimum requis : 8 caractères mini, MAJ+minuscule+chiffre, etc...), et adapter le HRUID (prenom.nom.XXXX (année de promo) ou bien prenom.nom.ext pour les externes ou bien prenom.nom.associe pour les associés)

Bloc de code
themeEmacs
languageruby
MasterData::Account.new(firstname: "Prenom", lastname: "Nom", id_soce: "XXXXXX", password: "Passw0rd", hruid: "prenom.nom.XXXX", uuid: "XXX-YYY-XXXXXX-YYYYYY.....").save!

 

Méthodes de tests et vérifications :

  • Modifier / renseigner le HRUID sur la fiche du compte Soce, valider, puis effectuer une modification sur la fiche (ou bien saisir un espace dans le champs "A propos de moi :") et sauvegarder. Cela lance la synchro vers le GrAM(2)
  • Se connecter à l'interface d'admin et vérifier les informations.
  • Si possibilité, vérifier également sur le LDAP / GrAM1 ou bien tenter une connexion via le CAS

 

Créations multiples de compte GrAM

Champs requis : Prénom, Non, ID SOCE sans checksum, HRUID et UUID

Saisir les commandes suivantes en console Ruby :

 

Bloc de code
themeEmacs
languageruby
require 'securerandom'


accounts = [
['Prénom1', 'Nom1', 'IDSOCE1', 'hruid1', 'uuid1'],
['Prénom2', 'Nom2', 'IDSOCE2', 'hruid2', 'uuid2'],
['Prénom3', 'Nom3', 'IDSOCE3', 'hruid3', 'uuid3']
]

accounts.each do |account|
  MasterData::Account.new(
    firstname: account[0], 
    lastname: account[1], 
    id_soce: account[2], 
    password: SecureRandom.hex(13), 
    hruid: account[3], 
    uuid: account[4]).save!
end

Suppressions multiples de comptes via Ruby

 

Si besoin de supprimer un grand nombre de comptes (par exemple comptes en doublons), exemple de requête en Ruby :

Bloc de code
themeEmacs
languageruby
hruids=["HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo"]

MasterData::Account.where(hruid: hruids).destroy_all


Gestion des Alias

Suppressions multiples d'alias via Ruby

Si besoin de supprimer des alias d'un (ou plusieurs) compte :

 

Bloc de code
themeEmacs
languageruby
names=["123456","123456A"]

MasterData::Alias.where(name: names).destroy_all

...

Bloc de code
themeEmacs
languageruby
MasterData::Alias.new(account_id: 12345, name: "123456").save!

...


Forcer synchro

 

Forcer synchro gram2 -> gram1(ldap)

 

depuis gram-api-2 :

 

Bloc de code
themeEmacs
languageruby
LdapDaemon.new.request_account_update(MasterData::Account.find_by(uuid:'TON_UUID'))

 

Forcer synchro gram2 -> gorgmail

 

depuis gorgmail :

 

...

Bloc de code
themeEmacs
languageruby
User.find_by_uuid("uuid...").update_from_gram

 

Si les synchronisations échouent, il faut accéder aux logs (Accéder aux logs d'une application Heroku) et filtrer par le hruid, le uuid ou bien avec le terme "Completed 422 Unprocessable Entity" (qui indique que la synchro Soce->GrAM2 échoue)

Info
titleAstuces

Penser à checker l'adresse mail (elle doit être unique) : la synchro échoue si un autre compte GrAM2 utilise la même adresse mail...

 

Contenu par étiquette
titleArticles connexes
labelsdocumentation, labels

...