Fixes an iSCSI connector issue in the Hyper-V driver.

It fixes how Hyper-v nova driver is returning iscsi connection
information. It affects the way cinder plugins used that
information to implement ACL based on initiator_name.

Fixes: bug #1153975

Change-Id: I40dc3bba9c9a76585ba9bdd938043d4bfef195c8
Makes safe xml data calls raise 400 http error instead of 500

When we parse incoming XML safely, if there was an error raised it would
be an expat.Expat() error, which would bubble up to the api and turn
into a HTTP 500 (Internal Error)

It turns out that all the places we use the safe_xml parsing are in
Deserializers, close to the API, so in this patch we just change the
error it raises straight to nova.exception.MalformedRequest().

This causes the api to fail with the proper 400 (Malformed Request) when
it encounters corrupt XML. This is caught at
nova.api.openstack.wsgi._process_stack and __call__.

We also take the opportunity to move the new safe parser from nova.utils
to nova.api.openstack.xmlutil as the openstack api is the only thing
that uses it.

Fixes: bug #1133111
Change-Id: Ifa2ed7ee128241cfe8dbcdc5bd75194d96b6cdb5
Do not accept invalid keys in quota-update

Check if the keys are valid and respond with HTTPBadRequest
when they are not.

Found a spot in wsgi where we were trying to use xml namespace
as data for the payload, we need to skip them when converting
to json

Fix for LP# 1064864

Change-Id: Ic4a68047adf3ccf2dbac669b1b66d73bfe4d58de
Add the serial to connection info for boot volumes

The serial parameter wasn't being added to volumes specified at
boot time. Added tests. Also cleaned up import in test_compute
to match the rest of the file.

Fixes bug 1148734

Change-Id: I05a623849680c5d0bb530fba4c4e6051d3b000aa
Merge "Makes safe xml data calls raise 400 http error instead of 500"
Fix system_metadata "None" and created_at values

The ill-fated migration 153 converted None instance_type values to
"None" in the database instead of properly making them NULL. This
corrects that by sweeping all of the likely instance_type_% values and
converting "None" to NULL. Also, it adds a belated created_at stamp
to all of the items, which was missing in 153 as well.

It also corrects the 153 migration to avoid polluting things in the
first place for systems that haven't rolled through that yet.

Fixes bug 1152546

Change-Id: I3585463ae15abfd534f2ff070e2974f3cb51d7e8
Merge "Do not accept invalid keys in quota-update"
Don't include traceback when wrapping exceptions

The fix in fa52cb09b2270876c9d9a03106f961be6c9db834 strips tracebacks
from exceptions when returning them to the user, but it still spams
the log with a long traceback. We shouldn't be including the traceback
when we wrap the exception in the first place. Instead we just
include the message.

It also updates the error code to 409 for device in use since this
is actually a conflict.

Fix for:

  bug 1155315
  bug 1103324
  bug 1092610

Change-Id: I95019a3022eb52e0335c455009c13fe229475d03
Merge "Fixes an iSCSI connector issue in the Hyper-V driver."
Merge "Add the serial to connection info for boot volumes"
Merge "Don't include traceback when wrapping exceptions"
Merge "Fix system_metadata "None" and created_at values"