Hi Team,

I have changed to standard jinja2 template , even then the error is same. 
It fails to find xvdb but it finds xvda2 . The syntax to extract UUID is 
same and both values are present in the ansible localhost -m setup command 
output . This playbook is running on localhost only.

```
UUID={{ ansible_facts['device_links']['uuids']['xvda2'][0] }}    /  {{ 
ansible_facts['mounts'][0].fstype }}  defaults 0 0
UUID_home={{ ansible_facts['device_links']['uuids']['xvdb'][0]  }}    /home 
 {{ ansible_facts['mounts'][0].fstype }}  defaults 0 0
UUID_var={{ ansible_facts['device_links']['uuids']['xvdc'][0]  }}    /var 
 {{ ansible_facts['mounts'][0].fstype }}  defaults 0 0
UUID_swap={{ ansible_facts['device_links']['uuids']['xvdd'][0] }}   swap 
 swap  defaults 0 0
```

Regards
Sachin Kumar

On Thursday, May 18, 2023 at 11:42:51 AM UTC+5:30 Sac Isilia wrote:

> Hi Team,
>
> The standard way to access is - 
> ansible_facts['device_links']['uuids']['xvdb'][0] . It works on existing 
> rhel 7 machine but it fails there. Also if the syntax is wrong it should 
> have failed at xvda2 line , the very first line of jinja2 template. WHy it 
> failed at second line ? That's strange . What should be the correct way to 
> extract uuid that works in jinja2 template.
>
> Regards
> Sachin Kumar
>
> On Thursday, May 18, 2023 at 11:24:48 AM UTC+5:30 Dick Visser wrote:
>
>> On Thu, 18 May 2023 at 03:14, Sac Isilia <[email protected]> wrote:
>>
>>> Hi Team,
>>>
>>> Below is the jinja template that I wrote that works fine on existing 
>>> RHEL 7 machine .
>>>
>>> ```
>>> UUID={{ 
>>> hostvars['localhost']['ansible_facts']['device_links']['uuids']['xvda2'][0] 
>>> }}    /  {{ ansible_facts['mounts'][0].fstype }}  defaults 0 0
>>>
>>
>>
>>
>>> UUID_home={{ 
>>> hostvars['localhost']['ansible_facts']['device_links']['uuids']['xvdb'][0] 
>>>  }}   
>>>
>>
>>
>>
>>  /home  {{ ansible_facts['mounts'][0].fstype }}  defaults 0 0
>>> UUID_var={{ 
>>> hostvars['localhost']['ansible_facts']['device_links']['uuids']['xvdc'][0] 
>>>  }}    /var  {{ ansible_facts['mounts'][0].fstype }}  defaults 0 0
>>> UUID_swap={{ 
>>> hostvars['localhost']['ansible_facts']['device_links']['uuids']['xvdd'][0] 
>>> }}   swap  swap  defaults 0 0
>>> ```
>>>
>>> It works fine on existing test RHEL 7 machine but it fails when I am 
>>> trying to run this template in our Jenkins job with below error.
>>>
>>> ```
>>> An exception occurred during task execution. To see the full traceback, 
>>> use -vvv. The error was: AnsibleUndefinedVariable: 'dict object' has no 
>>> attribute 'xvdb'
>>> ```
>>>
>>> I tried running ansible localhost -m setup and the above paths actually 
>>> exist and xvdb entry is also there. My main doubt is the playbook parsed 
>>> xvda2 line but fails at xvdb. Why? Below is the relevant output of ansible 
>>> setup command.
>>>
>>> ```
>>>
>>
>>
>> \"ansible_device_links\": {", 
>>>
>>
>> This is different from what you have in the template:
>>
>> hostvars['localhost']['ansible_facts']['device_links']
>>
>> Also are you sure this "Jenkins" is targeting the right host? That could 
>> be the problem. 
>>
>>
>>
>>
>>>     "            \"ids\": {}, ", 
>>>        "            \"labels\": {}, ", 
>>>        "            \"masters\": {}, ", 
>>>        \"uuids\": {", 
>>>           \"xvda2\": [", 
>>>                  \"87be522b-2b75-4150-879d-4ee109559f7e\"", 
>>>      ], ", 
>>>            \"xvdb\": [", 
>>>                 \"da750c25-cc98-4c2a-a5fe-24bbf42c210e\"", 
>>>      "                ], ", 
>>>      "      \"xvdc\": [", 
>>>      "                    \"c2d5f1dc-5840-40bf-9a54-bb8fb215fbec\"", 
>>>      "                ], ", 
>>>      "        \"xvdd\": [", 
>>>      "                    \"3b78b0ff-cc18-49ff-80b4-f21ca0a1234e\"", 
>>>     "                ]", 
>>>      "            }", 
>>>     "        }, ", 
>>> ```
>>>
>>> Please help me to resolve this 
>>>
>>> Regards
>>> Sachin Kumar
>>>
>>> -- 
>>> 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/52ff8092-399f-48ab-901a-228ce8c16c0cn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/52ff8092-399f-48ab-901a-228ce8c16c0cn%40googlegroups.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/8cfbcb1e-047f-4ac9-b3ab-d277dc9b2411n%40googlegroups.com.

Reply via email to