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 <[email protected]>
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 <[email protected]>


** 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 <[email protected]>
  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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to