# Use of Nested Variables

**URL:** <https://forum.ansible.com/t/use-of-nested-variables/34629>\
**Category:** Ansible Project\
**Created:** [February 16, 2021, 1:24pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629 "2021-02-16T13:24:19Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 16, 2021, 1:24pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/1 "2021-02-16T13:24:19Z")

</div>

# Goal: When playbook / task is called.. use varibles set for specific host withing a group

/hosts.yml # site wide master ansible inentory  
all:  
children:

###### Physical HyperConverge Server Devices for environment

hci\_hosts: # Nodes for hosting VMs  
hosts:  
thor:  
vars:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: ens15f0  
ovs\_nic: enp8s0f1  
ovirt\_disk: ata-Samsung\_SSD\_850\_PRO\_512GB\_S250NXAGA15787L # ls -al /dev/disk/by-id/ |grep sdb  
data00\_disk: ata-WDC\_WDS100T2B0B-00YS70\_192490801828 # ls -al /dev/disk/by-id/ |grep sdc  
data01\_disk: ata-WDC\_WDS100T2B0B-00YS70\_19106A802926 # ls -al /dev/disk/by-id/ |grep sdd  
odin:  
vars:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: ens15f0  
ovirt\_disk: ata-Micron\_1100\_MTFDDAV512TBN\_17401F699137 # ls -al /dev/disk/by-id/ |grep sdb  
data00\_disk: ata-WDC\_WDS100T2B0B-00YS70\_183533804564 # ls -al /dev/disk/by-id/ |grep sdc  
data01\_disk: nvme-nvme.126f-4141303030303030303030303030303032343538-53504343204d2e32205043496520535344-00000001 # ls -al /dev/disk/by-id/ |grep nvme0n1  
…

#### Task: setup host networking and disk.. where each host is different .. so have to set individulized varibles

---

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 17, 2021, 1:36pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/2 "2021-02-17T13:36:53Z")

</div>

Any idea or help here

