43.8. Garantir l'absence de groupes d'hôtes IdM à l'aide de playbooks Ansible
Cette section décrit comment garantir l'absence de groupes d'hôtes dans la gestion des identités (IdM) à l'aide des playbooks Ansible.
Sans Ansible, les entrées de groupes d'hôtes sont supprimées de l'IdM à l'aide de la commande ipa hostgroup-del
. Le résultat de la suppression d'un groupe d'hôtes de l'IdM est l'état du groupe d'hôtes absent de l'IdM. En raison de la dépendance d'Ansible à l'idempotence, pour supprimer un groupe d'hôtes d'IdM à l'aide d'Ansible, vous devez créer un playbook dans lequel vous définissez l'état du groupe d'hôtes comme étant absent : state: absent.
Conditions préalables
- Vous connaissez le mot de passe de l'administrateur IdM.
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
Créez un fichier d'inventaire, par exemple
inventory.file
, et définissez-yipaserver
avec la liste des serveurs IdM à cibler :[ipaserver] server.idm.example.com
Créez un fichier playbook Ansible avec les informations nécessaires sur le groupe d'hôtes. Pour simplifier cette étape, vous pouvez copier et modifier l'exemple dans le fichier
/usr/share/doc/ansible-freeipa/playbooks/user/ensure-hostgroup-is-absent.yml
.--- - name: Playbook to handle hostgroups hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - Ensure host-group databases is absent ipahostgroup: ipaadmin_password: "{{ ipaadmin_password }}" name: databases state: absent
Ce playbook garantit l'absence du groupe d'hôtes databases dans l'IdM. Le
state: absent
signifie une demande de suppression du groupe d'hôtes de l'IdM, à moins qu'il ne soit déjà supprimé.Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hostgroup-is-absent.yml
Verification steps
Connectez-vous à
ipaserver
en tant qu'administrateur :$ ssh admin@server.idm.example.com Password: [admin@server /]$
Demander un ticket Kerberos pour l'administrateur :
$ kinit admin Password for admin@IDM.EXAMPLE.COM:
Afficher des informations sur le groupe d'hôtes dont vous avez assuré l'absence :
$ ipa hostgroup-show databases ipa: ERROR: databases: host group not found
Le groupe d'hôtes databases n'existe pas dans IdM.