Fixes evacuate doesn't honor enable password conf for v3

The evacuate api should honor enable_instance_password conf
setting just like server creation, rebuild and rescue api does,
enables this flag will returning the instance password from
server API call evacuate, If the hypervisor does not support
password injection then the password returned will not be
correct, this patch just fixes v3 evacuate api, since change
return value of v2 could potentially break apps which depend
on this being returned.

This patch also changes the evacuate response code to 202 to
keep consistency with api.

DocImpact
Change-Id: I2b9e5a067323ca84e2040e175a0425de3c0fafba
Closes-Bug: #1244203
Support IPv6 when booting instances

When nova uses neutron, IPv6 addresses may be allocated.  This ensures
those addresses are supported.

Change-Id: Ic904f3a7811b07264128bc62067cdf0bca9efac9
Closes-bug: #1267685
Accurate comment in compute layer

Currently instance usually refer to an object instead of a dict
but comments didn't update in compute, this patch update it.

Change-Id: I7902f09b21c951c1e7a9d32a75b3c75208fb6d86
Add doc update for 4 filters which is missing in filter_scheduler.rst

DiskFilter
NumInstancesFilter
IoOpsFilter
PciPassthroughFilter
are missing in doc/source/devref/filter_scheduler.rst, add them.

DocImpact

Change-Id: I50868598c9769783e1677c9ec50abf031896af82
Closes-Bug: #1276575
Fix typo and add test for refresh_instance_security_rules

Change Ia36b0dfb adds virt driver API method
refresh_instance_security_rules but there is a typo in the method's
docstring and it needs to be covered in test_virt_drivers.py.

Closes-Bug: #1290036

Change-Id: Idacffe2087f0bec6290e3422d1e777376b489615
Fix "computeFault" when v3 API "GET /versions/:(id)" is called

Usually, the API of "GET /versions/:(id)" is not called directly.
However we can call it directly. So this commit fixes it to work
without the "computeFault ... Unexpected API Error".

Change-Id: Ic5513e5bce214d6fe90a9ccd7d056ac1dd0a4d19
Closes-Bug: #1281936
xenapi: boot from volume without image_ref

Currently xenapi does not deal well with image_meta that does not
contain "disk_format". This happens when we get image_meta from an
associated volume, rather than from glance.

Change-Id: Id673158442fde27e8d468ca412c9bd557a886e6b
Closes-Bug: #1294069
Don't refresh network cache for instances building or deleting

Refreshing the network cache for an instance which is still building
is both unnecessary (the build itself will update the cache when it
completes) and can lead to a race condition if the periodic task gets
incomplete network information, then gets pre-empted by the build
thread, and then updates the cache after the build has finished.

Likewise there is no value in updating the network cache for an
instance which is in the process of being deleted.

Change-Id: I7dd1d0a005662b979eaea3476af2506cbc51f17a
Closes-Bug: 1254320
Merge "Fix typo and add test for refresh_instance_security_rules"
Merge "Fixes evacuate doesn't honor enable password conf for v3"
Merge "Fix "computeFault" when v3 API "GET /versions/:(id)" is called"
Wait till message handling is done on service stop

In order to be able to perform graceful shutdown of services, we need to
wait for all the current message handling thread to finish before
exiting from the service process.

Oslo.messaging MessageHandlingServer class provides this facility
through it's wait() method, so we need to call it in nova Service stop()
method which gets called when gracefull shutdown is requested by sending
the process SIGINT or SIGTERM.

Closes-bug:#1295625
Change-Id: I8556b598f6263a2d4d77e8315950ef1b298aa0a1
Don't allow empty or 0 volume size for images

When specifying the block device that has source_type 'image' and
destination_type 'volume', we should confirm that the volume size is
specified, as Cinder won't be able to guess it, and will reject the
request, thus erroring out the instance.

Closes-bug:#1224469
Change-Id: I87ece3be1a5e9d6b229717f8025ce542707007c4
VMware: fix exception when no objects are returned

get_object_properties may return data that does not contain any
objects. The patch validates that the returned data is accessible.

Change-Id: I9432582bf5bc841aea705a84f939e9482465ff70
Closes-bug: #1294102
Merge "Don't refresh network cache for instances building or deleting"
Merge "Support IPv6 when booting instances"
Merge "Don't allow empty or 0 volume size for images"
Merge "VMware: fix exception when no objects are returned"
Merge "Wait till message handling is done on service stop"
Merge "Add doc update for 4 filters which is missing in filter_scheduler.rst"