I figured it out, not sure if this is valid.

roles:

  - { role: web, when: revision_no }
On May 7, 2014 5:22 PM, "Garrett Plasky" <[email protected]> wrote:

> I believe this is because variables set via vars_prompt are always defined.
>
> A workaround might be to set a default for revision_no and check it
> doesn’t match in your role, e.g.:
>
> vars_prompt:
>   - name: “revision_no"
>     prompt: "Input revision number”
>     default: “invalid”
>     private: no
>
> …..
>
> roles:
>   - { role: web, when: revision_no != “invalid” }
>
> I’ve not made extensive use of roles so it seems odd to me that a role
> would still execute when a failure is thrown but it must have something to
> do with Ansible’s order of execution.
>
> --
> Garrett Plasky
> Evernote Operations
>
> On Wednesday, May 7, 2014 at 2:02 PM, Samnang Sen wrote:
>
> 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 a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/JJWv3IWtWwU/unsubscribe.
> To unsubscribe from this group and all its topics, 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<https://groups.google.com/d/msgid/ansible-project/efad2eb5-9e3a-4ce4-8ec0-37329073849f%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 a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/JJWv3IWtWwU/unsubscribe.
> To unsubscribe from this group and all its topics, 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/F3F7ECA81A47421A8D9B376F3385BF01%40evernote.com<https://groups.google.com/d/msgid/ansible-project/F3F7ECA81A47421A8D9B376F3385BF01%40evernote.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/CAPTHpVRROGrG8mHq%3DRNw5dAs9N2f4VzZ9VYkp0tsp4mjgw_0_w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to