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" <gpla...@evernote.com> 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
> ansible-project+unsubscr...@googlegroups.com.
> To post to this group, send email to ansible-project@googlegroups.com.
> 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
> ansible-project+unsubscr...@googlegroups.com.
> To post to this group, send email to ansible-project@googlegroups.com.
> 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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
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