Move volume_clear option to where it's used

The `volume_clear` and `volume_clear_size` option are used in `lvm.py` so we
should move the definition there.

Change-Id: Ic619c2db0bb1b5ccc7dcbec1a500c3dcb1110b26
Correct a maybe-typo in pci_manager

the variable 'dev' in set_hvdevs are only used for list comprehension,
it does not make sense to use 'dev' again for updating self.stale.

Change-Id: I03f31bfcfc56a43e43eb88845e1d562f19a3a09e
baremetal: Remove depenency on libvirt's fetch_image method

It's messy for virt-drivers to depend on each other, so this patch alters
baremetal to use the cross-driver fetch function, instead of the libvirt
version.

Change-Id: I910c621452fa7eb9add417a8738e5757aeb1a48c
libvirt: Fix kwargs for _create_image

Rescue uses the `suffix` and `disk_images` kwargs of `_create_image`, but
passes them in as positional args. We should use explicit kwargs here to be
clear that rescue depends on both of those parameters being present.

In addition, disk mapping was being passed in as kwarg, but is actually a
positional arg, so we should pass it in as a positional arg to be clear that
it's required.

Change-Id: Iaa990729b4bb3569f4c71ceaf1adabed58f73026
Remove libvirt legacy LVM code

The Change-Id Ib36b962971fd1f66ea9a0818e91fec59e118e686 fixed an
issue which could have caused volumes no longer being able to be
cleaned up due to it's reliance on the instance_name_template
configuration option.

There was code in place to handle both disk formats which are
the legacy format (volume name prefixed by instance name) and
the new one (volume name prefixed by instance uuid).

This commit removes the legacy format which was due to be
removed from the code.

UpgradeImpact - this removes support for really old lvm names that
could have been created in Havana clouds. That means there is a
possible failure to cleanup of lvm volumes that existed uniterupted
since Havana.

Change-Id: I28497a650fbd012643080951f7d86ab8780fd59c
Fix swap_volumes

The attach and detach calls to cinder are better handled by cinder this
patch removes them. There is another patch against this bug to modify
cinder.

The attach call is being made against the new volume after the
migrate_volume_completion request. This means it may be done after the
new volume ID in the db has been deleted.

The detach call is being run at the end on the old ID and so may end up
detaching the migrated volume from cinder's perspective.

Change-Id: I3f2d98e9e473905a3de2f02e00c92ae3065e6ae7
Partial-Bug: 1316079
Add warning to periodic_task with interval 0

In Ia227f4c4e69ecf361ab02d1d17a3010303650104, warnings were
added for several options but instance_delete_interval was
left out by mistake.

Closes-Bug: #1188226
Change-Id: I20b396d664e40252743cac4f2a49f4f34882b32f
Ironic: save DB calls for getting flavor

The commit bceb6342994fc9d38a51a19e5b07652a5fdfd503 would read
the flavor a number of times instead of passing a flavor as a
a parameter.

This save an unnecesary DB access.

Change-Id: I4dc8739129a694d6ddae1ed9f1998663a2204d89
Remove unused elevated context param from quota helper methods

The elevated context being passed to the _quota_usage_create and
_reservation_create methods is not used, so remove it from the formal
parameter list of those methods and related usage.

This is part of a larger series to refactor the quota_reserve method.

Partial-Bug: #1369605

Change-Id: I50749402177eda29ae006ec4fd11a9a8125765ec
Fix KeyError for euca-describe-images

EC2 describe images crashes on volume backed instance snapshot which has
several volumes.

Change-Id: Ibe278688b118db01c9c3ae1763954adf19c7ee0d
Closes-bug: #1370265
move dict copy in prep for object-ify flavors

This change is to help split up the patches for object-ifying flavors.
It moves a dict copy of instance_type from the tests to
get_flavor_by_flavor_id().

Change-Id: I0082a56aa637169fd6e1db3aad56877c9f745bc5
refactor flavor db fakes in prep for object-ify flavors

This change is to help split up the patches for object-ifying flavors.
It refactors db fakes to provide default values for fields that are
not nullable in flavor objects.

Change-Id: I18575703cd5c52d4f446c9bca1edd7baf33b416f
refactor flavor manage tests in prep for object-ify flavors

This change is to help split up the patches for object-ifying flavors.
It refactors flavor manage tests to provide default values for fields
that are not nullable in flavor objects.

Change-Id: I59f0254269379ace2186ed90810c5d1a9f09fed7
Update InstanceInvalidState output

Update InstanceInvalidState output because the original format
is not valid and will lead to none readable output.

Change-Id: I8481facd8100ce9a6f87ea208c06d99016a89534
Making nova.compute.api to return Aggregate Objects

nova.compute.api should return Objects and they should be
converted into the REST API expected result in the API extensions

Change-Id: I4bfd83ab92c719b1776da6445e6a4ea78d2ddfd6
Closes-Bug: #1292644
Add missing instance action record for start of live migration

We should add action record for live migration as we did for resize,
start,etc.

Change-Id: I6838727bf51f4bcdba0010c72bd2d5132bcf2cc3
consistently set status as REBUILD when rebuilding

Consider an instance is in SHUTOFF status(stopped). When a rebuild
is issued on this instance, the status does not display as REBUILD.

Similarly, when a rebuild is issued on an instance and the operation
fails, the instance turns to ERROR state. Now if we issue a rebuild
again, the status does not display as REBUILD.

This patch fixes the above mentioned issues by displaying the correct
status i.e REBUILD.

Change-Id: Id11c9d31683a049c61fd751dc0ddabaf22c96cb9
Closes-Bug: #1362733
Port extended_ips/extended_ips_mac extension to V2.1

This patch port extended_ips/extended_ips_mac extension to V2.1

There are difference between V2 and V3 server show/index &
server address index API response listed below-

'address' field of V2->V3 API response-
"OS-EXT-IPS:type" -> "type"
"OS-EXT-IPS-MAC:mac_addr" -> "mac_addr"

Reverting those attribute same as V2 to work with V2.1

Closes-Bug: #1368495
Partially implements blueprint v2-on-v3-api

Change-Id: I44902b0402115d1b6e833975e6c2f020ac5ab7c3
Fixes potential reliablity issue with missing CONF import

Adds missing CONF.import lines for the keys_path
config option in crypto.py. Although the code currently
appears to work fine, missing import options can result
in flakey unittests and so most likely problems in real
Nova setups as well.

Change-Id: I748a47ecf6b6f0a2ff14db2bcd402163fc0b011e
VMware: Remove class orphaned by ESX driver removal

HostState was only used by the ESX driver, which was removed in
change I718fc0ee67dbd625af00c20fa4e34b8a35015437.

Also remove LOG, which is no longer used following previous removals.

Change-Id: I22e30c01e5b5219df858219dc1fda335a83ad225