Remove duplicate code in Objects create() function

Remove duplicate code updates.pop('id', None) in create() function.
Because if self.obj_attr_is_set('id'):
            raise exception.ObjectActionError(action='create',
            reason='already created')
already make sure object doesn't have 'id' values, which means that
'id' won't appear in updates.

Change-Id: I582ef8857b32c07ea8ba1eb5fc1e64516110f3ce
Synced jsonutils and its dependencies

The sync includes change that drastically enhances performance on Python
2.6 with fresh simplejson library installed.

The latest git commit in oslo-incubator:
- 109e325eec054aefe4fcef4b928a46a6d7247e05

List of synced commits:
* gettextutils.py:
  - de4adbc4: pep8: fixed multiple violations
* importutils.py:
  - 1173e469: Remove ValueError when accessing sys.modules
* jsonutils.py:
  - 0d7296f6: Add kwargs to jsonutils.load(s) functions
  - 18f2bc1b: Enforce unicode json output for jsonutils.load[s]()
  - 9e5a3938: jsonutils.load() accepts file pointer, not string
  - a6b2aecf: On Python <= 2.6, use simplejson if available
* strutils.py:
  - 8a0f5678: Remove str() from LOG.* and exceptions
  - fd18c288: Fix safe_encode(): return bytes on Python 3
  - 302c7c80: strutils: Allow safe_{encode,decode} to take bytes as input
* timeutils.py:
  - 250cd88c: Fixed a new pep8 error and a small typo

Change-Id: Ib3dc0b713ed90396919feba018772243b3b9c90f
Closes-Bug: 1314129
vmware: Refactor: fold volume_util.py into volumeops.py

volume_util.py seems to have originally been intended to be a general
repository of operations on volumes. In fact, it was an arbitrary
collection of iscsi functions which were exclusively called by
VMwareVolumeOps with VMwareVolumeOps private data as arguments.

This change moves all functions from volume_util.py into
VMwareVolumeOps in volumeops.py. This makes it simpler to read and
understand the code, as there is now only a single place to look for
iscsi functions. It also moves StorageError into volumeops.py, as that
is the only place it is used. Arguments have been updated to use
private data directly rather than having them passed in. In addition,
function names have been updated to accurately reflect their actual
purpose.

There are no functional changes. All code change is purely mechanical.

Change-Id: I17f4b71c0314e555d9f7dc1a935865865dd06c51
vmware: Reuse existing StorageError class

Change-Id: If3061b8ebc5ca50a03428b67a0b941f07a314d04
vmware: Use exc_info when logging exceptions

There were several instances where we were logging exceptions as a
string, but from the context a full stack trace was intended. This
change updates these to use exc_info, which logs the exception with a
full stack trace.

Change-Id: I93ac0208c3643ac90ffb36e50ad59f49c66ad88b
Fix exception raised when a requested console type is disabled

The get_{vnc/rdp/spice}_console calls should raise
ConsoleTypeUnavailable not ConsoleTypeInvalid when the
corresponding console is disabled (rather than supplying an
invalid subtype).

Also removes exception handling of ConsoleTypeInvalid from the
os-remote-consoles V3 API plugin as the schema validation ensures
the input passed to nova internals is valid.

Change-Id: Ia444775ff6ec1d869d810bc689914efb8cd233a4
Merge "Synced jsonutils and its dependencies"
make lifecycle event logs more clear

Instead of logging integers in a cryptic way, log the human
readable strings for VM event state transitions. Also use the
existing instance_uuid port of the logger instead of putting that
separately into our log message.

Change-Id: I96c39ad4494aa06a8dd5bd942c669a16836a8b9c
Merge "Remove duplicate code in Objects create() function"
Merge "Fix exception raised when a requested console type is disabled"
Merge "vmware: Refactor: fold volume_util.py into volumeops.py"
Merge "vmware: Reuse existing StorageError class"
Merge "vmware: Use exc_info when logging exceptions"
Merge "make lifecycle event logs more clear"