Closed worldwide-tech closed 4 years ago
I have the same error but with the bigiq_regkey_license_assignment module when I try to assign licenses to unmanaged devices. The error below:
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: http.client.InvalidURL: URL can't contain control characters. "/mgmt/cm/device/licensing/pool/regkey/licenses?$filter=(name eq 'mylicenses')&$top=1" (found at least ' ')
fatal: [my-license-manager -> {{ bigip_MgmtIp }}]: FAILED! =>
{"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1570202184.481169-113798022103074/AnsiballZ_bigiq_regkey_license_assignment.py\", line 114, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1570202184.481169-113798022103074/AnsiballZ_bigiq_regkey_license_assignment.py\",
line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1570202184.481169-113798022103074/AnsiballZ_bigiq_regkey_license_assignment.py\",
line 49, in invoke_module\n imp.load_module('__main__', mod, module, MOD_DESC)\n
File \"/venv_ansible/lib/python3.6/imp.py\", line 235, in load_module\n
return load_source(name, filename, file)\n File \"/venv_ansible/lib/python3.6/imp.py\",
line 170, in load_source\n module = _exec(spec, sys.modules[name])\n File \"<frozen importlib._bootstrap>\", line 618, in _exec\n File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\n File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 635, in <module>\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 628, in main\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 443, in exec_module\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 463, in present\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 468, in exists\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 310, in member_id\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/__main__.py\", line 278, in pool_id\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/ansible_bigiq_regkey_license_assignment_payload.zip/ansible/module_utils/network/f5/icontrol.py\", line 232, in get\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/ansible_bigiq_regkey_license_assignment_payload.zip/ansible/module_utils/network/f5/icontrol.py\", line 193, in send\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/ansible_bigiq_regkey_license_assignment_payload.zip/ansible/module_utils/urls.py\", line 1163, in open\n File \"/usr/lib/python3.6/urllib/request.py\", line 223, in urlopen\n return opener.open(url, data, timeout)\n File \"/usr/lib/python3.6/urllib/request.py\", line 526, in open\n response = self._open(req, data)\n File \"/usr/lib/python3.6/urllib/request.py\", line 544, in _open\n '_open', req)\n File \"/usr/lib/python3.6/urllib/request.py\", line 504, in _call_chain\n result = func(*args)\n File \"/tmp/ansible_bigiq_regkey_license_assignment_payload_me1ggvxj/ansible_bigiq_regkey_license_assignment_payload.zip/ansible/module_utils/urls.py\", line 374, in https_open\n File \"/usr/lib/python3.6/urllib/request.py\", line 1318, in do_open\n encode_chunked=req.has_header('Transfer-encoding'))\n File \"/usr/lib/python3.6/http/client.py\", line 1254, in request\n self._send_request(method, url, body, headers, encode_chunked)\n File \"/usr/lib/python3.6/http/client.py\", line 1265, in _send_request\n self.putrequest(method, url, **skips)\n File \"/usr/lib/python3.6/http/client.py\", line 1127, in putrequest\n raise
InvalidURL(f\"URL can't contain control characters. {url!r} \"\nhttp.client.InvalidURL: URL can't contain control characters.
\"/mgmt/cm/device/licensing/pool/regkey/licenses?$filter=(name eq 'mylicenses')&$top=1\"(found at least ' ')\n",
"module_stdout": "", "msg":
"MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
BIG-IQ:
Product BIG-IQ
Version 6.1.0
Build 0.0.1224
Ansible and Python versions:
ansible 2.8.5
Python 3.6
I've tested with Ansible 2.8 and Python 2.7 and it works normally. Any tips to workaround this problem and make it work with a higher python version ?
Thanks very much.
Hi @wojtek0806 any tips?
I updated my python distro to 3.7.3 and it worked for me.
Carl Dubois Technical Solutions Architect | Application Delivery World Wide Technology, Inchttp://www.wwt.com/ Cell 603.417.8090 | carl.dubois@wwt.com
From: Bruno Calçado notifications@github.com Sent: Thursday, October 17, 2019 2:12 AM To: F5Networks/f5-ansible f5-ansible@noreply.github.com Cc: Dubois, Carl Carl.Dubois@wwt.com; Author author@noreply.github.com Subject: Re: [F5Networks/f5-ansible] bigiq_device_discovery - httplib error (#1512)
Hi, any tips?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FF5Networks%2Ff5-ansible%2Fissues%2F1512%3Femail_source%3Dnotifications%26email_token%3DAIIF5W32ELHMOQEFS5E526LQO766DA5CNFSM4I5QFNE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBO5NWQ%23issuecomment-543020762&data=02%7C01%7CCarl.Dubois%40wwt.com%7C5056a39933ea42735ffa08d752c90c0e%7Ca2d8e6b4e26e44218f3dec288c827c7d%7C1%7C0%7C637068895757315068&sdata=504ai7mvpMAOPc2H%2FVnwpkih50Mmb%2BowKYLITURTTNM%3D&reserved=0, or unsubscribehttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIIF5WYIGKCVIB6I6K7RJP3QO766DANCNFSM4I5QFNEQ&data=02%7C01%7CCarl.Dubois%40wwt.com%7C5056a39933ea42735ffa08d752c90c0e%7Ca2d8e6b4e26e44218f3dec288c827c7d%7C1%7C0%7C637068895757315068&sdata=8cbRyWmygFVB609%2FrNUCZo3ypnPUg3tD2xzWPkSiZvA%3D&reserved=0.
@worldwide-tech Thank you for your tip. I just upgraded my python version to 3.7.3 and still not working. Same Error.
@onurbrc can you please provide the exact task you are running that causes the error.
Tracking with FMFA-389
For ansible module bigiq_device_discovery I am seeing an issue with httplib and control characters as part of the URL.
Have you guys seen this?
httplib.InvalidURL: URL can't contain control characters. "/mgmt/cm/system/machineid-resolver?$filter=address eq '192.168.2.100'" (found at least ' ')
Entire stack -
The full traceback is: Traceback (most recent call last): File "/root/.ansible/tmp/ansible-tmp-1570197103.9-27379879262013/AnsiballZ_bigiq_device_discovery.py", line 114, in
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1570197103.9-27379879262013/AnsiballZ_bigiq_device_discovery.py", line 106, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1570197103.9-27379879262013/AnsiballZ_bigiq_device_discovery.py", line 49, in invoke_module
imp.load_module('main', mod, module, MOD_DESC)
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py", line 1239, in
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py", line 1232, in main
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py", line 679, in exec_module
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py", line 691, in present
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py", line 750, in exists
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/network/f5/icontrol.py", line 232, in get
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/network/f5/icontrol.py", line 193, in send
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/urls.py", line 1163, in open
File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 431, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 449, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/urls.py", line 374, in https_open
File "/usr/lib64/python2.7/urllib2.py", line 1211, in do_open
h.request(req.get_method(), req.get_selector(), req.data, headers)
File "/usr/lib64/python2.7/httplib.py", line 1056, in request
self._send_request(method, url, body, headers)
File "/usr/lib64/python2.7/httplib.py", line 1084, in _send_request
self.putrequest(method, url, **skips)
File "/usr/lib64/python2.7/httplib.py", line 943, in putrequest
% (url, match.group()))
httplib.InvalidURL: URL can't contain control characters. "/mgmt/cm/system/machineid-resolver?$filter=address eq '192.168.2.101'" (found at least ' ')
failed: [192.168.2.105] (item={u'ip': u'192.168.2.101', u'state': u'present', u'hostname': u'bigip-a.example.net'}) => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "ansible_loop_var": "item", "changed": false, "item": { "hostname": "bigip-a.example.net", "ip": "192.168.2.101", "state": "present" }, "module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1570197103.9-27379879262013/AnsiballZ_bigiq_device_discovery.py\", line 114, in\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1570197103.9-27379879262013/AnsiballZ_bigiq_device_discovery.py\", line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1570197103.9-27379879262013/AnsiballZ_bigiq_device_discovery.py\", line 49, in invoke_module\n imp.load_module('main', mod, module, MOD_DESC)\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py\", line 1239, in \n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py\", line 1232, in main\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py\", line 679, in exec_module\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py\", line 691, in present\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/main.py\", line 750, in exists\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/network/f5/icontrol.py\", line 232, in get\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/network/f5/icontrol.py\", line 193, in send\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/urls.py\", line 1163, in open\n File \"/usr/lib64/python2.7/urllib2.py\", line 154, in urlopen\n return opener.open(url, data, timeout)\n File \"/usr/lib64/python2.7/urllib2.py\", line 431, in open\n response = self._open(req, data)\n File \"/usr/lib64/python2.7/urllib2.py\", line 449, in _open\n '_open', req)\n File \"/usr/lib64/python2.7/urllib2.py\", line 409, in _call_chain\n result = func(*args)\n File \"/tmp/ansible_bigiq_device_discovery_payload_fvYqQA/ansible_bigiq_device_discovery_payload.zip/ansible/module_utils/urls.py\", line 374, in https_open\n File \"/usr/lib64/python2.7/urllib2.py\", line 1211, in do_open\n h.request(req.get_method(), req.get_selector(), req.data, headers)\n File \"/usr/lib64/python2.7/httplib.py\", line 1056, in request\n self._send_request(method, url, body, headers)\n File \"/usr/lib64/python2.7/httplib.py\", line 1084, in _send_request\n self.putrequest(method, url, **skips)\n File \"/usr/lib64/python2.7/httplib.py\", line 943, in putrequest\n % (url, match.group()))\nhttplib.InvalidURL: URL can't contain control characters. \"/mgmt/cm/system/machineid-resolver?$filter=address eq '192.168.2.101'\" (found at least ' ')\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}