fix bug 992008, we should config public interface on compute

Change-Id: I35a7d63c9613161f9fea052edf39759e4e2c6227
Added img metadata validation. Fixes bug 962117.

1. Added validation for image metadata.
2. Renamed the method 'check_img_metadata_quota_limit' to
'check_img_metadata_quota_limit' since it also validates the image metadata.
3. Added unit test cases.

Change-Id: I0e9dad97c03070363d14977897701e146870e41a
Use default qemu-img cluster size in libvirt connection driver

The recommended cluster size [1] for qcow2 is 64k, which is the default
when invoking 'qemu-img create ...'.  Remove the cluster_size option
from qemu-img invocation.

[1] http://www.mail-archive.com/openstack@lists.launchpad.net/msg11371.html

V2: Fix test.

Change-Id: Iafc290720a820cb5f57ded10a2f584fdc5cd5b49
Setup logging, particularly for keystone middleware

Fixes bug 979282 and bug 988951

Change-Id: I895d00ac9648e8b3cb3ad1bf141c9bfe02ef3680
Create a utf8 version of the dns_domains table.

The old dns_domains table was encoded in the 'latin1'
charset and has its primary key length set to 512.
This is too long to be a valid pkey in a proper 'utf8' encoded
table and seems to cause a slew of errors like:

1) Dumping a database with mysqldump and trying to import it fails
because this table is latin1 but fkeys to utf8 tables (projects).

2) Trying to alter the old dns_domains table fails with errors
like:
 mysql> ALTER TABLE dns_domains DROP PRIMARY KEY;
 ERROR 1025 (HY000): Error on rename of './nova/#sql-6cf_855'....

This patch creates a new migration that re-creates the dns_domains
table with a shorter 'domain' column which works with the utf8
charset.

Fixes LP Bug #993663.

Change-Id: I2060d39cbdabd20f410ebd501160a04c51641755
Merge "Setup logging, particularly for keystone middleware"
Merge "Use default qemu-img cluster size in libvirt connection driver"
Merge "Added img metadata validation. Fixes bug 962117."
Merge "fix bug 992008, we should config public interface on compute"
Merge "Create a utf8 version of the dns_domains table."
Add base support for rpc API versioning.

Part of blueprint versioned-rpc-apis.

This commit includes the base support for versioned RPC APIs.  It
introduces the RpcProxy and RpcDispatcher classes that have common code
for handling versioning on the client and server sides, respectively.

RPC APIs will be converted one at a time using this infrastructure.

Change-Id: I07bd82e9ff60c356123950e466caaffdfce79eba
Add version to the cert rpc API.

Part of blueprint versioned-rpc-apis.

Change-Id: Iea00a2e82eef7ca7b3ffef438e81e5b4fcca7751
Add version to consoleauth rpc API.

Part of blueprint versioned-rpc-apis.

Change-Id: I9682bdbd06d744141b94385992b37cd2e55b8f5e
Add version to console rpc API.

Part of blueprint versioned-rpc-apis.

Change-Id: I17d6e3094c56d8628688dabdc8d40b2f4f815af4
Add version to scheduler rpc API.

Part of blueprint versioned-rpc-apis.

One side effect of this change was that nova.scheduler.api was removed
in favor of nova.scheduler.rpcapi.  In this case, the api was just a
direct wrapper around rpc usage.  For other APIs, I've been following
the pattern that the rpcapi module provides the rpc client wrapper, and
if any other client-side logic is needed, that's where an api module is
used.

Change-Id: Ibd0292936f9afc77aeb5d040660bfa857861eed1
WIP: Add version to compute rpc API.

Part of blueprint versioned-rpc-apis.

Change-Id: I5943d1fae2c96cfe519817b59098402481a1026b