So, here's the full site.yml file. If I dont input a revision number (I hit
enter at the prompt), it throws the error message as expected BUT it also
executes the role. I want it to bomb out w/ the error msg and not continue.
---
- hosts: webservers
user: deployment
# serial: 1
vars_prompt:
- name: "revision_no"
prompt: "Input revision number"
private: no
vars_files:
- "group_vars/deploy_list"
tasks:
- name: Checking for required variables
fail: msg="Playbook execution failed - 'revision_no' is required!"
when: not revision_no
roles:
- { role: web, when: revision_no is defined }
On Monday, May 5, 2014 1:19:05 PM UTC-4, Garrett Plasky wrote:
>
> There may be a better way to do this but I solved the problem by having a
> separate task initially that verifies the variable is set and fails the
> play if not (via the fail module).
>
> - name: Checking for required variables
> fail: msg="Playbook execution failed - 'revision_no' is required!"
> when: not revision_no
>
> If you don't want the play to outright fail, you could replace the fail
> module with something like debug.
>
> On Monday, May 5, 2014 7:58:27 AM UTC-7, Samnang Sen wrote:
>>
>> That last line is supposed to read "revision_no is defined"
>>
>> On Monday, May 5, 2014 10:53:54 AM UTC-4, Samnang Sen wrote:
>>>
>>> Let's say I ask for a revision_no from the user. If the user doesn't
>>> input a value, I would like to display a custom message. Right now ansible
>>> shows a bunch of "skipping" message, but I know my users would want to know
>>> why it skipped.
>>>
>>> - hosts: webservers
>>> user: deployment
>>> # serial: 1
>>>
>>>
>>> vars_prompt:
>>> - name: "revision_no"
>>> prompt: "Input revision number"
>>> private: no
>>>
>>> vars_files:
>>> - "group_vars/deploy_list"
>>>
>>> roles:
>>> - { role: web, when: revision_no is not defined }
>>>
>>>
--
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/efad2eb5-9e3a-4ce4-8ec0-37329073849f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.