Yes, had done that in the issue:
  https://github.com/ansible/ansible/issues/7057

Do you prefer it in the group in addition?

Jim

On Wednesday, April 23, 2014 5:58:09 AM UTC-7, Michael DeHaan wrote:
>
> When typing these up, please include an English description of what you 
> expect and what you get, and a short summary, otherwise it can be very 
> difficult to interpret the playbooks.
>
>
> On Fri, Apr 18, 2014 at 2:56 PM, Jim Kleckner 
> <[email protected]<javascript:>
> > wrote:
>
>> I realize now I should have sent this to the devel list.
>> Will send an issue and proposed patch.
>>
>> diff --git a/lib/ansible/callbacks.py b/lib/ansible/callbacks.py
>> index 1abfe68..cbfd315 100644
>> --- a/lib/ansible/callbacks.py
>> +++ b/lib/ansible/callbacks.py
>> @@ -643,7 +643,7 @@ class PlaybookCallbacks(object):
>>  
>>      def on_vars_prompt(self, varname, private=True, prompt=None, 
>> encrypt=None, confirm=False, salt_size=None, salt=None, default=None):
>>  
>> -        if prompt and default:
>> +        if prompt and default is not None:
>>              msg = "%s [%s]: " % (prompt, default)
>>          elif prompt:
>>              msg = "%s: " % prompt
>>
>>
>>
>> On Friday, April 18, 2014 11:41:24 AM UTC-7, Jim Kleckner wrote:
>>>
>>> See the input and output below for some oddity with vars_prompt.
>>>
>>> First, note that yes is being coerced to True but no results in a 
>>> missing default.
>>> Quoting it works around this at the expense of no longer being boolean.
>>>
>>> Second, would it make sense to have a boolean option to have vars_prompt 
>>> do the smart coercion of yes/no/true/false to boolean?
>>> I find that the result being a string requires pushing | bool down 
>>> through the code.
>>>
>>> Thanks, Jim
>>>
>>>
>>> ---
>>> - name: Default values of prompts
>>>   hosts: localhost
>>>   gather_facts: no
>>>   vars_prompt:
>>>     - name: yes_val_from_prompt
>>>       prompt: Test for boolean value - enter yes or no
>>>       default: yes
>>>       private: no
>>>     # Bug?  Why does the default value not get printed?
>>>     - name: no_val_from_prompt
>>>       prompt: Test for boolean value - enter yes or no
>>>       default: no
>>>       private: no
>>>     - name: yes_string_val_from_prompt
>>>       prompt: Test for boolean value - enter yes or no
>>>       default: "yes"
>>>       private: no
>>>     # Bug?  Why does the default value not get printed?
>>>     - name: no_string_val_from_prompt
>>>       prompt: Test for boolean value - enter yes or no
>>>       default: "no"
>>>       private: no
>>>   tasks:
>>>     - debug: var=yes_val_from_prompt
>>>     - debug: var=no_val_from_prompt
>>>     - debug: var=yes_string_val_from_prompt
>>>     - debug: var=no_string_val_from_prompt
>>>
>>>
>>> Results in:
>>>
>>>
>>> ansible-playbook -i inv test_prompt_no_default.yml 
>>>
>>> Test for boolean value - enter yes or no [True]:  
>>> Test for boolean value - enter yes or no:      <======= Missing default
>>> Test for boolean value - enter yes or no [yes]:  
>>> Test for boolean value - enter yes or no [no]:  
>>>
>>> PLAY [Default values of prompts] ******************************
>>> ****************  
>>>
>>> TASK: [debug var=yes_val_from_prompt] ******************************
>>> ***********  
>>> ok: [127.0.0.1] => { 
>>>     "yes_val_from_prompt": "True" <========== coerced to True
>>> } 
>>>
>>> TASK: [debug var=no_val_from_prompt] ******************************
>>> ************  
>>> ok: [127.0.0.1] => { 
>>>     "no_val_from_prompt": "" <======== Missing default
>>> } 
>>>
>>> TASK: [debug var=yes_string_val_from_prompt] 
>>> **********************************  
>>> ok: [127.0.0.1] => { 
>>>     "yes_string_val_from_prompt": "yes" <======= Not coerced to True 
>>> (asexpected
>>> )
>>> } 
>>>
>>> TASK: [debug var=no_string_val_from_prompt] 
>>> ***********************************  
>>> ok: [127.0.0.1] => { 
>>>     "no_string_val_from_prompt": "no" 
>>> } 
>>>
>>> PLAY RECAP ************************************************************
>>> ********  
>>>
>>> 127.0.0.1                  : ok=4    changed=0    unreachable=0   
>>>  failed=0   
>>>
>>>
>>>  -- 
>> 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/462b1836-ed1c-4173-8bae-800106ab8f7f%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/462b1836-ed1c-4173-8bae-800106ab8f7f%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/65983255-c93f-413e-902c-65ef2654d82a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to