Need to allow quota values to be set to zero

There are test cases in tempest setting the value of quota to '0', we
need allow this scenario.

Fix bug 1191336

Change-Id: I205b523eddfcd3c253172ad4549142ceb9f9ee4e
Add REUSE_EXT in _swap_volume call to blockRebase

_swap_volume is called in cases where new volume file has
already been created.  Add VIR_DOMAIN_BLOCK_REBASE_RESUE_EXT
in the flags passed when calling blockRebase to allow
the existing volume file to be written to.

Closes-Bug: #1218057

Change-Id: I704772ba4bfef474fc788d277c99ba016fb7883f
Fixes misuse of assertTrue in Cells test scripts

Misuse of assertTrue in places where assertEqual should be used.

Fixes bug #1220522

Change-Id: Ide2519a35a0b14daa381e668eea0c98939557883
VMware image clone strategy settings and overrides

The VMwareAPI driver code currently spawns all virtual machines
copying the disks using a linked-clone strategy by default.
The VMwareAPI also offers a "full clone" strategy. This patch
makes the following changes and improvements.

* allow images to specify if they are "linked_clone" or not.

For technical discussion on the clone strategies and their trade-offs
see: https://www.vmware.com/support/ws5/doc/ws_clone_typeofclone.html

DocImpact: vmware_linked_clone metadata controls image-clone-strategy
Change-Id: I7a7ad57708202c8e8af5551b92a1e734185125f4
Blueprint: vmware-image-clone-strategy
Fix regression issues with cells target filter

1) Skip scheduling if a cell filter already took care of it
2) Call build_instances or schedule_run_instance (deprecated) depending on
   which method the caller used.

bug 1224465

Change-Id: I391e1c4f288c9dc3e1308ee8c001a662e0f4c1b8
Remove unused and wrong code in test_compute.py

Some variables are assigned,but never used in test_compute.py

Change-Id: I60712034938735ddbff1a484eceee0d68dbbd9fd
VMware: fix driver support for hypervisor uptime

This method was previously not implemented and would throw an exception
with the tempest tests. It will now redirect the administrator to access
the host to het the uptime.

Fixes bug 1199946

Change-Id: I073f50fee6aa76e912753c0754d632ff2adfa287
Update mailmap for jhesketh

Add my preferred and alternative email in.

Change-Id: I9d8a02cb044479145c1d22e6bd57a5733b8d2065
Get image properties instead of the whole image

When booting an instance using the new BDMv2 API we can specify to boot
from a volume created from an image on the fly. In this case the API
should pass the image properties to the new instance so it can get some
important parameters that it might specify.

After adding the new BDMv2 API in 13180f76, we introduced a mistake in
the method that gets the image properties (from the boot BDM) if no
image_ref is defined. When the source is an image it will return the
whole image metadata instead of getting just the properties. This
causes that when the source image is an AMI the instance won't have the
ramdisk and kernel properties set and will fail to boot.

This patch fixes the image properties when booting from a volume created
from an image.

Fixes bug #1220318

Change-Id: Ibcd60510cc909fcaa0d6d4769f91c070dfaf22ff
Merge "Remove unused and wrong code in test_compute.py"
Merge "Fix regression issues with cells target filter"
Merge "Fixes misuse of assertTrue in Cells test scripts"
Merge "Add REUSE_EXT in _swap_volume call to blockRebase"
Add missing notifications for rescue/unrescue

The rescue and unrescue operations are missing start/end notifications for
the operation. Most Nova instance operations emit
compute.instance.<operation>.start/end notifications, which external systems
can use to track changes in the state on an instance (e.g. for billing
purposes). Rescues change launched_at for the instance, which can prevent an
external system from having a consistant picture of the instances' running,
unless they take that into account.

Change-Id: I3d7d334c88953ddf693c864c3e5e0746cdd2056c
Closes-bug: 1224088
Merge "VMware image clone strategy settings and overrides"
Merge "Add missing notifications for rescue/unrescue"
Ignore H803 from Hacking.

H803 checks for a period in commit messages, something the community
clearly rejected as a sensible check: periods in commit messages
should neither be rejected or required.

Change-Id: I866928c638d23a307f4c11b7cb947e88f90f1ab2
Update requirements not to boto 2.13.0

Latest boto 2.13.0 has a bug which lead to unit tests fails, before
it's fixed avoid use this version.

Fix bug #1224832

Change-Id: I8a81adfc0cb0ad37d27b11db3c881735a099a95c
pci passthrough fails while trying to decode extra_info

pci device with empty extra_info should use null dict instead of
None. keep the init of extra_info to make db could access it.

Closes-Bug: #1223559

Change-Id: I2e57eb53dfd4f5168d52dc94c2057fc575458aee
Signed-off-by: Yongli He <yongli.he@intel.com>
Don't generate notifications when reaping running_deleted instances

The periodic task which looks for instances which have been deleted
but are still running at the hypervisor supports a "reap" action to
delete them. It does this by calling the _shutdown_instance() method
which as part of its processing will send notification messages.

However, the notification code depends on the instance object
including system metadata information, and the db queries that build
instance objects do not extend the "read deleted" filter down to
these queries. This results in an exception in the shutdown code
which in turn prevents the VM from being deleted.

A seperate bug has been submitted to make deleted instance objects
consistent with undeleted ones, which would fix the KeyError.

However the reap code should also not send notification messages.
The instance was deleted some time ago, and so messages will have
been generated then.  Sending new messages for the instance at this
point will confuse any billing and monitoring systems.

In the event the original shudown/delete notifictaions were lost
the absense of "instance.exists" messages already addresses this
case.

Fixes bug: 1224981

Change-Id: Id463860e3046e13ce86b472d46e1ff4a43abcee4