lp:~ewanmellor/nova/xenapi-concurrency-model

Created by Ewan Mellor and last modified
Get this branch:
bzr branch lp:~ewanmellor/nova/xenapi-concurrency-model
Only Ewan Mellor can upload to this branch. If you are Ewan Mellor please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ewan Mellor
Project:
OpenStack Compute (nova)
Status:
Merged

Recent revisions

232. By Ewan Mellor

Move deferredToThread into utils, as suggested by termie.

231. By Ewan Mellor

Remove whitespace to match style guide.

230. By Ewan Mellor

Merge with trunk, in particular merging with the style cleanup that caused
conflicts with this branch.

229. By Ewan Mellor

Rework virt.xenapi's concurrency model. There were many places where we were
inadvertently blocking the reactor thread. The reworking puts all calls to
XenAPI on background threads, so that they won't block the reactor thread.

Long-lived operations (VM start, reboot, etc) are invoked asynchronously
at the XenAPI level (Async.VM.start, etc). These return a XenAPI task. We
relinquish the background thread at this point, so as not to hold threads in
the pool for too long, and use reactor.callLater to poll the task.

This combination of techniques means that we don't block the reactor thread at
all, and at the same time we don't hold lots of threads waiting for
long-running operations.

There is a FIXME in here: get_info does not conform to these new rules.
Changes are required in compute.service before we can make get_info
non-blocking.

228. By Ewan Mellor

Implement the same fix as lp:~vishvananda/nova/fix-curl-project, but for virt.xenapi.

227. By Ewan Mellor

Fix exception in get_info.

226. By Ewan Mellor

Added a xapi plugin that can pull images from nova-objectstore, and use that
to get a disk, kernel, and ramdisk for the VM.

225. By Vish Ishaya

Improved roles functionality (listing & improved test coverage)

224. By Michael Gundlach

updated virtualenv to add eventlet, which is now a requirement

223. By Jay Pipes

Changes the run_tests.sh and /tools/install_venv.py scripts to be
more user-friendly and not depend on PIP while not in the virtual
environment.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~hudson-openstack/nova/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers