So, I disqualified it because in Ansible 2.12, there is an ability to
define defaults for module collections, more on that here
<https://docs.ansible.com/ansible-core/devel/user_guide/playbooks_module_defaults.html#module-defaults-groups>
.
*In ansible-core 2.12, collections can define their own groups in
the meta/runtime.yml file. module_defaults does not take
the collections keyword into account, so the fully qualified group name
must be used for new groups in module_defaults.*
This means my playbook requires a value to begin with.
* module_defaults:*
* group/ns.col.session:*
* session_id: <VALUE>*
Now, if I'm going to use set_fact, this is what my playbook looks like.
*---*
*- hosts:*
* - localhost*
* vars:*
* session_fact:*
* module_defaults:*
* group/ns.col.session:*
* session_id: "{{ session_fact }}"*
* tasks:*
* - name: "SETTING VALUE FOR FACT session_fact"*
* set_fact:*
* session_fact: "MYSESSIONVALUE"*
* delegate_to: localhost*
* register: RESULT*
* - name: "MY MODULE 1"*
*ns.col.mymodule1* *:*
* param1: "val1"*
As you can see, I have to create a variable called *session_fact *, assign
it to the module default, at this point, its value is Null, then in the
first set_fact task, I assign it a proper value.
Now, it does work but I'm not sure if this is the cleanest approach, naming
a variable a fact.
Thanks
Dhiwakar
On Monday, October 25, 2021 at 1:39:54 PM UTC+5:30 [email protected] wrote:
> Use set_fact as the first task in the playbook.
> You disqualified that, but tbh I don't understand the reasoning behind
> that?
> Can you elaborate?
>
> On Mon, 25 Oct 2021 at 10:02, Dhiwakar Ravikumar <[email protected]>
> wrote:
>
>> Thank you, so from that reply, I'm assuming there isn't any viable
>> alternative ?
>>
>> On Monday, October 25, 2021 at 1:11:24 PM UTC+5:30 [email protected]
>> wrote:
>>
>>> If you must do this before anything else you could provide the value as
>>> a command line extra variable to ansible-playbook
>>>
>>> On Mon, 25 Oct 2021 at 07:00, Dhiwakar Ravikumar <[email protected]>
>>> wrote:
>>>
>>>> I'm trying to save the timestamp corresponding to when a playbook runs
>>>> in a variable.
>>>> I plan to use this variable across the playbook but I'm facing issues
>>>> particularly since
>>>>
>>>> the lookup plugin runs and generates a new value each time.
>>>> module_defaults:
>>>> group/ns.col.session:
>>>> session_id: "{{ lookup('pipe','date \"+%Y-%m-%d-%H%M\"') }}"
>>>>
>>>> The value is looked up at the time that it is needed
>>>>
>>>> I could use set_fact: but it only works inside of the tasks: block and
>>>> I'd like to set it to some value before any task can run i.e. right after
>>>> hosts.
>>>>
>>>> - hosts:
>>>> - localhost
>>>>
>>>> module_defaults:
>>>> group/ns.col.session:
>>>> session_id: .............
>>>>
>>>> How do I achieve this WITHOUT using set_fact OR without using the
>>>> lookup() ?
>>>> In other words, how to save or copy the value of a lookup to some
>>>> variable ?
>>>>
>>>> Thanks
>>>> Dhiwakar
>>>>
>>>> --
>>>> 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 view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/ansible-project/2a0329e7-541b-4f68-aa3e-5185b42d04efn%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/ansible-project/2a0329e7-541b-4f68-aa3e-5185b42d04efn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> Sent from a mobile device - please excuse the brevity, spelling and
>>> punctuation.
>>>
>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/a1294e55-8e2b-4ac4-a628-e6331ac454d8n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/a1294e55-8e2b-4ac4-a628-e6331ac454d8n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Dick Visser
> Trust & Identity Service Operations Manager
> GÉANT
>
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/27c13169-2987-4438-9614-352b210f5361n%40googlegroups.com.