Improve exception from importutils.import_class().

The ImportError raised by import_class() attempted to tell you what the
original error was by just doing str() on the original exception.
Sometimes that's helpful, but sometimes a full traceback is needed.
This patch includes a traceback for debugging purposes.

Change-Id: I00cefb9ebf9d6a71ef491204d81765e30e7941f6
Add missing gettextutils imports

This change fixes a problem we found in the ceilometer
test suite under Python 2.6. The name '_' is not defined
globally, so nose reports import errors trying to scan
the modules changed here.

Change-Id: Ie94cc4effba457342e25f991cf481fc40a1d8cf3
Add support for tag based versioning.

Versions driven by git.
If the current revision is tagged, then that's the version cut.
If not, for post-versioning, the current version is the tag plus an count of the
revs since the tag.
For pre-versioning, it's the logic that's in create-tarball.sh.
Additionally, a versioninfo file is added to the tree so that pkg-resources
can find out what the version is.

Change-Id: I5991345735fa14666305538c556b519160b02b4b
Add common logging and notification.

This code is migrated from Nova, and will soon replace it.

Change-Id: I2dacac3ef251d419c7049154f6aaf0c18fdb9bb4
Update tox.ini.

The contents of tox.ini were out of date. Update them in preparation
for Jenkins check and gate tests.

Change-Id: I7b6e33b118e0bdab492560c8e36d50c5f7c2c10b
Merge "Update tox.ini."
Merge "Add missing gettextutils imports"
Add 'filedecoder' method to the jsonutils wrapper module.

Fixes bug #1017765

After version 3.3.2, the anyjson library will throw a KeyError if
filedecoder isn't present.  The filedecoder is just like the decoder
except it takes a file instead of a string, like json.load() instead
of json.loads().

Change-Id: I7bd012a7b4afa9b1ec987c3e6393cc922b5dadff
Merge "Add common logging and notification."
Split read_versioninfo into a method.

Change-Id: Iec1f9776b6e6fcccdc21b2e67754fff1da23458a
Pass in stream as positional argument to StreamHandler.

Naming it works in python 2.7 but not in 2.6.

Change-Id: I09cb0e707c428fcfb5d8e825d1acf17b00d84073
Update strings like 'openstack.common.notifier.driver'.

I was running into trouble with driver names that were generically named
in common but need to point to specific objects within nova.

Change-Id: Ie75761c73a855b067b1bcec651a1bb998deba9f4
Fix missing RPCException from raise

Change-Id: Ia850b07d29459b760d24f9bffdd88e4176cb7faf
Fix mailmap.

Mailmap was broken in 01cec1dcb1a0b8d6a0ba098f8e18ab3c0f7cabab

Revert offending line only to get unit tests passing again.

Change-Id: I33e8d5d3587b429d44ae60f34ca2f132ce233793
Enable sitepackages in tox.

This enables support for testing qpid (not available in pip)

Change-Id: I36bc0398ed8e8377dfc8af10ae0981e117a3ec20
Add update.sh to avoid import conflicts

Attempts to fix #951197

The openstack nose plugin defines the openstack.common namespace
which can result in exceptions when update.py attempts to import
cfg.

Avoid the issue by using an update.sh script which creates a
no-site-packages virtualenv.

Change-Id: I1ec5cf49361303b79306714122b860f6e4912215
Merge branch 'master' of https://github.com/openstack/openstack-common
Merge "Pass in stream as positional argument to StreamHandler."
Fix import order.

Fix import order in rpc.common.  They must be alphabetical.  Nova tests
for this and caught it when i synced in the latest changes.

Change-Id: I0dbd6b5004d754d0bd2d1861905db3405c64e3d4
Merge "Fix missing RPCException from raise"