Comment 29 for bug 1372049

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/icehouse)

Reviewed: https://review.openstack.org/132218
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=8812672b909f861e6d800b7ba99e330684f0c63e
Submitter: Jenkins
Branch: stable/icehouse

commit 8812672b909f861e6d800b7ba99e330684f0c63e
Author: Dan Smith <email address hidden>
Date: Thu Oct 23 10:10:48 2014 -0700

    Run build_and_run_instance in a separate greenthread

    If we're doing a lot of build operations, we are using a large portion
    of the limited rpc worker pool for long periods of time. Since we may wait
    on external services (like neutron or glance) during those times, we could
    fully deplete that pool.

    This patch makes us spawn a new greenthread for that task and return the
    rpc worker to the pool. Due to some funkiness with the stack of decorators,
    this breaks the inner function out to an object method, which is probably
    good anyway, given its size. This also moves the wrap_instance_event
    decorator to the inner function so that the start and stop events properly
    demarcate the actual task and not just the (now very quick) RPC call.

    Conflicts:
     nova/compute/manager.py
     nova/tests/compute/test_compute_mgr.py

    Icehouse changes:
    - some patched unit tests were not present or had different names.
    - minor change in unit tests to pass pep8 checks.

    Change-Id: Ife712c43c5a61424bc68b2f5ab47cefdb46ac168
    Closes-Bug: #1372049
    (cherry picked from commit 1d8eddb2614de8daaddddd64ad1a8de4c215fe7a)