Adding cornercases for set_metadata

Aggregate_set_metadata leaves users confused because it currently
does not check for duplicate key=value parameters for addition
or a missing key for deletion. All that user sees is that "metadata has been updated"
more details in bug1292572

This patch checks for above mentioned corner cases and informs users when and why
there was no change made in above corner cases

Adding better testcases also.

   Closes-Bug: #1292572

Change-Id: I820d793ac44680295df8b2a3f58a0834f7019875
Allow selecting the network for doing the ssh with

Previously, nova ssh was searching for network types: public and
private, which seems to be incorrect (fixed and floating seems to be
correct), causing that this command has probably never worked.

This commit fixes the above and adds an option for selecting the network
to use, which is helpful when there are more networks for the VM.

Change-Id: I01ea6cee725c0feaacab60975c3792b0ac1305e9
Closes-Bug: #1227694
Closes-Bug: #1343991
Add support for security-group-default-rules

Add API & CLI support for security-group-default-rules. Security group
default rules allows users to create, delete, list, and get rules that
will be pre-populated into the Security Group "default" that is
populated in all projects on creation. This feature was intoduced in
Grizzly.

This commit also includes a small typo fix in the security_group_rules fake.

Change-Id: I6722b659934bde34bd206103f92dbd2cc42b1537
Closes-Bug: #1326941
Fix order of arguments in assertEquals

Part 10

Related to: bug #1277104

Change-Id: I582cfcf88def00c6c885ab78f26f2b4fa30c4457
Enable several checks and do not check docs/source/conf.py

* E265 block comment should start with '# '
* H302 import only modules

Do not check docs/source/conf.py. The file is imported from the
cookiecutter template.

Documented why checks are ignored and if they should be enabled
in the future.

Change-Id: I367064ecaa6d1fd9d918f7ce003303e2db660647
Fix variable error for nova --service-type

When running 'nova' with '--service-type' option, it raises an variable
error.

$ nova --service-type compute list
ERROR: local variable 'os_compute_api_version' referenced before
assignment

When '--service-type' option is given, the default value of
'os_compute_api_version' does not apply.

Change-Id: I19554756e8eb56e3a5984ed3078137af9687f986
Closes-bug: 1315368
Quickstart (README) doc should refer to nova

Closes Bug: #1358385

Change-Id: I0d9592d3221f3a4295bce7e5da8472ea73e0bcc7
Add filtering by service to hosts list command

This commit adds --service-name option to host-list command allowing
user to filter hosts by service.

DocImpact
Closes-Bug: 1224763
Change-Id: Ic67deb3af7ddbe23c14fa38ae180d43ab484b78f
Adding Nova Client support for auto find host APIv3

Adding nova client functionality to use the auto find
destination host for evacuate.
This change makes the target host optional
on evacuate command.

Partial Implements: blueprint find-host-and-evacuate-instance

Change-Id: I40619b8d1eea6ae44ed5e43fb50ce2c1862686d6
Co-Authored-By: Juan M. Olle <juan.m.olle@intel.com>
Adding Nova Client support for auto find host APIv2

Adding nova client functionality to use the auto find
destination host for evacuate.
This change makes the target host optional
on evacuate command.

Partial Implements: blueprint find-host-and-evacuate-instance

Co-Authored-By: Leandro Costantino <leandro.i.costantino@intel.com>
Change-Id: I4e6b52df9c55b223c8693058d73125962cff4d16
Enhance network-list to allow --fields

Add the ability to specify --fields, using any valid vields, when
doing a network-list. This code was shamelessly borrowed from
do_list(). This will allow crafting network-list queries which
mirror the functionality of 'nova-manage network list', which this
query was intended to replace.

Change-Id: I7ec7066350cdb979a64d20d14362b12e3ec76496
Merge "Allow selecting the network for doing the ssh with"
Merge "Enable several checks and do not check docs/source/conf.py"
Merge "Adding Nova Client support for auto find host APIv2"
Merge "Adding Nova Client support for auto find host APIv3"
Updated from global requirements

Change-Id: I6ccf81a6c605b21946cfcebf817fc1b25f23cae6
Merge "Fix variable error for nova --service-type"
Merge "Updated from global requirements"
Merge "Add filtering by service to hosts list command"
Updated from global requirements

Change-Id: I6c2fb676276746719e982d42857e1d03a502d886