Value for option url is not valid: invalid URI (inappropriate validation of rfc3986)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
New
|
Undecided
|
Unassigned | ||
python-rfc3986 (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I have a fresh installed OpenStack Newton environment based on Ubuntu 16.04. I am facing a regression in the Nova module regarding URI parsing.
$ apt list --installed | grep -E 'nova|rfc'
nova-api/
nova-common/
nova-conductor/
nova-consoleaut
nova-novncproxy
nova-scheduler/
python-
python-
python-
This is an excerpt from my nova.conf:
[neutron]
auth_type = password
auth_uri = http://
auth_url = http://
metadata_
password = XYZ
project_domain_name = default
project_name = service
region_name = RegionOne
service_
url = http://
user_domain_name = default
username = neutron
The following error is stated in the log:
2016-10-20 08:28:40.251 19479 CRITICAL nova [req-26ab01e7-
2016-10-20 08:28:40.251 19479 ERROR nova Traceback (most recent call last):
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/bin/
2016-10-20 08:28:40.251 19479 ERROR nova sys.exit(main())
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/lib/
2016-10-20 08:28:40.251 19479 ERROR nova launcher.wait()
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/lib/
2016-10-20 08:28:40.251 19479 ERROR nova self.conf.
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/lib/
2016-10-20 08:28:40.251 19479 ERROR nova _sanitize(opt, getattr(group_attr, opt_name)))
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/lib/
2016-10-20 08:28:40.251 19479 ERROR nova return self._conf.
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/lib/
2016-10-20 08:28:40.251 19479 ERROR nova value = self._do_get(name, group, namespace)
2016-10-20 08:28:40.251 19479 ERROR nova File "/usr/lib/
2016-10-20 08:28:40.251 19479 ERROR nova % (opt.name, str(ve)))
2016-10-20 08:28:40.251 19479 ERROR nova ConfigFileValue
The same problem was reported here:
https:/
As it is stated there 'python-rfc3986' could not handle URI which has '-' characters in case of older versions of python-rfc3986 than 0.3.0.
A current workaround is to use e.g. the ip address instead of a hostname or alias that has a hyphen in its name.
The same problem exists in nova-compute on my compute node using:
[vnc]
enabled = true
novncproxy_base_url = https:/
vncserver_listen = 0.0.0.0
The setting causes the same invalid uri exception as stated above.
We need a new version of 'python-rfc3986'.
Yepp, please upgrade python-rfc3986