yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #61839
[Bug 1599688] Re: host.py assertion error during NOVA handling of HUP signal
Reviewed: https://review.openstack.org/339341
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=3a1ca56487c567ca5cd3d0206707465e0fa01e18
Submitter: Jenkins
Branch: master
commit 3a1ca56487c567ca5cd3d0206707465e0fa01e18
Author: Xuanzhou Perry Dong <oss_xzdong@xxxxxxx>
Date: Fri Jul 8 12:01:31 2016 +0800
Avoid multiple initializations of Host class
nova.virt.libvirt.host.Host class manages nova interaction with
libvirtd. During processing of HUP signal, object of this class
could be initialized multiple times. This leads to resource leak
(pipes and threads) and the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/poll.py",
line 115, in wait
listener.cb(fileno)
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py",
line 214, in main
result = function(*args, **kwargs)
File "/opt/stack/nova/nova/utils.py", line 1053, in context_wrapper
return func(*args, **kwargs)
File "/opt/stack/nova/nova/virt/libvirt/host.py", line 131, in
_dispatch_thread
self._dispatch_events()
File "/opt/stack/nova/nova/virt/libvirt/host.py", line 236, in
_dispatch_events
This commit avoids multiple initializations of the same Host object.
Thus it fixes the above problems.
Change-Id: I9cfdbca4986ee6da1e8c42bc0b4477d7d0cb5041
Closes-bug: #1599688
Signed-off-by: Xuanzhou Perry Dong <oss_xzdong@xxxxxxx>
** Changed in: nova
Status: In Progress => Fix Released
--
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/1599688
Title:
host.py assertion error during NOVA handling of HUP signal
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Description
===========
During handling of HUP signal in nova, the following exception is generated:
2016-07-07 01:36:18.012 DEBUG nova.virt.libvirt.host [-] Starting green dispatch thread from (pid=30178) _init_events /op
t/stack/nova/nova/virt/libvirt/host.py:341
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/poll.py", line 115, in wait
listener.cb(fileno)
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 214, in main
result = function(*args, **kwargs)
File "/opt/stack/nova/nova/utils.py", line 1053, in context_wrapper
return func(*args, **kwargs)
File "/opt/stack/nova/nova/virt/libvirt/host.py", line 131, in _dispatch_thread
self._dispatch_events()
File "/opt/stack/nova/nova/virt/libvirt/host.py", line 236, in _dispatch_events
assert _c
AssertionError
Steps to reproduce
==================
1. Start a devstack with latest master branch.
2. Devstack doesn't start the nova-compute with daemon. So kill the
nova-compute started by devstack and replace it with "nohup
/usr/local/bin/nova-compute --config-file /etc/nova/nova.conf &"
3. Send a HUP signal to nova-compute process.
Expected result
===============
Expect the nova-compute reloads the configuration file and no exception is generated.
Actual result
=============
An exception is generated.
Environment
===========
1. Nova version:
vagrant@vagrant-ubuntu-trusty-64:/opt/stack/nova/nova$ git log -1
commit 2d5460d085895a577734547660a8bcfc53b04de2
Merge: 51fdeaf 40ea165
Author: Jenkins <jenkins@xxxxxxxxxxxxxxxxxxxx>
Date: Wed Jun 22 06:18:23 2016 +0000
Merge "Publish proxy APIs deprecation in api ref doc"
Logs & Configs
==============
As above.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1599688/+subscriptions
References