3.3. Utiliser Ansible pour vérifier l'existence d'un accord de réplication entre deux répliques
Les données stockées sur un serveur de gestion des identités (IdM) sont répliquées sur la base d'accords de réplication : lorsque deux serveurs ont un accord de réplication configuré, ils partagent leurs données. Les accords de réplication sont toujours bilatéraux : les données sont répliquées de la première réplique vers l'autre et de l'autre réplique vers la première.
Cette section décrit comment vérifier que des accords de réplication existent entre plusieurs paires de répliques dans IdM.
Conditions préalables
- Assurez-vous de bien comprendre les recommandations relatives à la conception de votre topologie de gestion des identités (IdM), énumérées à la section Connexion des répliques dans une topologie.
-
Vous connaissez le mot de passe de l'IdM
admin
. Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :
- Vous utilisez la version 2.8 ou ultérieure d'Ansible.
-
Vous avez installé le paquetage
ansible-freeipa
sur le contrôleur Ansible. - L'exemple suppose que dans le répertoire ~/MyPlaybooks/ vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM.
-
L'exemple suppose que le coffre-fort secret.yml Ansible stocke votre
ipaadmin_password
.
Procédure
Naviguez jusqu'à votre répertoire ~/MyPlaybooks/ répertoire :
$ cd ~/MyPlaybooks/
Copiez le fichier
check-topologysegments.yml
Ansible playbook situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/topology/
:$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml
-
Ouvrez le fichier
check-topologysegments-copy.yml
pour le modifier. Adaptez le fichier en définissant les variables suivantes dans la section
vars
:-
Fixer la variable
ipaadmin_password
au mot de passe de l'IdMadmin
. Pour chaque segment topologique, ajoutez une ligne dans la section
ipatopology_segments
et définissez les variables suivantes :-
Définissez la variable
suffix
àdomain
ouca
, en fonction du type de segment que vous ajoutez. -
Définissez la variable
left
avec le nom du serveur IdM que vous voulez être le nœud gauche de l'accord de réplication. -
Définissez la variable
right
avec le nom du serveur IdM que vous voulez être le nœud droit de l'accord de réplication.
-
Définissez la variable
-
Fixer la variable
Dans la section
tasks
du fichiercheck-topologysegments-copy.yml
, assurez-vous que la variablestate
est fixée àpresent
.Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Add topology segments hosts: ipaserver gather_facts: false vars: ipaadmin_password: "{{ ipaadmin_password }}" ipatopology_segments: - {suffix: domain, left: replica1.idm.example.com, right: replica2.idm.example.com } - {suffix: domain, left: replica2.idm.example.com , right: replica3.idm.example.com } - {suffix: domain, left: replica3.idm.example.com , right: replica4.idm.example.com } - {suffix: domain+ca, left: replica4.idm.example.com , right: replica1.idm.example.com } vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Check topology segment ipatopologysegment: ipaadmin_password: "{{ ipaadmin_password }}" suffix: "{{ item.suffix }}" name: "{{ item.name | default(omit) }}" left: "{{ item.left }}" right: "{{ item.right }}" state: checked loop: "{{ ipatopology_segments | default([]) }}"
- Enregistrer le fichier.
Exécutez le playbook Ansible. Spécifiez le fichier du livre de jeu, le fichier contenant le mot de passe protégeant le fichier secret.yml et le fichier d'inventaire :
$ ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.yml
Ressources supplémentaires
- Pour plus d'informations sur le concept d'accords, de suffixes et de segments de topologie, voir Explication des accords de réplication, des suffixes de topologie et des segments de topologie.
-
Voir le fichier
README-topology.md
dans le répertoire/usr/share/doc/ansible-freeipa/
. -
Voir les exemples de playbooks dans le répertoire
/usr/share/doc/ansible-freeipa/playbooks/topology
.