Ansible módulo “expect” com sudo?

1

Eu quero executar um script de instalação com o Ansible. O script do instalador solicita um número de respostas e requer que ele seja executado com privilégios de root.

Aqui está a essência da minha tarefa Ansible:

- expect:
  become: yes
  become_method: sudo
  command: "installer.bin"
  echo: yes
  responses:
    "Choose the appropriate installation or upgrade option.": "2"
    "Where should the software be installed?": "/opt/newsoftware/" 

Eu teria pensado que isso funcionaria, mas recebo o erro

fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "msg": "unsupported parameter for module: become_method"}

Se eu omitir "become_method", recebo este erro:

fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "msg": "unsupported parameter for module: become"}

Meu Ansible é a versão 2.1.1.0

    
por Mikkel 26.09.2016 / 17:36

1 resposta

4

Eu acho que você precisa escrever a tarefa como:

- expect:
  become: yes
  become_method: sudo
  args:
    command: "installer.bin"
    echo: yes
    responses:
      "Choose the appropriate installation or upgrade option.": "2"
      "Where should the software be installed?": "/opt/newsoftware/" 

Você pode omitir become_method .

    
por 26.09.2016 / 19:07