Hi Petros,

Seems you are asking a bit of a different question....

I don't particularly like this suggested approach because it conflates two
very different concepts - prompting with setting variables, in one line
that is hard to read.  Also, ansible only accepts *one* value for each
argument, so specifying prompt twice is weird, and specifying the name of
the variable in the prompt string is very un-ansible-like as well.

Two, it sounds like what you really would want is a new action plugin
called "prompt", which I would be open to, which would look a lot like the
source to pause.py

- prompt: var="foo" message="foo?"
- prompt: var="spork" message="Sporks are cool?"
- set_fact: combined="{{ foo }}-{{ spork }}"

On Wed, Sep 10, 2014 at 7:12 AM, Petros Moisiadis <[email protected]> wrote:

>  On 09/10/14 07:57, Tiglath wrote:
>
>
>
> On Tuesday, September 9, 2014 3:17:29 PM UTC-4, Michael DeHaan wrote:
>>
>> Ansible plays are hashes, they are a collection of attributes.
>>
>>  Tasks are an ordered list.
>>
>>  Thus including "vars_prompt" ahead or behind "tasks" makes no
>> difference.
>>
>>  vars_prompt happens before the current play runs, every time.
>>
>>  You can solve this problem by stopping the current play, starting a new
>> one with a vars_prompt in it, and then continuing, since a playbook can
>> contain multiple plays in a single file.
>>
>>
> Many thanks.   I apologize but I am not proficient enough to know what you
> mean exactly.
>
> Something like this?
>
>
> ---
>
> - name: play 1
>   hosts: myhost
>   task:
>        -name task1
>          debug: msg='111111'
>
> - name: play 2
>   hosts: myhost
>   vars_prompt:
>        yesno: 'Yes or No (y/n): '
>
>
> - name: play 3
>   hosts: myhost
>   task:
>        -name task2
>          debug: msg='YesNo = {{ yesno }}'
>
>
>
>
>
>
>>
>> On Tue, Sep 9, 2014 at 1:25 PM, Tiglath <[email protected]> wrote:
>>
>>>
>>>
>>> My test playbook for the flow I want is shown below:
>>>
>>> I want some work done, then prompt the user, then more work, a pause,
>>> and the end.
>>>
>>> The thing is that the prompt comes up even before gathering facts, not
>>> as suggested by its placement in the playbook.
>>>
>>> Can the prompting be done between tasks?
>>>
>>> Thanks
>>>
>>>
>>>
>>>
>>> ---
>>>
>>> hosts: "{{ target }}"
>>>
>>> tasks:
>>>
>>>       - name: boo
>>>
>>>         debug: msg="vars {{ inventory_hostname }} , env {{ env }} op {{
>>> op }} rel {{ rel }}"
>>>
>>>       - name: build the release
>>>
>>>         debug: msg="building"
>>>
>>>       - name: installing/updating
>>>
>>>         debug: msg="installing"
>>>
>>>
>>>
>>> hosts: "{{ target }}"
>>>
>>>       vars_prompt:
>>>
>>>       ltvup: "Is the app up on {{ target }} ? (y/n): "
>>>
>>>       tasks:
>>>
>>>            - name: Stop app
>>>
>>>              debug: msg="the server is {{ ltvup }}"
>>>
>>>            - name: postinstall
>>>
>>>              debug: msg="post"
>>>
>>>            - name: wait
>>>
>>>              pause: prompt="Have admins do sudo blah blah blah"
>>>
>>>   cleanup tasks here.
>>>
>>>
>>>
>>>
>>>
>>>
>>>   --
>>> 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/e78ba643-6db5-4ffb-9af5-
>>> ab90daf811d7%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/e78ba643-6db5-4ffb-9af5-ab90daf811d7%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>   --
> 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/feccf0a0-efb5-4eb6-8f34-81e09800c3c2%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/feccf0a0-efb5-4eb6-8f34-81e09800c3c2%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
> I think it could be useful if 'set_fact' (and 'set_global' if it is
> implemented) were extended to take a special 'prompt' parameter that would
> make it easy for asking for user input at whatever step of a deployment
> process.
>
> E.g.:
> - set_fact: prompt="somevar:Enter your value" prompt="anothervar:Enter
> another value"  combined_fact="{{ somevar }} - {{ anothervar }}"
>
> What do you think?
>
>

-- 
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/CA%2BnsWgwLsaMeKfvPtYZdSFTbQ-FS%2BcDaZ4aZ1apwe%2BU7WitmCA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to