Remove 3 unnecessary variables in scheduler

Remove 3 lines which is unnecessary because already set its value

Change-Id: I8ba107963b8798e15b6336dbe355f86d2ef505f8
Correct the keypairs-get-resp.json API sample file

Current keypair sample files 'keypairs-get-resp.json/xml contain
'keypairs' as the first key and that means its sample response
of "list keypairs" API not "get keypair" API.

The tests don't pass a keypair id, so current tests also are for
"list keypairs" API.

Details-
Below API sample files- from their name it looks like these are for
get keypair API. But in actual content of these files are written as
List keypair API response. So it create the confusion that for which
API these API sample file are. Name suggest for GET and content
suggest for LIST Keypair.

    /nova/tests/integrated/api_samples/os-keypairs/
    keypairs-get-resp.json.tpl
    /nova/tests/integrated/api_samples/os-keypairs/
    keypairs-get-resp.xml.tpl

Their API sample test cases are written corrosponding to list keypair
APIs.

This patch correct the above API sample file name from get to list
Keypair APIs.
API Sample test cases names are also modified accordingly.

Partial-Bug: 1298769

Change-Id: I88d894ff9b0f6236221fa922601b641f26a87301
Drop nova-rpc-zmq-receiver man-page

Doesn't make sense to install and build docs after it was removed.

Change-Id: Ia6193808cca625e83cb3497b5033db5c08dcdd1e
low hanging fruit oslo-incubator sync

Sync modules from oslo-incubator without changing files outside of
directory 'openstack/common'.

Synced Modules:

Patch logs were generated by 'git log --abbrev-commit --pretty=oneline
{file}'

config:
0e98afd Re-raise exception of unloadable library
1a6dfb9 Sanitize FQDN in config generator
e839886 Config generator fails with lazy messages
763eedf Fix DictOpt support in config sample generator

context:
c0d357b Add model_query() to db.sqlalchemy.utils module
13eb01c Adding domain to context and log
12bcdb7 Remove vim header
bdabd51 Remove uuidutils imports in oslo modules
44e8222 Revert "Removes generate_uuid from uuidutils"
571a78a Removes generate_uuid from uuidutils
36859e5 Adding instance_uuid to context and log
b21fc56 Fix bad default for show_deleted

eventlet_backdoor:
fcf517d Update oslo log messages with translation domains
ad17a69 Fix filter() usage due to python 3 compability
8b2b0b7 Use hacking import_exceptions for gettextutils._
12bcdb7 Remove vim header
1dcc747 Fix stylistic problems with help text

excutils:
33a2cee save_and_reraise_exception: make logging respect the reraise parameter
fcf517d Update oslo log messages with translation domains
8b2b0b7 Use hacking import_exceptions for gettextutils._
6d0a6c3 Correct invalid docstrings

fileutils:
fcf517d Update oslo log messages with translation domains
e71cd1a Merge "Trivial: Make vertical white space after license header
consistent"

gettextutils:
fd33d1e Fix gettextutil.Message handling of deep copy failures
047b2e4 Change lazy translation to retain complete dict
6d55e26 Add support for translating log levels separately

importutils:
885828a Deleted duplicated method in cliutils

jsonutils:
e3a1d9c Use six.moves.xmlrpc_client instead of xmlrpclib
3a31bba Python3 support for xmlrpclib

log:
da6d713 Revert setting oslo-incubator logs to INFO
0d18381 Set default log levels for oslo.messaging and oslo-incubator
346884d Add default user_identity to logging record
3570f44 Merge "Remove None for dict.get()"
bf6d71d Merge "Rename Openstack to OpenStack"
86707cd Remove None for dict.get()
61ff7a6 Rename Openstack to OpenStack
5b5068e Merge "Fix deprecated messages sent multiple times"
dda47c9 Use ContextFormatter for imparting context info
52b6446 Fix deprecated messages sent multiple times
d6e1ba7 Merge "default connectionpool to WARN log level"
7f4ad99 Merge "Small edits on help strings"
8c3046b Merge "Backport 'ident' from python 3.3 for Oslo's
SysLogHandler"
1978114 default connectionpool to WARN log level

loopingcall:
fcf517d Update oslo log messages with translation domains
8b2b0b7 Use hacking import_exceptions for gettextutils._
12bcdb7 Remove vim header

memorycache:
12bcdb7 Remove vim header
5e765b2 python3: Fix traceback while running tests

network_utils:
897aa7c urlsplit issues with IPv6 addresses in python26
35dc1d7 py3kcompat: remove
fb738d4 Merge "Use py3kcompat urlutils functions instead of urlparse"
12bcdb7 Remove vim header
4c22556 Use py3kcompat urlutils functions instead of urlparse

processutils:
fcf517d Update oslo log messages with translation domains

service:
e2634a7 Add missing _LI for LOG.info in service module
0150ad7 Merge "Reap child processes gracefully if greenlet thread gets killed"
53e1214 notify calling process we are ready to serve
fcf517d Update oslo log messages with translation domains
1e70078 Revert "service: replace eventlet event by threading"
0644073 Simplify launch method
6b4d255 Merge "service: replace eventlet event by threading"
a4f145e Merge "Allow configurable ProcessLauncher liveness check"
8b2b0b7 Use hacking import_exceptions for gettextutils._

systemd:
53e1214 notify calling process we are ready to serve

threadgroup:
5f8ace0 Merge "threadgroup: use threading rather than greenthread"
2d06d6c Simple typo correction
4d18b57 threadgroup: use threading rather than greenthread
25ff65e Make wait & stop methods work on all threads
12bcdb7 Remove vim header
9d3c34b Add a link method to Thread

