OiO.lk Community platform!

Oio.lk is an excellent forum for developers, providing a wide range of resources, discussions, and support for those in the developer community. Join oio.lk today to connect with like-minded professionals, share insights, and stay updated on the latest trends and technologies in the development field.
  You need to log in or register to access the solved answers to this problem.
  • You have reached the maximum number of guest views allowed
  • Please register below to remove this limitation

Ansible dynamic inventory is not able to pull azure vms

  • Thread starter Thread starter Aravapalli Ojeswi
  • Start date Start date
A

Aravapalli Ojeswi

Guest
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 :

Code:
---
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:

Code:
[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 :

Code:
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
<p>Ansible dynamic inventory is not able to pull azure vms, please help.</p>
<p>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.</p>
<p>below is the inventory file for reference :</p>
<pre><code>---
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
</code></pre>
<p>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:</p>
<pre><code>[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'
</code></pre>
<p>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 :</p>
<pre><code>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
</code></pre>
Continue reading...
 

Latest posts

Top