Overnight and without a found cause, inventory sync jobs fail using ExecEnv.
There is an scheduled task “Source Control Update” for this git project, but the project shows no new commits for months.
AWX has been rebooted without resulting a change in behavior
Running AWX 21.4.0
EE containers are built using ansible-builder 3.0.0
Containers are built based on the following collections and pip.
I see the same behavior across the board with all inventories targeting a prod and a test cmdb instance.
The container itself uses python 3.8.12
requirements.yml
- name: community.general
version: 5.2.0
- name: networktocode.nautobot
version: 4.5.0
- name: ansible.netcommon
version: 5.2.0
- name: ansible.utils
version: 2.7.0
- name: cisco.ios
version: 2.8.1
- name: cisco.iosxr
version: 2.9.0
requirements.txt
ansible==6.7.0
ansible-core==2.13.13
ansible-pylibssh==1.0.0
hier_config==2.2.0
jmespath==1.0.1
netaddr==0.8.0
pynautobot==1.2.0
PyYAML==5.4.1
urllib3==1.26.9
wheel==0.37.0
Note: i tried many different versions without any change in noted behavior.
The inventories live on a nautobot CMDB system running 1.4.10.
Now, when i build an local venv (outside awx) based on the above packages and collections i am able to retrieve inventory data using:
ansible-inventory -v --list -i ~/development/inventory/inventories/nautobot_inventory_ftth_prod_planned.yml
the yaml file is the same file that is being used in the inventory source definition.
192.168.201.1 - - [12/Oct/2023:11:42:52 +0200] "GET /api/dcim/devices/?limit=0&status=planned&tag=ftth&tag=production&has_primary_ip=true HTTP/1.1" 200 569658 "-" "ansible 2.13.13 Python 3.10.12"
When i connect the EE to the inventory source and run the inventory sync.
192.168.201.1 - - [12/Oct/2023:11:44:03 +0200] "GET /api/dcim/devices/?limit=0&depth=1&status=planned&tag=ftth&tag=production&has_primary_ip=true&include=config_context HTTP/1.1" 400 34 "-" "ansible 2.13.13 Python 3.8.12"
What i noticed is that “depth=1” is injected into the URL.
I know that depth=1 represents data as fully detailed nested objects.
When i write the url as such with “?depth=1” at the end, the URL is valid.
/api/dcim/devices/?limit=0&status=planned&tag=ftth&tag=production&has_primary_ip=true&include=config_context?depth=1
Am i wrong to think the “depth=1” is at the wrong location and should be an API argument and not a filter argument.
What am i not seeing, what pebkac don’t i notice ? What bugs did i not read.
I hope this is sufficient info for now, if more is needed i will provide.
Thank you in advance