Remove pre-icehouse rpc client API compat

The compute rpc API was at version 3.23 for the Icehouse release.
Since we only support live upgrades from N-1 to N (Icehouse to Juno),
we can remove old rpc client support for versions that were
pre-Icehouse release.  This patch does that for the compute rpcapi.

Change-Id: Ice20b141dbe28de02e125fa5ced1dbc286ba2ee3
libvirt: persist lxc attached volumes across reboots and power down

Currently, attached volumes to a LXC instance will be lost, when
hard rebooting or powering it down.
Adjusting the get_storage_config() to include LXC volumes in the
domain configuration.
The change will add all volumes to the instance config, a part from
the root device mapping.
When (re)creating a LXC instance, get_bdms_to_connect() generator
from block_device module, will be used to exclude the root device
mapping for a domain configuration.

Co-authored-by: Sam Morrison<sorrison@gmail.com>
Closes-Bug: #1269990
Change-Id: I0aa227ede5fca065c6da15506d8cc4391d993e20
Port v2 image_metadata extension to work in v2.1(v3) framework

Port v2 image_metadata extension and adapts it to the v2.1/v3 API
framework. API behaviour is identical with the exception that
there is no support for XML. Also

- unittest code modified to share existing testing with both
  v2/v2.1
- Adds expected error decorators for API methods
- Adds API samples

Partially implements blueprint v2-on-v3-api

Change-Id: Ibc8dc897f3449a1c70bc7ac1510445f48fddb291
Port image-size extension to work in v2.1/v3 framework

Ports v2 image-size extension and adapts it to the v2.1/v3 API
framework. API behaviour is identical with the exception
that there is no support for XML. Also

- unittest code modified to share testing with both v2/v2.1
- Adds expected error decorators for API methods

Partially implements blueprint v2-on-v3-api

Change-Id: I44f3d35b3d888e2f4429ca0788d74b9b0cce9494
Allow _poll_bandwidth_usage task to hit slave

Deployments that have a slave_connection configured can offload
read queries generated by this periodic task there. For
deployments with no slave, behavior remains the same.

Change-Id: Ibf27cdb94bc9b8c50066207c6285666cb29ebbf6
Blueprint: juno-slaveification
Merge "Allow _poll_bandwidth_usage task to hit slave"
Merge "libvirt: persist lxc attached volumes across reboots and power down"
Merge "Port v2 image_metadata extension to work in v2.1(v3) framework"
Merge "Port image-size extension to work in v2.1/v3 framework"
Merge "Remove pre-icehouse rpc client API compat"