← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1193031] Re: novnc fails when amqp_rpc_single_reply_queue=True

 

Reviewed:  https://review.openstack.org/37507
Committed: http://github.com/openstack/nova/commit/9315de02d67aaacc7e8da0de67ca477c2c0bc127
Submitter: Jenkins
Branch:    milestone-proposed

commit 9315de02d67aaacc7e8da0de67ca477c2c0bc127
Author: Xavier Queralt <xqueralt@xxxxxxxxxx>
Date:   Wed Jul 17 01:31:36 2013 +0200

    Force reopening eventlet's hub after fork
    
    With this we reopen eventlet's hub after a fork (triggered from
    websockify when a new client connects) to prevent sharing epoll's fd
    with the parent, which may cause erratic behaviour.
    
    This caused novncproxy to stop working when it had more than two clients
    connected.
    
    Fixes bug #1193031
    
    Change-Id: I3ff9001543b84b1037597da243422490bb611657
    (cherry picked from commit cb25bc4530323aaa33d5c42eb01f998d463f2106)


** Changed in: nova
       Status: Fix Committed => 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/1193031

Title:
  novnc fails when amqp_rpc_single_reply_queue=True

Status in OpenStack Compute (Nova):
  Fix Released
Status in OpenStack Compute (nova) grizzly series:
  In Progress

Bug description:
  When amqp_rpc_single_reply_queue=True is set, using qpid on Fedora 17
  novn service will fail to work reliably.

  Reproduce by starting more then one instance, and then get theit vnc
  consoles with:

  $ nova get-vnc-consol $INSTANCE_UUID_1 novnc
  $ nova get-vnc-consol $INSTANCE_UUID_2 novnc

  And try to connect to those consoles in your browser, to use them, and
  refresh the page. The page will eventually get stuck on 'Waiting for
  VNC handshake' and generaly not work properly.

  I dug a bit deeper into this and it seems to be realted to a select
  call in wbesockify.py which does not work properly with eventlet
  monkey_patched sockets.

  The solution is to either not monkey_patch for /cmd/nova-novncproxy
  and do the rpc call that validates the token with the consolauth
  service in a separate process that is monkey_patched (the rpc won't
  work without it), or to make openstack/common/rpc/amqp/multicall not
  use green-threads for this particular call (ie. block the caller).

  Confirmed with trunk on 75ead3a2a37efbc6a4fdea7e492ca41cdd559a8c
  (20-6-2013)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1193031/+subscriptions