I see this concept is valid.[https://docs.ansible.com/ansible/latest/user\_guide/playbooks\_variables.html#referencing-nested-variables](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#referencing-nested-variables)

But for above example:

- debug: # this works to set variable for storage interface [https://docs.ansible.com/ansible/latest/collections/community/general/nmcli\_module.html](https://docs.ansible.com/ansible/latest/collections/community/general/nmcli_module.html)  
msg: “‘{{ inventory\_hostname }}s’ this should be hostname with s added such as thors”
- debug:  
msg: “{{ inventory\_hostname }} this should be hostname response of thor”
- debug:  
msg: “{{ inventory\_hostname.storage\_nic }} this should be response of ens15f0”
- debug:  
msg: “{{ ansible\_facts.storage\_nic }} I guess if ansible\_fact is a special ansible variable…this should be hostname response of ens15f0”

\<\< output\>

/cluster\_devops$ ansible-playbook hci\_deploy.yml --limit thor

PLAY [Ansible Pinging Host which validates SSH passwordless login] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
TASK [Gathering Facts] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*ok: [thor]

TASK [hci\_cluster : Copy a version of hosts file common for nodes to ignite cluster] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*ok: [thor]

TASK [hci\_cluster : debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*ok: [thor] =\>  
msg: ‘’‘thors’’ this should be hostname with s added such as thors’

TASK [hci\_cluster : debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*ok: [thor] =\>  
msg: thor this should be hostname response of thor

TASK [hci\_cluster : debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*fatal: [thor]: FAILED! =\>  
msg: |-  
The task includes an option with an undefined variable. The error was: ‘ansible.parsing.yaml.objects.AnsibleUnicode object’ has no attribute ‘storage\_nic’

The error appears to be in ‘/mnt/c/GitHub/penguinpages\_cluster\_devops/cluster\_devops/roles/task\_network\_hosts.yml’: line 63, column 3, but may  
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

msg: “{{ inventory\_hostname }} this should be hostname response of thor”

- debug:  
^ here

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*thor : ok=4 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [February 17, 2021, 2:06pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/3 "2021-02-17T14:06:46Z")

</div>

> Any idea or help here
> 
> I see this concept is  
> valid.[https://docs.ansible.com/ansible/latest/user\_guide/playbooks\_variables.html#referencing-nested-variables](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#referencing-nested-variables)
> 
> But for above example:
> 
> - debug: # this works to set variable for storage interface [https://docs.ansible.com/ansible/latest/collections/community/general/nmcli\_module.html](https://docs.ansible.com/ansible/latest/collections/community/general/nmcli_module.html)  
> msg: "'{{ inventory\_hostname }}s' this should be hostname with s added such as thors"  
> - debug:  
> msg: "{{ inventory\_hostname }} this should be hostname response of thor"  
> - debug:  
> msg: "{{ inventory\_hostname.storage\_nic }} this should be response of ens15f0"  
> - debug:  
> msg: "{{ ansible\_facts.storage\_nic }} I guess if ansible\_fact is a special ansible variable...this should be hostname response of ens15f0"

You don't show the task which uses nmlci\_module and provides storage\_nic information.

inventory\_hostname.storage\_nic is totally bogus as a string can't be a nested variable.

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke

---

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 17, 2021, 2:55pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/4 "2021-02-17T14:55:47Z")

</div>

Well. I was trying to keep it simple and just validate the variable call was valid before trying to use it in a task.

But task would be something along lines of:

- name: Get server storage IP address from /etc/hosts  
command: “grep ‘{{ inventory\_hostname }}s’ /etc/hosts | awk ‘{ print $1 }’”  
register: storage\_ip

- task: # Set Storage IP for host  
nmci:  
ipaddress: {{storage\_ip}}  
interface: {{ inventory\_hostname.storage\_nic }}  
mask: 24  
mtu: 9000

That is the hope it will work.

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [February 17, 2021, 3:03pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/5 "2021-02-17T15:03:57Z")

</div>

> Well. I was trying to keep it simple and just validate the variable call was valid before trying to use it in a task.
> 
> But task would be something along lines of:  
> - name: Get server storage IP address from /etc/hosts  
> command: "grep '{{ inventory\_hostname }}s' /etc/hosts | awk '{ print $1 }'"  
> register: storage\_ip

So the result of the command is stored in the variable storage\_ip and the output of the command  
is stored in storage\_ip.stdout (as string) and storage\_ip.stdout\_lines (list of output lines).

To show the result:

debug:  
&nbsp;&nbsp;&nbsp;var: storage\_ip

> - task: # Set Storage IP for host  
> nmci:  
> ipaddress: {{storage\_ip}}  
> interface: {{ inventory\_hostname.storage\_nic }}  
> mask: 24  
> mtu: 9000

So ipaddress might be {{ storage\_ip.stdout }}

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke

---

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 17, 2021, 3:45pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/6 "2021-02-17T15:45:09Z")

</div>

My issue is not getting the variable set of “storage\_ip”

But that I have to define variables in the global inventory file… That are unique to each host.

And when I run a playbook and it needs those variables… how do I get them.

Ex:

When I want to run a playbook for group “hci\_cluster” which then runs on three hosts…

First host is “thor”  
It has its 10Gb storage NIC as enp8s0f1

so when the playbook is running. use variable “hci\_cluster-\> thor-\>storage\_nic” to know to bind ip to enp8s0f1

But how do I use a nested variable ?

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [February 17, 2021, 4:05pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/7 "2021-02-17T16:05:04Z")

</div>

> My issue is not getting the variable set of "storage\_ip"
> 
> But that I have to define variables in the global inventory file.. That are unique to each host.
> 
> And when I run a playbook and it needs those variables.. how do I get them.
> 
> Ex:
> 
> When I want to run a playbook for group "hci\_cluster" which then runs on three hosts..
> 
> First host is "thor"  
> It has its 10Gb storage NIC as enp8s0f1
> 
> so when the playbook is running. use variable "hci\_cluster-\> thor-\>storage\_nic" to know to bind ip to enp8s0f1
> 
> But how do I use a nested variable ?

You don't need it. It should be present as "storage\_nic" variable given your inventory:

hosts:  
&nbsp;&nbsp;thor:  
&nbsp;&nbsp;&nbsp;&nbsp;vars:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;storage\_nic: ens15f0  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ovs\_nic: enp8s0f1

So please try to use {{ storage\_nic }}.

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke

---

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 17, 2021, 6:03pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/8 "2021-02-17T18:03:53Z")

</div>

I 100% agree with you. If I set a host variable … that should be read and take precedence from what I am reading.

…but that in lies the issue… it does not work…

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [February 17, 2021, 6:10pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/9 "2021-02-17T18:10:46Z")

</div>

> I 100% agree with you. If I set a host variable ... that should be read and take precedence from what I am reading.
> 
> ....but that in lies the issue.. it does not work....

This causes the error:

- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;msg: "{{ inventory\_hostname.{{ storage\_nic }} }} this should be NIC of thor for storage"

So you never reached:

- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;msg: "{{ storage\_nic }} this should be NIC of thor for storage"

You really need to try to understand what the error message clearly tells you.

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke

---

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 17, 2021, 6:15pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/10 "2021-02-17T18:15:37Z")

</div>

Ok.. same inventory file:

## one task..

- debug:  
msg: “{{ storage\_nic }} this should be NIC of thor for storage”

## output

cluster\_devops$ ansible-playbook hci\_deploy.yml --limit thor

PLAY [Ansible Pinging Host which validates SSH passwordless login] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
TASK [Gathering Facts] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*ok: [thor]

TASK [hci\_cluster : debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*fatal: [thor]: FAILED! =\>  
msg: |-  
The task includes an option with an undefined variable. The error was: ‘storage\_nic’ is undefined

The error appears to be in ‘/mnt/c/GitHub/penguinpages\_cluster\_devops/cluster\_devops/roles/task\_network\_hosts.yml’: line 78, column 3, but may  
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

# msg: “{{ inventory\_hostname[storage\_nic] }} this should be NIC of thor for storage”

- debug:  
^ here

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*thor : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

---

<div class="post-metadata">

**Author:** ![racke](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/racke/32/4767_2.png) [@racke](https://forum.ansible.com/u/racke)\
**Post date:** [February 17, 2021, 7:31pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/11 "2021-02-17T19:31:37Z")

</div>

> Ok.. same inventory file:
> 
> ## one task..  
> - debug:  
> msg: "{{ storage\_nic }} this should be NIC of thor for storage"

Please remove vars: from your inventory and run your task again.

hci\_hosts: # Nodes for hosting VMs  
&nbsp;&nbsp;hosts:  
&nbsp;&nbsp;&nbsp;&nbsp;thor:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;storage\_nic: ens15f0

Regards  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Racke

---

<div class="post-metadata">

**Author:** ![penguinpages](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/penguinpages/32/8179_2.png) [@penguinpages](https://forum.ansible.com/u/penguinpages)\
**Post date:** [February 17, 2021, 9:01pm UTC](https://forum.ansible.com/t/use-of-nested-variables/34629/12 "2021-02-17T21:01:55Z")

</div>

That was it!!!

Root cause:

Stanza of “var:” though valid.. and used by some in examples.. is NOT valid.

######Good: no “var” for hosts section but must have var for group…

all:  
children:

###### Physical HyperConverge Server Devices for environment

hci\_hosts: # Nodes for hosting VMs  
hosts:  
thor:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: ens15f0  
ovs\_nic: enp8s0f1  
odin:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: enp7s0f1  
vars:  
ansible\_ssh\_pass: “{{ vault\_ansible\_sudo\_password }}”  
thor\_storage\_nic: ens15f0

###### bad use of var: under host

hci\_hosts: # Nodes for hosting VMs  
hosts:  
thor:  
var:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: ens15f0  
ovs\_nic: enp8s0f1  
odin:  
var:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: enp7s0f1  
vars:  
ansible\_ssh\_pass: “{{ vault\_ansible\_sudo\_password }}”  
thor\_storage\_nic: ens15f0

############### BAD removal of var: from hci\_cluster group

hci\_hosts: # Nodes for hosting VMs  
hosts:  
thor:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: ens15f0  
ovs\_nic: enp8s0f1  
odin:  
mgmt\_nic: enp8s0f0 # Set in Kickstart OS install  
storage\_nic: enp7s0f1  
ansible\_ssh\_pass: “{{ vault\_ansible\_sudo\_password }}”  
thor\_storage\_nic: ens15f0

Meh… it works… don’t ask me 😛

Thanks for postings.
