libvirt: abort init_host method on libvirt that is too old

Nova has a declared minimum supported libvirt and the init_host
method will log an error message if it sees an older version is
installed. Unfortunately people are frequently not seeing this
error message and then filing bugs about things that are broken
on older libvirt versions.

Turn the log message into an exception so that nova-compute
process startup is completely aborted so people will see the
problem immediately rather than some unpredictable time later.

Closes-bug: #1376651
Change-Id: I87d5a41145b05cc2be3559ab528497fe8355ba85
Use reasonable timeout for rpc service_update()

nova.servicegroup.drivers.db.DbDriver._report_state() is called every
service.report_interval seconds from a timer in order to periodically
report the service state. It calls self.conductor_api.service_update().

If this ends up calling nova.conductor.rpcapi.ConductorAPI.service_update(),
it will do an RPC call() to nova-conductor.

If anything happens which causes the RPC reply to be lost or
never sent in the first place, by default the RPC code will
wait 60 seconds for a response (blocking the timer-based
calling of _report_state() in the meantime).
This is long enough to cause the status in the database to get old
enough that other services consider this service to be "down".

if rpc_reponse_timeout is smaller than report_interval then we could
use the existing RPC timeout, but wait longer won't hurt. So the patch
didn't check it and only use report_interval.

Change-Id: I88743183bce1a534812cfe6110c3fc2892058c53
Closes-Bug: #1368989
Use response.text for returning unicode EC2 metadata

When serving meta-data that contains unicode, use the webob Response.text
instead of Response.body.  This also adds a test that triggers the bug in
addition to testing that all meta-data offered by the server can be served.

Closes-bug: #1380792

Change-Id: If2ddaa97bbc89cf574205c0327e3caa02dd503fc
Remove unuseful parameter in cloudpipe api(v2/v2.1)

project_id in _get_cloudpipe_for_project is useless, remove it.

Change-Id: Ie8cb7a6d8ce0678f04200c9fa9de58b4c92bd40d
Merge "libvirt: abort init_host method on libvirt that is too old"
Merge "Remove unuseful parameter in cloudpipe api(v2/v2.1)"
Merge "Use reasonable timeout for rpc service_update()"
Merge "Use response.text for returning unicode EC2 metadata"