Handle exception better in v2.1 attach_interface

Add more information when exception occurs in attach interface at Nova
v2.1 API layer.
The commit I7402cfc28d4ee7989c7eb054556df57918bbaeee has been merged
for v2.0 API, this patch does the same change for v2.1 API.

Partially implements blueprint v2-on-v3-api

Change-Id: I1b175501e6db48f27a894db2e66e09d31f8b50e2
Compute: catch more specific exception for _get_instance_nw_info

There are cases when the method _heal_instance_info_cache tries to
update the network cache. The problem here is that the instance no
longer exists. The exception handling was very broad. This adds
treatment for the specific exception.

Change-Id: I04372cec81fde6ef06e9d7f2b59c1e47e15c0905
Closes-bug: #1385246
Make test_quotas compatible with nosetests

Nosetests detects any function that ends with `test` as a test function which
causes `is_v20_api_test` to be run as a test. This fails because `plugin`
won't be defined yet.

In the interest of being developer friendly and supporting this common
test-runner, we should prefix with an underscore so it doesn't get picked up
as an actual test.

Change-Id: I0802b9f2271cc6f555a409784cfb52911098c2d6
Make test_security_groups nose compatible

With nose, `TestNeutronSecurityGroupRulesBase` will be picked up as an actual
test because it starts with `Test`. Since this is an abstract class, we should
prefix it with an underscore so we don't run those tests directly, rather, run
them in their concrete subclasses instead.

Change-Id: Ifa96152ef71b2b27d8b8c76e25a4136186831032
libvirt: safe_decode domain.XMLDesc(0) for i18n logging

domain.XMLDesc(0) can return a utf-8 encoded string which will cause a
UnicodeDecodeError when substituting the variable in the _LE unicode
translated Message object in oslo.i18n.

This change simply decodes domain.XMLDesc(0) before passing it onto the
logging method when used with a translated message.

Closes-Bug: #1388386

Change-Id: Id56d6564cfb15cc479e664020ae6f1c82acacb09
Merge "Make test_quotas compatible with nosetests"
Merge "Make test_security_groups nose compatible"
Merge "libvirt: safe_decode domain.XMLDesc(0) for i18n logging"
Merge "Compute: catch more specific exception for _get_instance_nw_info"
Merge "Handle exception better in v2.1 attach_interface"