cinder.expection tries to register opt fatal_exception_format_errors twice

Bug #1458448 reported by wangchy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
In Progress
Undecided
wangchy

Bug Description

I hit one problem caused by following source codes:

/usr/lib/python2.7/site-packages/cinder/exception.py, line 29:
========================================================
     27 from oslo_config import cfg
     28 from oslo_log import log as logging
     29 from oslo_versionedobjects import exception as obj_exc

/usr/lib/python2.7/site-packages/oslo_versionedobjects/exception.py, line 37-47:
===================================================================
     37
     38 exc_log_opts = [
     39 cfg.BoolOpt('fatal_exception_format_errors',
     40 default=False,
     41 help='Make exception message format errors fatal'),
     42 ]
     43
     44 CONF = cfg.CONF
     45 CONF.register_opts(exc_log_opts)
     46
     47

/usr/lib/python2.7/site-packages/cinder/exception.py, line 37-47
================================================================================
     37
     38 exc_log_opts = [
     39 cfg.BoolOpt('fatal_exception_format_errors',
     40 default=False,
     41 help='Make exception message format errors fatal.'),
     42 ]
     43
     44 CONF = cfg.CONF
     45 CONF.register_opts(exc_log_opts)
     46
     47

The problem is that, when I try to start service cinder-api, it fails with following error messages:
================================================
Traceback (most recent call last):
  File "/usr/bin/cinder-api", line 6, in <module>
    from cinder.cmd.api import main
  File "/usr/lib/python2.7/site-packages/cinder/cmd/api.py", line 37, in <module>
    from cinder import rpc
  File "/usr/lib/python2.7/site-packages/cinder/rpc.py", line 34, in <module>
    import cinder.context
  File "/usr/lib/python2.7/site-packages/cinder/context.py", line 27, in <module>
    from cinder import policy
  File "/usr/lib/python2.7/site-packages/cinder/policy.py", line 21, in <module>
    from cinder import exception
  File "/usr/lib/python2.7/site-packages/cinder/exception.py", line 45, in <module>
    CONF.register_opts(exc_log_opts)
  File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 1791, in __inner
    result = f(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 1948, in register_opts
    self.register_opt(opt, group, clear_cache=False)
  File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 1795, in __inner
    return f(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 1937, in register_opt
    if _is_opt_registered(self._opts, opt):
  File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 573, in _is_opt_registered
    raise DuplicateOptError(opt.name)
oslo_config.cfg.DuplicateOptError: duplicate option: fatal_exception_format_errors

Given we have switched to versionedobject, I think we need to remove the lines from cinder.exception.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Changed in cinder:
assignee: nobody → wangchy (wangchy)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on cinder (master)

Change abandoned by wangchy (<email address hidden>) on branch: master
Review: https://review.openstack.org/185314

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.