Je suis en train d'utiliser Ansible
pour vérifier si SELinux
est activé (réglé sur Enforcing), et sinon, activez-le. Le play
pour activer SELinux
doit être appelé uniquement si SELinux
est désactivé.invoquons une autre « jeu » basé sur la sortie d'un autre jeu - Ansible
Le playbook
ressemble à ceci:
- hosts: all
# root should execute this.
remote_user: root
become: yes
tasks:
# Check if SELinux is enabled.
- name: check if selinux is enabled
tags: selinuxCheck
register: selinuxCheckOut
command: getenforce
- debug: var=selinuxCheckOut.stdout_lines
- name: enable selinux if not enabled already
tags: enableSELinux
selinux: policy=targeted state=enforcing
when: selinuxCheckOut.stdout_lines == "Enforcing"
- debug: var=enableSELinuxOut.stdout_lines
Quand je lance cela, la tâche enableSELinux
échoue avec la raison, « vérification conditionnelle a échoué ». La sortie est:
TASK [debug] *******************************************************************
task path: /root/ansible/playbooks/selinuxConfig.yml:24
ok: [localhost] => {
"selinuxCheckOut.stdout_lines": [
"Enforcing"
]
}
TASK [enable selinux if not enabled already] ***********************************
task path: /root/ansible/playbooks/selinuxConfig.yml:26
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional check failed", "skipped": true}
Mes questions:
1. Est-ce la bonne façon d'obtenir un jeu pour exécuter en fonction de la sortie d'un autre jeu?
2. Comment puis-je faire fonctionner cela?