[Ansible] Ajouter une condition when os family au playbook

 

Ajouter une condition when os family au playbook ansible
Article original Publié le : 02 octobre 2020
Mise a jour le :

 

Utiliser l’argument when os family pour jouer les instructions du playbook selon l’os

Ce playbook avait pour but de stopper le service ossec et de désactiver son démarrage automatique,
l’occasion d’utiliser cette condition et aussi d’utiliser la possibilité de passer par un bastion pour atteindre les machines.

 

Le playbook se trouve sur github

Structure du dossier

.
├── inventories
│   ├── bastion
│   └── hosts
├── playbook_ossec.yml
└── README.md

 

Fichier bastion contient l’instruction pour le rebond, changer la valeur hostbastion et le port

$ vim inventories/bastion
$ ansible_ssh_common_args: "-o ForwardAgent=yes -o ProxyCommand='ssh -o StrictHostKeyChecking=no -W %h:%p -q hostbastion -p2222'"

 

Fichier hosts contient l’inventaire des machines

$ vim inventories/hosts
[all]
host1
host2
host3

 


Fichier playbook_ossec.yml

$ vim playbook_ossec.yml
---
- hosts: all 
  become: yes
  tasks:

  - name: désactivation du service centos 6
    service:
      name: "{{ item }}"
      enabled: no
    with_items:
      - ossec-hids

  - name: arret du service centos 6
    service:
      name: ossec-hids
      state: stopped
    when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and
      (ansible_distribution_major_version <= "6")

  - name: désactivation et arret du service centos 7
    service:
      name: ossec-hids
      state: stopped
      enabled: False      
    when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and
      (ansible_distribution_major_version <= "7")

 

Fichier README.md

Sur un environnement sans bastion exécuter la commande

$ ansible-playbook -i inventories/hosts playbook_ossec.yml -K

Sur un environnement avec bastion exécuter la commande

$ ansible-playbook -i inventories/hosts playbook_ossec.yml -e '@inventories/bastion' -K

 

PLAY [all] *************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************
ok: [192.168.3.225]
ok: [192.168.3.224]

TASK [désactivation du service centos 6] *******************************************************************************************************
changed: [192.168.3.224] => (item=chronyd)
changed: [192.168.3.225] => (item=chronyd)

TASK [arret du service centos 6] ***************************************************************************************************************
skipping: [192.168.3.225]
changed: [192.168.3.224]

TASK [désactivation et arret du service centos 7] **********************************************************************************************
ok: [192.168.3.224]
changed: [192.168.3.225]

PLAY RECAP *************************************************************************************************************************************
192.168.3.224  : ok=4  changed=2  unreachable=0  failed=0  skipped=0  rescued=0    ignored=0   
192.168.3.225  : ok=3  changed=2  unreachable=0  failed=0  skipped=1  rescued=0    ignored=0

 

 

No votes yet.
Please wait...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.