translate cinder BadRequest exception

if we attempt to create a volume with values that are invalid (like
a non numeric value for size) we properly get a BadRequest returned
from cinder. However we inproperly pass that cinderclient exception
all the way to the top of the request process, causing a stack trace
to appear in the logs because this is an exception type Nova doesn't
understand.

This situation is triggered by Tempest on every run, and while the
return is successful, the stack trace might spook people.

Fix this by increasing the scope of the existing
_reraise_translated_volume_exception() method. Longer term it would
make sense to have a decorator that handles all possible exceptions
we'd expect from cinder client and turn them into Nova exceptions.

This reduces the number of stack traces in nova-api by 6 on a
successful Tempest run.

Fixes bug #1158505

Step towards blueprint no-stacktraces-in-logs

Change-Id: Ifcfbd5eb11fe9f038f648ca5291499290b7126b1
(cherry picked from commit 3801a4d2f4c59dbfda49131ddde22fcb3976d651)
Fixes Nova API /os-hosts missing element "zone"

Now the HostIndexTemplate of Nova /os-hosts API is missing element "zone",
which will cause the XML output of list hosts missing the zone attribute.

Fixes bug: 1159055

Change-Id: I9940efcfd364c35b00cde4398d531d7ff56dc2b9
(cherry picked from commit c5097ab6682ee1b3021bb628e5083108e3b368d0)
Merge "translate cinder BadRequest exception" into milestone-proposed
Merge "Fixes Nova API /os-hosts missing element "zone"" into milestone-proposed