How to let ansible answer "yes" to everything sendmailconfig asks How to let ansible answer "yes" to everything sendmailconfig asks bash bash

How to let ansible answer "yes" to everything sendmailconfig asks


Just use the yes shell utility,

yes 'y' | <command-name>#    ^^The repeated string being 'yes' as the OP had asked.

From the man page,

NAME       yes - output a string repeatedly until killedSYNOPSIS       yes [STRING]...       yes OPTIONDESCRIPTION       Repeatedly output a line with all specified STRING(s), or 'y'.


Basically, you would need to perform two tasks: update hosts and run sendmailconfig.Note: If you are running Ansible 2.5.0 you might need to install the pexpect module on the remote host, so include this task into your tasks file. For example:

- name: Update hosts  lineinfile:    path: /etc/hosts    regexp: '^127\.0\.0\.1'    line: '127.0.0.1 localhost   {{ ansible_host }}'    owner: root    group: root    mode: 0644- name: Install pexpect module  raw: sudo apt-get -y install python-pexpect- name: Configure sendmail  expect:    command: sendmailconfig    responses:      Question:        - Configure sendmail with the existing /etc/mail/sendmail.conf? [Y]: y        - Configure sendmail with the existing /etc/mail/sendmail.mc? [Y]: y        - Reload the running sendmail now with the new configuration? [Y]: y    timeout: 30