0
を使用してSELinux
が有効になっているかどうかをチェックしていない場合は有効にしています。 SELinux
を有効にするplay
は、SELinux
が無効の場合にのみ呼び出さなければなりません。別のプレイの出力に基づいて別のプレイを呼び出す - 可能
playbook
はそうのようになります。私はこれを実行すると
- 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
は、タスクenableSELinux
は、「条件チェックが失敗しました」という理由で失敗します。出力は次のとおりです。
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}
私の質問:
1.これは、他のゲームからの出力に応じて実行するためのプレーを取得するための正しい方法は何ですか?
2.これを動作させるにはどうすればよいですか?