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.

Reply via email to