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]
> <javascript:>> 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] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> 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.
For more options, visit https://groups.google.com/d/optout.