UnboundLocalError: local variable 'filters' referenced before assignment
- Dominant language
- Python
- Stars
- 15
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
```
$ ansible localhost -c local -m ali_instance_facts -a 'alicloud_region=us-east-1 availability_zone=us-east-1-a' -vvv
ansible 2.8.0b1.post0
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/atodorov/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /home/atodorov/.virtualenvs/alibaba/lib/python2.7/site-packages/ansible
executable location = /home/atodorov/.virtualenvs/alibaba/bin/ansible
python version = 2.7.5 (default, Sep 12 2018, 05:31:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
Using /etc/ansible/ansible.cfg as config file
host_list declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
script declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
auto declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
Parsed /etc/ansible/hosts inventory source with ini plugin
META: ran handlers
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: atodorov
<127.0.0.1> EXEC /bin/sh -c 'echo ~atodorov && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160 `" && echo ansible-tmp-1556112722.38-56948253796160="` echo /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160 `" ) && sleep 0'
Using module file /home/atodorov/.virtualenvs/alibaba/lib/python2.7/site-packages/ansible/modules/cloud/alicloud/ali_instance_facts.py
<127.0.0.1> PUT /home/atodorov/.ansible/tmp/ansible-local-269724TbdZ6/tmpiCoiNO TO /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/ /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/home/atodorov/.virtualenvs/alibaba/bin/python /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py", line 114, in
_ansiballz_main()
File "/home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py", line 106, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py", line 49, in invoke_module
imp.load_module('__main__', mod, module, MOD_DESC)
File "/tmp/ansible_ali_instance_facts_payload_qZeeM9/__main__.py", line 396, in
File "/tmp/ansible_ali_instance_facts_payload_qZeeM9/__main__.py", line 388, in main
File "/home/atodorov/.virtualenvs/alibaba/lib/python2.7/site-packages/footmark/ecs/connection.py", line 267, in get_all_instances
for inst in self.get_list_new(self.build_request_params(filters), ['Instances', Instance]):
UnboundLocalError: local variable 'filters' referenced before assignment
localhost | FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py\", line 114, in \n _ansiballz_main()\n File \"/home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py\", line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/atodorov/.ansible/tmp/ansible-tmp-1556112722.38-56948253796160/AnsiballZ_ali_instance_facts.py\", line 49, in invoke_module\n imp.load_module('__main__', mod, module, MOD_DESC)\n File \"/tmp/ansible_ali_instance_facts_payload_qZeeM9/__main__.py\", line 396, in \n File \"/tmp/ansible_ali_instance_facts_payload_qZeeM9/__main__.py\", line 388, in main\n File \"/home/atodorov/.virtualenvs/alibaba/lib/python2.7/site-packages/footmark/ecs/connection.py\", line 267, in get_all_instances\n for inst in self.get_list_new(self.build_request_params(filters), ['Instances', Instance]):\nUnboundLocalError: local variable 'filters' referenced before assignment\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
```
This is with 1.11.0, here's my entire pip freeze b/c I've installed ansible 2.8 from GitHub:
```
aliyun-python-sdk-core==2.9.5
aliyun-python-sdk-ecs==4.11.0
aliyun-python-sdk-ess==2.3.0
aliyun-python-sdk-kms==2.6.0
aliyun-python-sdk-ossadmin==0.0.2
aliyun-python-sdk-rds==2.3.3
aliyun-python-sdk-slb==3.2.7
aliyun-python-sdk-vpc==3.0.2
ansible==2.8.0b1.post0
asn1crypto==0.24.0
certifi==2019.3.9
cffi==1.12.3
chardet==3.0.4
crcmod==1.7
cryptography==2.6.1
enum34==1.1.6
footmark==1.11.0
idna==2.8
importlib==1.0.4
ipaddress==1.0.22
Jinja2==2.10.1
MarkupSafe==1.1.1
oss2==2.6.1
pycparser==2.19
pycryptodome==3.8.1
PyYAML==5.1
requests==2.21.0
six==1.12.0
urllib3==1.24.2
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure with the Ansible ali_instance_facts command from the report, then inspect footmark/ecs/connection.py around get_all_instances at line 267. Confirm the filters handling for this request path and verify that the command completes without the UnboundLocalError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ansible, python
- Domain
- cloud
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100