registering a variable isn't meant to be skipped, it works as designed. If you 
want to build something like this you'll have to register different variables, 
and then use set_vars to create the output one

Adrian Paraschiv <[email protected]> napisał:
> 
>
>I have a role that I need to use for more values. For each task within
>the 
>role I register a variable: checkdeps (it's the same for all tasks
>within 
>this role - during a run it always has at least one value/output - I
>need 
>it like this because the path differs "/opt/play/apps/default-ace", 
>"default-device" etc.) and in the end I do an echo to view the output
>of 
>checkdeps.stdout. 
>
>Below I've put one task that will output ok and one that will
>intentionally 
>will be skipped. If I use the parameter dep: APK_PARSER in the playbook
>
>what it does is: first checkdeps registers the output and in the second
>
>task the value of checkdeps is replaced with nothing! Even though the
>task 
>is skipped due to no matching dep parameter. 
>
>Why does the value of checkdeps is replaced if the condition is not met
>?
>
>- name: "output ok"
>  shell: "cd /opt/play/apps/default-ace && play deps {{ dep }}"
>  register: checkdeps
>  when: "dep == \"APK_PARSER\""
>
>- name: "example to skip"
>  shell: "cd /opt/play/apps/default-device && play deps {{ dep }}"
>  register: checkdeps
>  when: "dep == \"I\" or dep == \"II\""
>
>- name: "echo ok if Done!"
>  shell: "echo \"OK - {{ dep }} Dependencies {{ checkdeps.stdout }}\""
>
>And it gives me error: 
>
>One or more undefined variables: 'dict' object has no attribute
>'stdout'
>
>I've modified the last line without the stdout:
>
>shell: "echo \"OK - {{ dep }} Dependencies {{ checkdeps }}\""
>
>and it gives the output:
>
>stdout:
>OK - APK_PARSER Dependencies {u'skipped': True, u'changed': False}
>
>did the variable checkdeps register the "skipping: [...]" ? Why it is 
>changing it's value if the condition is not met ?
>
>-- 
>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/2c5e1ae5-c6bc-45c0-b442-6050c37fd997%40googlegroups.com.
>For more options, visit https://groups.google.com/d/optout.

-- 
Wysłane za pomocą K-9 Mail.

-- 
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/176bfe65-9e10-4ec0-9039-d5decbb5d333%40email.android.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to