nonblocking libvirt mode using tpool

Add an option libvirt_nonblocking (disabled by default) to use a thread
pool to execute all libvirt API calls. Previously all the calls except
one in firewall.py are blocking in the eventlet thread model.

Change-Id: I665ed7a629bb029011b181e8d2844fc2276502d9
various cleanups

No functional changes

Change-Id: I19e118e6e0c47fccfe5a817e727f3ab27e26aa79
Debug messages for host filters.

This will help people work out why they have NoValidHosts when
things go wrong. Resolves bug 955650

Change-Id: I042937351010e85648cbc1aa0f029dbb5a402eb7
allow the compute service to start with missing libvirt disks

* nova/virt/libvirt/connection.py: Program defensively and handle
the case of missing instance disks and log the error rather than
propagating that exception up (which triggers nova.service to fail).
* Fixes bug 957110

Change-Id: I1a414f56661843ff6b886e6ebf6f614fcb5a5f31
Workaround issue with greenthreads and lockfiles

 * Adds a GreenLockFile that always works in greenthreads
 * Adds test to verify that regular Lockfile is broken
 * Adds test to verify that GreenLockfile works
 * Adds note about limitation of external locks
 * Adds test showing limitation of nested locks
 * Fixes bug 956313

Change-Id: I11cd1206611aa4862dadd2fcc077c4c2e0f798f6
Fix run/terminate race conditions.

 * synchronize run,terminate,stop,start on instance_uuid
 * don't surpress error when unfiltering instance, which
   can result in a zombified instance.
 * Fixes bug 956719
 * Remove debug raise

Change-Id: I8b2eaffdabfd5c1a9414adb1b5ed11e4c48711fc
Merge "nonblocking libvirt mode using tpool"
Update etc/nova.conf.sample for ship

Change-Id: Ib4ea40116151566a328fedfb360d00b3140e3714
Merge "allow the compute service to start with missing libvirt disks"
Merge "Debug messages for host filters."
Merge "various cleanups"
Stub-implement floating-ip functions on FlatManager

This was messing up horizon in a way that would probably be difficult to fix.
It also is probably a bit tricky to implement floating ips properly for
FlatManager at this stage of the release cycle.  Stub them out for now,
to keep horizon happy.

Bug #954580
Bug #937227

Change-Id: Icb8d689860b893ebeeee02e248e836c52830b2de
Fix typo in server diagnostics extension.

 * Fixes bug 957716
 * Tweak test to catch regression

Change-Id: I71cafadfec90d907a65429e1c1ca1812d1069b25
Stop notifications from old leases

 * Fixes performance issue with lots of instances
 * Also removes some commented out code
 * Fixes bug 959356

Change-Id: I6e4cf3cd6ebe9d5d1ae4fc2472ef1765d13f49f6
Correct accessIPv6 error message.

Fixes LP Bug #959661.

Change-Id: I95d497de1df4d10cfa1213c31cb6bfd120f7c6b3
Remove unnecessary data from xenapi test

Change-Id: I321af485aa28e654cff27d0db5753020f7fc3c20
Merge "Stop notifications from old leases"
Strip out characters that should be escaped from console output

Minidom has a bug where it doesn't escape characters < 32 correctly.
That is http://bugs.python.org/issue5752

We probably want to move to lxml anyway.

Console-output is particularly likely to have invalid characters,
because ANSI output include the ESC character (0x1B).  Strip out
invalid characters for this case (although the problem is still
present anywhere we write a string in the XML)

Bug #939386

Change-Id: I4689c0f26fb4887867a8d5b6f5e5fb5e2590be91
Fix lxc console regression

Dont always assume that console is a file.
Fixes bug 959843

Change-Id: I6e0512b85a770ecb3963512751a535ccab91a9a8
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Improve performance of generating dhcp leases

 * Dont make 2 * instances queries when generating dhcp leases
 * Uses some nasty joins to minimize necessary changes
 * Adds test to verify functionality
 * Uses old sqlalchemy compatible join syntax
 * Uses vif_id as nw identifier for single_host_gateway mode
 * Cleans up tests in linux_net
 * Fixes bug 959378

Change-Id: I1c74d114dd7caad1781180585bb65691e536bcf9