I am either missing something simple or ran into a bug.
I have a playbook that passes variable to a role as follows:
roles:
- { role: test_role, var1: 'some string', var2: "{{ some_var }}", var3:
"{{ some_var2 }}" }
Now both some_var and some_var2 are set (verified with a debug before
this)
in the role I have the following:
- set_fact: var2 = "something"
when: var2 is not defined
- set_fact: var3 = "something"
when: var3 is not defined
- debug: "msg=' {{ var3 is not defined }} '"
- debug: "msg='{{ var2 }} {{ var3 }}'"
Now the output is as follows
TASK: [test_role | set_fact var2 = something] ***
skipping: [10.0.0.1]
TASK: [test_role | set_fact var3 = something] ***
ok: [10.0.0.1]
TASK: [test_role | debug msg=' True ']
***************************************
ok: [10.0.0.1] => {
"item": "",
"msg": " True "
}
TASK: [test_role | debug msg='{{var2}} {{var3}}'] ********
fatal: [10.0.0.1] => One or more undefined variables: 'var3' is undefined
So as you can see the var2 is passed through and is defined and so the
set_fact is skipped.
But var3 is not passed so the set_fact runs but it is still undefined
afterwards.
I have tried changing the order of the variables in the playbook, renaming
the variable and I always get the same problem. Anyone know what I'm
missing?
Thanks,
--
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/a4cf3094-9453-4de0-9cc9-ff1caee83d14%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.