Merge "Speedup the revert_state test"
Merge "Ensure start time is earlier than end time in simple_tenant_usage"
Remove tests for non-existing SimpleScheduler

The test class removed actually being an exact copy of the above
MultiDriverTestCase.

Change-Id: Id2c4141a7da8475e44d534d2e61ae83bf532d980
Make pep8 tests run inside virtualenv

Running pep8 results in the following error:

Traceback (most recent call last):
File "tools/hacking.py", line 34, in <module>
import pep8
ImportError: No module named pep8

Change-Id: I31a8bfbffa9ddee306ab414fab367c74d34fdd6b
Merge "Ensure there is only one instance of LibvirtDriver"
Merge "Rename 'connection' to 'driver' in libvirt HostState"
Correct spelling of quantum

Change-Id: Icc0a69178da13f4679b594b50e3a980ba9ec19bd
Merge "Make pep8 tests run inside virtualenv"
Merge "Remove tests for non-existing SimpleScheduler"
Fix instance can not be deleted after soft reboot

The reason is that:
1. soft reboot will wait for instance become to 'shutdown', and then start it
2. delete operation also wait for this, and then clean up the instance
3. if soft reboot found the instance become to 'shutdown' firstly, it will
start it immediately
4. then the delete operation will go to the _wait_for_destroy loop, and the
loop may be endless
5. when we delete the instance again, because the lock was hold by the delete
operation before, this one will wait the lock and don't implement actually.
So the domain id is checked during _wait_for_destroy loop, if it changed and
the instance is still running, we need to destroy it again.
If the domain is booted after _wait_for_destroy, it may result in
unfilter_instance failed because the nwfilter is in use, so doing the same
thing as above.

Fixes Bug #1111213

Change-Id: I98dc902dd86fa828f5821465c611953e08f9f637
Add libvirt XML schema support for resource tuning parameters

Extend the libvirt XML config classes to support for CPU, disk IO,
network traffic tuning parameters.

Blueprint: quota-instance-resource
DocImpact
original reviews https://review.openstack.org/#/c/14151/

Change-Id: I2827ea0e731fefe5bbaec6c385268a3f5b89f7f6
Add support for instance vif traffic control.

Part 2 for blueprint quota-instance-resource, by adding exposed params
"vif_inbound_average, vif_inbound_burst, vif_inbound_peak,
vif_outbound_average, vif_outbound_burst, vif_outbound_peak" through
nova flavor-set, user can implement instance net traffic control policy.
for example:
nova flavor-set m1.medium set vif_inbound_average=10240000,
then the max inbound speed is 10MB/s. The usecase details of other params
will be noted on openstack-manuals.

Partly implement blueprint quota-instance-resource
DocImpact
original reviews https://review.openstack.org/#/c/14151/

Change-Id: I9934daadbf0e136e88530f5c23b556d070395bd0
remove intermediate libvirt downloaded images

* nova/virt/images.py (fetch_to_raw): When converting a downloaded
image to raw, ensure we delete the original download image.
I.E. the .part file.  The regression was introduced in 7c265343.
* nova/tests/test_libvirt.py (test_fetch_raw_image): A new test
for this function which wasn't tested previously.

Fixes bug: 1125068
Change-Id: Ie6f2cff1a554b8500fd66f0832566ae1b317be40
Fix typo/bug in generic UC dropper

Change *fields -> *columns.

There should be tests for other backends mysql and postgres
but at this moment it is not so easy to implement it.

Fixes bug 1123848

Change-Id: I65a618760d499501589d5536c9f7dc64483b19ed
Merge "Correct spelling of quantum"
Imported Translations from Transifex

Change-Id: I1016d574022230b3fdfd6ae580a657aeb45bb1a0
Add generic dropper for duplicate rows

Add generic function that help us to drop duplicated rows from table,
before creating unique constarints. It is very usefull in migrations,
because it will allow DBA to make migrations without IntegrityError
exceptions.

It deletes all duplicates of rows except row with max value in id column.

blueprint db-unique-keys

Change-Id: I7e48d3eb78cf9a5d30752541b143b0c9fa1f838a
Remove race condition (in TaskLog)

Delete all duplicate rows with same (task_name, host, period_beginning,
period_ending) expect one with the biggest value in `id` column.

Create UC on fields (task_name, host, period_beginning, period_ending)

Replace Select then Insert -> Try to Insert.

blueprint db-unique-keys

Change-Id: I99f45a6de6630482e9c56738f894cc55a37fffaf
Merge "clean up missing whitespace after ':'"
Merge "Fix typo/bug in generic UC dropper"