Describe addresses in ec2 api broken with neutron

It attempts to retrieve the fixed ip directly,
but it's not supported by neutron.

After the modification,
the instance uuid will be pulled without using get_fixed_ip().

Change-Id: Ia1b95d4c18aeb5012919af89148947694d80e2e7
Closes-Bug: #1273837
Fix logic for aggregate_metadata_get_by_host_with_key test case

After deleting a3 metadata, it is the host that once has such metadata
should be tested.

Change-Id: I79c40aa977911cd327d478ad8d9f147e19325017
Remove warn log in quota function on API layer

An API layer function in quotas print warn message when in input
is not valid, it's useless since an exception will be raised.

Change-Id: I707416aae29e56ad1c7d2cc55ca8c662bf5547f5
VMware: add missing translations

Commit 1c6898efecd7d78855efcb22d9c38d6127339000 added a number
of exceptions that did not have translation support.

Change-Id: I38715b8b14bdf9ccee08db44cf171f9c860b4fa8
Make test computations explicit

This test is full of magic numbers, making it very difficult to fix when
the underlying code changes. There are some obvious errors, such as an
instance having a different memory_mb value than its flavor. This patch
attempts to sort these issues out, making it easier to work on the
resource tracker with confidence.

Change-Id: I4549f0d9b10a5ac65f169199b98b8975ef2a8cd3
Ignore InstanceNotFound while getting console output

During we cold-migrating or resizing an instance to another host,
or during deleting it, the get_console_output method may raise an
InstanceNotFound excetpion if the instance is not on the hypervisor,
this is an expected error, so we should add it to expected
exceptions list in compute manager.

Closes-bug: #1292339
Change-Id: I23a99438d73826f01ff5662130dcbfa72dc39a6e
Fix display of server group members

The previous code was failing to display the members of server
groups because it was filtering them all out.

Interestingly, the previous code passes the unit tests due to a
bug where we treat regex comparisons differently when using mysql
vs sqlite (tracked under bug 1298690).

Change-Id: I7be9c180f4284dd18cd02e510e77e3c1e3fc9925
Closes-bug: 1298494
Improved logs for add/remove security group rules.

Added more details - protocol and port information to AUDIT log
messages on add/remove rule actions for security groups.

Change-Id: Ib446a63976dade90c51c13f30367a3ee17a739ea
Closes-Bug: #1154303
XenAPI: Calculate disk_available_least

The disk_available_least item is now needed for the tempest test.
Calculate based on the virtual-allocation from the SR.

Change-Id: I1a08f229de7cd77d4798472c82304247fae290e5
Closes-bug: 1300242
Rename instance_actions v3 to server_actions

* Renames the os-instance_actions v3 plugin to os-server-actions
* Also modifies api specific tests and expected user input JSON
* DocImpact only for v3 Nova api documentation for this plugin.

Closes-Bug: #1206032

DocImpact

Change-Id: Id5049e10f5ef540d0d8e3871d800e9d9cb33da73
Remove unnecessary passing of task_state to check_instance_state

Remove cases where task_state=[None] was passed to check_instance_state
when that is essentially the default value anyway

Change-Id: I49b6449b9ae43a5cfcf5a1ccac5ee9a64d2b3f3c
Localized error exception message on delete host aggregate

When a Host Aggregate was trying to be deleted and it already has
assigned hosts, the error message was not being translated.

Change-Id: I6255992a40030b0a232fc43e9b38071c0a471640
Partial-Bug: #1296430
Make sure leases are maintained until release

Dnsmasq asks nova-dhcpbridge for existing leases on reboot, but
we don't return addresses that have been deallocated but not yet
released. This modifies nova to return leased but not allocated
addresses. It also delays removing the vif until we disassociate
the ip so we still have access to the mac address.

Resolves-bug: 1300355

Change-Id: Id78d66aad5005f052a1b49002de0ef13ef5a298d
libvirt: optimize pause mode support

Commit bfb28fcf9031af4c695177663702ce05edbbfa4d added a method
call that checks if the libvirt driver support the
VIR_DOMAIN_START_PAUSED flag. This patch optimizes that by reading
the value at startup.

Change-Id: I0fc1edec55df609ab25b9999f4a0d077ddcf0be7
Allow user to specify image to use during rescue - V2 API changes

This commit includes the V2 changes.
Making changes in v2 API to take an extra parameter rescue_image_ref
as part of the rescue action API.
If specified, this image_ref will be used to rescue the instance.
If the image is not specified, then the base image ref is used by
default.

Partially Implements: blueprint allow-image-to-be-specified-during-rescue

DocImpact

Change-Id: I985b21264841a6a18a66d19ccd41753f78576776
Add info_cache as expected attribute when evacuate instance

Nova evacuates instance failed with neutron. The reason is
when nova-conductor try to get network info for instance, it
need instance include 'info_cache', but the instance dict which
passed didn't include it. This patch adds 'info_cache' as the
expected attribute for get instance.

Change-Id: I6f110c607e32b0ab536916741605b25d572331dc
Closes-Bug: #1284709
Downgrade the log level when automatic confirm_resize fails

When CONF.resize_confirm_window is not 0, the unconfirmed migration
will be confirmed automatically after CONF.resize_confirm_window
seconds; it might fail due to reason such as instance is locked etc,
so failed to automatically confirm resize is not unexpected.
Downgrade the log from error to debug and after all, user can
either confirm it later or next automatically confirm might success.
Also modify the format of log as well.

Change-Id: I525c803d5e149c49606bcd460e2abb4c9300454a
ec2: remove db.instance_system_metadata usage

Update some direct db API calls getting and updating instance system
metadata with usage of the Instance object.  This is the last of
db.instance_* usage in the ec2 API.

Change-Id: I9270ddd2c6a91e85f1c0ed684cb0e440a1587cf2
ec2: get services using ServiceList object

Remove another direct use of the db API by making use of the
ServiceList object.

Change-Id: I9594033d798892df95404209d702f6af543a7139
ec2: use SecurityGroup object

Convert one place in the ec2 API code that was using the db API
directly to get a security group.  Use the SecurityGroup object for
this instead.

Some test fixes were needed to account for fields that the
SecurityGroup object does not have set as nullable.

Change-Id: I4b15b6bcb35f95955911a48faa8d74f6167593a0