← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1640512] Re: wrong format for novncproxy_base_url

 

That configuration option should support all *valid* URIs, be they IP
addresses or domain names. The URI you provided - 'http://os-
controller:6080/vnc_auto.html' - is a valid one and I can validate it
locally using the same check that oslo.config (which nova uses to parse
config files) uses [1].

  $ pip install rfc3986
  Collecting rfc3986
    Using cached rfc3986-0.4.1-py2.py3-none-any.whl
  Installing collected packages: rfc3986
  Successfully installed rfc3986-0.4.1
  $ python
  >>> from rfc3986 import is_valid_uri
  >>> x = 'http://os-controller:6080/vnc_auto.html'
  >>> is_valid_uri(x, require_scheme=True, require_authority=True)

This leads me to think the issue is either a misconfiguration or a bug
with either oslo.config or the dependent rfc3986 library. Please provide
the version info for nova, oslo.config and rfc3986 so we can attempt to
reproduce the issue and issue a fix/blacklist the broken package.

Alexandra: this means the documentation is actually correct, thus, I
have marked the openstack-manuals issue as invalid.

[1]
https://github.com/openstack/oslo.config/blob/3.22.0/oslo_config/types.py#L837-L839

** Changed in: openstack-manuals
       Status: Incomplete => Invalid

** Also affects: oslo.config
   Importance: Undecided
       Status: New

** Changed in: nova
       Status: New => Incomplete

** Changed in: oslo.config
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1640512

Title:
  wrong format for novncproxy_base_url

Status in OpenStack Compute (nova):
  Incomplete
Status in openstack-manuals:
  Invalid
Status in oslo.config:
  Incomplete

Bug description:
  "In the [vnc] section, enable and configure remote console access:

  [vnc]
  ...
  enabled = True
  vncserver_listen = 0.0.0.0
  vncserver_proxyclient_address = $my_ip
  novncproxy_base_url = http://controller:6080/vnc_auto.html

  The server component listens on all IP addresses and the proxy
  component only listens on the management interface IP address of the
  compute node. The base URL indicates the location where you can use a
  web browser to access remote consoles of instances on this compute
  node."

  This looks like 'controller' is used as a domain name but instead an IP is expected. With 
  'novncproxy_base_url = http://os-controller:6080/vnc_auto.html'
  in my nova.conf the following error is logged:

  2016-11-09 16:02:02.475 23828 ERROR nova Traceback (most recent call last):
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/bin/nova-compute", line 10, in <module>
  2016-11-09 16:02:02.475 23828 ERROR nova     sys.exit(main())
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/nova/cmd/compute.py", line 62, in main
  2016-11-09 16:02:02.475 23828 ERROR nova     service.wait()
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/nova/service.py", line 415, in wait
  2016-11-09 16:02:02.475 23828 ERROR nova     _launcher.wait()
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/oslo_service/service.py", line 328, in wait
  2016-11-09 16:02:02.475 23828 ERROR nova     status, signo = self._wait_for_exit_or_signal()
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/oslo_service/service.py", line 303, in _wait_for_exit_or_signal
  2016-11-09 16:02:02.475 23828 ERROR nova     self.conf.log_opt_values(LOG, logging.DEBUG)
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2626, in log_opt_values
  2016-11-09 16:02:02.475 23828 ERROR nova     _sanitize(opt, getattr(group_attr, opt_name)))
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/oslo_config/cfg.py", line 3057, in __getattr__
  2016-11-09 16:02:02.475 23828 ERROR nova     return self._conf._get(name, self._group)
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2668, in _get
  2016-11-09 16:02:02.475 23828 ERROR nova     value = self._do_get(name, group, namespace)
  2016-11-09 16:02:02.475 23828 ERROR nova   File "/usr/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2711, in _do_get
  2016-11-09 16:02:02.475 23828 ERROR nova     % (opt.name, str(ve)))
  2016-11-09 16:02:02.475 23828 ERROR nova ConfigFileValueError: Value for option novncproxy_base_url is not valid: invalid URI: 'http://os-controller:6080/vnc_auto.html'

  With 
  'novncproxy_base_url = http://10.40.x.x:6080/vnc_auto.html'
  in my nova.conf the service starts successfully.

  My suggestion would be to either change the line to reflect that an IP
  is expected or file a bug against nova?

  -----------------------------------
  Release: 0.1 on 2016-11-09 11:38
  SHA: 8cac353f76b4ec663626d5111e6b10c3bb305b47
  Source: http://git.openstack.org/cgit/openstack/openstack-manuals/tree/doc/install-guide/source/nova-compute-install.rst
  URL: http://docs.openstack.org/newton/install-guide-ubuntu/nova-compute-install.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1640512/+subscriptions