Ansible dynamic inventory is not able to pull azure vms, please help.

Ansible dynamic inventory is not able to pull azure vms, please help.

we have a ansible controller integrated with azure devops pipeline which is dynamically pulling the Azure VMs using azure_rm Azure Resource Manager inventory plugin, we are fetching the VMs using the Role tag.

below is the inventory file for reference :

---
plugin: azure_rm
include_vm_resource_groups:
  - yyyyyyyyyyyyyyyyyyyyyy
auth_source: cli
subscription_id: xxxxxxxx-xxxxx-xxxx-xxx-xxxxxxxxxxx

keyed_groups:
  - key: tags.role
    prefix: tag_role

Using the above inventory file, it use to work but all of a sudden now we are getting below errors though the inventory file format & syntax is correct. We faced this issue earlier however it got resolved automatically.

Error:

[WARNING]:  * Failed to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml with auto plugin: name 'AzureCliCredential' is not
defined
[WARNING]:  * Failed to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml with yaml plugin: Plugin configuration YAML file, not
YAML inventory
[WARNING]:  * Failed to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml with ini plugin: Invalid host pattern '---' supplied,
'---' is normally a sign this is a YAML file.
[WARNING]: Unable to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
No config file found; using defaults
Using inventory plugin 'ansible_collections.azure.azcollection.plugins.inventory.azure_rm' to process inventory source '/azp/_work/1/s/inventory/satellite/azure_rm.yml'
@all:
  |--@ungrouped:
[WARNING]:  * Failed to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml with auto plugin: name 'AzureCliCredential' is not
defined
[WARNING]:  * Failed to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml with yaml plugin: Plugin configuration YAML file, not
YAML inventory
[WARNING]:  * Failed to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml with ini plugin: Invalid host pattern '---' supplied,
'---' is normally a sign this is a YAML file.
[WARNING]: Unable to parse /azp/_work/1/s/inventory/satellite/azure_rm.yml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
[WARNING]: Could not match supplied host pattern, ignoring: tag_role_satellite
No config file found; using defaults
Using inventory plugin 'ansible_collections.azure.azcollection.plugins.inventory.azure_rm' to process inventory source '/azp/_work/1/s/inventory/satellite/azure_rm.yml'

Note: The below docker file is being used to create a ansible controller pod in a AKS cluster node, which gets spin up while launching the azure pipeline :

ARG BASE_TAG=latest
FROM someimage:$BASE_TAG

RUN curl -fsSL https://get.pulumi.com | sh
COPY ./requirements.txt .
RUN pip install --upgrade pip; \
    pip install --upgrade virtualenv; \
    pip install pywinrm[kerberos]; \
    pip install pywinrm; \
    pip install requests; \
    pip install azure-cli; \
    pip install pypsrp; \
    pip install pan-os-python; \
    pip install pan-python; \
    #python3 -m pip install ansible-core==2.16.7;
	python3 -m pip install ansible
	
RUN ansible-galaxy collection install paloaltonetworks.panos && \
    ansible-galaxy collection install microsoft.ad && \
    ansible-galaxy collection install azure.azcollection --force
  1. ansible-inventory -i <my-inventory.yml> --graph -vvv verbose output will help please share the same
  2. AzureCliCredential is not defined check the options to azure profile on the execution environment may be using templates or other alternatives before you run the actual playbook
  3. also recommend to run python requirements after installing the collection this should the issue.
pip install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt