Ansible Task Cria opção de opção

3

Eu quero escrever um Playbook Ansible para instalar um pacote somente se um determinado não estiver presente, então quando a instalação atual do arquivo /tmp/hosted não deve continuar, mas está falhando:

---
 - hosts: all
   sudo: yes
   tasks:
   - name: Ensure NTP (for time synchronization) is installed.
     yum:  name=ntp state=present
     args:
      creates: "/tmp/hosted"

Erro:

[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
    
por Mohd 20.05.2017 / 14:47

1 resposta

2

Isso funcionará

---
- 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
    
por 20.05.2017 / 15:52

Tags