I'm deploying something with Ansible to a Linux host, and I need it to listen only on the second NIC on the host.
Looking at the facts available, I can see ansible_interfaces lists all of my NICs, e.g.
"ansible_interfaces": [
"lo",
"ens9f0",
"ens9f1"
]
I know that it's not lo, so I can discount that. And by looking at ansible_default_ipv4.alias, I can see that my primary is ens9f0.
In a play / playbook, how could I then work out that ens9f1 is the secondary ?
The use case for this is that I want to do something like the following in a template:
Listen {{ ansible_second_nic.ipv4.address }}
Each machine I work on may have different NIC names, so I can't hard-code these in my roles. Historically I would just assume eth1, but that's no longer safe.