やり方としてはこんな感じ。
- name: SELinuxの現状のステータスを確認し、結果を保存する
shell: getenforce ← ステータス確認コマンド
register: is_selinux_off ← 結果を「is_selinux_off」に保存
- name: Install libselinux-python
yum: name=libselinux-python state=installed
when: is_selinux_off.stdout == 'Enforcing' ← SELinuxのステータスが「Enforcing」だった場合は処理する
- name: disable selinux
selinux: state=disabled
when: is_selinux_off.stdout == 'Enforcing' ← 上と同様
- include: reboot.yml
when: is_selinux_off.stdout == 'Enforcing' ← 上と同様
registerにどういった内容が入っているのかを確認するにはこんな感じにするとよい。
- name: SELinuxの現状のステータスを確認し、結果を保存する
shell: getenforce
register: is_selinux_off
- debug: var=is_selinux_off
when: is_selinux_off
上記の実行結果の一部がこんな感じ。
TASK: [debug var=is_selinux_off] **********************************************
ok: [xwindow] => {
"is_selinux_off": {
"changed": true,
"cmd": "getenforce",
"delta": "0:00:00.003592",
"end": "2015-02-12 18:12:03.063290",
"invocation": {
"module_args": "getenforce",
"module_name": "shell"
},
"rc": 0,
"start": "2015-02-12 18:12:03.059698",
"stderr": "",
"stdout": "Enforcing",
"stdout_lines": [
"Enforcing"
],
"warnings": []
}
}