Ansible
Ansible 任務創建選項問題
我想編寫一個 Ansible 劇本以僅在不存在特定包時安裝包,因此當
/tmp/hosted
文件存在時安裝不應繼續,但它失敗了:--- - hosts: all sudo: yes tasks: - name: Ensure NTP (for time synchronization) is installed. yum: name=ntp state=present args: creates: "/tmp/hosted"
錯誤:
[root@ns0 ansible]# ansible-playbook creates.yml -l ansi2 [DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method is 'sudo' (default). This feature will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. PLAY [all] *********************************************************************************************************************************************** TASK [Gathering Facts] *********************************************************************************************************************************** ok: [ansi2] TASK [Ensure NTP (for time synchronization) is installed.] *********************************************************************************************** fatal: [ansi2]: FAILED! => {"changed": false, "failed": true, "msg": "Unsupported parameters for (yum) module: creates. Supported parameters include: conf_file,disable_gpg_check,disablerepo,enablerepo,exclude,install_repoquery,installroot,list,name,skip_broken,state,update_cache,validate_certs"} to retry, use: --limit @/etc/ansible/creates.retry PLAY RECAP *********************************************************************************************************************************************** ansi2 : ok=1 changed=0 unreachable=0 failed=1
這將起作用
--- - hosts: all become: yes tasks: - name: Check existence of /tmp/hosted shell: test -e /tmp/hosted register: hostedfile ignore_errors: yes - name: Ensure NTP (for time synchronization) is installed. yum: name=ntp state=present when: hostedfile.rc != 0