← Back to team overview

openstack team mailing list archive

bug of quantum-server

 

I fail to restart the quantum-server recently without any error log output.

root@controller:~# service quantum-server restart
stop: Unknown instance:
quantum-server start/running, process 3763
root@controller:~# service quantum-server restart
stop: Unknown instance:
quantum-server start/running, process 4231

I trace to the code below finally:

        # remove from table unallocated vlans for any unconfigured physical
        # networks
        for allocs in allocations.itervalues():
            for alloc in allocs:
                if not alloc.allocated:
                    LOG.debug("removing vlan %s on physical network %s"
                              " from pool" %
                              (alloc.vlan_id, *physical_network*))
                    session.delete(alloc)

the local vairable *physical_network* should be *alloc.physical_network*

I suggest to add some error output to the logger

root@controller:~# quantum-server --config-file /etc/quantum/quantum.conf
--log-file /var/log/quantum/server.log --config-file
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-file
/etc/quantum/plugins/restproxy/restproxy.ini
Traceback (most recent call last):
  File "/usr/bin/quantum-server", line 26, in <module>
    server()
  File "/usr/lib/python2.7/dist-packages/quantum/server/__init__.py", line
40, in main
    quantum_service = service.serve_wsgi(service.QuantumApiService)
  File "/usr/lib/python2.7/dist-packages/quantum/service.py", line 83, in
serve_wsgi
    service.start()
  File "/usr/lib/python2.7/dist-packages/quantum/service.py", line 42, in
start
    self.wsgi_app = _run_wsgi(self.app_name)
  File "/usr/lib/python2.7/dist-packages/quantum/service.py", line 89, in
_run_wsgi
    app = config.load_paste_app(app_name)
  File "/usr/lib/python2.7/dist-packages/quantum/common/config.py", line
133, in load_paste_app
    app = deploy.loadapp("config:%s" % config_path, name=app_name)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
272, in loadobj
    return context.create()
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
710, in create
    return self.object_type.invoke(self)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
144, in invoke
    **context.local_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in
fix_call
    val = callable(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 25, in
urlmap_factory
    app = loader.get_app(app_name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
350, in get_app
    name=name, global_conf=global_conf).create()
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
710, in create
    return self.object_type.invoke(self)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
144, in invoke
    **context.local_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in
fix_call
    val = callable(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/quantum/auth.py", line 61, in
pipeline_factory
    app = loader.get_app(pipeline[-1])
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
350, in get_app
    name=name, global_conf=global_conf).create()
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
710, in create
    return self.object_type.invoke(self)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line
146, in invoke
    return fix_call(context.object, context.global_conf,
**context.local_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in
fix_call
    val = callable(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/quantum/api/v2/router.py", line
67, in factory
    return cls(**local_config)
  File "/usr/lib/python2.7/dist-packages/quantum/api/v2/router.py", line
71, in __init__
    plugin = manager.QuantumManager.get_plugin()
  File "/usr/lib/python2.7/dist-packages/quantum/manager.py", line 65, in
get_plugin
    cls._instance = cls()
  File "/usr/lib/python2.7/dist-packages/quantum/manager.py", line 60, in
__init__
    self.plugin = plugin_klass()
  File
"/usr/lib/python2.7/dist-packages/quantum/plugins/openvswitch/ovs_quantum_plugin.py",
line 197, in __init__
    ovs_db_v2.sync_vlan_allocations(self.network_vlan_ranges)
  File
"/usr/lib/python2.7/dist-packages/quantum/plugins/openvswitch/ovs_db_v2.py",
line 112, in sync_vlan_allocations
    (alloc.vlan_id, physical_network))
UnboundLocalError: local variable 'physical_network' referenced before
assignment

Follow ups