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