Fix nova boot failure using admin role for another tenant

When user create instances with admin role for another tenant
and specify a security group which name is duplicated in Neutron.
Then user will run into an error and from the GUI, and user can't
know what happened.

The root cause is the method find_resourceid_by_name_or_id doesn't
honoured the project info. So this fix will specify the project id
for find_resourceid_by_name_or_id(), so this patch depends on the
neutron client fix, see: https://review.openstack.org/#/c/103476/,
which has been merged.

Change-Id: I478ff4faa013a822483e39c8f5153a3a1e777f9b
Closes-Bug: 1335733
Use JSON instead of json in the parameter descriptions

The correct short form of "JavaScript Object Notation" is JSON.

Change-Id: I230d3abc5bb576694e06ecbf3e0be3324b28b5aa
Updates available resources after live migration

A new VM can't be deployed using resources of the VM that has been migrated
to a new host before the periodic task is called after a live migration.

This change calls update_available_resource() after live
migration is completed even before the next periodic task takes place.

Change-Id: I4c879dcfb1e76cfdc95612b6d8010c1081ac45b9
Closes-Bug: #1267862
Store original state when suspending

We were losing the original state when suspending a rescued instance. This
patch ensures that a suspended rescued instance is restored to the rescued
state on resume.

Closes-Bug: #1342055
Change-Id: I89be60d65eddcfe561794c210b1057fdb157cf41
Add idmap to libvirt config

Allows Nova to configure libvirt domains with id map
elements. This allows user namespaces to be enabled
and configured.

Partially implements: bp libvirt-lxc-user-namespaces

Change-Id: I4dbbc5e265e2caa17e32ff40cb3c5f5bb51d6548
Changes V3 server_actions extension into v2.1

This patch changes v3 server_actions API to v2.1, and also share v2.1 and v2
test case.
rename server_actions back to instance_actions.
The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .
Partially implements blueprint v2-on-v3-api

Change-Id: I8f11dc5f199711e1c98badfbe0035883d9c15573
console: add serial console module

Adds new module console/serial.py to handle configuration
and TCP ports management for the feature serial-ports.

Co-Authored-By: Vladan Popovic <vpopovic@redhat.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Co-Authored-By: Sushma Korati <sushma_korati@persistent.co.in>

DocImpact: new group of option 'serial_console'
Partial-Implements: blueprint serial-ports
Change-Id: Icb7f3569a29a5fab9aaa3a2d441f5fe4e5b55b9f
cmd: add nova-serialproxy service

Adds a websocket proxy that is compatible with Nova
serial ports.

Co-Authored-By: Vladan Popovic <vpopovic@redhat.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Co-Authored-By: Sushma Korati <sushma_korati@persistent.co.in>

Partial-Implements: blueprint serial-ports
Change-Id: Ia944cb93945140e6341588063329a981f7e778f1
Convert v3 server metadata plugin to v2.1

This patch converts v3 server metadata plugin to v2.1 and makes v2
unit tests share between v2 and v2.1.

The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3.

Partially implements blueprint v2-on-v3-api

Change-Id: I619a7323f515234d15000af356277dbf3d91231f
Convert v3 cells API to v2.1

This patch changes v3 cells API to v2.1 and makes v2
unit tests share between v2 and v2.1.

This patch also delete the V3 cells API tests.

The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3.

Partially implements blueprint v2-on-v3-api

Change-Id: Iacfd1881ff24eb3bfc73006244044fc139897eda
Check min_ram and min_disk when boot from volume

Currently when boot from volume and the volume is created
from a image, the original image's min_ram, min_disk attributes
are ignored, this is not good.

We should extract these properties from the volume and check
it when boot from volume.

Change-Id: I861a78b5c7efa71e4bf7206d388b8d0d8048c78e
Closes-Bug: #1360022
Merge "Convert v3 server metadata plugin to v2.1"
Merge "Convert v3 cells API to v2.1"
Merge "console: add serial console module"
Merge "cmd: add nova-serialproxy service"
Merge "Changes V3 server_actions extension into v2.1"
Merge "Check min_ram and min_disk when boot from volume"
Merge "Store original state when suspending"
Merge "Updates available resources after live migration"
Merge "Use JSON instead of json in the parameter descriptions"