wild card is not working for adapter_names in win_dns_client

Hi,

when wild card is used for adapter_names in win_dns_client to set DNS in windows machines, it is not recognizing the interface.

tasks:

  • name: Set DNS to Primary Domain Controller
    win_dns_client:
    adapter_names: ‘tap*’
    ipv4_addresses: ‘{{ ad_domain_server }}’

Following is the error.

TASK [Set DNS to Primary Domain Controller] ************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: at , : line 207
fatal: [X.X.X.X]: FAILED! => {“changed”: false, “msg”: “Unhandled exception while executing module: Invalid network adapter name: tap*”}

The documentation says wild card is supported and also given example for Ethernet*. When windows instances are provisioned in openstack or kvm using redhat virtio driver, it creates interface with tapxxx format.

Regards
Prakash

what ansible version are you running

ansible 2.9.6 on ubuntu 20.04

You proably need to fetch the adaptor name which you can do with Get-NetAdapter powershell command

https://docs.microsoft.com/en-us/powershell/module/netadapter/get-netadapter?view=win10-ps

then pass that to the module parameters.

Thank you. Yes. we can fetch using powershell.

I was wondering why wild card support given in the documentation is not working. Now I am able to use ‘*’ like given in the first example below and it works. But the second example given in the documentation doesn’t work.

https://docs.ansible.com/ansible/latest/modules/win_dns_client_module.html

- name: Set multiple lookup addresses on all visible adapters (usually physical adapters that are in the Up state), with debug logging to a file
  win_dns_client:
    adapter_names: '*'

- name: Configure all adapters whose names begin with Ethernet to use DHCP-assigned DNS values
  win_dns_client:
    adapter_names: 'Ethernet*'