Are all the tasks inside one playbook, or are different tasks in different
jobs in an ansible tower workflow?
Use set_fact for within-playbook, and set_stats for creating artifacts sent
back to ansible tower to be presented as extra_vars to downstream jobs in a
workflow.
For within-playbook:
- set_fact:
admin_host: "{{ ansible_nodename }}"
For downstream jobs in a workflow:
- set_stats:
data:
admin_host: "{{ ansible_nodename }}"
If you need both you can do both. An artifact created with set_stats in a
playbook cannot be used later in that same playbook as a variable. You have
to use set_fact for that.
For loading your file within the playbook or downstream
- name: Set authorized key took from file
become: yes
authorized_key:
user: root
state: present
key: "{{ lookup('file', '/git/cephprep/files/*' + admin_host +
'*/root/.ssh/id_rsa.pub')
}}"
NOTE that I broke up the file path and inserted the admin_host with "+"
which in Python (ansible runs on Python) will concatenate strings.
--
Walter Rowe, Chief
Infrastructure Service
Office of Information Systems Management
National Institute of Standards and Technology
US Dept of Commerce
On Thursday, July 28, 2022 at 12:58:11 PM UTC-4 [email protected] wrote:
> Just copy paste with the computer clipboard and not with eyeballs and
> fingers
>
>
>
> On Thu, 28 Jul 2022 at 18:53, boncalo mihai <[email protected]> wrote:
>
>> Not working unfortunately..:
>>
>> TASK [cephprep : Print facts]
>> ************************************************************************************************************************************************************************************
>> task path: /git/cephprep/tasks/keyprep.yml:19
>> ok: [ha01] => {
>> "ansible_facts[\"nodename\"]": "ha01"
>> }
>>
>> TASK [cephprep : Set authorized key took from file]
>> **************************************************************************************************************************************************************
>> task path: /git/cephprep/tasks/keyprep.yml:24
>> fatal: [ha01]: FAILED! => {"msg": "template error while templating
>> string: unexpected '~'. String: {{ lookup('file', '/git/cephprep/files/' ~
>> ~ '/root/.ssh/id_rsa.pub') }}"}
>> fatal: [ha02]: FAILED! => {"msg": "template error while templating
>> string: unexpected '~'. String: {{ lookup('file', '/git/cephprep/files/' ~
>> ~ '/root/.ssh/id_rsa.pub') }}"}
>> fatal: [ha03]: FAILED! => {"msg": "template error while templating
>> string: unexpected '~'. String: {{ lookup('file', '/git/cephprep/files/' ~
>> ~ '/root/.ssh/id_rsa.pub') }}"}
>>
>> On Thu, Jul 28, 2022 at 7:39 PM Dick Visser <[email protected]> wrote:
>>
>>> You can't stack moustaches
>>>
>>> On Thu, 28 Jul 2022 at 17:43, boncalo mihai <[email protected]> wrote:
>>>
>>>> I have a task with run_once:true , which must run only on the first
>>>> host and I need to use that hostname into a lookup file , something like
>>>> this:
>>>>
>>>> -
>>>>
>>>>
>>>> * name: Print facts debug: var: ansible_nodename register:
>>>> admin_host*
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *- name: Set authorized key took from file become: yes
>>>> authorized_key: user: root state: present key: "{{ lookup('file',
>>>> '/git/cephprep/files/{{ admin_host }}/root/.ssh/id_rsa.pub') }}"*
>>>>
>>>
>>> Try:
>>>
>>> * key: "{{ lookup('file', '/git/cephprep/files/' ~ admin_host ~
>>> '/root/.ssh/id_rsa.pub') }}"*
>>>
>>>
>>>
>>> --
>>> Sent from Gmail Mobile
>>>
>>> --
>>> 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/CAF8BbLaxe7Le-2Be1waxmzt%2BkSG38aMaduC1_5VAEU%2BPhRXVsA%40mail.gmail.com
>>>
>>> <https://groups.google.com/d/msgid/ansible-project/CAF8BbLaxe7Le-2Be1waxmzt%2BkSG38aMaduC1_5VAEU%2BPhRXVsA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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/CAOK917QcWPq1GiNpCtVzFx1Vd7zX_rhjTCqLmoSmfkYDr7ZXfA%40mail.gmail.com
>>
>> <https://groups.google.com/d/msgid/ansible-project/CAOK917QcWPq1GiNpCtVzFx1Vd7zX_rhjTCqLmoSmfkYDr7ZXfA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> Sent from Gmail Mobile
>
--
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/22658202-f108-4791-a68d-89e57ec44ab4n%40googlegroups.com.