timeutils:
d815087 Merge "Fix spelling errors in comments"
63d5ba6 Merge "Fix typo in parameter documentation (timeutils)"
71208fe Fix spelling errors in comments
7013471 Fix typo in parameter documentation (timeutils)

versionutils:
8b2b0b7 Use hacking import_exceptions for gettextutils._
a5ae087 fixed typos
45658e2 Fix violations of H302:import only modules
db29de0 Merge "Adds decorator to deprecate functions and methods"
37ea814 Adds decorator to deprecate functions and methods
12bcdb7 Remove vim header

xmlutils:
12bcdb7 Remove vim header

Co-Authored-By: ChangBo Guo(gcb) <eric.guo@easystack.cn>

Change-Id: Ic8e47cb037683338f972df880b51921c1f9f98d8
Refactor network_utils to new call_xenapi pattern

Move network_utils to the new call_xenapi style, and add some unit
tests, and to make the unit reasonable, start raising NovaException.

Change-Id: I991965ffd57bf4b309cac8c6e9d4ef94f8d430f2
Merge "Drop nova-rpc-zmq-receiver man-page"
Merge "Remove 3 unnecessary variables in scheduler"
Merge "Correct the keypairs-get-resp.json API sample file"
Merge "Refactor network_utils to new call_xenapi pattern"
Revert object-assuming changes to _post_live_migration()

Change I140bfec2a52bf659a725a7dbe78ba5c527ed26de converted the
_post_live_migration() call to assume it was passed an object
because the post_live_migration_at_destination() method uses them.
However, it is also called from live_migration() on the source,
which clearly is still using instance dicts.

This patch reverts the changes that assume an instance object,
as well as the tests that were changed as a result. It also
changes the clear_events_for_instance() call to use dict syntax,
since that is called from the live migration path currently.

Closes-bug: #1302334
Change-Id: I6e915035bc2c1b890e606d17a4195b88c3f26b13
Merge "low hanging fruit oslo-incubator sync"
Merge "Revert object-assuming changes to _post_live_migration()"
mark vif_driver as deprecated and log warning

Several classes were dropped from nova.virt.libvirt.vif from havana ->
icehouse, leading to invalid configurations if one of these classes was
used in the libvirt_vif_driver setting in nova.conf.  The error message
produced by nova-compute in this situation is misleading.

This patch introduces stubs for all of the classes that were removed.
These stubs inherit from LibvirtGenericVIFDriver and log a deprecation
warning in __init__.

This patch also marks the vif_driver option as deprecated.

Change-Id: I6d6cb9315ce6f3b33d17756bcdc77dccda26fefe
Closed-bug: 1302796
Merge "mark vif_driver as deprecated and log warning"
remove redundant copy of test_cache_base_dir_exists

Second copy of RbdTestCase.test_cache_base_dir_exists was accidentally
introduced in https://review.openstack.org/82840.

Change-Id: I16b2e472b2499f01379fdca9c860da0b95e291d8
Closes-bug: #1302211
Signed-off-by: Dmitry Borodaenko <dborodaenko@mirantis.com>
Adding image multiple location support

Images now support multiple locations within its metadata and it may be
stored on more than one backend storage. Nova should add a layer to
transparently handle image preparing and removing for an instance by the
best approach/location, and it should allow administrators to configure
the image handler pipeline with the order who preferred to the layer.

Also, based on this structure we could implement particular sub-class in
relevant hypervisor layer with more advanced functions, such as CoW
making, snapshot capturing and etc. in future.

Implement bp: image-multiple-location
DocImpact

Change-Id: Idce8d21ae37bfdbb28a2567120a83d1061061904
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Move libvirt RBD utilities to a new file

This will make it easier to share rbd-related code with
cinder and glance. Port the applicable unit tests over
from cinder.

Change-Id: I5bf08da87daf1d98f326f21cf33aba68aa830785
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
enable cloning for rbd-backed ephemeral disks

Currently when using rbd as an image backend, nova downloads the
glance image to local disk and then copies it again into rbd. This
can be very slow for large images, and wastes bandwidth as well as
disk space.

When the glance image is stored in the same ceph cluster, the data is
being pulled out and pushed back in unnecessarily. Instead, create a
copy-on-write clone of the image. This is fast, and does not depend
on the size of the image. Instead of taking minutes, booting takes
seconds, and is not limited by the disk copy.

Add some rbd utility functions from cinder to support cloning and
let the rbd imagebackend rely on librbd instead of the rbd
command line tool for checking image existence.

Add an ImageHandler for rbd that does the cloning if an applicable
image location is available. If no such location is available, or rbd
is not configured for ephemeral disks, this handler does nothing, so
enable it by default.

blueprint rbd-clone-image-handler
Closes-bug: 1226351
Change-Id: I9b77a50206d0eda709df8356faaeeba35d232f22
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Use library instead of CLI to cleanup RBD volumes

'rbd list' CLI returns error code when there are no rbd volumes, which
causes problems during live migration of VMs with RBD backed ephemeral
volumes. It's safer to use the library that only raises an exception in
case of a real problem.

The only case where rbd CLI is still justified is import, which is
needed to correctly import sparse image files.

All code related to cleanup of RBD volumes is moved to rbd_utils.py,
this fixes a yo-yo problem with single-use methods scattered across 3
different files, and minimizes impact of this fix on imports in
imagebackend and utils.

Flake8 F401 in test_libvirt.py has to be ignored since flake8 doesn't
recognize use of an imported module in a @mock.patch decorator.

Change-Id: I92cd6b16fbd93b377fe47b15d22efbbf68d02513
Signed-off-by: Dmitry Borodaenko <dborodaenko@mirantis.com>