Looks like this issue was fixed today:
https://github.com/ansible/ansible/pull/14755
On Tuesday, March 1, 2016 at 5:02:05 PM UTC-6, Slim Slam wrote:
>
> Looking at the code for the pause module:
>
> if seconds is not None:
> # setup the alarm handler
> signal.signal(signal.SIGALRM, timeout_handler)
> signal.alarm(seconds)
> # show the prompt
> display.display("Pausing for %d seconds" % seconds)
> display.display("(ctrl+C then 'C' = continue early, ctrl+C then 'A' =
> abort)\r"),
> else:
> display.display(prompt)
>
> Even if you only want pause to wait some amount of time, the module still
> expects STDIN to be available after prompting for ctrl+C.
>
> So, this worked:
>
> $ nohup ansible-playbook -vvvvvv build.yml 0</dev/null
>
> It keeps STDIN open but provides no input.
>
> On Tuesday, March 1, 2016 at 8:09:37 AM UTC-6, Slim Slam wrote:
>>
>> I guess I don't even understand why the Ansible "pause" module would care
>> about stdout.
>>
>> J
>>
>> On Monday, February 29, 2016 at 5:51:08 PM UTC-6, Slim Slam wrote:
>>>
>>> Ansible 2.0.1
>>>
>>> When I ssh into a Linux server and run:
>>>
>>> $ ansible-playbook -vvvvvv build.yml
>>>
>>> it runs fine.
>>>
>>> But if I ssh into the Linux server and run:
>>>
>>> $ nohup ansible-playbook -vvvvvv build.yml
>>>
>>> or
>>>
>>> $ ansible-playbook -vvvvvv build.yml > output &
>>>
>>> or
>>>
>>> $ nohup ansible-playbook -vvvvvv build.yml > nohup.out
>>>
>>> or
>>>
>>> $ nohup ansible-playbook -vvvvvv build.yml > nohup.out 2>&1 &
>>>
>>>
>>> it always fails on this task:
>>>
>>> - name: wait for something to happen
>>> pause: seconds=15
>>>
>>> Like this:
>>>
>>> TASK [wait for something to happen]
>>> **************************************************
>>> task path: /build.yml:94
>>> Pausing for 15 seconds
>>> (ctrl+C then 'C' = continue early, ctrl+C then 'A' = abort)
>>> An exception occurred during task execution. The full traceback is:
>>> Traceback (most recent call last):
>>> File "/usr/local/lib/python2.7/site-packages/ansible/executor/
>>> task_executor.py", line 120, in run
>>> res = self._execute()
>>> File "/usr/local/lib/python2.7/site-packages/ansible/executor/
>>> task_executor.py", line 418, in _execute
>>> result = self._handler.run(task_vars=variables)
>>> File "/usr/local/lib/python2.7/site-packages/ansible/plugins/action/
>>> pause.py", line 123, in run
>>> fd = self._connection._new_stdin.fileno()
>>> ValueError: I/O operation on closed file
>>> fatal: [localhost]: FAILED! => {"failed": true, "msg": "Unexpected
>>> failure during module execution.", "stdout": ""}
>>>
>>> I'm pretty sure it has something to do with STDOUT not being available
>>> but I'm not sure of the workaround. Anyone
>>> have a suggestion?
>>>
>>> ===
>>>
>>>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/beeb47c2-e452-49c1-8b09-bb48944fd33f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.