Security groups: add missing translation

Commit d562012f34eadfe6b68dd5ebe06a2fa565de3b2e added exceptions
that were not translated.

Change-Id: I06dbd32a9bc6d99068e06576e4ea7a8594764db5
Remove rescue/unrescue NotImplementedError handle

There are 2 kinds of RPC call from API layer to compute layer,
one is cast and another is call. For cast, the RPC message will
be posted and the API service will not wait for the message to
be processed. So it won't be able to catch the exception raised
in compute layer and catch and handle the exception is useless
and error leading. This patch removes code in API layer for
rescue and unrescue functions.

Change-Id: Iab8070c25a9dee505c0602efad85c41c21c2aa58
Rename rbd.py to rbd_utils.py in libvirt driver directory

In libvirt driver directory, rbd.py confict with global rbd library
which is imported in rbd.py, so we rename rbd.py to rbd_utils.py.

Change-Id: Ib62e430e678fe09c4a8475a636a8ecc11a194f5c
Closes-Bug: #1352595
libvirt: Allow specification of default machine type

The libvirt driver currently does not set the machine type for a KVM
guest by default. When not specified, libvirt will use the newest one
it knows about. Unfortunately, that can result in live migrations
failing if your environment is using different versions of the host OS
on compute nodes as the destination node may not be able to support the
machine type used when the VM was originally started.

A simple solution to this is to provide a new option which allows you
to specify the default machine type on a per compute node basis
(nova.conf option). By using this option, you can ensure that VMs are
started with a machine type that will allow it to be live migrated to
other nodes in the deployment.

This patch implements that solution by adding the hw_machine_type
option to the [libvirt] group of nova.conf.

DocImpact
Closes-bug: #1331170

Change-Id: I223c70c729315b6ffc01eb293fe70553ef827162
Partial oslo-incubator sync -- log.py

This patch pulls in the changes in openstack/common/log.py that fix
a problem exposed by the removal of translation from LOG.debug
messages.  This removal causes the messages to no longer be unicode, which
can cause formatting problems.  The changes in log.py ensure that any
message that is not of six.test_type is coverted to six.text_type.

Note that this is required to complete blueprint: i18n-enablement.

Generated with:
python update.py --base nova --dest-dir /opt/stack/nova --modules log

log:
 759bd87 Merge "Set keystonemiddleware and routes.middleware to log on WARN l
 71d072f Merge "Except socket.error if syslog isn't running"
 37c0091 Add unicode coercion of logged messages to ContextFormatter
 6614413 Correct coercion of logged message to unicode
 1188d88 Except socket.error if syslog isn't running
 ac995be Fix E126 pep8 errors
 36e5c2d Merge "Adjust oslo logging to provide adapter is enabled for"
 631f880 Set keystonemiddleware and routes.middleware to log on WARN level
 726d00a Adjust oslo logging to provide adapter is enabled for

Change-Id: I255a68fc60963386e8fefe65c3ffd269795adbf4
Closes-Bug: 1348244
Make NovaObjectSerializer work with dicts

Previously we would only look at dicts when deserializing and only to
make sure if it is in fact a serialized version of an object.

This patch makes the NovaObjectSerializer treat dicts as iterables and
attempt to serialize/deserialize them recursively. This behaviour is
needed for some of the cells RPC proxy calls that would make a dict out
of all the kwargs to a standard RPC call and then pass it to the client
like that (likely done to avoid having to bump versions of cell RPC calls
whenever we do it for the corresponding non-cell one). Without this
change tho - we can't have objects in any of such calls as they would
not get serialized.

We also change how @remotable decorator treats update dicts it gets back
from the object_action rpc call, as any fields that are ObjectFields,
and were updated during the remote call in the conductor, would have
already been hydrated by the NovaObjectSerializer's new feature.

Part of blueprint: compute-manager-objects-juno

Change-Id: I8560b692f7150bb01bc2a3ca49b264e587a1e5d1
Merge "Rename rbd.py to rbd_utils.py in libvirt driver directory"
Merge "Make NovaObjectSerializer work with dicts"
Merge "Remove rescue/unrescue NotImplementedError handle"
Merge "libvirt: Allow specification of default machine type"
Merge "Security groups: add missing translation"
Merge "Partial oslo-incubator sync -- log.py"