You are welcome, though that particular reply about new set_fact syntax was
for Petros :)

The other was for you though :)



On Wed, Sep 10, 2014 at 11:05 AM, Tiglath <[email protected]> wrote:

>
> On Wednesday, September 10, 2014 8:33:51 AM UTC-4, Michael DeHaan wrote:
>>
>> Hi Petros,
>>
>
> I'm Joseph, actually.
>
> Gratitude for all your replies.
>
>
>
>>
>> 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/6cfb967e-5446-4e2c-9c33-3c09c80ccae2%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/6cfb967e-5446-4e2c-9c33-3c09c80ccae2%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/CA%2BnsWgwJa%2B8d2p6JsAy7wg7RwqHDJ7hW5xOfzx1o_S5_vTdExw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to