[vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed without deprecation

Bug #1718545 reported by Eric Fried
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Stephen Finucane
nova-powervm
Fix Released
High
Eric Fried

Bug Description

[0] removed options [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen without a deprecation period. Lemme splain:

Take for example vncserver_proxyclient_address. It was originally [DEFAULT]vncserver_proxyclient_address. That was moved to [vnc]vncserver_proxyclient_address via [1]. We've had a nice long deprecation period (~18mo) during which either of those would work. So it would be reasonable at this time to remove support for [DEFAULT]vncserver_proxyclient_address. But by renaming the option without changing its deprecated_group to `vnc`, we've instead *left* support for [DEFAULT]vncserver_proxyclient_address while *removing* support for the newer [vnc]vncserver_proxyclient_address without a deprecation period.

I noticed this when running tox against nova-powervm with the latest nova. nova-powervm paid attention to the deprecation and switched over to [vnc]vncserver_proxyclient_address. Now it fails a test with:

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
        return func(*args, **keywargs)
      File "nova_powervm/tests/virt/powervm/test_driver.py", line 1666, in test_get_vnc_console
        resp = self.drv.get_vnc_console(mock.ANY, self.inst)
      File "nova_powervm/virt/powervm/driver.py", line 1727, in get_vnc_console
        host = CONF.vnc.vncserver_proxyclient_address
      File "/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 3363, in __getattr__
        return self._conf._get(name, self._group)
      File "/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 2925, in _get
        value = self._do_get(name, group, namespace)
      File "/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 2942, in _do_get
        info = self._get_opt_info(name, group)
      File "/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 3099, in _get_opt_info
        raise NoSuchOptError(opt_name, group)
    oslo_config.cfg.NoSuchOptError: no such option vncserver_proxyclient_address in group [vnc]

But anyone should be able to repro by spinning up compute with [vnc]vncserver_proxyclient_address and trying to open a console.

[0] https://review.openstack.org/#/c/498387/
[1] https://review.openstack.org/#/c/263763/

Tags: config
Matt Riedemann (mriedem)
tags: added: config
Changed in nova:
status: New → Triaged
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/505831

Changed in nova:
assignee: nobody → Eric Fried (efried)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova-powervm (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/505843

Changed in nova:
assignee: Eric Fried (efried) → Stephen Finucane (stephenfinucane)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/505831
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9d4c792ac986fae13d8fff1f2de7ee198f4de450
Submitter: Jenkins
Branch: master

commit 9d4c792ac986fae13d8fff1f2de7ee198f4de450
Author: Eric Fried <email address hidden>
Date: Wed Sep 20 17:07:53 2017 -0500

    Restore '[vnc] vnc_*' option support

    Changing an option's name when the option's group has been changed in a
    previous release results in retained support for only the original
    group-name combination and not the intermediate combination.

    This behavior can be seen in change Ic05c2c836, which effectively
    removed support for the options '[vnc] vncserver_proxyclient_address'
    and '[vnc] vncserver_listen' without a deprecation period.

    Re-add this support by using the 'deprecated_opts' parameter, which
    clearly _is_ still useful [1].

    [1] https://review.openstack.org/#/c/364260/

    Change-Id: I6405a8024b2bb4df067325b3335008865fd4fdf2
    Co-Authored-By: Stephen Finucane <email address hidden>
    Closes-Bug: #1718545

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova-powervm (master)

Reviewed: https://review.openstack.org/505843
Committed: https://git.openstack.org/cgit/openstack/nova-powervm/commit/?id=5f3b641ce28b20b0a0e3c8bc57dd5f64c9ef0805
Submitter: Jenkins
Branch: master

commit 5f3b641ce28b20b0a0e3c8bc57dd5f64c9ef0805
Author: Eric Fried <email address hidden>
Date: Wed Sep 20 17:40:48 2017 -0500

    Rename [vnc]vncserver_proxyclient_address

    Change [1] renamed [vnc]vncserver_proxyclient_address to
    [vnc]server_proxyclient_address without deprecating the former. The
    deprecation snafu is being addressed via [2]; but we'll need to move to
    the new name anyway. No time like the present.

    [1] https://review.openstack.org/498387
    [2] https://review.openstack.org/505831

    Change-Id: Iac3113639cb30289b7f3dcdd6843af8602de1115
    Related-Bug: #1718545

Eric Fried (efried)
Changed in nova-powervm:
assignee: nobody → Eric Fried (efried)
importance: Undecided → High
status: New → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 17.0.0.0b1

This issue was fixed in the openstack/nova 17.0.0.0b1 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.