VMware: remove deprecated configuration variable

Removes support for vnc_password configuration variable.

Closes-bug: #1235118

Change-Id: I70fd7d3ee06040d6ce49d93a4becd9cbfdd71f78
Fix root disk not be detached after deleting lxc container

Add teardown_container action when cleanup lxc instance to make
sure root disk be detached and no resource leak.

Fixes: bug #1208387
       bug #1203927

Change-Id: I063fd3a9856bba089bcde5cdefd2576e2eb2b0e9
Use print function rather than print statement

This is for Python 3 compatibility, since Python 3 does not support
the print statement, only the print function.  (Python 2.6 and 2.7
support both, depending on whether a __future__ import is used.)

Paths containing "xen" were left alone, because of comments in a
couple of the files indicating that the XenServer code needed to be
compatible with Python 2.4.

Fixes bug 1226943

Change-Id: I23b804a4d99500b4acf81dd19645ab06dfcc9f1c
Fix typos in nova/api code

blueprint fix-nova-typos

Change-Id: Idd9c5458c5fc0facd9f3c55f907acb7acc4c1b0f
Fixes Hyper-V issue with VHD file format

The VHD format cookie signature needs to be checked in the footer
instead of the header as fixed format VHDs don't have a copy of the
footer at the beginning of the file.

Fixes bug: #1233853

Change-Id: Ibe44f0d895cde2edbc03dcd6ecebac24b0936660
Add a get_root_bdm utility function

Getting the root block device out of a list of block devices is a common
idiom and we use it in several places in our code base. This patch
factors it out in a handy utilty method and adds tests for it.

Change-Id: I4a2cb3c689fed9fbc0bc51ddba095e1269cacb2d
blueprint: clean-up-legacy-block-device-mapping
Move is_volume_backed_instance to new style BDM

Compute API is_volume_backed_instance used to rely on matching the
device name to the root_device_name field of the instance which had
several problems and edge cases.

Now that we have moved to the new BDM format that has the boot_index
and destination_type field for each block device - it is pretty
staightforward to implement.

Change-Id: Ia2c235f8bce577ed4ac6a480a4a051d159a5fad7
blueprint: clean-up-legacy-block-device-mapping
cleanup after boto 2.14 fix

we had a fix that worked fine in the gate, but this was a good
suggestion of a cleaner version. Fixing now while everyone is still
fresh on this.

Change-Id: Id88f3532fe8096c4f7322c683faeaf20bfb431bc
Move exception definitions out of db api

The two exceptions, NoMoreNetworks and NoMoreTargets, are defined
in nova/db/api. While NoMoreTargets is unused and can be removed,
NoMoreNetworks are still used and should be moved to exception.py
where all other exceptions live.

This came up during review of https://review.openstack.org/#/c/42980/
where compute manager would need to import nova.db to make use of
NoMoreNetworks.

Change-Id: I57f0a081d2fea35394421932ae7d2a3e67540a31
Remove unused method _get_res_pool_ref from VMware

This method has been moved to vm_util.py in commit
9408d79e7413aadcba52a61b7a33164090785e4f, so we can
remove it safely.

Change-Id: I6c192414c58c30ceec206937694ae92a3eea4d2d
Use the oslo fixture module

The oslo fixture import has been imported
And the tests code have been updated to use this new module

Change-Id: I3454440770402c028f49a92c6728d7bbad0c9aa0
libvirt tests: replace assertEquals with assertEqual

In Python 2.6, both assertEqual and assertEquals are
convenience aliases to failUnlessEqual.

In Python 3, failUnlessEqual is explicitly deprecated.

This is part of blueprint assertequal

Change-Id: I1857ab4720c20df9bc9b6a06227ded4061678b16
Remove unnecessary "LOG.error()" statement

Removes apparent debug statement left in from
Ifd41886b9bc7dff01cdf741a833946bed1bdddc

Fixes-Bug: #1239603
Change-Id: I9c5b9a6b2349a6c62bef2974ab3b0bb986533741
Sanitize passwords when logging payload in wsgi

adminPass (or admin_pass) can be either part of a json object or
an xml element or xml attribute. The patch includes
regexps to support all these cases and adds tests
as well

Change-Id: Ic119f986a03863c1d13b566b4c005f3bc77d83d0
Closes-Bug: 1231263
Handle MarkerNotFound better in Flavor API

When the specified marker is not found, we should catch the
MarkerNotFound exception and respond with a HTTP 400 Bad
Request with sufficient information back to the user. This
will avoid spilling unwanted tracebacks in the logs as well.

Change-Id: I90a658384f8814096271a193a0f3abd028062b5d
Partial-Bug: 1238519
Harden version checking for boto

Simple string comparison is not effective for version checking.
Let's switch to using pkg_resources.parse_version and compare
the tuples. Per review feedback, enabling the code path for
2.13 as well. Originally we had handled this by excluding
2.13 from requirements. With this we should be able to removing
the exclusion for 2.13 from global requirements.

Change-Id: Ie047f7201d8e6a9a9641000d387c4312506f49b1
Closes-Bug: #1239220
populate local-ipv4 address in config drive

Currently the ec2 metadata in config drive does not include the
local-ipv4 address, because the address is not passed in when using
config drive.

This change uses the fixed_ips in network_info to populate the address
if the address was not passed in.

Fixes bug 1221664
Change-Id: I1b289bbbd7ebe103342909079d2488cf1dfbf472
xenapi: stop using get_all_vdis_in_sr in spawn

Currently when trying to find a cached image, the very expensive call to
get_all_vdis_in_sr is used, where we could instead fetch the VDI
directly using a more targeted query.

Now we are fetching the VDI by name_label we must ensure to clear the
name_label on newly created VDIs to ensure they do not get picked up by
later calls to _find_cached_image().

Fixes bug 1221292

The above code that checks for _find_cached_images has race conditions
where its possible to end up with two VDIs returned. To stop this
happening the code to create the cached images is now synchronized on
the image being fetched.

Fixes bug 1226073

Change-Id: I534fb8f42b00b5d39dc17dd5fee297144b5f379a
xenapi: removes sleep after final upload retry

This change removes the sleep that happens after the final retry of
uploading an image.

This change also ensures the unit tests do not take too long by stubbing
out time.sleep.

Closes bug 1239707
Change-Id: I16b6639e3231d41fa476218f406fa5b3abdfaf71
Fix NovaObject versioning attribute usage

A typo made early in the object prototyping process has meant that
all objects thus far have been exposing a version of '1.0' because
the base object has been using an attribute of 'version'. The
object implementations have been exposing a 'VERSION' attribute
with their desired version advertisement.

Since we are still relatively early in the process of deploying
objects, the impact from this should be relatively minor, although
it is important to get this fixed ASAP before any incompatible
object changes are made.

Change-Id: If9154dc663111f304f72ef7f6f37c465e84ff504
Closes-bug: #1239709