commit 32fa41d2c13b2b10cc0091c718872642dad7c378
Author: Xavier Queralt <xqueralt@redhat.com>
Date:   Wed Feb 5 12:29:32 2014 +0100

    Pin SQLAlchemy to 0.7.x
    
    0.7.10 has been released and is compatible with 0.7.x. Instead
    of pinning to 0.7.9, simply pin to 0.7.x to avoid SQLAlchemy 0.8
    
    Change-Id: Iea57598698b4faf906e82a2974497221d07f4d16

commit 77c00709f465a1a1962197544517a27c542dd80c
Author: Alan Pevec <apevec@redhat.com>
Date:   Wed Feb 5 13:17:47 2014 +0100

    Pin Sphinx to <1.2
    
    1.2 was just released and has a bug that causes builds to fail with
    the error:
    
      error: 'source_dir' must be a directory name (got `...doc/source`)
    
    See: http://bugs.python.org/issue19570
    and: https://bitbucket.org/birkenfeld/sphinx/pull-request/193/builddoc-shouldnt-fail-on-unicode-paths/diff
    
    Change-Id: I0487b4eca8f2755b882689289e3cdf429729b1fb

commit ad04e5787a4a651e59636ae7bb28dd9a0b2ee63f
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Fri Mar 22 12:56:37 2013 -0400

    Fix problem with setting SSL protocol in QPid
    
    looks like we were setting the wrong param
    
    Fixes LP# 1158807
    
    Change-Id: Id138926f737ce87618d625aa8b289c508a66aaf4
    (cherry picked from commit 80abdcc48af5a6c67690cafcd41e5682bb1fef15)

commit 4f97479ad078771f6f25461c95203a5d293ec08b
Author: Xavier Queralt <xqueralt@redhat.com>
Date:   Mon Sep 2 14:27:22 2013 +0200

    Fix problem when sending long messages in Qpid
    
    Qpid has a limitation where it cannot serialize a dict containing a
    string greater than 65535 characters. This change alters the Qpid
    implementation to JSON encode the dict before sending it, but only if
    Qpid would fail to serialize it. This maintains as much backward
    compatibility as possible, though long messages will still fail if they
    are sent to an older receiver.
    
    The first part of this fix was ported to Grizzly in I8b6c5734b to allow
    receiving messages from Havana using the new format. Even though this
    change will modify the message format, it will only do it when messages
    are longer than 65K which would be broken anyway and could cause serious
    bugs like the one linked below.
    
    Fixes bug 1215091
    
    Change-Id: I2f0e88435748bab631d969573d3a598d9e1f7fef

commit c7862b5239822d701b7fb155faa4607eff602627
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jun 19 11:11:36 2013 -0400

    Remove unnecessary timeout logging.
    
    rpc.call timeouts are not necessarily fatal, so don't log an exception
    with a traceback for every single one.  Let the caller decide what to
    do.
    
    This is a partial backport of 229b815fb72dccf998b18a0ad019cc61ccb888d8
    from master, which removed this along with a bunch of other changes.
    
    I noticed this during a sync to nova, where this line was getting added,
    so it must have been removed directly in nova at some point.  It really
    shouldn't be there, so let's just remove it from the original code.
    
    Change-Id: Ide4f26865d8f2ce0630cc8824fbea6f17aa262fa

commit 860827fafcc020ab0d7f9d56b6f03b6e8b8ebc7b
Author: Ben Nemec <bnemec@us.ibm.com>
Date:   Tue Jun 4 18:52:06 2013 +0000

    Grizzly compatibility with Havana Qpid messages
    
    A change had to be made in the Havana Qpid implementation that is
    not entirely backwards compatible.  This change allows Grizzly to
    receive messages in the new format.
    
    Backport of change for bug 1175808
    
    Change-Id: I8b6c5734b67cd33cdd5ef0659bdd77504317187d

commit 11b7d88c8a6ee7df1eb14d75b35b1c516d1bd8f2
Author: Gary Kotton <gkotton@redhat.com>
Date:   Wed May 1 07:52:06 2013 +0000

    Ensure that qpid connection is closed.
    
    Fixes bug 1172922
    
    When reestablishing a session and a connection already exists the
    existing connection will be closed prior to opening the new one.
    
    Change-Id: I9a25800fe4b56eba89d550e3461ce095bf902f0a

commit 5e87b4e27623ccafe26afdfe33c8eaf9812acb82
Merge: 210fdcd 07ce6a3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 29 18:07:00 2013 +0000

    Merge "Mark sql_connection with secret flag" into stable/grizzly

commit 210fdcdd25523441b60baf4675538428466a8053
Merge: 44c979a 2af2ead
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 29 17:47:04 2013 +0000

    Merge "Set gitreview default branch to stable/grizzly" into stable/grizzly

commit 44c979a5758261914812b35ca4990bc2dd2bfea1
Merge: 03eeed3 11e7126
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 29 17:43:12 2013 +0000

    Merge "Change qpid_port to IntOpt" into stable/grizzly

commit 11e7126f11bcea114e69835bf0a4bd81ae8d944b
Author: Aaron Rosen <arosen@nicira.com>
Date:   Thu Mar 28 17:37:33 2013 -0700

    Change qpid_port to IntOpt
    
    Fixes bug 1161679
    
    Change-Id: I4b64fccbb7871dfab4fb74534514aa269c31f03d
    (cherry picked from commit cb6d2ed2c1eda7b72c898b0a61eeed10202b9d54)

commit 07ce6a36c35e07169e11178e6a48340e2ed1b1c9
Author: Michael J Fork <mjfork@us.ibm.com>
Date:   Wed Mar 27 02:34:49 2013 +0000

    Mark sql_connection with secret flag
    
    sql_connection contains the password in some setups and marking as
    secret prevents accidental logging
    
    fixes bug 1160680
    
    Change-Id: Ib2d00219ea40a010c62e6a29045309f030e6de28
    (cherry picked from commit f79915ec1d975219719e0ba99128d7c62398ae0a)

commit 2af2ead2b8f18578d05bcb7c257ef4ef43e304b4
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Mar 28 14:35:03 2013 -0700

    Set gitreview default branch to stable/grizzly
    
    Change-Id: I7df543bbfd89f580ce66363a23dfafee51a5059f

commit 03eeed3db2d6c247e28566b65af6cbb478174025
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Mon Mar 25 12:35:34 2013 -0400

    Fix default values for Matchmaker IntOpts
    
    The following should use ints not strings.
    * matchmaker_heartbeat_freq
    * matchmaker_heartbeat_ttl
    
    Fix bug 1159889
    
    Change-Id: If2ce034d2a9876dbe6b232a1f5d73367d29074b0
    (cherry picked from commit 5c825e4ddcf0aa980ec61c0e420328169b5a9ed6)

commit 40807998b8c26bc69048bda228f056b1ac5d83bf
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Mar 21 10:57:23 2013 -0500

    Include Co-authored-by entries in AUTHORS.
    
    Co-authored-by lines are the way we've decided to indicated shared
    authorship of a patch, so content from them should be included in
    the generated AUTHORS file.
    
    Fixes bug 1158319.
    
    Change-Id: I9dacf78c01f3ad74e696f16a7aa39edb98e8d185

commit 3cb71ffeaabf8f30e761bb498142a3c56b4fd640
Author: Gary Kotton <gkotton@redhat.com>
Date:   Thu Mar 21 06:11:36 2013 +0000

    Locking edge case when lock_path does not exist
    
    Fixes bug 1158179
    
    In the case that the lock_path does not exist and there is a contested
    resource then the process that was waiting on the lock will not
    be locking due to the fact that the directory was deleted.
    
    Change-Id: I75d720d4df499e85386d3e2cc86b927b017e12ac

commit 1c0f6605ff3aec0570a6cb15f4332cd70cc9b0d3
Author: Mark McClain <mark.mcclain@dreamhost.com>
Date:   Wed Mar 13 14:52:43 2013 -0400

    update OpenStack, LLC to OpenStack Foundation
    
    fixes bug 1154745
    
    The previous update (https://review.openstack.org/#/c/24103/) missed
    header files that contained "OpenStack, LLC".  This change corrects the
    missed files to reflect the OpenStack Foundation.
    
    Change-Id: I9c6de265267485ef2c82ea7e6d8643e82134d102
    (cherry picked from commit 65e3d8c9773880094c0a4c164e046fae9cb7a5d9)

commit 44d2a4c02f0771f5b6614de9d50a9fde498a0a65
Merge: 7f9b28a 4064021
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 13 11:48:00 2013 +0000

    Merge "Sanitize input before creating IPC socket."

commit 7f9b28ad0e3e6b0b25a2643cc951db7695db4f36
Merge: 553f6dc a2223d4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 13 00:03:48 2013 +0000

    Merge "update.py: support one-module-per-line configuration"

commit 40640215468b1fe7f7b17c299c658e94f82e7d70
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Feb 12 01:13:17 2013 -0500

    Sanitize input before creating IPC socket.
    
    Sockets are created by the zeromq driver
    for the topic specified by each incoming message.
    
    Because the topic is arbitrarily supplied by the sender,
    path separators in the topic must be illegal.
    
    Fixes bug 1122763
    
    Change-Id: Iccdb9b69e646bfe7665ee34c367fd4019db25f17

commit a2223d49c8d5e27951b702a5b8a59a278f03fb74
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Mar 12 17:21:50 2013 +0000

    update.py: support one-module-per-line configuration
    
    Fixes bug #1122701
    
    Allow:
    
      module=foo
      module=bar
    
    rather than
    
      modules=foo,bar
    
    to make reviewing changes easier.
    
    Change-Id: Ic0a7fb28fd34f530c93806a5fb79ed3dc3bc494e

commit 553f6dcf8f9592482a0c55abcaec3c81b42558a7
Merge: 60842f6 9fe688a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 12 17:10:51 2013 +0000

    Merge "Initialize root logger in _setup_logging_from_conf()"

commit 60842f6a02cf4c078a2f1971444efd9f97ead991
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Mar 12 16:24:41 2013 +0000

    Switch to final 1.1.0 oslo.config release
    
    Fixes bug #1128256
    
    oslo.config has now been released to PyPI in time for Grizzly RC1 so
    we can switch to using it directly.
    
    Change-Id: I655f831718ae5f4e25e941ee206fe195214a9a91

commit 9fe688a412d910e29fdf97fd0f97a7f815db6c8f
Author: Zhiteng Huang <zhiteng.huang@intel.com>
Date:   Wed Mar 13 00:27:48 2013 +0800

    Initialize root logger in _setup_logging_from_conf()
    
    log.setup() doesn't really initialize root logger, therefore logging
    in 3rd party library such as stevedore doesn't work properly. This
    patch enable root logger initialization.
    
    Fix bug: # 1073241
    
    Change-Id: I6fa41b2ba41ff97ad0280f8774a26887d294423e

commit 55b35226cf027100248ddcb11d8a7186c1635ddf
Merge: ef884cd 547ab34
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 12 15:44:27 2013 +0000

    Merge "Fix Copyright Headers - Rename LLC to Foundation"

commit ef884cd520da319939bc57ad2032cfb0c6e8b4e5
Merge: 8589eb8 3e71cc4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 12 15:24:44 2013 +0000

    Merge "Unignore log_format option"

commit 8589eb84287c99c25f0e28a3a8c3ff40f4f99f4c
Merge: 21925b6 b85e830
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 12 15:23:39 2013 +0000

    Merge "Keep exc_info() to prevent an internal error"

commit 21925b63af87c36be97eec5b212e06477471bb1e
Author: Pedro Navarro Perez <pednape@gmail.com>
Date:   Tue Mar 12 04:24:51 2013 -0700

    Fix locking issues in Windows
    
    The Windows Storage Cinder plugin through
    the Windows Locks implementation
    of the InterProcessLock fails in
    attaching/detaching operations.
    
    Change-Id: I682205592e152b3222e04ca3221d25594d134dd9
    Fixes: bug #1153966

commit 547ab34a40f0463a42c7d137e8dcb038a29ba6b5
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Mon Mar 11 14:49:31 2013 -0400

    Fix Copyright Headers - Rename LLC to Foundation
    
    One code change, rest are in headers
    
    Change-Id: I73f59681358629e1ad74e49d3d3ca13fcb5c2eb1

commit ce6571fe64189c2206577d0e40ef8764d44d1378
Merge: cb82d35 ab50ac0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Mar 11 06:41:28 2013 +0000

    Merge "Fix inconsistency with auth_tok/auth_token"

commit 3e71cc4c8c7e08784f44c2e337a585e562b93ec5
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Sun Mar 10 21:10:52 2013 -0400

    Unignore log_format option
    
    Allow log_format option to be settable by the operator,
    as per configure-logging documentation. Thanks to Marcus Furlong.
    
    Fixes LP: #1124716
    
    Change-Id: I15d39b3162643c22ff6c905ecbb2efa06e2d882f

commit cb82d356e6e49e9e60b933de85cea583dc46cd72
Author: Monty Taylor <mordred@inaugust.com>
Date:   Sun Mar 10 21:06:21 2013 -0400

    Stop using --stat for ChangeLog.
    
    It takes 15 seconds to generate the ChangeLog for nova. Without --stat,
    it takes 0.5 seconds. Removing this makes using tox in nova about the
    same speed as using install_venv/with_venv.
    
    Change-Id: I626d5e788bfaf1a80b91d845f21af54680f81c35

commit b85e8303347b4ff16951e55e2be2d9b2d39d9678
Author: Haiwei Xu <xu-haiwei@mxw.nes.nec.co.jp>
Date:   Thu Mar 7 10:37:14 2013 +0900

    Keep exc_info() to prevent an internal error
    
    Fixes bug 1135539
    When SysLogHandler is configured in UDP socket mode, the user
    who doesn't have the admin privilege got the unexpecting internal
    server error(HTTP 500) in "nova dns-create-private-domain" command.
    This bug occurs as the call graph drew below:
    
    |--ProxyCallback._process_data():amqp.py
                              |--LOG.exception()
                              |    :
                              |    |--BaseHub.switch():hub.py
                              |                 |-- clear_sys_exc_info()
                              |
                              |--ctxt.reply(None, sys.exc_info(),..)
                                           |
                                           :
                                           |
                             |--serialize_remote_exception():common.py
                                           |--failure_info#(None,None,None)
    
    The sys.exc_info() is cleared by the clear_sys_exc_info(), but it is
    called again by the ctxt.reply().
    This patch prevents the internal error and returns the details of
    the forbidden error(HTTP 403) which is expected.
    
    Change-Id: I549b4b2365c53c401edc80bbe30bcde249d27b85

commit ab50ac0c9b8e9dbf2a2f353f68c2b7f397175df2
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Sun Mar 10 19:04:42 2013 -0400

    Fix inconsistency with auth_tok/auth_token
    
    Switch to using auth_token instead of auth_ok
    
    Fixes LP# 1152826
    
    Change-Id: I56569c1fa8f29b0474440c40644729d436d41c7b

commit 622f79311787c8a0b02d4999ada66810a97246e0
Merge: 27be16e 2e8b5e8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 7 22:55:19 2013 +0000

    Merge "Add 'is' operator to extra specs ops."

commit 2e8b5e8446432542901b3c814670a4c67e629137
Author: Avishay Traeger <avishay@il.ibm.com>
Date:   Wed Mar 6 12:21:31 2013 +0200

    Add 'is' operator to extra specs ops.
    
    Boolean values for capabilities don't work because extra_specs are
    all converted to unicode. The scheduler will then check, for example,
    if the boolean 'True' is equal to the unicode string 'True', and will
    always return False. This patch allows admins to specify '<is> True'
    in extra_specs, which will compare successfully to boolean True.
    
    Fixes bug: 1146306
    
    Change-Id: Id0e6dcfb71eb0943a16bba551ec23c4d57206550

commit 27be16e6365b3fa38db94c2bbdcd80fa9cfdc3b7
Author: Dan Prince <dprince@redhat.com>
Date:   Thu Mar 7 10:50:40 2013 -0500

    Don't check exit codes when patching.
    
    Similar to what we did in 427769c we need to ignore checking
    exit codes for patch -N command so that they can be run multiple
    times.
    
    The motivation here is that I would like to use this to patch
    virtual env's created by tox. Tox doesn't provide a good hook
    to call post_process (which patches files) only once so the
    idea here is we'll just let it call post_process all the time...
    
    Change-Id: I866e7a3e1fd492d7d4c08eb55cde02f2dfa16c9a

commit 427769cb943448e1e56388ae864ced788a5a5701
Author: Dan Prince <dprince@redhat.com>
Date:   Wed Mar 6 20:31:19 2013 -0500

    Update install_venv_common to use patch -N.
    
    This patch makes it possible to call the post_process function
    in install_venv_common (which currently only patches files)
    multiple times.
    
    The motivation here is that I would like to use this to patch
    virtual env's created by tox. Tox doesn't provide a good hook
    to call post_process (which patches files) only once so the
    idea here is we'll just let it call post_process all the time...
    and for distro's where patching is used to fix the venv the
    patch -N option will make it skip patches on subsequent runs.
    
    Change-Id: Ib0a36e49dd1884de131c569fe8bb66fe20285e97

commit 232620aed742d9669040d93a85fca3c0a5a79a16
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Mar 6 20:12:03 2013 +0000

    Switch to oslo.config
    
    The oslo-config package has been renamed. Switch to the new
    version.
    
    Change-Id: I6a0fa803b0076bc5338c996e21bbcef54e1d75cd

commit 87a3cb1446300e727fa3d3d78999b4a949cbd47d
Merge: dd8c052 f32af7b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 6 16:29:23 2013 +0000

    Merge "Preserve exceptions in impl_zmq."

commit dd8c052ecb541c8c950427cd79a2292d4356748c
Author: Matthew Sherborne <msherborne@gmail.com>
Date:   Wed Mar 6 08:03:10 2013 +1000

    Simple code cleanup
    
     * Fix an exception that was raising a tuple
     * Remove unused imports
     * Remove unused exceptions
     * Remove extra blank lines
    
    Change-Id: I9127be991e9081dc173525c9b57ea297f389d16d

commit f32af7b42e7801338583f67e794792f22df70a5d
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue Mar 5 10:50:15 2013 -0500

    Preserve exceptions in impl_zmq.
    
    There is complication with re-raising exceptions and our usage of
    eventlet.  If the code in the exception handler accesses the db or rpc
    in the exception handler, it will no longer be able to re-raise the
    exception.  Using excutils.save_and_reraise_exception() works aorund
    this issue.
    
    The most common error is calling LOG.error() or LOG.exception(), as it
    is possible for these to go access rpc.  There is an option to turn on
    notifications for these errors.
    
    Fix bug 845866.
    
    Change-Id: Ic914bba4703200ed114a42e3a55402883b430407

commit 2cb8e4557b05f92fbd9f56b7a6a6d4f35c8a883a
Author: Guang Yee <guang.yee@hp.com>
Date:   Thu Feb 28 14:51:24 2013 -0800

    support ISO 8601 micro-second precision
    
    Bug 1134802
    
    Change-Id: I9cc3c9d9324314d293f01f047882eb6be06e02dd

commit f39d38e08b187e2dbff0f57f487e022512b3a106
Merge: 4eae556 386a6fa
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Mar 4 14:19:38 2013 +0000

    Merge "Don't log a traceback on rpc call timeout."

commit 4eae556d128fe1cd5583c40800e02689426ebbb1
Author: Dan Prince <dprince@redhat.com>
Date:   Sat Mar 2 10:11:30 2013 -0500

    Don't LOG.error on max_depth (by default).
    
    Reverts part of a94b9b4 which added an extra LOG.error
    statement when max_depth is hit.
    
    This is causing spurious errors to get logged in some of our
    projects which have adopted this changed.
    
    Related to: https://bugs.launchpad.net/nova/+bug/1140133
    
    Change-Id: Ie7939e41797da000dd8b269f905f351df0b7116d

commit 386a6fa8c96c1e6be43cc64e51d82a129ba5918f
Author: Russell Bryant <rbryant@redhat.com>
Date:   Fri Mar 1 11:47:40 2013 -0500

    Don't log a traceback on rpc call timeout.
    
    There are cases where an rpc call is gracefully handled.  The rpc
    drivers should just let the caller deal with this and decide whether it
    is an error worth logging a traceback over.  Otherwise, we unnecessarily
    raise alarm by leaving a mess in the log file.
    
    Fix bug 1137994.
    
    Change-Id: I0e831ddcc43ffea78aae1fb5e46c5037c461b2a1

commit 5dbece5ac9485c3d34c84e257cf90562532c920b
Merge: 5c54569 844123e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 1 21:43:27 2013 +0000

    Merge "Add simple in-memory cache from nova."

commit 5c54569951a3ce70c8aef6af906722f6fbfce8d9
Merge: 7354ad7 cb26af2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 1 21:22:22 2013 +0000

    Merge "Redis-based matchmaker"

commit 844123e2197358a2aeb39feb7275305f55b03e38
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Fri Mar 1 09:39:02 2013 -0800

    Add simple in-memory cache from nova.
    
    Nova's simple in-memory cache replicates the memcache interface,
    so clients can cache things in memcache or in memory using
    the same commands. Using memcached requires having the client
    library installed and the memcached_servers config option set.
    Callers can also pass in a list of memcached servers when they
    initialize the client.
    
    Change-Id: I831142a36797b04006cba4792df803e09f6fd69b

commit 7354ad7806ec25fe98e23482c3a3394bbb9f1b61
Merge: 82f3691 afcf037
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 1 16:00:50 2013 +0000

    Merge "update.py: DRY up using functools.partial()"

commit cb26af207dbcea5fc88ad5f66da80fba5d76cb04
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jan 24 16:28:43 2013 -0500

    Redis-based matchmaker
    
    Introduces a reference implementation
    of a matchmaker (based on redis) that
    supports dynamic host/topic registrations,
    host expiration, and hooks for consuming
    applications to acknowledge or neg-acknowledge
    topic.host service availability.
    
    Implements blueprint advanced-matchmaking
    
    Change-Id: I8608d2089fca118b0e369f2eb5c6aedacf6821fe

commit afcf037b8f5d4cf55f4ac70e26729c6571efb396
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Mar 1 11:17:43 2013 +0000

    update.py: DRY up using functools.partial()
    
    We call _copy_pyfile() a bunch of times with the same base and
    dest_dir arguments. Clean that up using functools.partial().
    
    Change-Id: I22a3e748f2e138b17a6b99d90ec9eca72698f6e7

commit 82f3691de3dbf9c18f8fa151db9d21837410a128
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Feb 28 13:28:34 2013 -0500

    Zmq correct envelope param for notify()
    
    The notify parameter was expected as
    a kwarg, although __init__.py expects this
    to be a standard argument.
    
    Tests are not yet covering this, but
    are forthcoming.
    
    Change-Id: Id6a0a81ef250e43c7ab3dc9d5392f89752d0f313

commit c4400ec172fe7a57cbf92dcdce365ddb1ab66bae
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Feb 28 13:24:31 2013 -0500

    Zmq notifier topic manip fix.
    
    The ZeroMQ driver needs to manipulate
    the topic for notifications because
    the period is used as a delimiter internally.
    
    The code was already trying to perform
    this modification via topic.replace,
    but was not storing the result.
    
    Change-Id: I02a174dd96ff9181f6d7460fd41434ea05fb39d4

commit d5a07c4306ea8f44aaab66d4553f37b90f88bb94
Merge: 8649462 0d7417c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 27 22:23:03 2013 +0000

    Merge "Port safe parsing with minidom patches from Nova"

commit 8649462b3c66534c75e2e159e5866bf652a3560b
Merge: bf6c087 ef933ad
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 27 21:32:19 2013 +0000

    Merge "zmq: parse receiver CLI opts in main"

commit 0d7417cff68e74f636d371529998e275e2765be8
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Tue Feb 26 11:26:24 2013 -0500

    Port safe parsing with minidom patches from Nova
    
    Prevent attacks through xml entity expansion etc.
    
    Fixes LP# 1100282
    
    Change-Id: I391531deac122697556c282184c8f8890ea66489

commit bf6c0871d737da802fbb2e70d2481712ac94a1bd
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Tue Feb 26 14:59:04 2013 +0800

    Fixes import order nits
    
    Change-Id: I6085bb4a0b990985c8f7a013c89b7d5acafdf312

commit ef933ad295e37c41b8add501fec9ac54ed62d387
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 25 22:45:22 2013 +0000

    zmq: parse receiver CLI opts in main
    
    We shouldn't be parsing options from sys.argv() unless the main function
    is being run.
    
    Change-Id: Id6bae72b80ce35721f02323a7bf7713132a49ac9

commit 64a1e26a8acd422b7e216a2578d4b140fdf49c80
Merge: bf45487 8842a00
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 25 22:25:26 2013 +0000

    Merge "openstack.common.setup: fails to get version from git"

commit bf4548733c97f843a763bf68599d518431245630
Merge: 722fc7a bd5dad9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 25 19:32:05 2013 +0000

    Merge "Decode / Encode string utils for openstack"

commit 722fc7aa3fc6c8a3e61f4e08094db3a06593fd91
Merge: 6203330 f42a3db
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 25 18:40:44 2013 +0000

    Merge "Update flakes.py to match 0.6.1."

commit 62033300759ac6e7e1539c752bb22b27996ff5ee
Merge: 35e4f06 4226b89
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 25 18:34:29 2013 +0000

    Merge "Support qpid unit tests."

commit 4226b897f4b9ff413bad466bd7dbb3425b76328c
Author: Russell Bryant <rbryant@redhat.com>
Date:   Sun Feb 24 14:26:38 2013 -0500

    Support qpid unit tests.
    
    The qpid unit tests have never been run by default because qpid is not
    on pypi.  I filed a bug asking the qpid project to support it:
    
        https://issues.apache.org/jira/browse/QPID-4539
    
    Until that happens, I uploaded a package to pypi myself.
    
        https://pypi.python.org/pypi/qpid-python
    
    Fix bug 1061055.
    
    Change-Id: I2d52ff383b6393f34e94c25f959dccda5a7571de

commit bd5dad97585208ea5e86d636f3dc3b669e361a41
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Jan 24 13:33:45 2013 +0100

    Decode / Encode string utils for openstack
    
    Currently some clients lack of non-ASCII characters support. This patch
    introduces 2 functions (strutils.py) that will help clients and servers
    to "safely" encode and decode strings.
    
    About the ensure_(str|unicode) functions:
    
        They both try to use first the encoding used in stdin (or python's
        default encoding if that's None) and fallback to utf-8 if those
        encodings fail to decode a given text.
    
        Neither of them will try to encode / decode non-basestring objects
        and will raise a TypeError if one is passed.
    
    Use case:
    
    This is currently being used in glanceclient. I5c3ea93a716edfe284d19f6291d4e36028f91eb2
    
    Needed For:
        * Bug 1061156
        * Bug 1130572
    
    Change-Id: I78960dfdb6159fd600a6f5e5551ab5d5a3366ab5

commit 35e4f0696fbbcd1fd09aeb53c13d8bba82b60ad2
Merge: c312fd6 743f15e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 25 15:50:11 2013 +0000

    Merge "Clean up sqlalchemy exception code"

commit f42a3db8d8eade9808a21650c314bbcc149bb560
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Feb 11 22:55:09 2013 -0800

    Update flakes.py to match 0.6.1.
    
    pyflakes 0.6.1 changes a module path - but we want to use it, because it
    finally groks attributes properly.
    
    Change-Id: Id35d1551c78212adb7ab470cefd9a53827167a71

commit 8842a00c452dfa9d2ee70e73419e92daa477ea1a
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Mon Feb 18 07:21:23 2013 -0500

    openstack.common.setup: fails to get version from git
    
    quantum run_tests.py fails because
    openstack.common.setup._get_version_from_git fails.  It is because
    quantum unit tests run under quantum/tests/unit instead of git root dir.
    So the function should check parent dirs for .git.
    cinder folks seem to have hit this bug (1125416).
    
    ERROR: test_network_gateway_update (quantum.tests.unit.nicira.test_networkgw.NetworkGatewayExtensionTestCase)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "quantum/quantum/tests/unit/nicira/test_networkgw.py", line 70, in setUp
        config.parse(args=args)
      File "quantum/quantum/common/config.py", line 99, in parse
        version='%%prog %s' % quantum_version.release_string())
      File "quantum/quantum/openstack/common/version.py", line 63, in release_string
        self.release = self._get_version_from_pkg_resources()
      File "quantum/quantum/openstack/common/version.py", line 56, in _get_version_from_pkg_resources
        return setup.get_version(self.package)
      File "quantum/quantum/openstack/common/setup.py", line 334, in get_version
        raise Exception("Versioning for this project requires either an sdist"
    Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository.
    
    Change-Id: I2e24c00b5ba8f35381cac081ff72d86ea0d75d19
    Fixes: bug #1131162 and bug #1125416
    Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

commit c312fd6742c035677347a6987fb17b67e2c72087
Author: Kei Masumoto <masumotok@nttdata.co.jp>
Date:   Mon Jan 28 02:49:32 2013 +0900

    AMQP: skip duplicate messages
    
    When using rabbit's mirrored queues or qpid's replicated queues, there
    are conditions under which you can receive the same message twice.
    
    One such condition is where a message has been sent to a consumer but
    before an ack is received by a consumer, the master fails over to a
    slave and the slave resends the message. Note that the consumer may have
    sent the ack, but it was lost as the master went down.
    
    Dispatching the same message twice is obviously something we want to
    avoid. In order to do so, we add a unique_id to each message sent and
    have consumers maintain a fixed length queue of recently seen unique
    message IDs. Before dispatching any received message, the queue is
    checked and the message is skipped if it is a duplicate.
    
    Fixes bugs 1107064.
    
    Change-Id: I5bfacadbdf7de8b34d6370b9aa869c271957692d

commit 743f15e0c72e6c5b51b5543f89ee2533d1d94845
Author: Chris Behrens <cbehrens@codestud.com>
Date:   Fri Feb 22 16:13:27 2013 +0000

    Clean up sqlalchemy exception code
    
    Moves DB exceptions that can be shared between DB implementations into
    their own module.
    
    Adds DBDeadlock() exception wrapping.  Nova has its own code for
    determining Deadlock and it's better to consolidate it with
    DBDuplicateKey checking.
    
    Change-Id: I108bd0da2a14d62e460a997b1472f0b65bfc9b95

commit 2b418be864a5aa5ba135f7651e83051cf3bf9ce6
Author: Kei Masumoto <masumotok@nttdata.co.jp>
Date:   Fri Feb 22 01:25:38 2013 -0800

    Fix "Needs to specify pyzmq version"
    
    "pyzmq13.0.0" described as "pyzmq>=2.1.11"
    causes unit test error. Specifying correct
    version is necessary.
    
    Change-Id: Icb7acb0eb4d59a456999ba477e087d825be8dd4b

commit 8b785580af6b1ccc3f2fdd5886df32286073db04
Merge: b3cae87 6f9cef8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 21 00:59:29 2013 +0000

    Merge "Revert "Implement replay detection.""

commit b3cae87153885f4b30cd2a27accfe1be8355bf06
Merge: 3b848ae 2545e49
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 21 00:34:41 2013 +0000

    Merge "Don't s/oslo/base/ for files in the rpc lib."

commit 6f9cef85353155538fe14e5025e2d0bab5cc63e4
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Feb 20 23:08:50 2013 +0000

    Revert "Implement replay detection."
    
    This reverts Ib0260a0c62e3d312d2e3448a125bed64d861319e (commit a603678)
    
    The issue we're trying to fix here is bug #1107064 - when using mirrored
    queues with AMQP, acks can be lost while a master is failing over to a
    slace causing the new slave to re-send messages which had previously
    been acked.
    
    The "replay detection" code applies to more than just amqp and also has
    the appearance of a security measure (e.g. the use of the term 'nonce')
    when clearly it serves no security purpose until we actually have
    message signing.
    
    Revert the "replay detection" approach in favour of the more targetted
    amqp bugfix.
    
    Change-Id: I8b8d15835c8b4c85cd388f5df08b60ff4c74e38d

commit 3b848ae38bd087cef263b9072d5da559d4508c73
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Feb 20 17:02:20 2013 -0500

    Revert "Fast serialization of RPC envelopes for Kombu"
    
    This reverts commit 22c497097b0d0bd461be40a7a03290aa0b4179f2.
    
    I'm not convinced that this isn't just a micro-optimization when
    compared to the rest of the work that a given OpenStack service performs
    as the result of these messages.
    
    The implementation is also problematic.  It depends on using a '\0' byte
    as a separator and assumes that '\0' will not exist anywhere else in the
    message.  This seems to be asking for trouble.  If future data could
    ever have a '\0' in it, this will be broken.  Further, if a user could
    get a '\0' in a message directly with user-supplied input, this could
    result in a security vulnerability.
    
    Lastly, this has a significant impact on consumers of notifications that
    are outside of OpenStack code, which have been the primary use case of
    notifications (Ceilometer is changing that to a degree).  I don't think
    consumers of notifications should have to implement this deserialization
    method.
    
    Change-Id: Ib3163ca98f568bf9f789d4b64bcc6d72e0fcb459

commit 2545e498f2807196c4740dd4afb4df4fd4e65bcf
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Feb 20 16:49:26 2013 -0500

    Don't s/oslo/base/ for files in the rpc lib.
    
    This breaks some message envelope handling code and is not needed for
    any of the source files in rpc/, so just avoid it.
    
    Change-Id: I8519568be5102a5890ae5ed046d6fcebe9bbb198

commit 7e6513dedc58577c187d69d576659bc7f2ed7a87
Merge: a6260da 02c12aa
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 20 21:17:02 2013 +0000

    Merge "Move DB thread pooling to DB API loader"

commit a6260da3e3696e77e3e7fcd13acae416dc34809d
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Wed Feb 20 08:30:18 2013 -0500

    readd update.sh to address bootstrapping issue
    
    Provide an easy way to people to run the update script even
    in a brand new oslo-incubator tree.
    
    (fix spelling error)
    
    Change-Id: I8c8f6e1d2d988ca0fffa79a7d8e9a67cf8311e7f

commit 15377750465b6eb261d2354988b9c90f1f3c1d29
Merge: c4b6fca 6930432
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 20 04:03:02 2013 +0000

    Merge "Fix IPC direct topic routing."

commit c4b6fca586f5c7426cdcefab694edc8214df20e5
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Tue Feb 19 18:07:38 2013 -0800

    Setup exception handler after configuring logging.
    
    We currently set up the exc handler before we configure logging.
    This means that an error in the setup will try to raise an exception
    which will then fail to log properly because we haven't set up
    handlers properly yet. Therefore, simply rely on the default
    exception handler during setup and setup our exception handler
    immediately after logging is configured.
    
    Fixes bug 1130464
    
    Change-Id: I4b80c646a7d7d5048c8fbadc67dbb9f607d2af69

commit 6930432887f3551f88d08815fd04808fd15a07cc
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jan 31 23:14:32 2013 -0500

    Fix IPC direct topic routing.
    
    Direct messages were being stripped of the host
    value when performing IPC forwarding. This caused
    direct topics to be round-robined to all
    services running on the system consuming from
    the same base topic name.
    
    i.e. if 'scheduler.host1' and 'scheduler.host2'
    were running on the SAME machine, messages to
    'scheduler.host1' may have been routed to
    'scheduler.host2'.
    
    Now, mulitple processing specifying different
    rpc_zmq_host parameters will consume on
    separate direct topics and will not
    round-robin to other processes.
    
    Adds a zmq-specific test to ensure that messages to
    directed topics are not consumed by other
    consumers of direct topics sharing a bare
    topic on the same host.
    
    Fixes bug 1123715
    
    Change-Id: I939c24397e58492fc16561666aed3ca891325e9c

commit a1cc88f63228ab42d1cf7958c0989c7d7d4b1ef2
Merge: 9e51e9a 568e533
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 20 01:38:37 2013 +0000

    Merge "Fix "DirectConsumer needs mirrored queue support""

commit 9e51e9a431b406d637183fd0d89c80f9ad52d061
Merge: 0d171d6 22c4970
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 20 01:31:53 2013 +0000

    Merge "Fast serialization of RPC envelopes for Kombu"

commit 0d171d65c0334b9558face4e07d22c4cbcaaadfb
Merge: 3f3fb4b a603678
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 20 01:31:50 2013 +0000

    Merge "Implement replay detection."

commit 3f3fb4bef78b434a80b31755c51afddcaaa21a22
Merge: bc56193 c78b2ab
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 20 00:37:40 2013 +0000

    Merge "Avoid using cfg in install_venv_common"

commit c78b2ab9355e1ed6953262daf98e9aefe3c99c79
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Feb 19 22:35:53 2013 +0000

    Avoid using cfg in install_venv_common
    
    Several people have complained that requiring oslo-config to be
    installed in order to run install_venv seems like a chicken and egg
    problem.
    
    We're only using cfg for a boolean CLI option which is way overkill.
    The truth is that cfg is really only interesting if you want to process
    options from both the command line and configuration files. Clearly
    that's not the case here.
    
    Just use argparse instead of cfg.
    
    Change-Id: Ib602686b554c3548f4be3d4a69d128c5fef7e8cf

commit bc561938647cfa5f2f24a6e5a0e2e929bfcae712
Merge: f1e5d56 f757df2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Feb 19 22:27:46 2013 +0000

    Merge "Add function for listing native threads to eventlet backdoor"

commit 22c497097b0d0bd461be40a7a03290aa0b4179f2
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Feb 19 14:39:09 2013 -0500

    Fast serialization of RPC envelopes for Kombu
    
    By flattening the dictionary and turning
    it into a fast-serialized string, we save
    ourselves from Kombu's very slow JSON serialization
    routines.
    
    Change-Id: I64796265c7cc89a05406faabd8d7b253fe3b8acb

commit f1e5d569b6c9ceb6d7a4b338db9186e4f9c2fb7b
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Feb 12 11:46:24 2013 -0500

    Support RPC envelopes in impl_zmq
    
    This patch began as a set
    of tests verifying the functionality of
    sending and receiving RPC envelopes when
    using impl_zmq. It was discovered that
    when enabled, RPC envelopes were not
    actually working,
    
    The ZeroMQ driver includes its own envelopes.
    This patch introduce versioning to that
    envelope, eliminating the previously reserved
    'style' field.
    
    A new iteration of the zeromq-envelope is
    introduced, 'impl_zmq_v2'. It specifies
    that the zeromq-envelope should be followed
    by an unpacked array representing key value
    pairs of the standard RPC Envelope.
    
    Because the key-values of the RPC Envelope
    can be successfully transformed with bytes(),
    this prevents the need to double-serialize
    the content traversing the message bus.
    
    Also removes some unused imports.
    
    Closes bug 1123709
    Closes bug 1055446
    
    Change-Id: Ib04e3d092c9596146f1048d3502ac248496d313b

commit a60367820d826c536018b036480f7061b814f1a1
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Sat Feb 9 00:57:47 2013 -0500

    Implement replay detection.
    
    Bumps the envelope revision to 2.1
    
    Change-Id: Ib0260a0c62e3d312d2e3448a125bed64d861319e

commit 83162508572a494a169a319651e1d75d582618d7
Merge: 70891c2 bcba9e7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Feb 19 16:48:36 2013 +0000

    Merge "Add ConfigFilter wrapper class"

commit 70891c271e011f59792933eaf65c3214493ef14a
Author: Raymond Pekowski <pekowski@gmail.com>
Date:   Mon Feb 18 12:17:16 2013 -0600

    blueprint amqp-rpc-fast-reply-queue
    
    For AMQP based RPC, specifically RabbitMQ and Qpid, this change replaces the
    dynamically created RPC call reply queue with a single queue that is created
    on the first RPC call and used on all subsequent calls. It provides backward
    compatibility on the callee side by recognizing downlevel callers and on the
    caller side by adding a config option to revert to the old dynamically
    created queue based upon the msg_id.
    
    Change-Id: Idb09a71472866bd3950f58d4f7f45a3181eb40fc

commit 02c12aade7a0c28c66cb45b54786c90c0ae8fb09
Author: Chris Behrens <cbehrens@codestud.com>
Date:   Mon Feb 18 02:35:34 2013 +0000

    Move DB thread pooling to DB API loader
    
    Fixes bug 1128605
    
    The dbpool code in sqlalchemy session is the wrong place to implement
    thread pooling as it wraps each individual SQL call to run in its own
    thread.  When combined with SQL server locking, all threads can be eaten
    waiting on locks with none available to run a 'COMMIT'.
    
    The correct place to do thread pooling is around each DB API call.
    
    This patch removes dbpool from sqlalchemy and creates a common DB API
    loader for all openstack projects which implements the following
    configuration options:
    
    db_backend: Full path to DB API backend module (or a known short name if
                a project chooses to implement a mapping)
    dbapi_use_tpool: True or False whether to use thread pooling around all
                     DB API calls.
    
    DB backend modules must implement a 'get_backend()' method.
    
    Example usage for nova/db/api.py would be:
    
    """
    from nova.openstack.common.db import api as db_api
    
    _KNOWN_BACKENDS = {'sqlalchemy': 'nova.db.sqlalchemy.api'}
    
    IMPL = db_api.DBAPI(backend_mapping=_KNOWN_BACKENDS)
    """
    
    NOTE: Enabling thread pooling will be broken until this issue is
    resolved in eventlet _OR_ until we modify our eventlet.monkey_patch()
    calls to include 'thread=False':
    
    https://bitbucket.org/eventlet/eventlet/issue/137/
    
    Change-Id: Idf14563ea07cf8ccf2a77b3f53659d8528927fc7

commit bcba9e708e2067caca316a8499aa659f9802eeec
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Sun Feb 3 21:17:02 2013 +0000

    Add ConfigFilter wrapper class
    
    Implements blueprint cfg-filter-view
    
    At the moment, if a module requires a configuration option from another
    module, we do:
    
      CONF.import_opt('source.module', 'option_name')
    
    but, in fact, all options from the imported module are available for
    use.
    
    The new ConfigFilter class makes it possible to enforce which options
    are available within a module e.g. with
    
      CONF = cfgfilter.ConfigFilter(cfg.CONF)
      CONF.import_opt('foo', 'source.module')
      CONF.register_opt(StrOpt('bar'))
    
    then the foo and bar options would be the only options available via
    this CONF object while still being available via the global cfg.CONF
    object.
    
    Change-Id: Ie3aa2cd090a626da8afd27ecb78853cbf279bc8b

commit 538721d3fdab613ed3d3ab33df123f90da173e93
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Mon Feb 18 11:04:56 2013 -0500

    Make update.py work with oslo.config
    
    As we move modules out of openstack.common into the oslo
    namespace package, we need to prevent update.py from
    breaking any import statements using them. Rather than
    build a super complicated regex to only detect the
    proper instances of "oslo" to replace in places like the
    defaults for option settings, just do the simple translation
    between oslo -> base and then go back and fix the modules
    we know have been moved.
    
    Change-Id: I9686b94b4c7df8542964b30ba15f0a91d2b3d722
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit f757df229aaf994adde654086d4ca4d3ad1ee851
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Mon Feb 18 14:56:29 2013 +0000

    Add function for listing native threads to eventlet backdoor
    
    The eventlet backdoor has a 'pgt' function for listing green
    threads and their stack traces. This adds a new 'pnt' function
    for doing the same with native threads.
    
    Change-Id: If6dcfd8dde61c96adfc6e052e5ec7db82914cd55
    Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

commit 615394e6dec650e3e9a94aaac8143f9cea88b0f5
Merge: f63ea05 4a9a7dc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 18 12:02:05 2013 +0000

    Merge "Bump eventlet to 0.12.0"

commit f63ea05f7c36ece6aad0fdc8e02f4d5d30c673a3
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Sun Feb 17 15:22:44 2013 +0000

    Use oslo-config-2013.1b3
    
    The cfg API is now available via the oslo-config library, so switch to
    it and remove the copied-and-pasted version.
    
    Add the 2013.1b3 tarball to tools/pip-requires - this will be changed
    to 'oslo-config>=2013.1' when oslo-config is published to pypi. This
    will happen in time for grizzly final.
    
    Remove the 'deps = pep8==1.3.3' and 'deps = pyflakes' from tox.ini as
    it means all the other deps get installed with easy_install which can't
    install oslo-config from the URL.
    
    Change-Id: I4815aeb8a9341a31a250e920157f15ee15cfc5bc

commit 8ce59472653439d646309395bf195ec6163ff29a
Author: Robert Myers <robert.myers@rackspace.com>
Date:   Fri Feb 15 14:32:07 2013 -0600

    Change the check for the existence of .git directory.
    
    In common setup the check for the .git directory is too
    restrictive. Instead of checking that it is a directory just
    check to see if it exists. That way if the project is part
    of a submodule it will continue to work correctly.
    
    Change-Id: If6b6531ab5778ac17537e3f18bde1844620c8316
    Fixes: bug 1126416

commit 7417a6024c7fe093a54f07a1ea4f24bdd0fcc3e6
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Fri Feb 15 10:46:18 2013 -0500

    returncode for Popen is valid only after communicate call
    
    Found when testing a bug in cinder (1125416), code
    relying on throw_on_error won't work because returncode
    is None if checked before the communicate() method is
    called
    
    Change-Id: I8c9dd00396346ec3ad7bbe1dc17643c385da8d6f

commit ecdd50d4e00bf8b0607801e763cef4cb408e091f
Merge: a4bb232 a7f23d9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 14 17:11:10 2013 +0000

    Merge "Fix Lack of reconnecting operation when using rabbitmq mirrored queue"

commit a4bb232614d2d9f975617dba4c58b05dcb87a36a
Merge: 399f27b 6a01a8c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 14 16:49:41 2013 +0000

    Merge "Cleanup docstring and print in install_venv_common"

commit 399f27b4f75e1eadb9ff5f9a2c9328130ee8c7a8
Merge: bfd17fd 74a9cbd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 14 15:16:46 2013 +0000

    Merge "Add join_consumer_pool() to RPC connections"

commit bfd17fd6cf35f26661c8e446f1a42095abc2eaf4
Merge: 79f006a b0881bd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 14 15:16:41 2013 +0000

    Merge "Cleanup imports"

commit 79f006a9ece4fef859279d9f7f54120c21f6b140
Merge: 449ddfc 62d4d0f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 14 15:12:48 2013 +0000

    Merge "Rename oslo-zmq-receiver to oslo-rpc-zmq-receiver"

commit b0881bd5ff169330ac8e613ecf689b467b1b305d
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Feb 14 00:53:19 2013 -0500

    Cleanup imports
    
    Bringing this into Nova, I found that it
    failed their pep8 checks (which are NOT
    ignored for the oslo imported binaries)
    
    Change-Id: I4fb7e32bc7e83faf4131302a06c4d9c2c16cab70

commit 62d4d0f282f06c045758ca20589e8ec49599cad8
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Feb 14 00:34:55 2013 -0500

    Rename oslo-zmq-receiver to oslo-rpc-zmq-receiver
    
    Would not copy without the name change.
    Also, this will result in this file maintaining
    its name in nova, where it already exists.
    
    Change-Id: Ic204be899921ce63b769194474c31e1640391197

commit 74a9cbdc86580d256b6cd28ae57cd69213da6c44
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Wed Feb 13 18:02:22 2013 -0500

    Add join_consumer_pool() to RPC connections
    
    blueprint move-listener-framework-oslo
    bug 1047015
    bug 1111632
    
    Ceilometer and Quantum use private methods of the RPC connection
    object to configure themselves to listen to a queue shared among a
    group of workers. This change adds a public method to the RPC
    connection to support this use case, without resorting to using
    private API calls.
    
    Change-Id: I3a89f1dfdcf8accca70cf305f7a31315bea093d8
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit 449ddfc682ff75964f659da97c3eb3de7596a439
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Feb 13 16:57:56 2013 -0600

    Don't use subprocess for testing excepthook
    
    * The previous test tested the funtionality of the excepthook using
      subprocess.popen. We don't need to test the interpreter, just test
      that our excepthook is installed and test that it functions as expected.
    * Fix Bug 1124617
    
    Change-Id: Ifd8d35b842b913003100097d917d30bf66e5cb7a

commit 568e533c3accb15d01bf6a8ebbf600a68b920916
Author: Kei Masumoto <masumotok@nttdata.co.jp>
Date:   Wed Feb 13 23:20:26 2013 +0900

    Fix "DirectConsumer needs mirrored queue support"
    
    Currently TopicCosumer and FanoutConsumer can be used
    Mirrored Queue support, but not DirectConsumer.
    This patch fix this issue.
    
    Fix bug 1124162
    
    Change-Id: I68ae23467ae810ce0ec917a4cb34a488283f401c

commit a7f23d95a2cfa727069d524132c1e9ee4fd2f149
Author: Kei Masumoto <masumotok@nttdata.co.jp>
Date:   Tue Jan 22 23:51:11 2013 +0900

    Fix Lack of reconnecting operation when using rabbitmq mirrored queue
    
    On using Mirrored Queue feature in impl_kombu.py, there is a case
    that messages are lost because amqp client does not handle exceptions
    properly when rabbitmq is dead on the way to wait return value of call().
    This patch fix this and enables ampq client reconnecting slave rabbitmq.
    
    Fixes bug 1102051
    
    Change-Id: Ia7a1b9067f7ea4639195a1548de29e0364368e51

commit eaab5fae2502198e9fa57d0d90a7204a2bd83b16
Merge: a94b9b4 0ce65aa
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 13 12:52:14 2013 +0000

    Merge "sort options to make --help output prettier"

commit 0ce65aa1f5caf5d8b897bc336c058c974a3b0eab
Author: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Date:   Wed Feb 13 14:01:46 2013 +0900

    sort options to make --help output prettier
    
    explicitly sort options when adding them to argparse.
    it's a bit silly to print them in a dict iteration order.
    
    Change-Id: Id508331d7ee3b24e76be7fa958d27d29905bd3d2
    Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>

commit a94b9b4b25cd1e7d39ebef0b60f8c4367765777f
Author: Phil Day <philip.day@hp.com>
Date:   Mon Feb 11 10:52:35 2013 +0000

    to_primitive imposes what seems to be an arbitary data structure
    depth of 3, but there is at least on case in Nova (Security
    group Rules) which requires a depth beyond this.
    
    https://bugs.launchpad.net/nova/+bug/1118608
    
    Specifically security_group_rule_get_by_security_group
    returns a set of rules which have the structure:
    
    rule -> grantee_group -> Instance -> Instance_type
    
    Rather than just bumping the depth limit, which might break some
    other user of to_primitive we make it a specific parameter that
    defaults to the current value but can be over-ridden when
    required and log a warning when the depth is exceeded
    
    Change-Id: I1eaebd484e20cb2eae09a693289709973de9943c

commit 6a01a8c085bbb5f563490c000504d19f4d72dec0
Author: Matthew Treinish <treinish@linux.vnet.ibm.com>
Date:   Mon Feb 11 16:50:37 2013 -0500

    Cleanup docstring and print in install_venv_common
    
    This commit cleans up usage in the docstring for:
    run_command_with_code() to be more explicit in the description
    of where the commands are being run.
    
    It also updates the prints to be consistent in the usage of venv
    vs virtualenv.
    
    These changes were recommended in the review for change:
    I68fe3449ed0fcc7fdfb84af2dcc77a39ebde7f01
    
    Change-Id: I3cdb3d991503446d37c8fa6a3547585a4f8beb6a

commit e650657862b0d9c070f70fe078af56c55fb02e73
Merge: 9c727b2 a4b6c31
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 11 02:32:04 2013 +0000

    Merge "Allow running test in uninstalled source tree."

commit 9c727b28e83f08dcd7d247546557af54428c2417
Merge: 1febfc8 4a1ec21
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 11 02:31:30 2013 +0000

    Merge "Support testing args for LocalhostMatchMaker."

commit 1febfc8132131f5961707b707324e6ff53bebf34
Merge: 989a0ca d332cca
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 11 02:29:20 2013 +0000

    Merge "Add a fixture for dealing with mock patching."

commit 989a0caa4f2e88ec3fca89deba99899ac6a9290d
Merge: 8a0cdc5 0d9ebad
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 11 02:26:43 2013 +0000

    Merge "Update .coveragerc"

commit 4a1ec2169d0a75afffc61437735dfb3959530bc5
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Feb 1 11:08:37 2013 -0500

    Support testing args for LocalhostMatchMaker.
    
    The matchmaker should return the correct
    direct topics used by the RPC driver. The
    LocalhostMatchMaker was always returning
    'localhost', even though our tests might
    use '127.0.0.1' instead. Now, the
    LocalhostMatchmaker will use whatever
    value it is told should be considered local.
    
    MatchMakerLocalhost and LocalhostExchange
    now take an optional host parameter.
    
    impl_zmq._get_matchmaker now passes arguments to
    the selected matchmaker module.
    
    The test_zmq now initializes the matchmaker, using
    the host '127.0.0.1'
    
    Change-Id: I8daa2c0668f1d717eb95ab56009612b8b60f0a15

commit a4b6c313199dbc59e3adfc371d76d2b96df7697c
Author: Monty Taylor <mordred@inaugust.com>
Date:   Sun Feb 10 04:19:30 2013 -0600

    Allow running test in uninstalled source tree.
    
    It was pointed out that we missed the use-case that running tests
    in a fresh tree checkout should work - and we missed that by
    reaching too far into the setup module interface. Shame on us.
    
    Change-Id: Ic0056a3113b308f063d927484e1e4a44c9316a2d

commit 8a0cdc5685696a604f7dd0e1ca384d05a52e5889
Merge: 0b2c7ec d156150
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Feb 9 19:00:19 2013 +0000

    Merge "Implements import_group"

commit 0b2c7ec9694013fa89062c3989d36a75f5b85ca2
Merge: dbb4061 631247f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Feb 9 18:25:11 2013 +0000

    Merge "Update HACKING.rst per recent changes"

commit dbb4061563e552266d6b6d0793a94135cb25ca73
Merge: 0e4514a 9fd6437
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Feb 8 15:58:59 2013 +0000

    Merge "Exchanges should return directed topics."

commit 0e4514a5596e71afbdf60a5329e8c2d141a344fc
Merge: 131075a a878193
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Feb 8 02:47:30 2013 +0000

    Merge "Allow to_primitive to ignore datetimes"

commit a87819392ca42159773eda61defa01abbda0a2b9
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Tue Feb 5 11:00:03 2013 -0800

    Allow to_primitive to ignore datetimes
    
    In preparation for having nova.db.api not return any sqlalchemy objects.
    nova.db.api will return only primitives, except for datetime.datetime
    objects.
    
    Uses functools.partial to make code DRYING
    
    Partially implements bp db-api-cleanup
    
    Change-Id: I9980d8c4e20b05bbe734cf90ac209e4e7e89befb

commit 131075abb9691c204ef74bd108123d5e5fa9b9b7
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 16:24:10 2013 +0000

    Use importutils.try_import() for MySQLdb
    
    This is a common pattern we've adopted elsewhere, so use it here too.
    
    Change-Id: I2e0947b4857005b478e796e9c9a7c05ea1f0d926

commit f895ca35ee029bc730b06657f3a6451086a19c58
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 17:58:22 2013 +0000

    Fix sorting in test-requires
    
    Change-Id: Ic45ac7c85dbe2834d7b325ba8babf71429b277b0

commit 8e04d2760f421ef43c18d046cf0392f9e631b951
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 17:47:27 2013 +0000

    Minor tweak to make update.py happy
    
    Fairly lame to do this instead of just fixing update.py, but we
    seem to do it this way everywhere else, so ...
    
    Change-Id: Ie1cebcfec57c6138b9b726d7d3bc6e0ea456f146

commit cec0f5b07abaaae989619536df25d70166fb343e
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 16:53:40 2013 +0000

    Remove pointless use of OpenStackException
    
    The use of the base exception does nothing for the test but means
    the "dead module walking" exception module.
    
    Change-Id: Ibd7bb8aa526be366f005ab5e12fd4da89a976c57

commit f9ae9f38abfd94a13b42148251a66465d16f4a87
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 16:51:30 2013 +0000

    Remove unused context from test_sqlalchemy
    
    Change-Id: I0b3c7341e91cfc57aed625754bc9bf009ef70b14

commit 06d1156248566322a7932dddfb833f46a8f573b8
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 16:40:01 2013 +0000

    Remove openstack.common.db.common
    
    Since this only contains exceptions that are either used in session.py
    or utils.py (not both), it seems sensible to move them into the modules
    where they are used.
    
    Also, remove the use of the Invalid base exception class since we don't
    seem to be making use of the base class anywhere by catching it rather
    than the more specialized exceptions.
    
    Change-Id: Ib05bb2e0a9494e1dc60c60b8eee0e76b5d2ee555

commit 1575b00bb383b35d0251a5f74e67c1b18d61e51d
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Mon Feb 4 17:34:55 2013 +0000

    Provide creating real unique constraints for columns
    
    Main issue is that we can't create unique constraint for columns, because
    we are using soft deletion of entries (set `deleted` column to True).
    
    The main idea is to use `deleted` columns to create unique constraint for
    columns. For example (`col1`, `deleted`).
    
    To make (`col1`, `deleted`) unique after entry deletion, we should assign the
    value of `id` to `deleted` column.
    
    Change type of `deleted` column from Boolean to table.id.type for all tables.
    
    Change models.soft_delete() method to assign table.id instead of True to
    `deleted` column.
    
    Change query.soft_delete() method to assign literal_column("id") instead of True
    
    blueprint db-unique-keys
    
    Change-Id: Ie1f67f49a5d085e6371efb63fc23a1c8b25d9464

commit 4ce828dbb170390f01f2d931ff7a165aefe87c32
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Mon Feb 4 16:12:13 2013 +0000

    Fix missing wrap_db_error for Session.execute() method
    
    We should add wrap_db_error for Session.execute() method, because
    Query.update() method will call Session.execute() and it is not inside
    Session.flush(), so exceptions from Query.update() wouldn't be wrapped.
    
    Add test for Session.flush() wrapper
    Add test for Session.execute() wrapper
    
    Fixes bug 1107890
    
    Change-Id: I96894e502f9f279999b61a1e66469e34a07a022d

commit 195ab59a3a53f636a43b13dc933ca63f1a62cd1a
Author: Brian Elliott <brian.elliott@rackspace.com>
Date:   Mon Feb 4 15:30:32 2013 +0000

    Fix eventlet/mysql db pooling code
    
    Eventlet versions >= 0.10 return a tuple from
    db_pool.ConnectionPool().create(), not a scalar.
    
    Also, set the FOUND_ROWS client flag, which sqlalchemy
    appears to require to sanity check the number of rows
    touch.
    
    bug 1097992
    
    Change-Id: I64e798660c506fcd13947a232cb7832db0318360

commit 307b2df090a25258f3d2591a7b0c3bcc93ca5496
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 16:32:06 2013 +0000

    Add missing DBDuplicateEntry
    
    The session.py part of nova's 8835866 was imported, but not the newly
    added exception.
    
    Change-Id: I0d79a8536f0c8f14cb062dc61c5fce100b63fd64

commit d332cca78e78ee73ecd2c241bbb6bb4b2d2455ec
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Feb 6 05:46:16 2013 -0600

    Add a fixture for dealing with mock patching.
    
    Quantum uses a pattern all over their test base, which can be
    collapsed down into a simple re-usable fixture.
    
    Change-Id: I5944505ce44ce8b79a685c3ea392f001307b5319

commit 076e9e5be20a104e8d8882235f188f98a38dea89
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Feb 6 13:18:01 2013 +1100

    Add support for directly stringifying VersionInfo.
    
    glanceclient, and others, want to have a __version__ member in their
    top-level __init__.py. This leads to attempting to process the
    version information to realize the string at import time, rather
    than at request time. If we make VersionInfo a thing which can
    behave like a string, then, we should get the things we want without
    the operational weirdness.
    
    Change-Id: I3eb15006f50ed1155c85977aaae842677c5ec4bc

commit 50eae15777327745b2d87069922bf32c4f6f397c
Merge: 51bee3c 1461135
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 6 15:05:33 2013 +0000

    Merge "timeutils: considers that now is soon"

commit 0d9ebad75af8c214b6330e2f75ccec2e4b09e832
Author: Alessio Ababilov <aababilov@griddynamics.com>
Date:   Wed Feb 6 16:47:06 2013 +0200

    Update .coveragerc
    
    Set up proper source and omit options.
    
    Change-Id: Ib14ff98218d23db694c1614aa3b4225a8d5dd847
    Implements: blueprint update-coveragerc

commit 51bee3c7b53acca108f191a152a3783600d0f51a
Merge: e7c973e 51efba7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 6 14:46:50 2013 +0000

    Merge "Emit a warning if RPC calls made with lock."

commit e7c973ed8d708cf950acb25612b646260bccaca0
Merge: 906bdb4 5ce0a25
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 6 14:41:47 2013 +0000

    Merge "Be explicit about set_default() parameters"

commit 906bdb404b5061fbce141c27f7dd0d59817402f9
Merge: b44c37c 9c264bc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 6 14:41:45 2013 +0000

    Merge "Remove duplicate DB options"

commit b44c37c0af449e3dd4bf392b8b1e82f39d4b8b0a
Merge: c7ea24b c3da243
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 6 14:41:43 2013 +0000

    Merge "Eliminate gratuitous DB difference vs Nova"

commit c7ea24bbe8cdaa802b8077affc1073e3758912ec
Merge: a9b69ff 13a9e6d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Feb 6 14:41:16 2013 +0000

    Merge "Import sqlalchemy session/models/utils"

commit 51efba78bdcee821937c28c1973ec80e8c2d59ae
Author: Michael Still <mikal@stillhq.com>
Date:   Thu Oct 25 10:13:53 2012 +1100

    Emit a warning if RPC calls made with lock.
    
    This patch will log a warning every time a RPC call is made while
    a lock is held if the caller has requested it. This should help us
    track down performance problems such as the security group refresh
    problem recently found in nova.
    
    RPC calls can emit a warning if called with check_for_lock=True
    and debugging is turned on.
    
    Sneaks up on bug 1063222.
    
    Change-Id: Ice94093efb3cb95dd58b31d6ba817c7d505c15af

commit a9b69ff076080e31271d32751580c35107f0a451
Merge: 868a530 0662a1f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Feb 5 20:04:00 2013 +0000

    Merge "Allow tools/install_venv_common.py to be run from within the source directory."

commit 0662a1fde33684fb7cf1bb572b27270a34b38810
Author: Josh Kearney <josh@jk0.org>
Date:   Thu Jan 31 17:09:23 2013 -0600

    Allow tools/install_venv_common.py to be run from within the
    source directory.
    
    Not doing this raised exceptions when it tried importing modules
    that didn't exist in the path.
    
    Change-Id: I10e02cd9ce6beb8fdf822dd397688450ac6981a1

commit 868a530aa65de371ffae6e0afb271ff96fe1201f
Merge: ad4192a 8feb2a4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Feb 5 16:26:21 2013 +0000

    Merge "Mark password config options with secret"

commit ad4192ad1ecfab5a63ce126bfb5defda7dcb1796
Merge: 04ab97e b51a724
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Feb 5 16:23:23 2013 +0000

    Merge "Only unpack replies on caller."

commit 04ab97e0e987712678b9ce96f54c41b161490dd5
Merge: bd5d9f0 4552f10
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Feb 5 16:23:20 2013 +0000

    Merge "Use bytes instead of str"

commit 5ce0a259ec3ca7a67a9534eba3b6499b4aa71f06
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 16:26:39 2013 +0000

    Be explicit about set_default() parameters
    
    We probably only want to support people using set_defaults() for a
    limited set of config options, so explicitly list those as parameters
    to the method. This is what we do for rpc and log options too.
    
    Change-Id: I3bfc5355e82eec17480b9547662e847dc0d74138

commit 9c264bcc87a2770ff7a119ea9d55790279c0060b
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 15:32:33 2013 +0000

    Remove duplicate DB options
    
    sql_dbpool_enable and sql_connection_trace are declared twice.
    
    Looks like this was a merge conflict when sql_dbpool_enable changed
    from int to bool.
    
    Change-Id: I553c5beea916e0ee296648342324fd53167c073a

commit c3da24303025f978c852dfde8babefd875322320
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Feb 4 15:23:58 2013 +0000

    Eliminate gratuitous DB difference vs Nova
    
    Looks like this was an abritrary cleanup done as part of the import. It
    conflicts with a more recent change in Nova.
    
    We can move to using try_import() once we've killed the Nova copy
    of this code.
    
    Change-Id: I5c67d3fbd846a262feb724e26b14447a76561ae6

commit 13a9e6dca7742493253d5b9b4bedb01d07fb242d
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Dec 4 10:40:10 2012 -0500

    Import sqlalchemy session/models/utils
    
    Bring in session, base model, utilities, and tests for sqlalchemy
    from Nova.
    
    Add sqlalchemy to pip-requires and and python-mysql to test-requires.
    
    Partially implements blueprint common-db
    
    Change-Id: I3e0065cdac87e10c4e0742d66c293c72bb3acbb2

commit 8feb2a43c1693fc1f64358dca4cfe77fa83db378
Author: Michael J Fork <mjfork@us.ibm.com>
Date:   Mon Feb 4 15:08:38 2013 +0000

    Mark password config options with secret
    
    Config object supports masking values when writing out if the secret
    flag is set on the option definition.  This change flags all
    oslo-incubator options containing a password.
    
    Change-Id: I78451c4fdfdb3d6e28a7bd5f35d1c4c9a1b2be99

commit 631247ffac33270ff68c8721e36df4d0542f416c
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Mon Feb 4 11:18:43 2013 +0800

    Update HACKING.rst per recent changes
    
    Added "is not" usage with examples
    Fixed "not in" usage description
    
    https://review.openstack.org/#/c/20576/
    and
    https://review.openstack.org/#/c/20879/
    
    Fixes a previous "not X in Y" grep corner case
    
    Change-Id: I92ae642887de734a8562a528003d8092f5ff27d4

commit bd5d9f08ecc3c1fade6dce809ee9edef1c226e54
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Wed Jan 16 12:12:04 2013 -0500

    Support for ipv6 in wsgi.Service
    
    Enable wsgi.Service to listen on ipv6 address by checking
    if the host specified is ipv6. Based on that set the
    appropriate family in the eventlet.listen api
    
    More tests for just the ipv6, ipv6 with app, ipv6+ssl with app
    to make sure everything is working fine
    
    Change-Id: I2772905128bdbc69dd0fafe4ced848f5c477d7c8

commit 6ce830b0e4e8a9c00d3cfb51f643dec3e1286cee
Merge: 864e934 e50b68c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Feb 2 16:52:24 2013 +0000

    Merge "Support for SSL in wsgi.Service"

commit 864e934cfa7003767dabb4f9a51ebe1e493f6027
Merge: ea16098 dc99baa
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Feb 2 16:42:39 2013 +0000

    Merge "Add _FATAL_EXCEPTION_FORMAT_ERRORS global."

commit ea160989ad2708e59ec77ce855e51d118d5edfb6
Merge: 343c6dd d0b3946
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Feb 2 16:22:58 2013 +0000

    Merge "Use importutils for matchmaker import."

commit 343c6dd14613dcbd009e7339ad609a000915b413
Merge: ea46d46 4f91779
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Feb 2 16:21:56 2013 +0000

    Merge "Dict args safe processing."

commit 4a9a7dc39c296455349a59346d22cc06fc5364c8
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Feb 1 11:56:42 2013 -0500

    Bump eventlet to 0.12.0
    
    This version has important fixes required
    for ZeroMQ (spurious wakeups).
    
    Fixes bug 1065532.
    
    Change-Id: I16b9220db1f5bf16a24644887963ce18e4e5ecbd

commit 9fd64373fd07ac63e2674374054160d3bead54b7
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Feb 1 10:30:28 2013 -0500

    Exchanges should return directed topics.
    
    Exchanges in the matchmaker are supposed
    to return a directed topic as the first
    element in returned tuples.
    
    Adds a test to ensure this is so.
    
    Change-Id: I6c62f325914faa19216d5362c6d8ed0288942110

commit b51a7241db53d87d780849563b99b5eee41761ba
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jan 31 14:43:29 2013 -0500

    Only unpack replies on caller.
    
    Opening the messages is unnecessary
    in ZmqProxy, given that the msg_id
    is already in the (zmq-specific)
    message envelope. Additionally,
    by not opening the messages, we
    save a bit of complexity.
    
    This avoids having to deserialize and
    reserialize messages in ZmqProxy,
    a necessary improvement for trusted-messaging
    and should also have a markable performance
    benefit.
    
    Also cleans up msg_id handling a bit.
    
    Change-Id: I31f365b9e1040503206b1d8320a0266a8121c821

commit 4552f1064fa50228ecdc4b5cf43c24f5401040b7
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Mon Jan 28 11:58:23 2013 -0500

    Use bytes instead of str
    
    Clarifies that str is the wrong datatype
    for passing messages over ZeroMQ. This
    distinction will be more important with
    the eventual migration to Python 3.0,
    but (I hope) this also helps clarify WHY
    typecasting is performed before sending messages.
    
    Change-Id: I4dd4661a5730a24ba7b514520b0429b721b05e9c

commit 1461135c63403a274771cf64989067ba921f1794
Author: Julien Danjou <julien@danjou.info>
Date:   Thu Jan 31 17:22:35 2013 +0100

    timeutils: considers that now is soon
    
    This is a follow-up to Doug suggestion at
    
         https://review.openstack.org/#/c/20323/2/openstack/common/timeutils.py
    
    Change-Id: Ic318202234202e56054df1b5cc7f82a404c307bc
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit ea46d462fcfd7d393b71b14206a5e6d86bf1994b
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Thu Jan 31 14:24:29 2013 +0800

    Fixes 'not in' operator usage
    
    Change-Id: Ibac9853fc72e2452fa5e2b3a493bd03523faabfb

commit d0b39463831ac818ba97ff7489685da1d8db5f60
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Jan 30 20:48:05 2013 -0500

    Use importutils for matchmaker import.
    
    Per Vish's suggestion. this should be simplier,
    cull redundant code, and otherwise cut the fat.
    
    Change-Id: I9fa3effdc8e9e2f3f124690ecf77ee8bb7d4d39e

commit d1561505b31fce188a274dfd5125a0f73a096c07
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Wed Jan 30 22:27:51 2013 +0800

    Implements import_group
    
    Created import_group method in cfg.py
    Added testcases
    
    Fixes bug #1107843
    
    Change-Id: I427d4069dacbb6e586687370adbb08b5d50f7b63

commit dc99baa33648820b93c90c15bd3562284e8ce4a9
Author: Dan Prince <dprince@redhat.com>
Date:   Wed Jan 30 11:15:10 2013 -0500

    Add _FATAL_EXCEPTION_FORMAT_ERRORS global.
    
    Add a new global variable to control when exception format errors
    are fatal.
    
    Also, updates the Oslo test base class to enable fatal exception
    format errors.
    
    The motivation for this change is to give projects that use
    openstack common a hook to enable exception format checking when
    testing.
    
    Change-Id: Id8f4a0946b1614c8e987976b79069532a2e8608f

commit c29263c4a81d2e71a3d6e36eb32e5df9d2c8fb05
Merge: 9669767 3ffebbd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 30 13:26:32 2013 +0000

    Merge "Add tests for setup"

commit 9669767847c4bd414f15fadf3668c46d72b9faaf
Author: Thierry Carrez <thierry@openstack.org>
Date:   Wed Jan 30 12:25:19 2013 +0100

    Fix PEP8 error in oslo-rootwrap
    
    Fix a PEP8 error uncovered during the cinder import of the rootwrap
    module. A bit weird oslo's own tests didn't catch it.
    
    Change-Id: Ib107023dd6e4178dd51b358cf9374e7a8468d1bf

commit 3ffebbde5266f643fb791ef6728a88ef7fbdd1f5
Author: Alessio Ababilov <aababilo@yahoo-inc.com>
Date:   Tue Jan 22 15:43:29 2013 +0200

    Add tests for setup
    
    Test write_git_changelog, generate_authors, get_cmdclass, and
    parse_dependency_links. Also test private _run_shell_command
    function.
    
    Change-Id: I583d679afc1dc805c920b4beffc2f664833aabd0

commit 8a50c19e0b3eac5cd9e7fa2490b39c154db153d5
Merge: a8cc71e 5e69dd9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 30 07:14:41 2013 +0000

    Merge "Support running uninstalled in a tarball dir."

commit e50b68c0d28cb00fa627525f23bb0c0f614b9312
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Fri Jan 11 00:10:56 2013 -0500

    Support for SSL in wsgi.Service
    
    Enable support for SSL as well using code from glance. We
    have some new options for configuring the SSL support.
    
    test_app starts wsgi.Service with a test app, then creates
    a url to make sure the http requests are actually served
    properly
    
    test_app_using_router adds wsgi.Router and Mapper() to the
    mix along with using the wsgify annotation for serving
    the http requests
    
    Fixes LP# 979488 (partial)
    Fixes LP# 869884 (partial)
    
    DocImpact
    
    Change-Id: Iae47b13b50e00c102c8c36f4a3e73b24fa4e6303

commit a8cc71e8e394ccfae7a0346b9099ac95976427cd
Merge: 2178b6a 86cc62b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 29 13:32:19 2013 +0000

    Merge "rootwrap: Avoid PEP8 errors on name replacement"

commit 2178b6a59be379fa400195366d2c023c21ecc3d1
Merge: 1a5b5a9 7d8a3ba
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 29 13:13:44 2013 +0000

    Merge "Only import modules in tools/flakes"

commit 1a5b5a9f0ae19630850f750ae993def4f588834d
Merge: 1f832d7 f02e974
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 29 07:43:02 2013 +0000

    Merge "Fix MonekyPatch typo in test_qpid"

commit 1f832d7c6f9c520d157bf282e9f5f01f4df04aef
Merge: 9e5046b febbd00
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 29 07:41:13 2013 +0000

    Merge "Default lockutils to using a tempdir"

commit 9e5046b3f946a8edfd6776a113c49ea0f03bac95
Merge: 5ba66ee a25223d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 29 07:38:56 2013 +0000

    Merge "Fix Pep8 Warning"

commit 5ba66ee32287de729bda399055b01f9183368d6c
Merge: 30a50c8 7f170a7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 29 07:37:51 2013 +0000

    Merge "Update copyright on install_venv_common.py"

commit febbd005151e2ade521eed027a7d5372e6e3c0bc
Author: Jason Kölker <jason@koelker.net>
Date:   Mon Jan 28 17:32:02 2013 -0600

    Default lockutils to using a tempdir
    
    * Previously lockutils attempted to use __file__/../ as the lock path.
      This causes packages to fail if the user running the code doesn't have
      +w access to that dir. Remove the default so it will use mkdtemp
      instead
    * Fixes bug 1107950
    
    Change-Id: Ie0cd6fac5403a53a768eb4a0ce7da602b3fef755

commit 30a50c8a6c534f01d518eb3ce4cf0d35877d9a7f
Author: Brent Eagles <beagles@redhat.com>
Date:   Mon Jan 28 13:34:55 2013 -0330

    Add TTL to AMQP messages
    
    This patch sets a TTL derived from the timeout parameter used
    when invoking the RPC.
    
    Needed for:
     * Bug 1053614
    
    Change-Id: Idaf9a2a972feac3f95f170c52632033b027b4414

commit 7d8a3ba942742b9dfbdbbe752a7f02ffa90ea6af
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Mon Jan 28 11:16:07 2013 -0800

    Only import modules in tools/flakes
    
    Change-Id: I049f4e4d3927d0bf792697d30250083c87ca0b73

commit 7f170a7d28ac531471b8fab63c092e2a5a5debbb
Author: Matthew Treinish <treinish@linux.vnet.ibm.com>
Date:   Mon Jan 28 13:54:35 2013 -0500

    Update copyright on install_venv_common.py
    
    This updates the copyrights on install_venv_common.py to
    include IBM.
    
    Change-Id: I5da3d9f1f511f20b332dc206aba4bcd2011a4940

commit 4f917794a7ff995021a1292dbeb3920a398e0bfe
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Mon Jan 28 12:32:34 2013 -0500

    Dict args safe processing.
    
    Improve safety of dict args
    in process()
    
    Change-Id: I0eae36ca6566c1b60f0a01ebee57ae8a7530fcb1

commit a25223d98aec71c2636820c3363bd044f240a22d
Author: Dirk Mueller <dirk@dmllr.de>
Date:   Mon Jan 28 18:17:35 2013 +0100

    Fix Pep8 Warning
    
    Fixes
    E271 multiple spaces after keyword "return  _run_shell_command("
    
    Change-Id: Ic6b2c88a0b7cabd04341d073ef837a13c1bb7a29

commit 86cc62b58b0704aad319961a1d0494e4f2660157
Author: Thierry Carrez <thierry@openstack.org>
Date:   Mon Jan 28 16:42:25 2013 +0100

    rootwrap: Avoid PEP8 errors on name replacement
    
    Avoid triggering PEP8 errors when "oslo" is replaced by the project
    name in oslo-rootwrap. Made necessary by "cinder", but tested
    compatible with "ceilometer".
    
    Change-Id: I9a1e25ec58e8b1e833c00f6cbb2083f967cbef76

commit f02e974a324f44f33453b5d029878327831c3164
Author: Alessio Ababilov <aababilo@yahoo-inc.com>
Date:   Mon Jan 28 15:13:30 2013 +0200

    Fix MonekyPatch typo in test_qpid
    
    Change-Id: I55943cca1053de09a3fc004d40c940fb92322211

commit b5288ab022d3733abae25971ca8afb56f1a7011b
Merge: d6ed770 e3e5e0e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 12:42:41 2013 +0000

    Merge "Fixes "is not", "not in" syntax usage."

commit d6ed770a726590d8072c573ece68ee845f69e513
Merge: b804887 11d5c5c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 08:02:32 2013 +0000

    Merge "Add install_venv library."

commit b804887d3d9cf6202212baa58ed8d1044bce8a65
Merge: 03dd4e7 a387d1f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:57:14 2013 +0000

    Merge "Prevent parallel test port clashes for zmq."

commit 03dd4e7d4eb751bfad58322600464852942d5af9
Merge: 73c7cdc 8c80224
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:57:04 2013 +0000

    Merge "Replace direct use of testtools BaseTestCase."

commit 73c7cdc65f2c64f49139bbd2bb738635a34316e1
Merge: ce750df 3d28000
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:57:02 2013 +0000

    Merge "Remove the last of the nose-isms."

commit ce750df25d8a530c0f01bc51dc33ac9bdf5188a2
Merge: c4e28c1 60f70b0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:56:48 2013 +0000

    Merge "Replaced direct usage of stubout with BaseTestCase."

commit c4e28c11c3228c1cee753798ff3b9c03bff0289a
Merge: 983382c a14c212
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:56:47 2013 +0000

    Merge "Fix up test_qpid to use BaseTestCase."

commit 983382c5b9d64d902eb570780df341ea3aa9a83e
Merge: 0eeeb6f 827547a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:55:57 2013 +0000

    Merge "Use testtools as test base class."

commit 0eeeb6f57a01adc6dc1e17339ba6591d0e2dee1b
Merge: 9af21e8 1bc3ecf
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 28 07:55:56 2013 +0000

    Merge "Start adding reusable test fixtures."

commit e3e5e0ebce00e73ad5d206205fded6a5dc1317ae
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Mon Jan 28 14:35:49 2013 +0800

    Fixes "is not", "not in" syntax usage.
    
    Replaced "not ... is" to "is not"
    Replaced "not ... in" to "not in"
    Removed a redundant parenthesis
    
    Change-Id: I9564ab1207ccdcb32d7c2bb9e8f29658b2232ff9

commit 9af21e843f354f95c46d2c0388b815a4f6ba06b6
Merge: 6b3c544 d089701
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 26 18:08:48 2013 +0000

    Merge "Document tools/flakes is from commons"

commit 6b3c54482171941c3bebccc52922036d3e478223
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jan 25 14:01:14 2013 +0000

    setup: count revs for revno if there are no tags
    
    We currently use 'git describe --always' to figure out the number of
    commits there have been leading up to the HEAD commit.
    
    However, if there are no tags in the repo, git-describe just returns
    the sha hash of HEAD and we fail.
    
    In that case, use 'git rev-list HEAD | wc -l' so we can be  #winning.
    
    Change-Id: I345e0ee32189504276b3dfd3367057ce1d4a2b06

commit 5e69dd94bf81f55d6d5b917b7ec673482b5565c0
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 25 08:12:28 2013 +1100

    Support running uninstalled in a tarball dir.
    
    Running tests from the directory of an expanded tarball is a reasonable
    thing to do, so support it by checking for PKG-INFO file if the pkg_resources
    version grab fails.
    
    Fixes bug 1103473
    
    Change-Id: I2bf1fc39b070d3a2cdf6a3abe5e816c81d2916a0

commit 11d5c5cba0da3755783e02270608fe1d68bee926
Author: Matthew Treinish <treinish@linux.vnet.ibm.com>
Date:   Wed Jan 23 11:38:11 2013 -0500

    Add install_venv library.
    
    This adds a install_venv.py library that can be used by each
    project's tools/install_venv.py script.
    
    Currently all the projects have very similar install_venv
    scripts in their respective tools directories that all
    accomplish the same end result. This just breaks out the
    common code and puts it in a class that can be imported
    and used in each project's script.
    
    Change-Id: I8346fc4201f35e5d0c475caef893ca71e7db8236

commit d0897011d52f712f7ccd7a92e28caa2c8014143f
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Jan 24 10:49:22 2013 -0500

    Document tools/flakes is from commons
    
    When copying tools around it may not be clear that they came from
    openstack-common.  So add a note at top of code. Had to say from
    openstack-common since cannot say from oslo-incubator since word oslo is
    replaced when copied.
    
    Change-Id: I7514c88d448f13cb7b11ed1ea81a035c6a201bae

commit a387d1fb044ae05be366febe0796e0f0080d43ef
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Jan 24 08:14:15 2013 +1100

    Prevent parallel test port clashes for zmq.
    
    The scheme of incrementing port numbers did not work so well for
    parallel test runs.
    
    Part of blueprint grizzly-testtools.
    
    Change-Id: I100e79ae79e4409691145dc721139d1a86839199

commit 8c80224ecb5194a5e2ed5f74f1c7f457202d21a3
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 23 09:59:46 2013 -0500

    Replace direct use of testtools BaseTestCase.
    
    Using the BaseTestCase across the tests in the tree lets us put in log
    fixtures and consistently handle mox and stubout.
    
    Part of blueprint grizzly-testtools.
    
    Change-Id: Iba7eb2c63b0c514009b2c28e5930b27726a147b0

commit 3d2800087ce38ff954c50e5a86916784682ed1bd
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 23 03:07:51 2013 -0500

    Remove the last of the nose-isms.
    
    testtools provides a skipTest method, so there's no need to pull in nose
    directly into the tests.
    
    Part of blueprint grizzly/testtools.
    
    Change-Id: I97a9f09a27cad0433949a96fc18001ecf69c8ba2

commit 60f70b0b3996365a889546eb1e4c5c7edc4cfde0
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 23 02:48:21 2013 -0500

    Replaced direct usage of stubout with BaseTestCase.
    
    BaseTestCase properly hooks stubout into fixtures. Just use that.
    
    Part of blueprint grizzly-testtools.
    
    Change-Id: I4bf6b92b9b16d051d8c6ecaf52cf70925848ed8c

commit a14c212795b59c67d6e5cde052e659743eae2b9f
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 23 02:38:36 2013 -0500

    Fix up test_qpid to use BaseTestCase.
    
    While we're in there, simplify its use of fixtures.
    
    Part of blueprint grizzly-testtools.
    
    Change-Id: I7ef05cc9c191aab1959a31770f905f34447e64ea

commit 827547a0b3da411441bf691ddbc94867001a3311
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Jan 22 19:54:57 2013 -0500

    Use testtools as test base class.
    
    On the path to testr migration, we need to replace the unittest base classes
    with testtools.
    Replace tearDown with addCleanup, addCleanup is more resilient than tearDown.
    The fixtures library has excellent support for managing and cleaning
    tempfiles. Use it.
    Replace skip_ with testtools.skipTest
    
    Part of blueprint grizzly-testtools.
    
    Change-Id: I45e11bbb1ff9b31f3278d3b016737dcb7850cd98

commit 1bc3ecf25d1b86dcb178d5f59b178bde94f5f667
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Jan 22 21:28:56 2013 -0500

    Start adding reusable test fixtures.
    
    Now that nova is using fixtures, we have grown some that can be used across
    projects. The mox/stubout fixture is a great example of this - and also can
    be used in the oslo tests themselves.
    
    Change-Id: Ia78019317a6772c5c66a875c948854248383f9ea

commit 416e92d728b351a5ffbbbf0dda4973d41b1a7947
Merge: e59f763 d3a4c8e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 23 22:02:03 2013 +0000

    Merge "UTC ISO8601 from timestamp"

commit e59f763b2a4325b583a40afe29b95e41bd0e5a5e
Merge: 886f981 a956f7a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 23 21:07:25 2013 +0000

    Merge "Import timeutils.is_soon from keystoneclient"

commit a956f7aab04f9914870980cb3acb0d5bcafbe1f0
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jan 23 13:50:25 2013 +0100

    Import timeutils.is_soon from keystoneclient
    
    This is a function defined as will_expire_soon at least twice in
    python-keystoneclient, and it's actually quite handy. There is a comment on
    that code about moving to timeutils, and it actually sounds like a good idea
    since I'm likely to use it in Ceilometer, so here it is.
    
    Change-Id: Idf208ce9e7ce9048a38d98212b7f730c6b7c8288
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 886f9811ab95bce82f088de4178c0993450c5cea
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Tue Jan 22 12:01:53 2013 -0500

    Allow update.py to copy tools
    
    With first tool: flakes.py
    
    Change-Id: Ie7880927c74ceff174b3b0d2730c499790650921

commit cf7f75d66ca8e20e1058758ce5f0fb9859f413de
Merge: 00ad52e 2f8d97b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 22 08:46:43 2013 +0000

    Merge "Enable ZeroMQ tests"

commit 00ad52ee11a3add8d7d3c47bf6e97944f297513c
Merge: 9381498 c5984ba
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 21 23:48:54 2013 +0000

    Merge "Move logging config options into the log module"

commit 93814986f874c536fc94eaf719b124056f9f293e
Merge: c379c18 9c8685a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 21 23:47:39 2013 +0000

    Merge "Use revno and git sha for pre-release versioning."

commit c379c1804517628ed2e4b9d0ad201a9d3ed4b456
Merge: 82c8fb7 5f5ef7d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 21 23:47:36 2013 +0000

    Merge "Add env var version override for packagers."

commit d3a4c8e8f466d5c7b2f5f8c076a48326e5bbaa40
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Jan 21 16:31:51 2013 +0100

    UTC ISO8601 from timestamp
    
    Taken from glance xattr.py module. This function converts timestamp
    formated dates into a UTC Iso 8601 date. It is being required in
    multiple places now (mostly on clients printing dates) in order to make
    dates human readable.
    
    Change-Id: I6f19325a4c2df241a0ef76bd256280a2930d9265

commit c5984ba9c4f3cb7b682d47a06018aacbf82f074d
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 21 14:13:59 2013 +0000

    Move logging config options into the log module
    
    We learned a lesson in Nova - it's best to declare and use config
    options within a single module if possible. Globally declared and
    use config options grow like weeds and it becomes harder to find out
    if, where and how individual options are used.
    
    Strangely, in cfg itself, we randomly declare a bunch of logging options
    which are only used within the openstack.common.log module - let's move
    the options there and remove the CommonConfigOpts class before they
    become part of the API we commit to when oslo-config is released.
    
    A minor detail in the patch - the logfile and logdir options are already
    deprecated in favour of log_file and log_dir, but we never got around to
    removing all other traces of the deprecated options.
    
    Change-Id: I3913ea54465658d93dc56e014dfe5d911b0541d6

commit 82c8fb786a67b6e636095cb6bb8ebcb3ebc47463
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 21 13:10:53 2013 +0000

    Remove unused etc/openstack-common.conf.test
    
    This is unused since commit e0f57e92 removed the extensions module.
    
    Change-Id: Ia24d01c42fc9fb2e12eea697d217b30d7d6b2a51

commit 2f8d97b934520fc2bf2a21696cd6cb193ccc91ee
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Jan 8 10:39:56 2013 -0500

    Enable ZeroMQ tests
    
    ZeroMQ tests were not enabled as the
    required library was not installed to
    the tox environment. This change will
    re-enable zeromq messaging tests for
    both local development and jenkins.
    
    Change-Id: Icffbffcb2b83c74f06075d93e1397c5c9b511a67

commit 9c8685a748714d9ff626694a4838d43edf33ef34
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Jan 17 12:56:31 2013 -0500

    Use revno and git sha for pre-release versioning.
    
    In discussions with ttx and zul, it became clear that the git describe info
    for our intra-release case wasn't providing any value and was providing
    confusion. Additionally, plain git sha's are not providing enough info.
    
    So, the scheme settled on that breaks the least amount of things and yet
    still reduces complexity is:
    
    if pre-version: # server projects
      try:
        use current tag
      except:
        use pre-version+revcount+gitsha
    else:
      use git describe | s/-/./
    
    Additionally, we'll use a as a prefix for the revcount, b as the prefix for
    the milestone portion of a milestone tag, and rc as the prefix for rc's, so
    that for our releases, python version sorting works as expected.
    
    Change-Id: I6f0fe029d225afa8f435bc83216fc144c2402ae0

commit 5f5ef7deb22b86310aa128dcb71534f6fc9deb08
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Jan 17 11:57:21 2013 -0500

    Add env var version override for packagers.
    
    Fixes bug 1100805.
    
    Change-Id: I8c8ba8610ed2d9093e188c1412e9689314560015

commit b1c5269b20e58213da93254537435b67c258f236
Merge: 8837013 cc7acd7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 18 18:42:40 2013 +0000

    Merge "Require greenlet 0.3.2 (or later)"

commit 883701348902529fd2b814664dc3eb58b15de6ff
Merge: 602aa9c 96b62fb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 18 14:46:26 2013 +0000

    Merge "Fixes import order errors"

commit cc7acd7df86cf231e6673f48e58640adbc9e35a7
Author: Zane Bitter <zbitter@redhat.com>
Date:   Fri Jan 18 14:52:33 2013 +0100

    Require greenlet 0.3.2 (or later)
    
    Version 0.3.2 resolves a bug that allowed generic "except Exception:"
    clauses to catch GreenletExit exceptions.
    
    bug 1097203
    
    Change-Id: Iecf36df36e5eefa45c70fae69c966bcd1f723c8f
    Signed-off-by: Zane Bitter <zbitter@redhat.com>

commit 602aa9ca3a0aa160f3a803432f3fd4a6d529ac69
Author: Steven Hardy <shardy@redhat.com>
Date:   Fri Jan 18 10:59:03 2013 +0000

    trivial pep whitespace fix
    
    Fix multiple spaces after keyword pep8 error, causes our pep8
    gate to fail (pep8 1.3.4)
    
    Change-Id: I67ab86ce17a1a91f8dab61efb18b83b22d2e1488
    Signed-off-by: Steven Hardy <shardy@redhat.com>

commit 96b62fbaec43f324a244102f6e2682d1cf532ba0
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Fri Jan 18 14:10:05 2013 +0800

    Fixes import order errors
    
    Change-Id: I3e35230dd2d96ab9f5a8c11b9ec1cd8d2d00e347

commit 39206ac47afff14c3ed74d82e7d8a3973178cdf5
Merge: 9684c65 b54581b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 18 07:13:47 2013 +0000

    Merge "Remove write_requirements"

commit 9684c65ffe8b81e49d9ef1130b735d46d1ad449c
Merge: 82e8604 9439077
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 18 06:33:48 2013 +0000

    Merge "ThreadGroup remove unused name parameters"

commit 82e86045b50e5b66f5acdaf402f53db229c947eb
Merge: 93aacfa 1e81f95
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 17 13:12:18 2013 +0000

    Merge "use regexp to parse the mailmap"

commit b54581bd1b5d00e0d079a81a7592d2dc4b86901b
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 16 18:27:09 2013 -0500

    Remove write_requirements
    
    Everyone hated this, so we decided to get rid of it at the last summit.
    Actually, come to think of it, I think we decied to get rid of it in San Fran.
    
    Change-Id: I7d93af1eb98a37ff018730669731a7ee22516279

commit 93aacfa8eff3fa04578313c717de7ed2c28a51ef
Author: Johannes Erdfelt <johannes.erdfelt@rackspace.com>
Date:   Wed Jan 16 18:05:50 2013 +0000

    Stop using no longer valid -E option for pip
    
    Fixes bug 1100403
    
    Version 1.1 of pip dropped the -E option. It's not necessary anyway since
    running pip in a correctly setup virtualenv will automatically do the right
    thing.
    
    Change-Id: Ifec9f27b8dc169d594125a0808126abe77ed42e7

commit 943907790ce804df7ba94f523115099bc961a2b4
Author: Steven Hardy <shardy@redhat.com>
Date:   Wed Jan 16 15:51:47 2013 +0000

    ThreadGroup remove unused name parameters
    
    Thread/ThreadGroup constructors take a name parameter which is never
    used, so we can simplify things a bit by removing it.  If anything is
    referencing the internal self.name it should be using its own
    name->threadgroup mapping (e.g via a dict or similar container class)
    
    Change-Id: I6877a2fcee60ce9fc087d38aa492d7c9d50ce97e
    Signed-off-by: Steven Hardy <shardy@redhat.com>

commit 1e81f95ca79d5a1b79bc86f710666148d1a5a385
Author: Ionuț Arțăriși <iartarisi@suse.cz>
Date:   Wed Jan 16 15:06:00 2013 +0100

    use regexp to parse the mailmap
    
    this also makes parse_mailmap() work with the swift .mailmap and should
    be more readable
    
    Change-Id: I3abb2a18d655e507bee5f621ebc64421d943cf0b

commit 848b1cf1fa03572dbe1e96907a0a5547b3cc6bef
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Wed Jan 16 11:33:23 2013 +0800

    Fixes an import order nit
    
    Change-Id: Ic47deb67c5dad123c8937e3468d798eefe045280

commit 3eb1c8736186012f62b008b8e823942f345f70aa
Merge: f1bf204 580c259
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 20:41:40 2013 +0000

    Merge "Make tox run doctests"

commit f1bf204b0bffbb407bf38c8545929b49a3055958
Merge: 5ed83aa 2f93ad2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 20:40:15 2013 +0000

    Merge "Allow rpc drivers to always be imported"

commit 5ed83aa0797033847fd2f757ce78b3931ce4fcea
Merge: 4d38326 4a6ef49
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 20:37:05 2013 +0000

    Merge "Rework zmq setup and cleanup"

commit 4d38326ef45b0b5301794e00e5fd4c788ccc7fc6
Merge: a12c97e f1b23c8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 18:05:56 2013 +0000

    Merge "Fix zmq socket.close() with eventlet 0.9.17"

commit a12c97e21ab7031abff545fb245b8f3eb1ff50c4
Merge: 9827528 d737581
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 18:04:54 2013 +0000

    Merge "Don't include versioninfo in manifest."

commit 580c259b39fa5e639d3fbe00dc24da09c11d282a
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 14 08:38:17 2013 +0000

    Make tox run doctests
    
    Use 'nosetests --with-doctests' to run any doctests found. We currently
    only use doctests in a handful of places, but we may as well run them
    to ensure they work.
    
    Make the cfg doctests avoid using the global CONF since we would need
    to reset its state between each doctest.
    
    Fix the cliutils doctests to actually pass.
    
    Use 'nosetests --exclude-dir=tests/testmods' to avoid loading the
    modules from this dir while discovering doctests. The cfg unit tests
    rely on these modules not having been previously loaded.
    
    Change-Id: I19ad70767fa5c8352b994dc963b5d3a7c9d9eb95

commit 2f93ad27a25e10df47a4181938e3a183fc899954
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 14 08:37:11 2013 +0000

    Allow rpc drivers to always be imported
    
    The qpid and zmq drivers current can't be import unless their
    respective libraries are installed and neither are currently listed
    in test-requires.
    
    This prevents us from being able to use nosetests --with-doctests
    because the import failure is seen as a test failure.
    
    Fix this issue by making the import always succeed and deferring
    failure until the module's APIs are actually used.
    
    This will also help Nova's sample config file generation since it
    will allow the generate-sample tool discover config options for these
    drivers even when the messaging libraries aren't installed.
    
    Change-Id: I30087fd33eef41d50d1a374cb5694dc15c43d1da

commit 4a6ef49850336bc8a99f0b93feee0307f0383b1f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 14 08:36:53 2013 +0000

    Rework zmq setup and cleanup
    
    Register config options at import time and remove the register_opts()
    function. It seems this isn't being used.
    
    Add accessor methods for ZMQ_CTXT and matchmaker so that they are
    lazily created rather than created at import time.
    
    Remove the rpc_zmq_matchmaker override in the tests since
    MatchMakerLocalhost is the default anyway. We were setting it with
    an incorrect value, but only after the matchmaker had already been
    created.
    
    Change-Id: I2520252c64d70e4c4903e34d07952fed43e70ebe

commit 9827528b14bbc92ead4456a967bdc7f77eaa696a
Merge: 4fa5025 18f9930
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 09:23:19 2013 +0000

    Merge "Add missing parameter to impl_fake notify function."

commit 4fa5025d7424bd0c8da6a2f3a73dac0512a0e98d
Merge: 859cc3d 33b12d3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 08:17:12 2013 +0000

    Merge "Implement importutils.try_import."

commit 859cc3df24751e4fb0acda8643d4feee10c3b39a
Merge: 3f93dc8 8a187ec
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 07:53:38 2013 +0000

    Merge "reusable ZmqProxy service initialization"

commit 3f93dc8a7fa24b81811e34402b1d9f2c30781265
Merge: d74668f 4ef495e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 15 07:46:57 2013 +0000

    Merge "call() to accept serialize and force_envelope"

commit 33b12d3c18a35f85785227267347f9ac7f7273a4
Author: Dan Prince <dprince@redhat.com>
Date:   Mon Jan 14 12:54:43 2013 -0500

    Implement importutils.try_import.
    
    Adds a new (simple) importutils.try_import function which
    can return a module name or a default (by default this is None).
    
    This should help clean up some of our
    
    try:
        import foo
    except...
    
    blocks in modules.
    
    This commit also drops the dependency on python-extras which is
    no longer needed.
    
    Fixes LP Bug #1099501.
    
    Change-Id: I8591f79983bdad67a50d1aaae6dce8428dfce084

commit 18f99303a793e30633df95f933a740f459dfb15a
Author: Gary Kotton <gkotton@redhat.com>
Date:   Mon Jan 14 16:31:52 2013 +0000

    Add missing parameter to impl_fake notify function.
    
    The envelope was missing.
    
    Change-Id: I3ab8f573e6c5020bd564ad78de29e6c285695f2c

commit d737581c8c07538b75c61c39ff2af88397032479
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Jan 14 03:17:32 2013 -0800

    Don't include versioninfo in manifest.
    
    We don't produce versioninfo files anymore, so don't try to include them
    in the MANIFEST.in.
    
    Change-Id: I00d8a61361cba73528a1ae780538a80ed1da2361

commit f1b23c8077593334ec8bc94fcb40287b7d31f7a5
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Sun Jan 13 14:11:49 2013 -0500

    Fix zmq socket.close() with eventlet 0.9.17
    
    A bug/change in eventlet 0.9.17 blocks the
    kwargs from close() from passing through
    to pyzmq. As this code was only explicitly
    passing defaults, no argument is necessary.
    
    This addresses file descriptor leaks reported
    in bug 1099185. This bug does not affect
    installations with eventlet<=0.9.16
    
    The code will now log an error if a socket
    cannot be closed.
    
    Change-Id: Id438dab9744042328b7fac44693d02e116d8c1d9

commit 8a187ecc010d90ba000632d97999624ee8dee130
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jan 10 22:56:57 2013 -0500

    reusable ZmqProxy service initialization
    
    Move near-identical proxy setup code
    from oslo-zmq-receiver and test_zmq
    into ZmqProxy's consume_in_thread method
    
    Provides code reuse and simplifies the
    tests and receiver binary.
    
    Change-Id: I1324eacfa2a456599d5fd462b6476ddf659e95c4

commit d74668fbedc29aa4b7868fd3fb8a28d326f43d52
Merge: 7667c33 751c35b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Jan 13 00:25:04 2013 +0000

    Merge "Verbose should not enable debug level logging"

commit 7667c3398947b7ec5d5f6748d1bc66ab0d216d34
Merge: e8859c0 8036a10
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 12 12:11:37 2013 +0000

    Merge "Upgrade WebOb to 1.2.3"

commit e8859c0f2cd332f45c632a3980b86707a17cdd8e
Merge: 35c7db4 ab04310
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 12 12:01:11 2013 +0000

    Merge "zmq-receiver msg forwarding in greenthreads"

commit 35c7db44ee57162a4f2e695b568d3e8df6305ee5
Merge: 59617ea edcdd25
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 12 10:12:02 2013 +0000

    Merge "Improve millisecond logging"

commit 59617ea951a7663677763dbca10b96420fcd0cb9
Merge: bde8391 edf3cca
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 12 10:11:42 2013 +0000

    Merge "Log when release file lock"

commit bde8391028d1f60373c4edde61b5ee71f952828b
Merge: d371e80 9e5912f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 12 10:11:08 2013 +0000

    Merge "Fix pep8 E125 errors."

commit d371e80815957a670377e9d348796714a1ae037c
Merge: bd1e5a3 7ee9613
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 12 10:10:42 2013 +0000

    Merge "Simplify version processing."

commit 751c35b1c8ff0730883a8ccdda9b77a49fff2405
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Thu Dec 13 22:42:33 2012 -0500

    Verbose should not enable debug level logging
    
    Fixes LP #989269
    
    Currently setting --verbose in will still allow DEBUG level
    message to be logged to python logger object. we need to check
    for --debug first (set DEBUG level), then --verbose (set INFO
    level) and if neither is set then set default to WARNING
    
    DocImpact
    
    Change-Id: Ic9e3cb5979b2d7283552ad3a461870373f45a239

commit 9e5912f59e463e37dbe4505f9e79e9b254e64b87
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 11 12:01:42 2013 +0100

    Fix pep8 E125 errors.
    
    Caesar's wife must be above reproach.
    
    Change-Id: Iac85a57e71d403360f1567c07c8699057f0772fb

commit 7ee9613600db879abff65da48e6e7293b4c4c659
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Jan 3 09:22:00 2013 -0800

    Simplify version processing.
    
    In response to the cessation of per-commit tarballs produced by the CI
    systems, simplify the version processing code. We did many many many
    complicated things to support producing release artifacts that were not
    actually supported release artifacts. After a bunch of issues emerged, it was
    determined that the best way forward was to stop producing quasi-not-really
    non-release tarballs. If people want to consume versions of openstack that
    are not released versions, the git repos are always available.
    
    Additionally, this patch removes versioninfo and just uses PKG-INFO and
    pkg_resources to handle version processing.
    
    Change-Id: I5c799f3520adb2ba5288d852543706d81a92f8a1

commit ab043101589a9167357ca317ca610a3f4144747c
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Jan 9 12:30:47 2013 -0500

    zmq-receiver msg forwarding in greenthreads
    
    Because PUSH sockets can block and there
    may not be PULL consumers, the oslo-zmq-receiver
    process may stall in certain senarios.
    
    Improves error handling in ZmqProxy.
    
    This addresses bug 1097856.
    
    Additionally, this bug seems to improve
    (but not necessarily fix) the behavior
    reported in bug 1065532.
    
    Change-Id: I6df6035a6676c5bcdddaec7a332ac77e621ba9f3

commit bd1e5a3350305cd6554ba3b0d537d670bf6b4a75
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jan 3 10:53:52 2013 -0500

    Address test_zmq setup/teardown races
    
    Each test now consumes a new port number (9500+),
    and socket directory based on an auto-incrementing
    global counter (TESTCNT).
    
    Also makes minor cleanup to test receiver setup logic.
    
    fixes bug 1096223
    
    Change-Id: Ie6a88c535c81f2fc12b97d32c2674a6184325d2a

commit 4ef495ec0821bf1508b9305423de70ba87216552
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jan 10 11:41:26 2013 -0500

    call() to accept serialize and force_envelope
    
    The serialize and force_envelope options were
    being stripped from call().
    
    Now, when call() is invoked, these options
    are passed and respected.
    
    Change-Id: I69355606b06ab2ec87765fe6ddba7baaa68e5754

commit edf3ccaace543e3b6269fdc53beda590f97e4706
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Wed Jan 9 18:49:12 2013 -0800

    Log when release file lock
    
    We log when waiting for a file lock, when getting one, so lets log when
    releasing one.
    
    Change-Id: I1838c424fda74c04e9c2107db08226670e8372f3

commit edcdd25a9199b9936546bbac1eab611089576f18
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Wed Jan 9 17:52:38 2013 -0800

    Improve millisecond logging
    
    Always display 3 digits for milliseconds (appends 0s)
    
    Change-Id: I3f1461839258be0723e2d3616ec225a830d13029

commit a8973c524c9fe901972ba61f34dafac7438417c9
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Jan 8 21:48:11 2013 +0000

    Revert "Support lookup of value using "group.key""
    
    This reverts commit 525ac47.
    
    There are already two ways to reference an option in a group:
    
      CONF.group.key
      CONF[group].key
    
    Adding a third variant doesn't seem ideal. Also, for the specific case
    of LazyPluggable in Nova, we can easily just pass an optional config
    group name to the constructor.
    
    Change-Id: I1a29a18d90e8af3ce2563bd1b3eeb64422140016

commit b17b268a269c4989d76267db5c2d49d4c20bd51d
Merge: a50c039 f17902a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 19:30:56 2013 +0000

    Merge "Add zmq receiver binary"

commit a50c0390dc1430ec3c8ac9f1048ed508ab106c14
Merge: 4679038 50c5117
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 19:27:55 2013 +0000

    Merge "Use package for writing versioninfo."

commit 4679038cca4f3192ed2dd16d795de0eac81d9992
Merge: 5df2184 fb56e51
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 19:27:08 2013 +0000

    Merge "Fix publish_errors unit test"

commit 5df2184cd0424e7034464ff387a86266b93e9bf5
Merge: 1230c7a e3ddc41
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 19:20:12 2013 +0000

    Merge "JSONDictSerializer encode objects to unicode"

commit 1230c7a62760a13d00b58c7fc9c7fa50ab231c61
Merge: 803f2b0 1e6b9b7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 19:06:17 2013 +0000

    Merge "rpc method arguments should be dict, not list"

commit 1e6b9b7bc7ed3430c442c6bc075ec541850f495d
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Dec 12 22:19:18 2012 -0500

    rpc method arguments should be dict, not list
    
    default arguments were being set to a
    list instead of a dict. This caused
    problems if the args key was missing
    in the msg argument to the call/cast methods.
    
    Adds tests to check if RPC cast/call work
    without arguments. Changes and documents
    the _test_cast method arguments, allowing
    for more flexibility and code reuse.
    
    fixes bug 1089750
    
    Change-Id: I854dc3fcad8936695feb4414f3862672cf98c5d1

commit f17902a78a5e4118a111efe7335b00328d48b339
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Jan 8 11:44:27 2013 -0500

    Add zmq receiver binary
    
    The impl_zmq rpc driver requires a
    binary running on all hosts. Previously
    residing in nova, this binary is being
    moved into oslo-incubator.
    
    Change-Id: I3f38374b71794029550147ed4fc75f0fd63adf75

commit 803f2b0ed6f11ac108aadf569dae7a0ffcbc2587
Merge: ad93e4e 525ac47
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 13:30:18 2013 +0000

    Merge "Support lookup of value using "group.key""

commit ad93e4e30e79cbb4c435068ce5bfa01e6d6b8953
Merge: c7a5a8b d44918c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 02:18:33 2013 +0000

    Merge "Fix serialization in impl_zmq."

commit c7a5a8bf79c7c8a3878e54f8bae89cca65bd17e3
Merge: 1e50543 f2783f9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 8 02:17:37 2013 +0000

    Merge "Make WebOb version specification more flexible"

commit d44918c256d2a80cecd4489917aed9589906f07c
Author: Russell Bryant <rbryant@redhat.com>
Date:   Thu Jan 3 15:18:54 2013 -0500

    Fix serialization in impl_zmq.
    
    When the rpc message envelope patch went in, the serialization done in
    impl_zmq was replaced with what is done in rpc.common.  Instead, it just
    needs to be done as an additional stage of serialization.  The reason is
    that the amqp drivers can handle passing dicts into the messaging
    libraries.  The zeromq library can not handle that, so it has to ensure
    it is a string before passing it down to the library.
    
    This patch restores the original (unmodified) _serialize() and
    _deserialize() methods in impl_zmq that were removed and calls them as
    appropriate.
    
    Change-Id: I09cac780c9a9b15390229c63d71e360120548b3d

commit 1e50543ca215fc5d160f8b740115835e291c7dde
Merge: d40cf1d 90606f8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 7 20:00:31 2013 +0000

    Merge "Close kombu.connection.BrokerConnection correctly"

commit d40cf1d04230947301e88a57d8ac97e74de7bbe6
Merge: c0d4307 629bfd5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 7 19:53:06 2013 +0000

    Merge "Add common base weigher/weigher handler for filter scheduler"

commit c0d4307508f5a1e52327bf4994cc7eebcc4f34d0
Merge: da9346a 5177c79
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 7 19:52:36 2013 +0000

    Merge "Add common filter/filter handler for filter scheduler"

commit 8036a106ef7654dd47d7db03342e149e66c7e140
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Thu Jan 3 11:00:07 2013 -0500

    Upgrade WebOb to 1.2.3
    
    The version of WebOb being used in OpenStack was more than
    1 year old. This change updates to the latest stable release.
    
    Upgrading WebOb resolves a version conflict between OpenStack
    and Pecan, the web framework used by the Ceilometer team for
    version 2 of the ceilometer API.
    
    Refer to http://docs.webob.org/en/latest/news.html
    for the list of changes between 1.0.8 and 1.2.3.
    
    bug 1092227
    
    Change-Id: I2c8e95ecc3b69b40fd9f8d2f801e75c17b07ed59
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit f2783f9f3b16a1f1fb848337f274277b2c9e4e07
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Mon Jan 7 10:55:14 2013 -0500

    Make WebOb version specification more flexible
    
    Change the WebOb version to >=1.0.8 as an temporary
    measure to allow the actual version update to 1.2.3
    to roll out across the projects one at a time without
    breaking the integration tests.
    
    Change-Id: Ie08a97a31eaae0b1245b94f85e0f926512e4d513
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit da9346aa2af6b6e7bc27dae4831c2afa139812e1
Merge: 6024316 66bc8dc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 7 14:39:24 2013 +0000

    Merge "Add a latex command to our sphinx builders."

commit 6024316a3ac02e4b27b5f6f379ef5cce59b05ce9
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Fri Jan 4 22:40:36 2013 -0500

    Eliminate sleep in the lockutils test case (across processes)
    
    Fork many processes and try to lock the same set of files
    using flock without blocking and make sure we wait for all the processes
    to finish as well.
    
    Fixes LP #1068316
    
    Change-Id: I09964b2c5af63f31b5ddee1f18eaf646f8d8ba58

commit aa8f8a322369081c656241054420ac32e351e878
Merge: 7601ba8 edf14e0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 7 06:37:33 2013 +0000

    Merge "Enable millisecond logging by default"

commit 7601ba83872e49e8262351189a75628b6296ae6c
Merge: 5d4a9c9 b8a06a3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Jan 6 19:27:59 2013 +0000

    Merge "Fix debug message in multicall of rpc.amqp"

commit 5d4a9c99fe20085aa1c9afc130776ebe21574a7f
Merge: 193803b adffcd5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Jan 6 05:55:28 2013 +0000

    Merge "Optionally add message envelope to notifications."

commit 193803bd4a812b75d92d7365e75a5f71606de549
Merge: aefdd01 29e58da
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 5 00:47:33 2013 +0000

    Merge "Fix test cases in tests.unit.test_service"

commit aefdd01621c7e43ba93c91f9db852caf2a08935b
Merge: a08daf1 70942a3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Jan 5 00:47:26 2013 +0000

    Merge "Ensure proxy callback threads exit during tests"

commit 66bc8dc4f18269a5e894cebc49c3304d17839e2c
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 4 11:36:29 2013 -0500

    Add a latex command to our sphinx builders.
    
    The libra project added this locally and use it for some docs they make. It
    seemed like something we could add what we provide globally.
    
    Change-Id: I219829693568362bbe01354a8f477a10031754c4

commit a08daf15d42890a16af0a60ceadd0aaced04ef7f
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Jan 4 18:07:45 2013 +0100

    Use basestring instead of str for type check.
    
    Change-Id: I1dbf453cc08bd8aaeb4fee2491a1e8aa74f8bee3 introduced some
    checks to is_older_than and is_newer_than functions against str instead
    of basestring.
    
    I'm aware that basestring doesn't exist in Python3 but since it isn't
    a target right now and there's no "standard" way to support it right now
    in openstack.
    
    Change-Id: I8d67d384637dfdde3f5621052d8511e7b6ecab7b

commit cad152f0f0593145f3d711b34714758b604415df
Merge: 8ed3163 09b341d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 4 15:48:59 2013 +0000

    Merge "Make time comparison functions accept strings"

commit 8ed3163c2b3f372402e6bccf7df5f3f3222d8c98
Merge: 4234f24 bc50f1e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 4 15:33:40 2013 +0000

    Merge "Disable lockutils test_synchronized_externally"

commit 4234f240f72a844686900944a247f7de2a4ac29c
Merge: bc954f7 0ccb03b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 4 15:04:49 2013 +0000

    Merge "Fix timezone handling in timeutils tests"

commit 09b341db792fa25fe67c560c65f278ce9c70957e
Author: Dan Smith <danms@us.ibm.com>
Date:   Thu Jan 3 11:23:30 2013 -0800

    Make time comparison functions accept strings
    
    This patch makes is_older_than() and is_newer_than() accept
    timestamps in string format, as returned from strtime().
    
    Change-Id: I1dbf453cc08bd8aaeb4fee2491a1e8aa74f8bee3

commit bc954f7251f098c1d56cf2bbe0932cd9d62e2fb2
Merge: 0085001 a3ff94b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 4 10:51:15 2013 +0000

    Merge "Allow update.py copy config files and binaries"

commit bc50f1ea933ef0488336237f563be24ea509a5f2
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jan 4 06:56:42 2013 +0000

    Disable lockutils test_synchronized_externally
    
    We're seeing this test fail very regularly in Jenkins and it's become
    a serious distraction for everyone.
    
    Disable the test temporarily and use a bug #1095957 to track that the
    test itself needs fixing.
    
    Change-Id: I0645d8f5f740d40f83d82e5ef7a048f33a44ac2b

commit 629bfd53dab67afbe6d70b010b7df0d0c57d39fe
Author: Zhiteng Huang <zhiteng.huang@intel.com>
Date:   Mon Dec 10 15:33:30 2012 +0800

    Add common base weigher/weigher handler for filter scheduler
    
    Filter scheduler is being used for more than one core projects (Nova
    and Cinder as of writing), the implementation shared a lot of common
    code. This patch is to move base weigher (weighing function), weigher
    handler for filter scheduler into oslo to reduce possible porting.
    
    implement bp: common-weights
    
    Change-Id: I2d1b37438663b53e035cc262875a283e5e2ee970

commit 5177c7918b4d48645071234f8474b824759d71ef
Author: Zhiteng Huang <zhiteng.huang@intel.com>
Date:   Thu Dec 6 14:21:50 2012 +0800

    Add common filter/filter handler for filter scheduler
    
    Filter scheduler is being used for more than one core projects (Nova
    and Cinder as of writing), the implementation shared a lot of common
    code.  This patch moves base filter/filter handler class as well as
    common filter implementation for filter scheduler into oslo to reduce
    possible porting.
    
    implement bp: common-filters
    
    Change-Id: If0b1dee79c410c98e152230b55c1ec5dbcdef27c

commit 50c51177d5586d5703a286dc01c83e75435d4af7
Author: Steve Baker <sbaker@redhat.com>
Date:   Fri Jan 4 16:16:24 2013 +1300

    Use package for writing versioninfo.
    
    This currently fails for client projects as python_package
    is the name of the project, while package is where versioninfo
    is written to. This doesn't affect server openstack projects
    because python_package == package.
    
    This hasn't affected any client projects yet because most likely
    none of them call version.canonical_version_string() in their
    setup.py
    
    Change-Id: Ia97e5fae378c47909f3dbc842dc83e408af68671

commit edf14e05ba90912d7e2e14beedc918f8bc2636ed
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Jan 3 17:47:52 2013 -0800

    Enable millisecond logging by default
    
    Related to Ic28867ae9a436e81c7f2fcf79f40a1ecc251072c
    
    Change-Id: I135213cad3ec21edf8934c1094ee84ac93ed4561

commit 008500197a82a0ec15822bf17a35c5a283c50910
Author: Michael Still <mikal@stillhq.com>
Date:   Wed Jan 2 20:21:28 2013 +1100

    Sanitize cells calls.
    
    Cells puts the data to be sanitized deeper into the message. We
    should get this into oslo ready for when cells lands.
    
    Change-Id: Ic5d111f11c979a179e0edcb314feb3f9d93f66ce

commit 0ccb03b37a74943430c2e81a3955a94d2c8136c0
Author: Dan Smith <danms@us.ibm.com>
Date:   Thu Jan 3 12:24:34 2013 -0800

    Fix timezone handling in timeutils tests
    
    The tests for timeutils use some canned datetime values that include
    timezones, and override the result of utcnow() with the same. This
    is not correct because the real utcnow() returns naive datetime
    objects, so tests that assume the contrary are incorrect.
    
    This came about because I was unable to satisfy both the oslo unit
    tests and the nova ones with the same code. That happened because
    the oslo ones override utcnow() with an invalid result, and the
    nova tests use the real one.
    
    Change-Id: I683818f77ce0d3e3b2f07c0326d7a7196f3346c3

commit adffcd58fb09dafb0c4e128797b4a61a59087f9a
Author: Russell Bryant <rbryant@redhat.com>
Date:   Thu Dec 13 12:53:43 2012 -0500

    Optionally add message envelope to notifications.
    
    When message envelopes were added for rpc messages, notifications were
    explicitly left out.  This was due to the fact that notifications are
    consumed outside of OpenStack.  However, notification consumers will
    likely want to eventually start taking advantage of some of the features
    that the envelope is a prerequisite for, such as message signing.
    
    This patch adds a new notification driver that produces message based
    notifications including the message envelope.
    
    Related to blueprint version-rpc-messages.
    
    Change-Id: Iaa8b437e6b4f64053f4b02bf486516f60bb020e9

commit e3ddc41f1b02644d7fae4482c4beade7f27e58de
Author: Sean McCully <sean.mccully@rackspace.com>
Date:   Mon Dec 17 10:25:19 2012 -0600

    JSONDictSerializer encode objects to unicode
    
    Averts raising ValueError, Circular Reference Detected exception.
    Add additional test to JSONDictSerializerTest testing that
    JSONDictSerializer correctly serializes objects into unicode repr.
    and not raise error
    Fixes: bug #1089100
    
    Change-Id: Ifdb0562c7c43ab66617dddb65f16f893df2f4895

commit fdc74c07d63ff897f42405b6dde0ffa46d6e26c3
Merge: ca21b09 7744268
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 3 14:43:38 2013 +0000

    Merge "Add a rpc envelope format version number."

commit ca21b092114eecff69ccc2903a13fa6d4b606761
Merge: db06b3c 974c29c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 3 08:38:56 2013 +0000

    Merge "Move rootwrap code to openstack.common"

commit db06b3c75286adac8c6b3e21347f6cf14cbc5978
Merge: bf5e64a c51e681
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 3 08:06:09 2013 +0000

    Merge "Don't use exclusive queues for fanout and direct"

commit bf5e64a754abfc2edd1c25094e591817be4b762c
Merge: ffeb085 46da574
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 3 07:48:48 2013 +0000

    Merge "fix intermittent failures with deferred version test"

commit fb56e513a78eca6017fbf1d7543126d1153aea86
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Jan 2 13:16:33 2013 +0000

    Fix publish_errors unit test
    
    The unit test for publish_errors=True causes logging to be spewed from
    other tests because it configures the default root logger rather than
    creating its own logger like other logging tests do. This makes the unit
    tests completely silent again.
    
    Also, it hooked into the rpc notifier to catch notifications when it can
    simple hook into the no-op notifier like other tests.
    
    Finally, it used stubout to override the value of config options rather
    than the BaseTestCase.config() helper method.
    
    Change-Id: I13313fcd9ad8f9e5bcb9af90652b5dde5c3feec9

commit 70942a357f992ec3efd820bc0736baa276c31660
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Jan 2 14:44:45 2013 +0000

    Ensure proxy callback threads exit during tests
    
    On the consumer side, each message is consumed in a separate thread
    but we currently have no way of waiting for all these threads to
    complete.
    
    In BaseRpcTestCase.test_call_timeout(), we complete the thread while
    there is still a message handler running on the other side. This can
    mean the consumer attempting to send its reply while other tests
    are running, which clearly is a bad thing.
    
    Make the connection close() and reset() methods in the kombu and qpid
    drivers wait on proxy object threads before returning to avoid this
    situation.
    
    Change-Id: I8fb84b1dc7f31196ef27a5d1f8c4a3346b03e0ae

commit 29e58dabc9e50eca68a54cb345d4cd2a77c0ba55
Author: Hengqing Hu <hudayou@hotmail.com>
Date:   Fri Dec 28 14:17:12 2012 +0800

    Fix test cases in tests.unit.test_service
    
    Be patient in test_service while waiting service to be spawned or killed,
    because:
        * Service spawning has a limit of one process a second.
        * A test server in the cloud might have limited resources, the time there
          might be several times slower.
    
    Change-Id: Idab1d1158ecc7564d0b1f9cdd32496496ff5b3f8

commit 525ac47bb934621057904725376108f56f6c57fe
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Wed Dec 26 22:50:35 2012 -0500

    Support lookup of value using "group.key"
    
    Let us check if the opt_name has a '.', if it does then split it
    into a group/key and try lookup using that combination. Since
    LazyPluggable uses "CONF[self.__pivot]" if we just add this
    capability to cfg, we get "LazyPluggable doesn't support
    option groups" for free.
    
    Fixes LP #1093043
    
    Change-Id: I9cedcf22014038e9fe4ed5e66ca5427aa99b5091

commit 77442689c676a7fb9ee5a277e498e8c3495346d9
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Dec 5 11:31:00 2012 -0500

    Add a rpc envelope format version number.
    
    This patch adds a message envelope that includes a envelope format
    version number.  This message envelope will allow us to embed
    additional metadata later on, such as a signature for the message
    payload.
    
    Up to this point, we've deferred message serialization as a
    responsibility of the messaging library we're using by passing it a
    message as Python types and letting it deal with how to pass it over a
    network.  This patch adds json serialization in the rpc layer of the
    application message payload before passing the message down into the
    messaging library.
    
    There are some benefits to be gained by doing a pass at serialization
    ourselves.  As an example, we occasionally hit serialization bugs that
    only affect some messaging drivers.  The kombu driver has always had a
    nice advantage.  It uses anyjson internally for serializing messages,
    which we hook into using our jsonutils module.  When there is a problem
    serializing, we automatically use to_primitive() to fix it.  This patch
    allows all drivers to take advantage of this automatic message fix-up.
    
    This also creates a convenient common hook point for messages coming in
    and out of the system, regardless of the driver in use.
    
    While this changes the base format of the messages sent between nodes,
    it has been done in a backwards compatible manner.  The new message
    format will not be used by default.  The idea is that all nodes will be
    upgraded to a version that is capable of receiving the new format
    (Grizzly) before switching it on.  We will turn it on post-Grizzly.
    
    Implement blueprint version-rpc-messages.
    
    Change-Id: Ib6b2d11ca42abaa64c40986d72233e7048e504a0

commit ffeb0855085617095f19296770a1223cb5641d1c
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Thu Dec 27 12:22:56 2012 -0500

    Don't rely on os.wait() blocking
    
    Before this fix which was included in eventlet 0.10.0:
    
    https://bitbucket.org/which_linden/eventlet/issue/92/eventletgreen-override-of-oswaitpid
    
    the os.wait() wrapper in eventlet would not block if no child processes
    had exited. This was clearly buggy behaviour and os.wait() no blocks
    correctly. However, it appears it now does not return if the parent process
    was interrupted by a signal. This means that you can't kill the parent process
    and have the child processes cleaned up gracefully.
    
    To avoid all these issues, switch to non-blocking wait behaviour. We use
    WNOHANG with waitpid() to poll for an exited child process and, if there
    is none, we yield to other green threads and sleep for a short period.
    This means excessive CPU usage, though, which will be tracked by
    bug #1095346.
    
    Check pid to avoid some unnecessary warning/info messages in the logs
    
    Fixes LP #1094076
    
    Change-Id: I783fac652376c2daa9d591403b9f4c1fe9523043

commit c51e68136903bbfa8275185a1656f6f5a3ebd2b6
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Fri Dec 28 15:14:50 2012 -0800

    Don't use exclusive queues for fanout and direct
    
    The use of exclusive queues can cause issues on reconnect if the
    rabbit server hasn't deleted the queue already. We might as well
    use exclusive=False so that we can reconnect to the queue if
    necessary.
    
    Fixes bug 1094358
    
    Change-Id: I35bd903737d6054e8856b0003b0b8af97fd21c91

commit 90606f8cb286ff252046eef15396b81e7ba37195
Author: Hengqing Hu <hudayou@hotmail.com>
Date:   Fri Dec 28 18:33:46 2012 +0800

    Close kombu.connection.BrokerConnection correctly
    
    Make kombu.connection.BrokerConnection use release() to close the connection.
    It has no such attribute as close(), since AttributeError is in
    connection_errors, the fault was previous concealed by the following catch
    statement.
    
    Change-Id: I9f7da2c64f9d408aa2a9ddf723ea83291887cff6

commit b8a06a340012dbf50e10ef3c2b866bb0d095a824
Author: Hengqing Hu <hudayou@hotmail.com>
Date:   Thu Dec 27 21:12:51 2012 +0800

    Fix debug message in multicall of rpc.amqp
    
    Change-Id: Ib5ed65df937e9fe4e36cdf7d0ce92b627f22dbd3

commit 46da5746b0af23640e7b6a9a7f90494916a8aadc
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Tue Dec 11 18:05:03 2012 -0500

    fix intermittent failures with deferred version test
    
    Need to get rid of the deferred string approach as
    the problem was overriding string methods is hard and
    flaky.  There is just no other documented
    argparse hook to allow deferring of the version
    calculation as version passed in has to be a str
    or buffer. Added a test to try longer string and even
    run it in a loop just to be sure.
    
    Fixes LP #1087575
    
    Change-Id: Icf83944d67b8ce5d3230627f3de10501da3276f2

commit a3ff94b26f6392231b466443f2954e5c8d01354f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Dec 19 22:38:21 2012 +0000

    Allow update.py copy config files and binaries
    
    Implements blueprint common-binaries
    
    Add support to update.py for copying config files and binaries matching
    
      etc/oslo/$module*.conf
      bin/oslo-$module*
    
    into the destination project after replacing 'oslo' with the destination
    project name.
    
    This is specifically intended for rootwrap but may be applicable in
    other cases in the future.
    
    Change-Id: If8a3a815ef452b0dd73ed28cb61a7ff16a9dee5c

commit 974c29cf5af06f319bd290367b34f858d09a4d1c
Author: Thierry Carrez <thierry@openstack.org>
Date:   Wed Dec 19 14:06:12 2012 +0100

    Move rootwrap code to openstack.common
    
    Copies current nova-rootwrap code to openstack.common, so that it
    can be reused by Cinder and Quantum.
    
    Implements blueprint common-rootwrap.
    
    Before it can be used in projects, update.py needs to grow the
    capability to deploy files in bin/ and etc/, as well as replacing
    a placeholder text by the destination project name in source files
    and binary names.
    
    In this proposed version, the placeholder text is "oslo".
    
    Change-Id: I8655d5b3cccacd1cc2225aa539339fb478615422

commit 8888ad0126f25c91b90f7bc4c2440da0bf35ec1d
Merge: 91c9631 17bb753
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Dec 18 00:35:27 2012 +0000

    Merge "Register the control_exchange RPC option"

commit 91c9631bd3e3a0c72b36840ddf90e1db483f9a14
Merge: e6c576d 1438ac6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 12 20:48:58 2012 +0000

    Merge "Make wsgi.Server comply with service.Launcher interface"

commit 17bb753daaf43bad656ae88393da3c6709f4d8e3
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Dec 11 07:03:54 2012 +0000

    Register the control_exchange RPC option
    
    Fixes bug #1031725
    
    Have the control_exchange option be registered by Oslo, but allow
    projects to override the default of 'openstack' by doing e.g.:
    
      rpc.set_defaults(control_exchange='nova')
    
    Change-Id: Ic6e534d9a70a1cfc94207b78caa57e897cf78f63

commit 1438ac6107865f1440a6d6aea82c602f84898203
Author: Michael Basnight <mbasnight@gmail.com>
Date:   Thu Dec 6 11:51:37 2012 -0600

    Make wsgi.Server comply with service.Launcher interface
    
    fixes LP 1087369
    
    Change-Id: Icf222b5bffe1f40a5c325ffe2a1b397f22713c00

commit e6c576d9b08e96b0dcd6b630eefa84fa1bec9f16
Merge: 9062a31 479f19c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Dec 8 08:17:41 2012 +0000

    Merge "Add deprecated --logdir common opt"

commit 9062a31c0774b815213e02497b66e591f783795b
Merge: 5fb7487 670dc3f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Dec 8 08:15:53 2012 +0000

    Merge "Allow remote stdlib exceptions to be deserialized"

commit 5fb74870b5a93e370983eb65ecca1947775297b1
Merge: 99b72e2 27b2ff4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Dec 7 06:53:06 2012 +0000

    Merge "Add deprecated --logfile common opt."

commit 479f19c1bc27e7ef7d4f1bf6037570403bd4d71b
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Dec 7 06:44:13 2012 +0000

    Add deprecated --logdir common opt
    
    --logfile and --logdir are aliases Nova has for the --log-file and
    --log-dir. If we're to support --logfile as a deprecated common
    option, we should do the same for --logdir.
    
    Change-Id: I16485a93070d9ad7789a287d5b035c6f270ffead

commit 99b72e2d2b2fa9efa5e10083a7631c48f238bfd3
Merge: b67a752 d8c4e0c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Dec 6 23:40:47 2012 +0000

    Merge "Change Exception MissingArgs's string"

commit b67a752444be399bc0000069b2c60eee3ab94dad
Merge: 78941d4 9b81289
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Dec 6 23:36:17 2012 +0000

    Merge "Allow nova and others to override some logging defaults"

commit 78941d4c89b2d23930520197756d4e65e58d1749
Merge: ec7a2ee 15ae704
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Dec 6 19:43:04 2012 +0000

    Merge "Allow exceptions to pass over RPC silently"

commit 15ae704d927ba2ecd97d29195d30d5587987e2ad
Author: Dan Smith <danms@us.ibm.com>
Date:   Wed Dec 5 12:22:40 2012 -0800

    Allow exceptions to pass over RPC silently
    
    When one service performs an operation on behalf of another, the
    act of passing back an exception (even a known one) causes a lot
    of scary log messages about the (presumed to be) error case. This
    patch adds a client_exceptions decorator common/rpc/common.py,
    which allows RPC services to declare the list of expected exceptions
    for each method. If such an exception is raised during the RPC
    dispatch, it is wrapped in a ClientException so that the RPC layer
    can gracefully pass it back without overly-verbose logging.
    
    This will allow us to fix nova bug 1084707
    
    Change-Id: I4e7b19dc730342091fd70a717065741d56da4555

commit 27b2ff42ce6bf13c394cf5516b220e8abc87a968
Author: Dan Prince <dprince@redhat.com>
Date:   Thu Dec 6 10:40:36 2012 -0500

    Add deprecated --logfile common opt.
    
    This adds a deprecated common options for --logfile which
    is an alias for --log_file. This resolves some backwards compatability
    issues with the most recent oslo common code where --logfile
    was no longer a valid opt.
    
    Change-Id: I17b1277da94a2d81ae439d650a6d7321420dfe14

commit ec7a2ee73ffa86d0a1b9b490798d13dc53d20706
Merge: 255a273 7cf016a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Dec 6 12:42:02 2012 +0000

    Merge "Fixing the trim for ListOp when reading from config file"

commit 9b8128910787ac5f3e80ab81266d971ff20d1805
Author: Davanum Srinivas <davanum@gmail.com>
Date:   Wed Dec 5 16:11:48 2012 -0500

    Allow nova and others to override some logging defaults
    
    - In log.py, indicate that logging module allows tweaking
    of just logging_context_format_string option
    - In cfg.py, add a method that can alter the default given
    the options and new default
    - add testcases for log.set_defaults and cfg.set_defaults
    
    Fixes LP #1083218
    
    Change-Id: Iefdbce8505eb7a07f2b59d4ed7564b0146f1b0cd

commit d8c4e0cd2652f37b68ffc689fc5ddef31f529379
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Dec 6 13:44:02 2012 +0200

    Change Exception MissingArgs's string
    
    The error message in MissingArgs shows python names not the arg name the
    user will use in the CLI (see for example 'nova-manage flavor create')
    
    Change-Id: I544cede6ec60c8cde2438d1b378191271cec1aec

commit 255a27333092be0523949bd624c94b740515d018
Merge: ea7ced2 3f8df66
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 5 22:36:14 2012 +0000

    Merge "Fix qpid cast_to_server regression."

commit 7cf016a21558803039cfadd2b98cc5cab528972f
Author: Michael Basnight <mbasnight@gmail.com>
Date:   Wed Dec 5 16:00:11 2012 -0600

    Fixing the trim for ListOp when reading from config file
    
    Fixes Bug 1087018
    
    Change-Id: I1c2d34166ae85add86daab6a7483b63297d00f66

commit ea7ced276d2f080718cd89f3a77378cdf24fabf5
Merge: 2f7a7ed c67f288
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 5 21:16:32 2012 +0000

    Merge "Fix broken --version command"

commit 3f8df660030a078db2c295e7ae74a32c88c7af02
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Dec 5 10:35:25 2012 -0500

    Fix qpid cast_to_server regression.
    
    This patches addresses a regression in the qpid driver for the
    cast_to_server and fanout_cast_to_server methods.  The regression was
    introduced in 86952852c1dadd54f1294ae0adba01cfe827b8ce.
    
    There are test cases that cover this code, but unfortunately they are
    not being run by jenkins because python-qpid is not available in pypi.
    
    Fix bug 1086848.
    
    Change-Id: I89d4f81149f9a05c578b5ec544c5e34311484c6c

commit 670dc3f8844e6fd3bcf9df1195891162a13719fe
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Dec 5 13:48:18 2012 +0000

    Allow remote stdlib exceptions to be deserialized
    
    Fixes bug #1086798
    
    Add 'exceptions' to allowed_rpc_exception_modules so that stdlib
    exceptions (like NotImplementedError) can be deserialized from a
    RemoteError.
    
    Change-Id: I57f40fed2a86cc08fb64b81d648c71cd7db8027c

commit c67f2881a4bbe5958048610458180c3f9d914964
Author: Davanum Srinivas <davanum@gmail.com>
Date:   Mon Dec 3 23:51:18 2012 -0500

    Fix broken --version command
    
    The code for lazy loading of version string was broken. The way it
    breaks in glance and oslo is different. This patch is just for oslo.
    Here we end up overriding more methods in our lazy string class to make
    argparse happy and added test cases to make sure we don't break again.
    we also sure we cache the result of the lookup so we return the same
    version everytime and for performance. Added a few test cases as well.
    
    Fixes LP #1085984
    
    Change-Id: I0635899c37fa8e5a7edf282907d2a5e04aa064cb

commit 2f7a7edc41d0e7b663877592aeda14e766a64241
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Tue Dec 4 14:38:26 2012 +0200

    Fix import order in openstack/common/lockutils.py
    
    Change-Id: Ia1dfa85a81bae6620c2c24c0c28a589d46ed3b04

commit 45e6afcbf51f07a381b17fbe30a87776ee84ad59
Merge: e2fdbd3 1e47532
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Dec 4 09:44:31 2012 +0000

    Merge "Add a CLI argument validation utility"

commit e2fdbd38da576edfd40aeac3956eb48ae1d0e08a
Merge: ba30488 3a0bb9f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 3 20:01:43 2012 +0000

    Merge "Fixing modulename so eventlet will log properly."

commit 3a0bb9fe3f986d755ef428d3bc437b198c768684
Author: Michael Basnight <mbasnight@gmail.com>
Date:   Mon Dec 3 11:49:03 2012 -0600

    Fixing modulename so eventlet will log properly.
    
    Fixes bug 1086063
    
    Change-Id: I1ebc3243b6db242279b05424c99013dbcf703703

commit ba304889081ebdbd504ca1a2d212d893de12fd4a
Merge: 6a52dc7 2b9ad7b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 3 17:44:10 2012 +0000

    Merge "Fix set_default() with boolean CLI options"

commit 6a52dc7527172c38b689eae0e238e3b250a530fa
Merge: df24a6a d194fd9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 3 17:44:08 2012 +0000

    Merge "Improve cfg's argparse sub-parsers support"

commit df24a6affa59c1b26853bffcca2003290c7a4020
Merge: 9ad422b 7cf239c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 3 17:43:03 2012 +0000

    Merge "Rename utils.py to strutils.py"

commit 9ad422b825180a05df9af50d3a1dabea005b4861
Merge: 585d482 b86aa97
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 3 17:42:49 2012 +0000

    Merge "Fixes update.py issue with EOL style on Windows"

commit 585d4820ee8ac07ab46db9cd80e45e50ed115606
Merge: 202f568 ee0e72d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 3 17:42:46 2012 +0000

    Merge "Fixes import nit in test_zmq"

commit 2b9ad7bdb94d54a46068bd8864fb8bb96161bcf5
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 26 06:47:52 2012 +0000

    Fix set_default() with boolean CLI options
    
    Porting to argparse broke set_default() with boolean CLI options. The
    new test case shows this borkage.
    
    The issue is that, by default, argparse differs subtly from optparse in
    its handling of defaults for boolean options. Compare:
    
      >>> p = optparse.OptionParser()
      >>> p.add_option('--foo', action='store_true')
      >>> p.add_option('--bar', action='store_true', default=False)
      >>> p.parse_args([])
      (<Values at 0x7f28aba066c8: {'foo': None, 'bar': False}>, [])
    
    to:
    
      >>> p = argparse.ArgumentParser()
      >>> p.add_argument('--foo', action='store_true')
      >>> p.add_argument('--bar', action='store_true', default=False)
      >>> p.add_argument('--blaa', action='store_true', default=None)
      >>> p.parse_args([])
      Namespace(bar=False, blaa=None, foo=False)
    
    i.e. unless you specify a default for a boolean option, optparse
    defaults to None whereas argparse defaults to False. To get the
    same optparse behaviour with argparse, you need default=None.
    
    Change-Id: Ifc92a834c4ba59e939d80ac5de24d7051232f5b5

commit b86aa97c3ec1432fc21002e263eb7dd63dec2233
Author: Alessandro Pilotti <ap@pilotti.it>
Date:   Sat Dec 1 22:22:36 2012 +0200

    Fixes update.py issue with EOL style on Windows
    
    Fixes Bug #1075230
    
    Files are saved with the OS EOL conversion unless "b" is specified
    in open(...). In this case we want to preserve the original EOL
    convention.
    
    Change-Id: Id756174d03c3e95db055d512ec4aa5a0eeb768b8

commit 202f56882928531ccfb10cff1426cb3a35e512a3
Author: Russell Bryant <rbryant@redhat.com>
Date:   Sat Dec 1 09:51:17 2012 -0500

    Use json instead of jsonutils in rpc.impl_fake.
    
    The fake rpc backend uses json just to make sure the data that was
    passed in can be serialized.  Our jsonutils module makes this check a
    no-op, because it will automatically convert the data we pass in as
    primitive types if needed.  Change this module back to using the json
    module directly and add a comment about why we don't use jsonutils here.
    
    Also add a test that ensures that non-primitive types raise an exception
    in the fake rpc driver.
    
    Change-Id: I61f46242cb98c875a94d86283e30efb24cc580ad

commit 7cf239c4fbc0f3bd9d8881f5922451989a89b223
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Wed Nov 28 14:04:11 2012 +0800

    Rename utils.py to strutils.py
    
    Fixes bug #1083956
    
    Change-Id: I681227e9428778adb7824a1930a33cfa5ffa13a1

commit ee0e72d44d81562aaa49ec337a0ceba0cac29708
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Fri Nov 30 09:25:43 2012 +0800

    Fixes import nit in test_zmq
    
    Fixes bug #1084821
    
    Change-Id: I1199d264b911036d142c6d1b58a41d740d795dd5

commit 1fd7694e96da4c7e461d3c966fab1e81ee57c315
Merge: cd176d1 6d102bc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 23:06:13 2012 +0000

    Merge "Provide i18n to those messages without _()"

commit 1e4753263fd8fad9db57558f6db7d6206da33439
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Nov 28 11:47:03 2012 +0000

    Add a CLI argument validation utility
    
    blueprint oslo-cliutils
    
    In nova-manage and cinder-manage, we allow command arguments to be
    passed as optional or positional arguments.
    
    e.g.
    
      $> nova-manage floating create 10.0.0.1/28
      $> nova-manage floating create --ip_range 10.0.0.1/28
    
    are equivalent.
    
    Once nova-manage has collected those arguments, it calls the
    appropriate command function with them as positional and keyword
    arguments. If the user forgets to supply a required argument, they
    merely get a TypeError with little useful information.
    
    Improve the usability of these commands using a new utility function
    to check that the required arguments have been supplied and raise a
    useful exception if not.
    
    Change-Id: If6e4a9f222a30472bbfbcd06859865bd4e37e139

commit d194fd9edc2f94ffb3a922a853a7c4421fe44109
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Nov 23 15:50:04 2012 +0000

    Improve cfg's argparse sub-parsers support
    
    In order for sub-parsers to be useful, you need some way of knowing
    which sub-parser was chosen during argument parsing. It's pretty obvious
    from the current sub-parsers test case that we don't have a convenient
    interface for this.
    
    One way of doing it is to use the 'dest' argument when adding
    sub-parsers:
    
      >>> subparsers = parser.add_subparsers(dest='cmd')
      >>> subparsers.add_parser('a')
      >>> subparsers.add_parser('b')
      >>> parser.parse_args(['a'])
      Namespace(cmd='a')
    
    The most sensible way to map this into cfg concepts is to register
    sub-parsers as an Opt. This way, we can make name and argument values
    of the sub-parser as an attribute on the ConfigOpts object:
    
      >>> def add_parsers(subparsers):
      ...     a = subparsers.add_parser('a')
      ...     a.add_argument('id')
      ...     b = subparsers.add_parser('b')
      ...
      >>> CONF.register_cli_opt(SubCommandOpt('cmd', handler=add_parsers))
      True
      >>> CONF(['a', '10'])
      >>> CONF.cmd.name, CONF.cmd.id
      ('a', '10')
    
    The handler method is a bit awkward, but each time cfg is to parse
    command line args it takes all the registered opts and creates a new
    argparse parser. So we need to be able to re-add the sub-parsers each
    time.
    
    Change-Id: I01bfd01bf8853cf57a9248b1663eb3da142366a4

commit cd176d1147b19547fe4deb3299216aeaa1ca535b
Merge: 57fd94b 8318605
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 17:01:46 2012 +0000

    Merge "Use Service thread group for WSGI request handling"

commit 57fd94b00727d38afbc55ebac568238803d4a693
Merge: 9317352 8695285
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 16:50:20 2012 +0000

    Merge "Qpid H/A cluster support"

commit 93173520d0e7eb8cfba56108e9db35a93cc37ae8
Merge: d8d9136 5e9503b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 16:49:34 2012 +0000

    Merge "Hide the GroupAttr conf and group attributes"

commit d8d9136f8e04d36545051b97c613ac57f6657555
Merge: 582cb96 21e1cd3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 16:36:04 2012 +0000

    Merge "Fix regression with cfg CLI arguments"

commit 83186053c16d7536f90b4e6b3f95bd16d26bfb8c
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Tue Nov 27 22:11:40 2012 -0500

    Use Service thread group for WSGI request handling
    
    - Reuse the pool from thread group in service.Service
      instead of creating a new green pool
    - Add ability to control the size of the pool in service.Service
    - Add a couple of tests for wsgi.Service() to test the size
      of pool a start/stop as well
    - Get rid of the wait method by using tg.add_thread
    - Get rid of pool in wsgi.Service
    - Added explicit property for host and port
    
    Fixes LP #1050379
    
    Change-Id: I40507dc7887fb036ec594bb167cdaa42c278607e

commit 582cb960066a02ae247097c8a96484655429fbe1
Merge: f888f83 faeafe1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 14:52:09 2012 +0000

    Merge "Fixes import order"

commit f888f83116ac7cfcf26aa4ed2243c15fbec882c6
Merge: 2c70510 4b636dc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 14:49:43 2012 +0000

    Merge "Add another duplicate opt test case"

commit 2c705107f69fa9e3e845ab9f9910a78c8bb77821
Merge: cf705c5 ceb4aa7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 29 14:48:55 2012 +0000

    Merge "Fix broken --help with CommonConfigOpts"

commit 86952852c1dadd54f1294ae0adba01cfe827b8ce
Author: Eugene Kirpichov <ekirpichov@gmail.com>
Date:   Mon Nov 26 11:51:49 2012 +0000

    Qpid H/A cluster support
    
    Implements blueprint qpid-roundrobin-reconnect
    
    Change-Id: I01b65e6c33a238663667e9b6023b90172f1b77dd

commit 6d102bcf0cbacb1d37eec20c4d318e14724a056d
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Wed Nov 28 23:33:01 2012 -0500

    Provide i18n to those messages without _()
    
    bug 1081498
    
    There are a few log messages without _(), but a lot messages with _().
    Wrap these log messages with _() in order to make the code consistent.
    
    fix missing imports for _
    
    Pass the log message and interpolation argument(s) to the logger separately
    
    remove extra parens
    
    rework the patch against latest trunk
    
    Change-Id: Ib0a7b0f9c57aadfbc2cfc477c6123b885c9c6060

commit cf705c59615fb68cdbfe664e7827e4a275a4a282
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Nov 21 10:53:18 2012 -0800

    Make project pyflakes clean.
    
    Added both a tox test-env for pyflakes and fixed the current pyflakes errors.
    This did actually fix a couple of bugs.
    
    The CI team has started using pyflakes on its projects and also has started
    using oslo for things, so ignoring pyflakes warnings on the oslo code was
    starting to get old. However, additionally, pyflakes is pretty solid, so we
    should maybe consider gating on it across the board. (% locals() is the
    biggest thing that we do that it doesn't like)
    
    Change-Id: Iac1ca62db301892b7863711162fcbc74807eb24f

commit f10b956dd5b88b048c582cadc3c22ec5360521c9
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Nov 22 22:57:24 2012 -0800

    Replace try: import with extras.try_import
    
    The block form:
    
    try:
        import foo
    except:
        foo = None
    
    is confusing to code analysis tools looking for redefinition. It's also a
    common enough pattern that someone else has encoded it into a library. Let's
    use that instead.
    
    Change-Id: I35a5c7a7e3595a51ba1ef1886c3965f463dba04a

commit faeafe169a260d10b3a8d91cd7a60b5669b9a8f1
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Wed Nov 28 12:01:13 2012 +0800

    Fixes import order
    
    Rearranged import order of openstack.common.rpc.matchmaker
    
    Change-Id: I034a96e459763910adf51dc8f6642d6485208732

commit 0ac56f54542ac2068d7881c1befbea4b86075f86
Merge: 05f8ec7 e990b98
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Nov 27 23:40:11 2012 +0000

    Merge "Fixup update.py after argparse breakage"

commit 21e1cd3c01675c2df38f2833ca1ca8edb6d399d1
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Nov 23 08:09:12 2012 +0000

    Fix regression with cfg CLI arguments
    
    Fixes bug #1082279
    
    Only options registered using register_cli_opt() should be available via
    the CLI, but since e42276a all options are added to the CLI.
    
    Also modify one of the existing unit tests to catch this problem.
    
    Change-Id: I742a4ae4e0fc17cd9ae5e4424c2edd38e2bc50a2

commit 05f8ec71c02e563223be8a065adc4688a2246eb0
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Sat Nov 24 11:13:37 2012 -0500

    Fix common rpc to use common logging instead of python logging
    
    Looks like we just need to fix imports
    
    Fixes Bug #1072633
    
    Change-Id: Iac84ae3aadbe440f9b19e184f080320e4c6cca5f

commit f30587718a79755c3b59d9a0b680dd7f971cfdcd
Author: Davanum Srinivas <dims@linux.vnet.ibm.com>
Date:   Sat Nov 24 08:54:20 2012 -0500

    Fix ListOpt to trim whitespace
    
    - throw in an extra strip() in the list parsing code
    - add a test case to verify that it works!
    
    Fixes LP #1079299
    
    Change-Id: I4f0864c72ecd2569d0461c301acda395c87a93e0

commit 60ae013f43624e8ad1c19413a3744bdb91178224
Merge: 62c832b f1c9c4c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Nov 24 02:50:19 2012 +0000

    Merge "Remove sitepackages=True from tox.ini"

commit 62c832b9b363096f93f4512a7aed35668c4d6a87
Merge: b4c0767 68fe325
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Nov 24 02:44:33 2012 +0000

    Merge "raise_on_error parameter shouldn't be passed to task function"

commit 4b636dc65adce613f394c4ba5c0724c2f9fedc9f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Nov 23 20:25:12 2012 +0000

    Add another duplicate opt test case
    
    This gets the code coverage of the tests back up to 100%.
    
    Change-Id: I737c1cfa52d10b3813237a9cb88b15211e0872c1

commit 5e9503bf9934f1ccc15985ee29eb76dc04ebad6a
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Nov 23 15:12:12 2012 +0000

    Hide the GroupAttr conf and group attributes
    
    There's no reason why an option group shouldn't have options called
    'group' or 'conf'.
    
    Add a test case which would have failed because the 'conf' attribute
    would have been a ConfigOpts instance and fix it by making those
    attributes private.
    
    Change-Id: Ic3e41a546c0d1b7b6aae04e1dbac2933ac661f57

commit ceb4aa7fe9e05b762f451045c1b92a3d7b696eac
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Nov 23 11:45:04 2012 +0000

    Fix broken --help with CommonConfigOpts
    
    Since we switched to argparse, the way help strings are interpolated
    have changed and broken --help with the options registered by
    CommonConfigOpts.
    
    Fix and add a new test case which would catch the issue.
    
    Change-Id: I10e42efe4721e22ff41d0efbf390c805ccb9a6a0

commit e990b9853187b44535f66fd9d48cb67971f19051
Author: Kiall Mac Innes <kiall@managedit.ie>
Date:   Sun Nov 18 11:16:05 2012 +0000

    Fixup update.py after argparse breakage
    
    Commit 5b9cb4148 changed the way cfg support's positional arguments and
    broke update.py. Use the new positional argument infrastructure.
    
    Change-Id: I0dc8b5ec445daaf3b437eb524c6eb4b684e5a695

commit b4c0767e5529eb5d58aed90643354dbee83efefe
Merge: 0781c7b 615d769
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 23 04:25:41 2012 +0000

    Merge "Account for tasks duration in LoopingCall delay"

commit 0781c7bc3632950c1336ecfb47707f48a6ab3734
Merge: b8cc160 ce80aac
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 23 04:25:20 2012 +0000

    Merge "Convenience wrapper for datetime.timedelta.total_seconds()"

commit 68fe32580ea4f7058bb15821566fa8ff10876ec5
Author: gongysh <gongysh@cn.ibm.com>
Date:   Wed Nov 21 12:11:11 2012 +0800

    raise_on_error parameter shouldn't be passed to task function
    
    Modify the run_periodic_tasks() so that It has known parameters.
    Task function has the only parameter 'context'
    
    Bug #1081428
    
    Change-Id: Ibc3da521df3dc47f8c136ade1070112fd5ea1039

commit b8cc160fb76c72b922a4394de8c5e70f5e8ea7b4
Merge: 5232a6b 90ada0e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 22 13:56:11 2012 +0000

    Merge "update deprecated stanza"

commit f1c9c4c05bdcbfc0ab2ae09d38d668022ffe1914
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Nov 22 12:38:09 2012 +0000

    Remove sitepackages=True from tox.ini
    
    Fixes bug #1082002
    
    With sitepackages=True, I'm seeing the tests fail on my machine because
    the older system version of nose gets used.
    
    Looking at other projects, this is only set in the tox:jenkins section
    where one exists.
    
    Change-Id: I1ab5f337adf8fc668608146ccb2ab3f2590204be

commit 5232a6bdc89241ccfb9e7b7782372911c3e86442
Merge: 5ec8cfd b6d24bb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Nov 20 23:05:28 2012 +0000

    Merge "updating sphinx documentation"

commit 615d76910388d3590ad77e9cfce7ded421b060c0
Author: Eoghan Glynn <eglynn@redhat.com>
Date:   Fri Nov 16 15:17:52 2012 +0000

    Account for tasks duration in LoopingCall delay
    
    Fixes bug 1079725
    
    Previously the time spent executing tasks was not accounted for
    when determining how much time to sleep between task runs.
    
    Now we subtract the duration of the last tasks run from the next
    sleep interval.
    
    Change-Id: I4b3e27d4aaa21d020159d46eea40bdd80361cea7

commit ce80aac98a905a07ea7ec093f37243a4c3bbb6e0
Author: Eoghan Glynn <eglynn@redhat.com>
Date:   Mon Nov 19 16:25:32 2012 +0000

    Convenience wrapper for datetime.timedelta.total_seconds()
    
    Allows time deltas in seconds to be concisely calculated
    for py26 and py27.
    
    Change-Id: I8987af1f892fda0a72f5eb0d45f94c595792dc78

commit 5ec8cfde3b41b4e4df2e5a1ecad46521c1cde94a
Merge: ff4c17c 2ba50ab
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 19 06:38:52 2012 +0000

    Merge "Fix update.py string interpolation"

commit ff4c17c40b6ed555c8dba771de590d6cceb51268
Merge: 8aca5eb 27f4d87
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 19 04:41:21 2012 +0000

    Merge "Use the ThreadGroup for the Launcher"

commit b6d24bbad9493b4318367c23cbab8c4f688a924a
Author: Joe Heck <heckj@mac.com>
Date:   Sun Nov 11 21:00:42 2012 +0000

    updating sphinx documentation
    
    * adding openstack theming (copied from keystone project theme)
    * updating .gitignore to ignore generated API docs
    * updated formatting in index.rst page
    * updaed openstack/common/processutils.py to match hacking docstring
    * updated docstrings to resolve sphinx warnings
    
    Change-Id: Ie89afe20eeab1efd2daf440fc65ccdf90f723c51

commit 2ba50ab97d4b3c6afee599b2cd58db4ae7e7ea36
Author: Kiall Mac Innes <kiall@managedit.ie>
Date:   Sun Nov 18 10:19:57 2012 +0000

    Fix update.py string interpolation
    
    Change-Id: I4b0d31089cbc329ae4bc4af94edd6ac647f49fa1

commit 8aca5eb5868b5ead362777abb093f11c6d8b1817
Merge: 403509e 520ea0f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 18:14:50 2012 +0000

    Merge "Change RPC cleanup ordering"

commit 403509e0c4bebbcb7e383291695a24069c725fde
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:26:08 2012 -0500

    Don't reference argparse._StoreAction
    
    This is a private implementation detail of argparse, so we don't want
    to rely on it. Just sub-class Action instead.
    
    Change-Id: Icfcc782cc334d1bc1d4940bec23af48ead692a9d

commit e17deb8914696afb34b523373e0324a0981dd0ee
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:26:02 2012 -0500

    Fix minor coding style issue
    
    Use the same style of exception handling used everywhere else.
    
    Change-Id: I5436de1996f69ea6210f48c11ef231eb950ad21d

commit e86348ccb2eb928d8230ce097811158bda278013
Merge: 22d33eb 0c29e1d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 04:36:06 2012 +0000

    Merge "Remove ConfigCliParser class"

commit 22d33ebd7b3e21cfeaec3b0c306023aac43c5763
Merge: 5f81c31 5b9cb41
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 04:35:32 2012 +0000

    Merge "Add support for positional arguments"

commit 5f81c31bab4ac19c7a1ac9cd7ba60c95bbad2276
Merge: ea02525 dbc72a6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 04:35:19 2012 +0000

    Merge "Use stock argparse behaviour for optional args"

commit ea0252529dc37de115cea2e2f9e0aaac3f148efe
Merge: 0858251 768a147
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 03:50:26 2012 +0000

    Merge "Use stock argparse --usage behaviour"

commit 08582516b3eec3327d2f12def4b35edf6a3c0b26
Merge: e174e00 ac180b9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 03:49:31 2012 +0000

    Merge "Use stock argparse --version behaviour"

commit e174e00158064601f5a55e78e31c8de806a35066
Merge: 06332b3 0787e38
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 16 03:49:26 2012 +0000

    Merge "Remove add_option() method"

commit 90ada0eb5486878b5f12346d92872537de53109a
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Thu Nov 15 18:38:36 2012 -0500

    update deprecated stanza
    
    the deprecated stanza from nova had hard coded
    "Deprecated Config", but is now be used in not config
    scenarios. Update it to just "Deprecated".
    
    Change-Id: Icf86447aea6cd509e4e67fe0be7e9157006410a4

commit 06332b37cf9c83a31819252fc35eb4ae9b354bb4
Merge: cdf57f3 ed9af33
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 15 21:57:35 2012 +0000

    Merge "Fix the log test so it uses the available context fields."

commit 0c29e1d72f96e96c4aeaeed61a7b530b60d58359
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:26:00 2012 -0500

    Remove ConfigCliParser class
    
    This sub-class of ArgumentParser isn't really justified anymore.
    
    Change-Id: I705224b6e18e4609a8e2deba283767233b0bd578

commit 5b9cb4148c2c16c910cb7eae9e7875a9fc06d3da
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:25:59 2012 -0500

    Add support for positional arguments
    
    argparse makes it awkward to implement the current cfg API where we
    simply return the leftover arguments to the caller.
    
    Very few cfg users actually rely on this functionality and for those
    cases it probably makes more sense for them to explicitly register
    positional arguments or sub-parsers.
    
    Add support for positional arguments via a 'required' Opt attribute:
    
      opt = StrOpt('foo', positional=True)
      conf.register_cli_opt(opt)
      conf(['bar'])
      conf.foo == 'bar'
    
    Change-Id: Iea746d710237e1ea26c1ef4871643941d1df09bd

commit dbc72a6ef9a784c1bf5820a9750061d76529d571
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:25:58 2012 -0500

    Use stock argparse behaviour for optional args
    
    optparse would print "Options" but argparse prints "optional arguments".
    
    The default argparse behaviour is fine, let's stick with that.
    
    Change-Id: Ib53a2581af9d776e9a7c1cd90eebe89b70034e57

commit 768a147ac5e993df3eda3558542a3fe81b8a3d11
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:25:57 2012 -0500

    Use stock argparse --usage behaviour
    
    optparse would substitute the program name for %prog, but argparse
    requires %(prog)s. Also, optparse would print 'Usage:' whereas
    argparse prints 'usage:'.
    
    Neither optparse behaviour that's worth retaining, let's just use
    the default argparse behaviour.
    
    Change-Id: Ied2acb37c366f1a45aed72b6b76f11e2de23828e

commit ac180b95d1867c4b4daf9729e97ce93f3201d178
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:25:55 2012 -0500

    Use stock argparse --version behaviour
    
    optparse prints the version to stdout, argparse prints the version to
    stderr.
    
    There's no need to preserve the old optparse behaviour, let's just stick
    with argparse behaviour.
    
    Change-Id: Ie141c72112a63149d098afa9db55a95a309e79d7

commit 0787e38090d309c2c1272886c6ea029a9f8e4924
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:25:54 2012 -0500

    Remove add_option() method
    
    argparse just has an add_argument() method, so there's no reason for us
    to keep add_option() around.
    
    Change-Id: I6f4be089ceaf0fd8c4c99565af392b445916172e

commit cdf57f3589d147022724f50d34991f570e401144
Merge: 11101e6 5afead0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 15 19:12:02 2012 +0000

    Merge "Completely remove cfg's disable_interspersed_args()"

commit 11101e6212241a3b706904edd70d257899ce2f86
Merge: 2312279 5f564b2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 15 11:50:59 2012 +0000

    Merge "argparse support for cfg"

commit 5afead09dd98b41cdf3dbe62e1ccfd95a54f7c00
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Nov 12 16:25:52 2012 -0500

    Completely remove cfg's disable_interspersed_args()
    
    The use case for disable_interspersed_args() is that nova-manage
    needs to be able to parse sub-commands. We now have a
    add_cli_subparsers() method which better supports this use case.
    
    Change-Id: I1fcd15889745fe4ddff0ac4bacf385004f9b61af

commit 2312279a1ead4ba49f201905d5880ebb0eece647
Merge: d16c1e9 efba202
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 15 09:45:59 2012 +0000

    Merge "Adjust the logging_context_format_string."

commit 5f564b24be4592c5212c492e6d67d9f4616229d2
Author: Laurence Miao <laurence.miao@gmail.com>
Date:   Sat Oct 6 21:08:14 2012 +0800

    argparse support for cfg
    
    * openstack/common/cfg.py
      Optparse is fading out since python 2.7, this
      patch will help openstack/common work on more
      advanded version of python(argparse).
      Now, disable_interspersed_args() has no effect.
      Added new method add_cli_subparsers, return
      argparse  subparser, for  usages  such  as
      subcommand.
    
    * tests/unit/test_cfg.py
      SubcommandTestCase added.
      Disabled test_disable_interspersed_args test entry
      for happiness of tox, temporarily.
      Modified test_help for port of argparse.
    
    * tools/pip-requires
      include argparse module for python 2.6
    
    Change-Id: Ie5cbde1a92a92786d64dea0ddfcfbf288c29f960

commit d16c1e9a35aa84892bcecd91893f4d4912bf0b0a
Author: Matthew Treinish <treinish@linux.vnet.ibm.com>
Date:   Wed Nov 14 10:21:18 2012 -0500

    Enable eventlet_backdoor to return port.
    
    Instead of having no return initialize_if_enabled() will now
    return the port being used for the backdoor. This will allow
    the use of random ports (which is set with a backdoor_port
    configuration option set to 0)
    
    This will also enable nova to be able to switch to using the
    version of eventlet_backdoor here instead of the copy in
    nova.common which will require this change in nova.
    
    Change-Id: I01b6966daba410d82281ba86b5d295313ec36c68

commit efba20239c1253c3e6ce4a68eed97585a74b8a46
Author: Lianhao Lu <lianhao.lu@intel.com>
Date:   Tue Nov 13 16:11:42 2012 +0800

    Adjust the logging_context_format_string.
    
    This patch fixed the bug 1078190.
    
    The 'logging_context_format_string' option uses some undefined fields
    in log.ContextAdapter() and context.RequestContext(), which would
    result a 'KeyError' exception when calling logging functions.
    
    Change-Id: I41ee8a9ac89079c30e970477730c8615fb4636b7

commit 33fbd87975aec414cfe5c9eaa8435ddae076f91f
Author: Lianhao Lu <lianhao.lu@intel.com>
Date:   Thu Nov 8 18:47:37 2012 +0800

    Added initialize_service_hook for rpc.Service.
    
    This fixes the collector part of the bug 1075463.
    
    Declaring a consumer topic on the same rpc connection after the consume
    thread has started would result the eventlet raise RuntimeError
    exception. So all the declaring work should be done before calling
    rpc.conn.consume_in_thread().
    
    If the manager of a rpc.Service wants to declare topic consumers other
    than the default ones created by rpc.Service.start(), it could define
    the following hook in the manager class:
    
      def initialize_service_hook(self, service):
        #
        # Do initialization work after rpc connection is created and before
        # starting consuming thread.
        # Params:
        #   service: handle to the rpc.Service instance.
    
    Change-Id: I80001c32ee4e51e394fed827c91ad5e1eb0f94dc

commit d6fa3847cc64f6815641cdb549dd100e1aab6043
Merge: ff8f185 763802c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Nov 13 06:57:19 2012 +0000

    Merge "threadgroup : greethread.cancel() should be kill()"

commit ff8f185ff27c45b3463357ef7c2773bd547f1323
Merge: 5e3c7b5 d93b422
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Nov 13 06:49:41 2012 +0000

    Merge "Fix QPID reconnect issues"

commit ed9af33c037f05af61b3581a9b3999dd7e5ecfcb
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Nov 13 11:38:17 2012 +1100

    Fix the log test so it uses the available context fields.
    
    logging_context_format_string in log.py references fields
    that don't exist in the common/context.py so we get errors
    like:
    
    ---
    File "/usr/lib64/python2.7/logging/__init__.py", line 467, in format
        s = self._fmt % record.__dict__
    KeyError: 'project_id'
    Logged from file test_log.py, line 42
    ---
    
    We could change the defaults in log.py but that might cause
    too much disruption to other projects.
    
    Change-Id: Ic3f6039baccb522b5eb2462a87b792c226ca13ef

commit 27f4d87e9ca31e0b38d3a38a03c63db685af5085
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Nov 13 10:59:27 2012 +1100

    Use the ThreadGroup for the Launcher
    
    Avoid duplicate code.
    
    Change-Id: I06523f846e851b2e5766a7a9b078f728c0755c5f

commit 520ea0f32f759314aa7f7acbbb3adf2bcdbd01a7
Author: Jeff Peeler <jpeeler@redhat.com>
Date:   Mon Nov 12 14:58:28 2012 -0500

    Change RPC cleanup ordering
    
    RPC cleanup should occur before killing service threadgroup.
    Otherwise, the connection pool is going to be (attempted) emptied
    after the thread has been killed.
    
    Change-Id: Ie2b2aca495928b7ba39b2175202a072b3592ad72
    Signed-off-by: Jeff Peeler <jpeeler@redhat.com>

commit 763802c08365fc3c4c69a8a670a0c39e63eb82ec
Author: Steven Hardy <shardy@redhat.com>
Date:   Mon Nov 12 19:43:40 2012 +0000

    threadgroup : greethread.cancel() should be kill()
    
    According to the eventlet documentation, cancel() will only stop a thread if
    called before the thread starts running, which is not what we want in this
    context - calling kill() here ensures that a currently running thread is
    actually stopped, which does not happen with the current cancel() call
    See : http://eventlet.net/doc/modules/greenthread.html
    
    Change-Id: I89c5bb3eb21e656bd865d5082779cf9ab83ad326
    Signed-off-by: Steven Hardy <shardy@redhat.com>

commit 5e3c7b50398bd79cf4103f062584c12efc685451
Merge: 5a6d1b7 251c4f5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 12 00:39:37 2012 +0000

    Merge "Add generate_uuid to uuidutils."

commit 5a6d1b76fddd749f90f00b6bde83d25d27cd1121
Merge: 87d5860 cf849e0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 12 00:23:33 2012 +0000

    Merge "Clean up dictionary use in RPC drivers"

commit 87d5860a9d30924e3887f008a94a229ef4ff9485
Author: Jeremy Stanley <fungi@yuggoth.org>
Date:   Sun Nov 11 23:44:12 2012 +0000

    Correcting openstack-common mv to oslo-incubator.
    
    The earlier rename of openstack-common to oslo was incorrect; it should
    have been oslo-incubator instead per the 2102-11-06 Project meeting log.
    This change corrects its .gitreview file to match CI changes already
    merged.
    
    Change-Id: I9720387576a52654383bfc14f557ed1e06cc0a91

commit c9c1a751b35d4d91d00bdb1d9e65e4c8364765b1
Author: Jeremy Stanley <fungi@yuggoth.org>
Date:   Sun Nov 11 19:07:38 2012 +0000

    Update .gitreview for oslo.
    
    At the Design Summit it was decided that the OpenStack common modules
    would be named Oslo as part of an effort to convert them into a core
    project housing a collection of library dependencies. This handles the
    necessary update to .gitreview reflecting the new remote name.
    
    Change-Id: I350ff95213efe85579bc6fdce125237cb1f7f614

commit 251c4f54dc608d217573e3e776bb985a14684603
Author: Alex Meade <alex.meade@rackspace.com>
Date:   Fri Nov 9 10:53:02 2012 -0500

    Add generate_uuid to uuidutils.
    
    Currently many projects have their own nearly identical methods for generating
    uuids. This patch will change that.
    
    Change-Id: I0af348ddbdea658331e8e701dcf1f8a12d968479

commit cf849e0b41e363f7efe18deaf4880f1e8c6235cd
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Wed Nov 7 14:33:24 2012 -0500

    Clean up dictionary use in RPC drivers
    
    Initialize the base dictionary before setting overrides.
    Do not modify the argument passed to Connection.__init__.
    
    Change-Id: I5479483509efe6966094b50af2703e566a99dace
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit d93b4223657e7ce3b9b5ec3d1190f3e90e21e9ed
Author: Gary Kotton <gkotton@redhat.com>
Date:   Sat Nov 3 03:29:46 2012 +0000

    Fix QPID reconnect issues
    
    The problem results from the eventlet monkey patching and the way in
    which qpid performs the session reconnection. The solution is to have
    the qpid reconnection disbaled and the common rpc code performing the
    reconnection.
    
    The time waiting between reconnections will be a multiple
    of 2 starting at 1 and a maximum of 60 seconds.
    
    This works around bug 1073999.
    
    Change-Id: I3c53211d23e4e68ed73046cb3c637662ab73b339

commit ac4515559fb7bd1a480f7260b7143ebf84e2202a
Merge: bbb9f9a aa2e213
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 21:29:16 2012 +0000

    Merge "Use spawn_n when not capturing return value"

commit bbb9f9a805317d5e05df6075d818c073ab3a5a33
Merge: 4ba119c 572728e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 21:24:07 2012 +0000

    Merge "Remove unused imports from rpc test_common."

commit 4ba119c8f108b3e26e29a577b0d0085e47488a70
Merge: 37ada8b 2f75033
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 21:24:05 2012 +0000

    Merge "Tweak rpc.queue_get_for to deal with host=None."

commit 37ada8bdb190f8e043003a41f67fff706cde332b
Merge: 1691244 5b86a00
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 21:06:05 2012 +0000

    Merge "Rename rabbit_notifier to rpc_notifier."

commit 1691244b8e5b67e41799dec300f6e786cc4f16fa
Merge: d41e45b 4d1d9cb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 20:44:03 2012 +0000

    Merge "Restore proper LoggerTestCase"

commit 5b86a006d823953daec121a3b6b4897d803e7e01
Author: Dan Prince <dprince@redhat.com>
Date:   Mon Nov 5 14:12:45 2012 -0500

    Rename rabbit_notifier to rpc_notifier.
    
    The previous rabbit_notifier module is generic and can be used
    for all RPC notifications.
    
    This commit moves the rabbit_notifier module to rpc_notifier and
    adds a new deprecated rabbit_notifier module which can be used for Grizzly
    so that users can have a chance to easily upgrade this config setting.
    
    Once this lands here I'd like to do the same in Quantum.
    
    Change-Id: I95073b1a8e06673d8e7363a4b37c050adbad97c5

commit 572728e8843928f79e45e93b21110bc67ca526e3
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Nov 5 13:00:30 2012 -0500

    Remove unused imports from rpc test_common.
    
    Change-Id: Ib7eed482bf452bf171462f9200fde9a83abf4606

commit 2f7503372467d9998b67e2c58ffaf51733329944
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Nov 5 12:58:25 2012 -0500

    Tweak rpc.queue_get_for to deal with host=None.
    
    Make rpc.queue_get_for() just a tad more convenient by dealing with the
    case of host=None.  In that case, just return the base topic.
    
    Change-Id: I2f55c2205c219df7481dd6e507caf7182622195b

commit d41e45b9946fc0dd4d1a2c90a848d1f92d58fc11
Merge: e0f57e9 e787a77
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 17:52:09 2012 +0000

    Merge "Remove unused greenthread import in lockutils"

commit 4d1d9cb9cf20bc4081e17d9c7cf9cd10641ff297
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Sun Nov 4 21:19:29 2012 -0500

    Restore proper LoggerTestCase
    
    Addresses bug #1075022
    Addresses bug #1075028
    
    LoggerTestCase was no longer running
    as another test was created with this name
    (presumably due to copy-paste)
    
    The duplicate has been renamed to a
    more appropriate name: LogLevelTestCase.
    
    Because LoggerTestCase was not executing,
    bitrot has occurred. This patch also addresses
    those resultant test failures.
    
    Change-Id: I4f3820ba748d20606bb484d0adbfe678fa1fa38d

commit e0f57e92dfad742abf5aebeedc4f05700d5cd4a5
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue Oct 23 23:33:10 2012 -0400

    Remove openstack.common.config and extensions.
    
    Remove the config module.  All core openstack projects are using the cfg
    module instead so no further development will be done on this module.
    
    Also remove the extensions module.  This code was imported but there has
    been no attempt to get any projects to use it.
    
    Change-Id: I4a974ba1ea25e94fd55cad243cde5f1ef6a17289

commit dfd3ce97cd3e4eb1b5956d091fe6e8b7f49b4d67
Merge: dbfa508 4d58dcc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 06:50:50 2012 +0000

    Merge "Log CONF from ProcessLauncher.wait, like ServiceLauncher"

commit dbfa5083ddf4e2e2c5a2fce25802ae6c333289c9
Merge: b87e78d 6ce7b8c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 06:46:34 2012 +0000

    Merge "Relax the update.py replace regex."

commit b87e78de2073c745f3be623e690756e959850f6d
Merge: 18d138c 2824a9b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Nov 5 06:45:27 2012 +0000

    Merge "Creates uuidutils module"

commit e787a771a36734a77182ac2c355636017c9c9947
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Sun Nov 4 23:13:46 2012 -0500

    Remove unused greenthread import in lockutils
    
    Change-Id: I24bfe5926aa5b8542b0ae1205d82aeb7a1e85b30

commit aa2e2135f7d04d526ef12c885d9b57712cc2b079
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Sun Nov 4 23:01:54 2012 -0500

    Use spawn_n when not capturing return value
    
    If not capturing the return value, spawn_n is more efficient.
    
    Change-Id: Ie6baa934e81e17e2d73f70766628d4bc97b7aa5e

commit 18d138c1ec2d028981a64142d61d212c9fe8da52
Author: Yaguang Tang <heut2008@gmail.com>
Date:   Sat Nov 3 18:15:55 2012 +0800

    Fixes setup compatibility issue on Windows
    
    Fixes Bug #1052161
    
    "python setup.py build" fails on Windows due to a hardcoded shell path:
    /bib/sh.
    
    Change-Id: Iee0a1fcbdabfd469e92fa73002763d419e75ec27

commit 0131c98be790d76770e877ee2c28b887fb05a808
Merge: f43771c 3361b58
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Nov 2 13:28:59 2012 +0000

    Merge "Make ThreadGroup derived from object to make mocking possible"

commit 3361b58de89ab063292a1aa64f27b5bc3b43c12f
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Fri Nov 2 12:54:43 2012 +1100

    Make ThreadGroup derived from object to make mocking possible
    
    Else mox says it is not callable.
    
    Change-Id: I7ec552f2502c3328a1d87932f329d4446a361fca

commit 2824a9bbe493493392adef1e79ee4de6f3a76fe0
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Tue Oct 23 14:35:19 2012 +0800

    Creates uuidutils module
    
    Fixes bug #1070198
    
    Implements UUID processing functions used across projects.
    
    Change-Id: Ife2c972cea727dc7e453008bcd5871607e883d5c

commit f43771cf1f83b0ded2e1ff3ba9a5960cdb7b48dd
Merge: 4c00615 b7e6971
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 1 21:42:25 2012 +0000

    Merge "kombu's fanout_cast_to_server was calling wrong method"

commit b7e697187cbc2cafd2e8dd810ab14746e0108e52
Author: Chris Behrens <cbehrens@codestud.com>
Date:   Thu Nov 1 19:45:07 2012 +0000

    kombu's fanout_cast_to_server was calling wrong method
    
    Make it call the common amqp method fanout_cast_to_server vs
    cast_to_server.
    
    Fixes bug 1074113
    
    Change-Id: If06bde93dab94c6030465a5e7ba329d8936c69e3

commit 4c00615aad0a21d81924586a7265f31a51801b30
Author: Michael Still <mikal@stillhq.com>
Date:   Thu Nov 1 13:41:32 2012 +0100

    Move utils.execute to its own module.
    
    Also move the exceptions raised to being local to the executils
    module.
    
    Change-Id: Ibb2445f92840b9ce4b52373b0b09adb3d6a4a897

commit 3d6c2368a5de16d875341426db8ddc9888213264
Merge: 00030ec 5ea881a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 1 12:07:11 2012 +0000

    Merge "Don't log exceptions for GreenletExit and thread_done"

commit 6ce7b8ce6a56e600069ba8585e38095c41586d5d
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Thu Nov 1 20:15:02 2012 +1100

    Relax the update.py replace regex.
    
    In service.py there is an import like:
    try:
        from openstack.common import rpc
    except:
        rpc = None
    
    and this currently does not get converted.
    The only downside is some doc strings also get
    converted.
    
    Change-Id: If283b50b8e889c0a1878e30cd7ff58494fabe634

commit 5ea881a31173380e10ffdd6b05c02f92d9177f04
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Thu Nov 1 10:29:42 2012 +1100

    Don't log exceptions for GreenletExit and thread_done
    
    1) Greenletexit is normal so don't log it.
    
    2) logging in a linked callback is just asking for problems.
       (we don't want to cause a context switch in this callback).
    
    Change-Id: Ia9bb1cabc65a742fc49beb379548eb680b326e58

commit 00030ec28f496ec0bb23a0ab892cc6d4af9dcdac
Merge: 3e04c41 3e98801
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 1 00:17:02 2012 +0000

    Merge "Removes redundant string cast"

commit 4d58dccfd58a01724a64415ff567abf359b48e1a
Author: David Ripton <dripton@redhat.com>
Date:   Mon Oct 15 13:42:32 2012 -0400

    Log CONF from ProcessLauncher.wait, like ServiceLauncher
    
    Fixes bug #1050380
    
    In the unit tests, we need to call CONF so that the config-file option
    referenced by log_opt_values() is registered. We also need unregister
    the default_publisher_id option to workaround bug #107372.
    
    Change-Id: Icc63237ddf97aaa730c0484974ec05a3080f8f04

commit 3e04c41c96fbf5916ff5ab8c3a8bfec5021f6b04
Merge: d7b6397 c8cf6f7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 31 21:31:17 2012 +0000

    Merge "move nova.common.deprecated to openstack-common"

commit d7b63972c77cae255872f0837cb043361da47cb2
Author: David Ripton <dripton@redhat.com>
Date:   Wed Oct 31 13:14:52 2012 -0400

    Add a missing comma in a docstring.
    
    Change-Id: I1f75c7da1ab1543637198ecbb80a81b39ad35fde

commit c8cf6f74001ec3ced16a516c7b10a596b75bc34c
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Tue Oct 23 16:39:00 2012 -0400

    move nova.common.deprecated to openstack-common
    
    Fixes bug #1070511
    
    nova has a common deprecation path which lets you turn
    deprecation warnings into fatal errors via config. Make
    this a function of the openstack common log to make it
    available to other projects in a standard way.
    
    Include exception directly in logging module.
    
    Update exception to work correctly now that it's not
    based off of nova's exception class.
    
    Change-Id: I699e776c99c429e60dfb5cd6c0cdbb661bae0ce8

commit 3e9880186ffed2105ee97e07f6d3b9c328fcff63
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Wed Oct 31 10:37:08 2012 +0800

    Removes redundant string cast
    
    Removes uuid.UUID.hex result string casting
    
    Change-Id: I4b0ed3ec1e4dc4a1ade149a539c5068ac154ebf7

commit ae6f54dba69449eb1c231de162c12711bd2ab528
Merge: 999f946 46944e3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 30 22:16:24 2012 +0000

    Merge "Use queue_arguments for fanout consumers too."

commit 999f946d08714dc12469310e3dceed78d588e153
Merge: 4747dff 256a467
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 30 21:51:42 2012 +0000

    Merge "Add setup.py for registering namespace package"

commit 4747dff07fadf0e3e54c5bcafc5b89b261c37f5d
Merge: 4b017d7 b153b56
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 30 21:40:05 2012 +0000

    Merge "Import order clean-up"

commit 4b017d73df7f7046ead3dc21a7642601438113f4
Merge: aca1805 b879604
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 30 21:38:30 2012 +0000

    Merge "Fix a logic error in stable version calculation."

commit 256a467d3ce5b626f50e24a7d9a053b133390586
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Fri Oct 26 11:22:24 2012 -0400

    Add setup.py for registering namespace package
    
    Create a dummy package and setup.py file solely to be used
    to register the name "oslo" on PyPI.
    
    Change-Id: Ica9dd1cf05fda36c317223ead22a94f337f3ae21
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit b153b563908e91ce1bbce0ab9f019d3fba0b2162
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Mon Oct 29 14:19:19 2012 +0800

    Import order clean-up
    
    Reorder imports by full module path
    
    Change-Id: If619b4b50aa052401f7fa65df57b74d4ad1b65a6

commit b87960426a9d791e992211c73677f58d78e56bb9
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Oct 26 11:07:26 2012 -0400

    Fix a logic error in stable version calculation.
    
    Milestone information in blank for stable branches, so there is no milestone
    prefix. However, we were blindly concatenating the milestone version
    prefix onto the datestamp.
    
    Fixes bug 1059634.
    
    Change-Id: I6cff4ee7f6c1dc970397b66fd2d15fa22b0a63a3

commit aca1805d911caefe14a73edb6ced281cf54e7ad2
Author: Julien Danjou <julien@danjou.info>
Date:   Fri Oct 26 16:55:17 2012 +0200

    cfg: fix required if option has a dash
    
    If an option has a dash in it and is required, the check fails because it
    tries to self._get() on the name (with dash) rather than the dest (with
    underscore).
    
    Change-Id: I6448019f70f98bc2e58a325d0cf9ce88b8bb085b
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 46944e3bf401be4f6d3af0b5d8e1e5686fdbec61
Author: Sam Morrison <sorrison@gmail.com>
Date:   Fri Oct 26 09:53:06 2012 +1100

    Use queue_arguments for fanout consumers too.
    
    Fixes bug 1071528
    
    queue_arguments (currently only x-ha-policy for now) were only
    set for topic consumers, this adds support for rabbit HA for
    fanout consumers too.
    
    Change-Id: I0d5c0393b49cf249262d93a64f6348caa76ef8dd

commit d887090b5a31672e4a12f302b3818e2b0933bef0
Author: Michael Still <mikal@stillhq.com>
Date:   Tue Oct 23 13:23:44 2012 -0700

    Fix missing import in lockutils.
    
    This showed up while integrating these changes into nova.
    
    Change-Id: I48d846fc761c45cf97480a49c99d20817f1dea2d

commit 9a8c1d7e1a537e6580be2be1630baefc910de1de
Author: Michael Still <mikal@stillhq.com>
Date:   Wed Oct 10 17:28:11 2012 +1100

    Move nova's util.synchronized decorator to openstack common.
    
    In the end I needed to port utils.ensure_tree as well. Resolves
    bug 1063230.
    
    Change-Id: I6e6fa8201de2cac3f17e6c60d7b16f7df7c64116

commit 7695f967a3c750642504aa60f748111f64880a07
Author: David Ripton <dripton@redhat.com>
Date:   Wed Oct 17 10:35:59 2012 -0400

    Fix a couple of file handle leaks, using with statements.
    
    In practice unclosed file handle leaks are not a huge deal in CPython code,
    because reference counting means they get closed automatically in a timely
    manner.  But they're bad style, and they can become a real problem if the
    code is run with a version of Python that doesn't use reference counting.
    
    Change-Id: Ie54b979e26ffc9dd405871ee07c50b304cb36c67

commit d3ac5316d527f9a80eeecbbd2a064dada36a45a0
Merge: 8576998 0ce730e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 16 14:51:50 2012 +0000

    Merge "Revert "fanout subscriptions in impl_zmq""

commit 857699873e7ad024f7d785b0603e3548f9699113
Merge: be105f7 d7e6b7b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 16 14:46:56 2012 +0000

    Merge "Revert "Support declare_topic_consumer in impl_zmq""

commit be105f79c7056861845e7eb7bf8b4851dba2b1dd
Merge: 34e20fe 4d458c0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 16 14:44:49 2012 +0000

    Merge "Use self.config in test_zmq"

commit 34e20feb38a0d0866c6b469043a005b39daa8211
Author: Kiall Mac Innes <kiall@managedit.ie>
Date:   Sun Oct 14 17:42:00 2012 +0100

    Fix WSGI Service init's call to incorrect super method
    
    Change-Id: I7554beefafc409a5504b3e33ac31b4394fe46533

commit f182936be1467355e11490726d1b78b928d8d2d0
Merge: fda069b 76751a6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 12 18:07:36 2012 +0000

    Merge "Revert "Add support for finer-grained policy decisions""

commit 4d458c0397cf9edd44ac6ce8d94a002a8a8e5286
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Oct 11 13:50:05 2012 -0400

    Use self.config in test_zmq
    
    Fixes bug 1034416
    
    Change-Id: I06f9fb5fa9d86eefeebc82c0e31196b8d542c9e0

commit 76751a6b4e096443f7dfea1e5dba595790cc6ec1
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Oct 11 16:28:37 2012 +0000

    Revert "Add support for finer-grained policy decisions"
    
    This reverts commit 3fc46892
    
    After a productive discussion here:
    
      http://lists.openstack.org/pipermail/openstack-dev/2012-October/thread.html#1566
    
    It appears that we don't yet have a really compelling use
    case for this and folks are worried about the extra
    complexity it brings. I think it's safe to say there's a
    consensus that we shouldn't proceed with this idea yet. We
    can always revisit this again later if needs be.

commit fda069b557f6e432b62021db5244e8fdbda42551
Merge: 8b585cb 85bed28
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 11 15:25:43 2012 +0000

    Merge "Added is_newer_than function"

commit 0ce730e309c2b6514a18d84c9ee34e610530d217
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Oct 11 10:31:25 2012 -0400

    Revert "fanout subscriptions in impl_zmq"
    
    This changed the message format without consideration
    for versioning. If this is resubmitted, it will be
    only after message versioning is introduced.
    
    This reverts commit 032bf345ea593e97fcc07e23c1725ba5f4b612d0.
    
    Change-Id: I4f4326b0ba78699b5f149cc2d2822235e9a30462

commit d7e6b7b34cd93f6e381adb7ffe63212729c589a9
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Oct 11 10:31:10 2012 -0400

    Revert "Support declare_topic_consumer in impl_zmq"
    
    Depends on reverted patch. Not used by any code or project.
    This was an implementation of an internal AMQP-driver method.
    
    Will determine long-term requirement or replacement
    for declare_topic_consumer at Grizzly sumit.
    
    This reverts commit d5095d7effe79c1dcf19a67ff03e00a454662830.
    
    Change-Id: I48883c5011ebccba3e6f987ae48bff871d016bd1

commit 8b585cb969a823246a36d5b2cc7eac725e378fca
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Tue Oct 9 15:52:12 2012 -0500

    Remove an unneeded 'global'
    
    If we're not changing the value of a global variable, there's no need
    to use the 'global' statement.  This removes an unnecessary 'global'
    statement from the register() function/decorator.
    
    Change-Id: I0d4388f28acf3c9dc5969d86d74f384f1f3d0474

commit 3fc46892b6ce7f0ab2112f46e903a4d4c2f8e9ae
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Tue Oct 9 13:23:52 2012 +0100

    Add support for finer-grained policy decisions
    
    Implements blueprint fine-grained-policy
    
    Add support to the new policy language for finer-grained policy
    decisions: policy checks can, using the "case" construct, return
    values other than simply "True".
    
    This means that a policy rule can be written that allows for fine
    shades of permissions; for instance, a rule could return the values,
    "fulladmin", "projectadmin", or False, and the caller can use these
    values to decide whether to allow all modifications, only some
    modifications, or no modifications at all.
    
    Change-Id: Id2bbee5c34052692af12e4a028256131ed2747fc

commit 21b69d86fc2aaf2aa0316c0e0b099a91bcf6937a
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Tue Oct 9 20:14:08 2012 +0100

    Add a 'not' operator to the policy langage
    
    Implements blueprint fine-grained-policy
    
    Inverting the sense of a check was not possible with the list-of-lists
    syntax, but it clearly makes sense to support it.
    
    Change-Id: Ibd92cd75a279efdafec16a26f9aec33f39614b5c

commit fa7dc58b7f0a5de137b30299bfc4d3f3aaa8d0cf
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Tue Oct 9 13:23:41 2012 +0100

    Add a new policy language
    
    Implements blueprint fine-grained-policy
    
    Add a new policy language with "and" and "or" operators to replace
    the old list-of-lists syntax. New '@' and '!' operators are also added.
    
    This new language will enable us add more advanced features than the
    old syntax would have allowed.
    
    Backwards compat support for the old list-of-list syntax is retained.
    
    Change-Id: I872cb6abf6f8051c3ff502a0fc7590cff4f63a25

commit 8c6e7a7cb1610956b0fcc9f6e8ebd967baafc6d6
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Oct 9 13:28:38 2012 +0100

    Remove deprecated policy engine APIs
    
    Implements blueprint fine-grained-policy
    
    Remove the deprecated Brain/enforce API and support for using functions
    as check types.
    
    Change-Id: Idf79999ad402b2c79072d0547d60c7b0bfa20d5a

commit 451dd68b2d9194f4612074412acedfad800e799c
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Tue Oct 9 13:23:26 2012 +0100

    Rewrite the policy engine from scratch
    
    Implements blueprint fine-grained-policy
    
    Complete rewrite of the policy engine, with careful thought given to
    backwards-compatibility.
    
    Policy rules are now represented internally by a tree of Check
    objects.
    
    A new API is added for parsing and enforcing rules:
    
      set_rules(Rules.load_json(data, default_rule=...))
      result = check(rule, target, credentials)
      reset()
    
    The old Brain/enforce API is deprecated and will be removed soon.
    
    A new API is also added for registering new check types:
    
      @register("key")
      class KeyCheck(Check):
          def __call__(self, target, creds):
              return self.match in creds
    
    Support for using functions as check types is deprecated and will
    also be removed soon.
    
    Change-Id: I2951a0de3751bd2ec868e7a661070fed624e4af2

commit 85bed287461036745afe6a4c623e546c52641b1e
Author: Sirisha Devineni <sirisha_devineni@persistent.co.in>
Date:   Tue Oct 9 17:33:35 2012 +0530

    Added is_newer_than function
    
    Added is_newer_than function to compare if the provided
    time is newer than current time for specified number of
    seconds
    
    Fixes bug 1036343
    
    Change-Id: Ic133b0e7e2337b6b0fdad244ded6a93f8db48379

commit 355ca27471218012a7604b751b1ffbbd2d001f05
Merge: 04b859c 0f009cc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 2 15:54:04 2012 +0000

    Merge "Fix missing import of `rpc.dispatcher` in `rpc.service`"

commit 04b859c427bf278f9d4e1c748520a1adf405153e
Author: Kiall Mac Innes <kiall@managedit.ie>
Date:   Tue Oct 2 15:27:34 2012 +0100

    Added a missing `cfg` import in service.py
    
    Change-Id: I7e98686cb72ba6287b93746267390cc79f18bb6d

commit 0f009cce6c2e82f212b17fc5e98ef463d38af4a2
Author: Kiall Mac Innes <kiall@managedit.ie>
Date:   Tue Oct 2 16:13:16 2012 +0100

    Fix missing import of `rpc.dispatcher` in `rpc.service`
    
    Change-Id: I7bdd5fbff1addef4a855aa72f3551930630299f5

commit b590f7bc067329c7e096a8961084b84667b1d49f
Merge: 18d8ca0 4c44c04
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 1 08:19:53 2012 +0000

    Merge "Limit pep8 checks to our source"

commit 18d8ca01542ff3fb2c16415f24447662f0cd9f6e
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Sep 11 19:43:04 2012 +1000

    Change wsgi Server class to Service
    
    Also:
    - use WritableLogger from common/log.py
    
    Part of blueprint service-infrastructure
    
    Change-Id: If41e592167bd4c308dd2a5d0226fcf3d8318f90d

commit 4c44c0468e56c359ea2f5d1379ed28d609fb0423
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Fri Sep 28 16:01:51 2012 -0400

    Limit pep8 checks to our source
    
    Exclude the .update-env directory, including anything
    installed there from third-party packages, when running
    pep8.
    
    Change-Id: I2c2ee9146cbf2f5449f7f8d042b578ec3d8d2b83
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit 45d2b7c01e220d87860e485a49369cfe37dc1bfc
Merge: 2319a24 6f0a0f4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 28 20:58:35 2012 +0000

    Merge "Ignore the stackforge jenkins email address"

commit 2319a24e3a6e89078501bd51967fda3576ecf033
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Fri Sep 28 15:57:15 2012 -0400

    .gitignore updates for generated files
    
    Ignore files created by packaging, builds, etc.
    
    Change-Id: I9c1eed8c9791548b46e1532b345d80f3d84d4890
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit 6f0a0f4e69be5dd54559697794ee8d334a7343d1
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Fri Sep 28 15:55:14 2012 -0400

    Ignore the stackforge jenkins email address
    
    Update generate_authors to ignore the email address
    for the stackforge jenkins as well as the main openstack
    jenkins, to ignore commits in the history of projects
    that were on stackforge before moving over to the
    main server (such as ceilometer).
    
    Change-Id: I86d93ba0f358d5d33278847ba8de039642dd54b7
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit 87a2fd76e778251668f0c517084418dfda9cdaf0
Merge: d5c633c 942b0c2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 27 21:14:57 2012 +0000

    Merge "Log config on startup"

commit d5c633c11833967af2c36815d04a2f4c5aa1b882
Merge: df39068 2f279a4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 27 21:13:41 2012 +0000

    Merge "Integrate eventlet backdoor"

commit df3906827b34cd6ede4e0d76da4b7af36728bc9d
Merge: 83b4cce de0c187
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 27 21:13:24 2012 +0000

    Merge "Add the rpc service and delete manager"

commit 83b4cce116ec2f196c916ed238884a935e69235a
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Sep 26 17:03:37 2012 +0200

    Add exchange_name parameter to TopicConsumer
    
    In Ceilometer, we need to consume messages from different exchanges of type
    'topic', so being able to specify the exchange name rather than using the
    default in TopicConsumer is necessary.
    
    This fixes bug #1055483
    
    Change-Id: Ibbaec8496f24c0b221cf489258af1e7fe362e84a
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 8a0c03c9e57926f4bc6c1a0ad9a87b9d59953e6e
Author: Eugene Kirpichov <ekirpichov@gmail.com>
Date:   Wed Sep 26 18:23:40 2012 +0000

    Extracted parse_host_port into network_utils.
    
    Change-Id: I77bcbf03a18659cfa62e99da9ba2136f8348022b

commit 942b0c2a7f10f92e559b0c545682f1e1ddd35ceb
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Aug 14 09:17:55 2012 +1000

    Log config on startup
    
    Part of blueprint service-infrastructure
    
    Change-Id: I60698800231e5de349fdbcf9f9090e5b31727640
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit 2f279a410a07831344c7ee117afe55886bafe038
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Aug 6 09:09:48 2012 +0100

    Integrate eventlet backdoor
    
    Part of blueprint service-infrastructure
    
    Change-Id: Ia0511ae62497d95771ca3a894379486741e223ba

commit de0c187307a6b98a2e75630c70a73d08b9992c66
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Sep 11 15:43:33 2012 +1000

    Add the rpc service and delete manager
    
    Part of blueprint service-infrastructure
    
    Change-Id: Ie00efcb1c974d699ac6b2a38285abef1b295f3ce

commit ac5067fb957556fbb2359e0bb8b99b6f733c6a04
Author: Johannes Erdfelt <johannes.erdfelt@rackspace.com>
Date:   Tue Sep 25 16:35:42 2012 +0000

    LOG.exception() should only be used in exception handler
    
    When used outside of an exception handler it will print the message
    and then 'None', which isn't useful at all.
    
    Change-Id: If687a764dea4c7dc0046d7c3054318f2a751a2ea

commit adc2253fc9adffe9fe8f134432ec19c6c85588a7
Merge: 411f7f0 72e5f47
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 25 14:53:57 2012 +0000

    Merge "Don't deprecate rabbit_host and rabbit_port"

commit 411f7f0999e907193012f2afec9c05aaf9b31981
Merge: 974989d 83570cf
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 25 14:53:14 2012 +0000

    Merge "DRY up mirrored Rabbit queue declaration"

commit 974989d9b1b67ad40e22034b60f9b2640e9f5824
Merge: d5095d7 1481849
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 25 10:56:03 2012 +0000

    Merge "Support for several HA RabbitMQ servers."

commit 83570cf31d480284af888eb984227c7e6d2a8dbf
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Sep 25 11:33:50 2012 +0100

    DRY up mirrored Rabbit queue declaration
    
    Consolidate the setting of x-ha-policy to a single place and add
    soem documentation.
    
    Change-Id: I35751e43c3ac15c142996f291e0ec609cab4948a

commit 72e5f4783a74075d9bebdf5f04e44fde7dd170cb
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Sep 25 11:21:00 2012 +0100

    Don't deprecate rabbit_host and rabbit_port
    
    Where a single RabbitMQ broker node is used (rather than a cluster of
    nodes) it is simplest for users to just set the rabbit_host option.
    Often users will not need to specify a port number at all.
    
    Similarly, where a cluster is used, it is simplest for the user to just
    specify a list of node addresses in rabbit_hosts and assume that all
    nodes are listening on the port specified in rabbit_port.
    
    Change-Id: I4227541676dffc50cd6116225de0cec0afa36a41

commit 1481849e0d55051f97bed7b1183d07ab724ccaa8
Author: Eugene Kirpichov <ekirpichov@gmail.com>
Date:   Tue Jul 24 04:14:51 2012 +0000

    Support for several HA RabbitMQ servers.
    
    Use the rabbit_ha_queues boolean option.
    It is off by default, and you need to wipe RabbitMQ Mnesia
    database (/var/lib/rabbitmq/mnesia) when changing it.
    
    Change-Id: Id06692a142d1e5316602f6ceed4ccad615ce74c1

commit d5095d7effe79c1dcf19a67ff03e00a454662830
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Sep 12 15:21:10 2012 -0400

    Support declare_topic_consumer in impl_zmq
    
    Required to support scalable agents in Quantum.
    declare_topic_consumer is implementation-specific, but it (or similar) is
    needed to consume notifications.
    
    Change-Id: Ifdeff8ae0ed90106a6bfaae0116db9d91d6b6faf

commit 032bf345ea593e97fcc07e23c1725ba5f4b612d0
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Aug 15 11:13:11 2012 -0400

    fanout subscriptions in impl_zmq
    
    This necessary to support Quantum's scalable agents
    in the Folsom release.
    
    Supports matchmaking and subscribing to publishers,
    in addition to sender-only fanout broadcasting.
    
    Until now, senders of fanout messages had to know
    of all recipients via the matchmaker. This patch
    allows recipients to discover message publishers
    via the matchmaker. This is useful in patterns
    when there are few publishers, but many subscribers.
    
    The raw message passed to ZeroMQ is changed
    so that zmq_subscribe can filter by topic.
    
    This patch may be partially reverted in Grizzly,
    after the arrival of the ServiceGroupAPI which
    will significantly improve the matchmaking
    capabilities.
    
    Change-Id: Ifc132519c6e380cb0a3643680764a38b841add0e

commit 60de2a453f77ee6fad1f7b619b31ac9caa60d7f6
Merge: 2399bec b81938d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 17 17:45:53 2012 +0000

    Merge "Normalize_time() always return naive object"

commit 2399beca7d790105618a41f3dfcd0728a3048c0b
Merge: 2265258 1a9d5c8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 14 05:10:39 2012 +0000

    Merge "Change the qpid_heartbeat default to 60 seconds."

commit 1a9d5c8df5aeee4faf99b54800566e386166836d
Author: Russell Bryant <rbryant@redhat.com>
Date:   Thu Sep 13 16:12:41 2012 -0400

    Change the qpid_heartbeat default to 60 seconds.
    
    The heartbeat option enables sending a message at the AMQP layer at a
    regular interval.  This helps ensure that the connection is still up and
    working.  Once a failure is detected, a reconnection can be attempted.
    
    The default for qpid_heartbeat was previously 5 seconds.  This is pretty
    aggressive and can lead to invalid timeouts occuring.  An example is the
    nova-compute service.  It may block in native code (such as libvirt)
    under normal circumstances.  When this happens, other greenthreads (such
    as the one responsible for sending the heartbeat) can not be scheduled.
    This patch makes the default a less aggressive 1 minute.
    
    Fix bug 1050661.
    
    Change-Id: Idce48944050c331dda85e9b10ab6f5b025845c34

commit b81938dc2fec8f6e15b0b3dcb8eabc276e647af4
Author: Yunhong, Jiang <yunhong.jiang@intel.com>
Date:   Tue Sep 11 16:04:03 2012 +0800

    Normalize_time() always return naive object
    
    Currently the timeutils.normalize_time() returns naive datetime
    object when parameter timestamp is an naive object or a non-UTC
    aware datetime object, and returns aware datetime object if
    parameter timestamp is a UTC aware datetime object.
    
    The basic problem here is that utcoffset() of None means the object is naive
    but a utcoffset() of zero means that the object is aware but represents
    UTC time.
    
    This is fragile implementation and will trigger potential issue, because
    aware/native datetime is not interoperatable. For example,
    "timeutils.utcnow() > timeutils.normalize_time(m)" will success at most
    time, while trigger TypeError if m is a UTC aware object.
    
    We want to normalize all objects into naive objects.
    
    Fixes bug 1048636
    
    Change-Id: I4a09246fa8f0dd63ca54362b877aa825d9b79772
    Signed-off-by: Yunhong, Jiang <yunhong.jiang@intel.com>

commit 2265258dad5c6a1e535336867d9cea5c7a2355d3
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Tue Sep 11 14:03:47 2012 +0800

    Use pep8 v1.3.3
    
    Fixed indents which violate pep8 1.3.3
    Also added .mailmap file to coalesce commits
    
    Change-Id: Ia7a788a28e6c0fd9cb52fb7ea477cddd7d589e58

commit ccaaa26dd3afa62599ea3b476e2a5d1af7e075ef
Merge: 95cd3a7 16ad97c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 12 13:47:52 2012 +0000

    Merge "Make projects define 'control_exchange'."

commit 95cd3a7fad2d0335c65394379c35a798df9d25b4
Merge: 879470b ab6ceb0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 11 20:03:53 2012 +0000

    Merge "Improve logging of process id"

commit 879470b99c0f8f42d50f955defaf43ab47b704cc
Author: Eugene Kirpichov <ekirpichov@gmail.com>
Date:   Fri Sep 7 22:56:34 2012 +0000

    Added a method for parsing host:port pairs.
    
    The method works correctly with ipv6.
    An alternative way would be to use urlparse, but urlparse
    only works correctly starting with Python 2.7, so to be
    compatible, we have to reimplement this part.
    
    The method will be used for parsing Glance API server
    addresses, RabbitMQ addresses and perhaps other things.
    
    Change-Id: Ie5014891c6abcd80681a370d5dd94cb0406f7f61

commit 16ad97c13fb296125a843d1dda31900994628727
Author: Russell Bryant <rbryant@redhat.com>
Date:   Thu Sep 6 14:37:52 2012 -0400

    Make projects define 'control_exchange'.
    
    The 'control_exchange' option needs to have a project-specific default
    value.  Just don't register this option and expect it to be registered
    by the project using this code, at least for now.
    
       ****** IMPORTANT NOTE WHEN IMPORTING THIS CHANGE ******
    
    If you are importing this change into a project that uses rpc, you must
    add the control_exchange option in your code!
    
       *******************************************************
    
    Change-Id: Ida5a8637c419e709bbf22fcad57b0f11c31bb959

commit ab6ceb0679c47149b34ce96215db16f406fdd160
Author: Stuart McLaren <stuart.mclaren@hp.com>
Date:   Mon Sep 10 09:46:06 2012 +0000

    Improve logging of process id
    
    Move process id to a fixed position in the logs, and to
    be present for all output (including eventlet and stack traces)
    as was the case previously.
    
    Fix for LP bug 1040772.
    
    Change-Id: I82639e730c2887630fbbee608a4d4da24862982d

commit 1071b9da480d25e7cee556d7f9b483f8ac258ffb
Author: Dan Prince <dprince@redhat.com>
Date:   Wed Sep 5 13:38:41 2012 -0400

    Add cinder to allowed_rpc_exception_modules.
    
    When configuring Cinder I would rather not have to specify
    allowed_rpc_exception_modules in my default config. This
    patch updates the default list of allowed_rpc_exception_modules to
    include cinder.exception.
    
    Change-Id: Ib7babb1ceb13e86c555947ebc869b50afd7e9b49

commit 376f41ef77ac0a9804517ac9e59896598e3d6d2f
Merge: 31f5af3 afa8b94
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 31 15:12:39 2012 +0000

    Merge "Code cleanup"

commit 31f5af3fd71710a1d2b09ee968c01a7861a33939
Merge: 5cbb9d0 55ca185
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 31 13:26:08 2012 +0000

    Merge "Update zmq context cleanup to use term."

commit afa8b9431bf5c41d3f5d7795c58702ecb2b8e21c
Author: Ray Chen <oldsharp@163.com>
Date:   Tue Aug 21 17:48:39 2012 +0800

    Code cleanup
    
    Move the 'project' variable to the appropriate position.
    
    Change-Id: Ifc2f8fdd2d3887e68b4d537d30d17b8c61cfba20

commit 5cbb9d0ed8505f97c082336e7777c72893338b02
Merge: 55c1c97 454693d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 31 09:46:34 2012 +0000

    Merge "Allow non-string items in the creds dict."

commit 55c1c97b8466a40725bd1cd9de0a3c6db3328534
Merge: 7ddd21e 1c1401e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 31 09:45:16 2012 +0000

    Merge "Add nosehtmloutput as a test dependency."

commit 55ca1852bb489b4e3cd6af90389c7d9db88db3f6
Author: Dan Prince <dprince@redhat.com>
Date:   Thu Aug 30 16:58:08 2012 -0400

    Update zmq context cleanup to use term.
    
    Updates the RPC cleanup function for the zmq RPC driver
    to use Context.term() instead of Context.destroy().
    
    This allows the Nova code to work with older versions (pre 2.1.10)
    of pyzmq. The Context term() function seems to do the job just as well as
    destroy() (and is also thread safe) so lets just use it instead.
    
    Fixes LP Bug #1044004.
    
    Change-Id: Ifadd2c19914abfe5dbb58310d21eb6c78563fb82

commit 7ddd21ea92edc338261c54082a8a6269146b2be3
Author: lrqrun <lrqrun@gmail.com>
Date:   Wed Aug 29 15:24:42 2012 +0800

    Fix PEP8 issues.
    
    Fix some pep8 issues in doc/source/conf.py make the code looks pretty.
    
    Change-Id: I2727a55ba2e1c0a8a517fd1e0a51b5005d2c535f

commit 33c9880421bdb877005a9c8579d92bf7a96b66ea
Author: Matt Joyce <matt.joyce@cloudscaling.com>
Date:   Wed Aug 22 19:39:26 2012 -0700

    Regarding the mispelling of the Noble Narwhal.
    
    The narwhal, or narwhale, Monodon monoceros, is a medium-sized toothed whale
    that lives year-round in the Arctic. One of two living species of whale in
    the Monodontidae family, along with the beluga whale, narwhal males are
    distinguished by a long, straight, helical tusk, actually an elongated upper
    left canine. Found primarily in Canadian Arctic and Greenlandic waters,
    rarely south of 65°N latitude, the narwhal is a uniquely specialized Arctic
    predator. In the winter, it feeds on benthic prey, mostly flatfish, at
    depths of up to 1500 m under dense pack ice.  Narwhals have been harvested
    for over a thousand years by Inuit people in northern Canada and Greenland
    for meat and ivory, and a regulated subsistence hunt continues to this day.
    While populations appear stable, the narwhal has been deemed particularly
    vulnerable to climate change due to a narrow geographical range and
    specialized diet.
    
    Via Wikipedia
    
    Change-Id: I0aa6fb9a29f6e851eb2621d70d400e1505ae2d32

commit 1c1401e48672c143ccdb86ba53a9f03ae04ff348
Author: Clark Boylan <clark.boylan@gmail.com>
Date:   Tue Aug 21 14:24:16 2012 -0700

    Add nosehtmloutput as a test dependency.
    
    Adding nosehtmloutput as a test dependency allows nose to output its
    results to an html file. This will be used by Jenkins to save logs on
    a different server.
    
    Change-Id: I7fcce74b358e27901b74922af35d4ea529366c81

commit 454693d250e7085cefef30e1b43608477f34a345
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Mon Aug 20 10:25:21 2012 -0700

    Allow non-string items in the creds dict.
    
    The generic checking in policy allows us to match against data from the
    creds_dict using a very simple syntax. For example, in policy.json if
    you had something like:
    
    "some_action": [["project_id:foo"]]
    
    it would only allow project foo to perform that action, but something
    like:
    
    "some_action": [["is_admin:True"]]
    
    where is_admin is a boolean fails.
    
    This modifies the check to convert the value to unicode before
    attempting to compare it. It includes a test.
    
    Fixes bug 1039132
    
    Change-Id: I0e53a6ea2709212d4a1536f901bcf1e717a232ca

commit f7b87701444d035e82ae6ac6954e8ad84aab5baf
Merge: 31495c3 d43aef0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 20 16:53:07 2012 +0000

    Merge "Remove amqp import from rpc/test_common"

commit 31495c3a9d31920cea8f98fef23b10958d38e6a5
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Wed Aug 15 17:29:00 2012 +1000

    Add threadgroup to manage timers and greenthreads.
    
    Part of blueprint service-infrastructure
    
    Change-Id: I40593b6ad13d99d9e63c8c04154a0dac5aced02e
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit a6c4b02c206120a5815f08ad7112cb68c3e9c3e5
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Tue Aug 14 10:27:06 2012 +1000

    Add basic periodic task infrastructure.
    
    So the idea is Manager will inherit from PeriodTasks
    and create a timer to call run_periodic_tasks().
    
    Part of blueprint service-infrastructure
    
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
    Change-Id: I822b8501ad184d0e5885cada1a3d7a847e2ca12c

commit 86a3ed7a173c82422270786fc89cf27cbaccc67e
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Wed Aug 15 08:20:45 2012 +1000

    Add multiprocess service launcher
    
    Part of blueprint service-infrastructure
    
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
    Change-Id: I848e8c91d2c331e5c78a176258318457a9041131

commit 053789a75b7fcde1bde82ee366ad43f3aa7e70b9
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Wed Aug 15 10:38:29 2012 +1000

    Add signal handling to service launcher
    
    Part of blueprint service-infrastructure
    
    Change-Id: Iff072199ebd3c1abcb4218c9b647f8bef75f934a
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit a3af744743746f796cb6746d5038c7650b2dfe11
Merge: ddd1147 b2408dc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 20 08:47:58 2012 +0000

    Merge "Basic service launching infrastructure"

commit ddd11473740e15eeac759238a3737a4089baf9f9
Merge: 07cd4bf c8f9afd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 20 08:47:46 2012 +0000

    Merge "Move manager.py and service.py into common."

commit 07cd4bf43cd8f9360b8a26a6653c155f163c0bf7
Merge: cd1424a bb35ceb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 20 06:28:18 2012 +0000

    Merge "Fix spelling typos"

commit cd1424a5543ce01b3bd13887f2d1e818b8c296d3
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Aug 17 09:48:37 2012 -0400

    Don't trap then re-raise ImportError.
    
    When we catch ImportError, print a message, and then raise a new ImportError,
    we lose sane ability to read the traceback, and we gain nothing. Raising a new
    ImportError on Attribute or Value error is helpful, given the context in which
    we are working.
    
    Change-Id: I52f61405e63535bcc745c9d350aa0dfbae36a8ac

commit bb35ceb694cb6317d6a5ecf2cb5cee5b12dd86be
Author: RongzeZhu <zrzhit@gmail.com>
Date:   Fri Aug 17 11:00:19 2012 +0800

    Fix spelling typos
    
    Fixes for:
    * openstack/common/excutils.py
    * openstack/common/timeutils.py
    
    Change-Id: Ic747de783e64fae00edf5af64d1a79a4edcf8412

commit 6a22ea45edc0f0263731944f2ad0ffe15c8a9457
Author: RongzeZhu <zrzhit@gmail.com>
Date:   Thu Aug 16 22:29:31 2012 +0800

    Remove unused imports
    
    Fixes bug #1037578
    
    Change-Id: I87dbd0bc5fe16a4416a676dc26f2446a54509bc1

commit 704fb8b9850b6aa021ad79574c00a8408e889316
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Aug 15 12:55:50 2012 -0400

    Remove register_opts from client methods
    
    During the nova->common migration,
    it was required to call register_opts on every
    client RPC api call. This is no longer required
    with cfg.CONF.
    
    Change-Id: Ia46c5d54e68c4d86a87570b2caff0da9755ca931

commit b2408dcedbc4c036c50a0df87a634c8946a08c7c
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Wed Aug 15 08:18:48 2012 +1000

    Basic service launching infrastructure
    
    Part of blueprint service-infrastructure
    
    Change-Id: I4e97db2877be976b0c681da9ff0d331fbfb306b0
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit c8f9afd4c0de0883e7b64c4d219a47aa88a0d32a
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Sat Aug 11 11:14:43 2012 +1000

    Move manager.py and service.py into common.
    
    - Just start with the skeleton classes.
    
    Part of blueprint service-infrastructure
    
    Change-Id: I90fbff3805455d9d82aacf43257d74e4cb443042
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit d43aef046e120f5d1cacc3a60d8f4100b104faed
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Tue Aug 14 15:49:59 2012 -0400

    Remove amqp import from rpc/test_common
    
    This import is no longer used.
    
    Change-Id: I4683a5b173fecc345b27c43b6cace39b4b491e8b

commit 0d446cd6cdaf968b830f51fba2e547da2d98a65b
Merge: 0af2923 f88d38b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Aug 14 17:36:56 2012 +0000

    Merge "Rename FLAGS to CONF; Remove self.conf"

commit 0af29237965822830ac8fc2cdd96e36a09dde213
Merge: 815c8f3 4dc2043
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 13 14:39:54 2012 +0000

    Merge "cfg: clean up None value handling"

commit 815c8f35b5fe75f013a99156118023d82598e003
Merge: 0a36c92 513bd3a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 13 12:29:40 2012 +0000

    Merge "Allow set_default and set_override to use None"

commit 4dc2043df6e64adb902081d2ff7cb72ef4d20de5
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Aug 13 11:35:25 2012 +0100

    cfg: clean up None value handling
    
    Remove the need for an internal NoneValue class by making the existence
    of the 'default' or 'override' keys signify whether a default or
    override is set.
    
    Change-Id: Iacf49553df5ba8414307904a3ee334c7b8c55758

commit 513bd3a917207099125cc044705aee438fee7143
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Fri Aug 10 14:28:59 2012 -0700

    Allow set_default and set_override to use None
    
    The current implementation interprets set_default('foo', None) and
    set_override('foo', None) as 'clear the existing default or override',
    which makes it impossible to override a value with None.
    
    This patch adds support for overriding with a None value by adding
    a special internal class. set_override('foo', None) will now override
    the existing value with None. This is a slight change to the existing
    behavior, so this patch adds two calls for the old functionality of
    clearing defaults and overrides. Example syntax for the new calls
    are shown below:
    
    conf.clear_default('foo')
    conf.clear_override('foo')
    
    The patch also updates the tests to reflect the change in functionality
    and adds new tests to verify the new functionality.
    
    Fixes bug 1035478
    
    Change-Id: Iee5e20e44da9bef6b86e0483ab0b48b625fe503c

commit 0a36c92e84be0f432b8ce792834dc297196e09af
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Sat Aug 11 12:21:51 2012 +0100

    Tilde expansion for --config-file and --config-dir
    
    Fixes bug #1012671
    
    Allow a filename starting with ~ or ~user to be passed for
    --config-file or --config-dir.
    
    Change-Id: I67705401ed1c35c0cc2161095e36616552740aba

commit 887e9e169cd81dec7d7c01ce508e15d4e4fdd99e
Merge: 01b4f31 20c3bd1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 10 21:45:18 2012 +0000

    Merge "Make receiver spawning in impl_zmq more robust/clean."

commit 01b4f31d59837459cc62d30332c096f6e1be79df
Author: SandyWalsh <sandy.walsh@rackspace.com>
Date:   Fri Aug 10 15:35:34 2012 -0300

    Support for marshalling datetime while preserving microseconds.
    
    Needed for performance measurement via "inflight" service.
    
    Change-Id: I5c1a8395b4cbc5fc0f8649b3af8130f45dd401bb

commit c9db396cb6473246e5ccf3072ba592ef47fd9d16
Merge: f6cf448 038d597
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 10 16:55:46 2012 +0000

    Merge "Add import_opt() method to ConfigOpts"

commit f88d38bf281df280612e43decca0619effbd0910
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Mon Aug 6 15:50:27 2012 -0400

    Rename FLAGS to CONF; Remove self.conf
    
    Remove all uses of self.conf and rename FLAGS to CONF.
    
    Change-Id: If7b3a3e69fe3c3d2c83033d2b44eb106794ef087

commit f6cf448b92dc1df1c1d922e03a6f44770460b9fe
Merge: c767e9b babd6ca
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 6 15:27:52 2012 +0000

    Merge "Fix meaningless test case"

commit babd6ca3324b3a684dc1e0beedadfc89981039c7
Author: Mate Lakat <mate.lakat@citrix.com>
Date:   Mon Aug 6 11:32:22 2012 +0100

    Fix meaningless test case
    
    Related to fixing bug 1031351
    
    The testcase was meaningless.
    
    Change-Id: I7b88b86a600fac0c30bcac354262ac00593b495c

commit c767e9beffe4b826eac869ce7e2eef2cc1499bbe
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Thu Jul 19 03:34:31 2012 -0500

    Add multiple-driver support to the notifier api.
    
    Move all of the functionality previously provided by the list_notifier
    into the basic notifier api.  Move and restructure tests accordingly.
    
    Remove the list_notifier file and test file.
    
    For bug 1025820
    
    Change-Id: Idf7cb975dd78e9951188781622a4d10ca466b154

commit bcb424dd730a977aeaae9f6e33e9bb35cbc0c062
Merge: 1deed94 58404a1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 2 16:13:33 2012 +0000

    Merge "Install a qualified except hook."

commit 1deed940ae115ab4ba23421efc6378feab0b62db
Merge: 6c240ac 4a4f82e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 2 07:30:59 2012 +0000

    Merge "Copy eventlet_backdoor into common from nova."

commit 6c240ac7c7e6cbd6d2ef9462e8d1e5639765e4aa
Merge: 079927a 4a7f7a5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 2 07:20:53 2012 +0000

    Merge "Fix errors reported by pyflakes."

commit 4a4f82e83f74f04301eb71cf8cc591315c481fc5
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Thu Aug 2 08:15:09 2012 +1000

    Copy eventlet_backdoor into common from nova.
    
    This is debugging utility only used by service.py in nova.
    (needed in openstack-common to move service.py to common)
    
    Change-Id: I9a7a84a5f34517abf91d87e9d817d7e763e22829
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit 079927a6d8953377d1923269213cdbdadc3633c1
Merge: c892991 8557af7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 1 19:13:51 2012 +0000

    Merge "Remove bogus conf argument from create_consumer()"

commit c892991c2d666be7479c077d09094ad631cf1b08
Merge: 9d65ec9 dba9636
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 1 16:59:16 2012 +0000

    Merge "Use function registration for policy checks"

commit 4a7f7a5ba74de2712d8499ae07058e7cfa6e5299
Author: Bhuvan Arumugam <bhuvan@apache.org>
Date:   Thu Jul 26 08:19:18 2012 -0700

    Fix errors reported by pyflakes.
    
    * openstack/common/setup.py
      get_reqs_from_files(): Remove unused variable.
      get_reqs_from_files(): Use local variables in a conventional
      way, to prevent errors like:
      local variable 'datestamp' is assigned to but never used.
    
    Change-Id: I44e137d383b96e1601b7bded1e36e84ff14a8f68

commit 20c3bd1562a512819b5cdf09cbe095a09b1a01ea
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 20:47:55 2012 -0400

    Make receiver spawning in impl_zmq more robust/clean.
    
    The receiver spawning had some faulty and complex logic
    which this patch improves. The old logic was logging detection
    of a zmq-receiver socket, although the code was also launching
    a receiver daemon. It was also doing dirty things such
    as intentionally doing a return to trigger a finally block.
    
    Change-Id: Ic044710679c43753240a2b9d909088af5317cbf4

commit 9d65ec95ebb34121b39ebae195356315e11b232d
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 20 12:24:35 2012 -0400

    Reduce test_zmq's reponse timeout.
    
    The rpc response timeout in Nova's fake_flags.py was 5 seconds.
    This was lost in the transition to openstack-common, is no longer
    set globally. As in test_kombu.py, this should be set in test_zmq.py
    
    The default value is much higher than it needs to be for the
    purposes of testing. A lower value fails faster, resulting in faster
    tests in the event of failures.
    
    Change-Id: I106919d36acd19b702be85e453e949495db70ea9

commit 8557af7bc0a12b6981b18c71915434562cd1431f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Aug 1 15:12:52 2012 +0100

    Remove bogus conf argument from create_consumer()
    
    Fixes bug #1031713
    
    Commit 0b11668 in nova added a conf parameter to the create_consumer()
    method in the base class, but not to the implementations. Looks to
    be a random thinko.
    
    Change-Id: I92b87eed2f7708af696e02e229bf6daa0d305fdd

commit 58404a1a9461900367dbb7a8b3f2f98441e12959
Author: Mate Lakat <mate.lakat@citrix.com>
Date:   Tue Jul 31 17:53:57 2012 +0100

    Install a qualified except hook.
    
    Fixes bug 1031351.
    
    As an Exception is raised, it was not visible in the log, because
    it wasn't qualified. The fix sets up the exception hook to be
    qualified as the product_name.
    
    Change-Id: Ie8061d003b05ea8b00db5d8ed8fa445ccc822942

commit 7b5412ffc874c6ff89f61b286a69c88080b65f42
Merge: 9015056 305874a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 31 20:58:50 2012 +0000

    Merge "Remove code to clear basicConfig root log handlers"

commit 90150565d4d59acd8e46a72fe0ca060b268421df
Merge: 42c3f30 356c72e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 31 20:19:59 2012 +0000

    Merge "Copy LoopingCall from nova for service.py"

commit 42c3f30640d693b1b7b4b2784bc0e4164db865d4
Merge: e0134fc 4883144
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 31 20:04:50 2012 +0000

    Merge "Remove unnecessary register_opts from test_zmq"

commit 305874a4dcacbad0915985e1a4042c3dabaf4e12
Author: Dan Prince <dprince@redhat.com>
Date:   Tue Jul 31 12:41:30 2012 -0400

    Remove code to clear basicConfig root log handlers
    
    Removes some old Nova specific code to clear out the log handlers
    from Nova's logging basicConfig. This code is arguably Nova specific
    and doesn't really belong in openstack-common's generic logging
    configuration.
    
    Additionally, This code was actually removing the root logger used by
    some command line tools and binaries and hiding log messages that should
    have otherwise gone to the console.
    
    Fixes LP Bug #1029577.
    
    Change-Id: Ia3531bea41a2226798f3910803a4323f1984e767

commit 038d59778eecf953375da701b4cd55d4e3ca309f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Jul 31 12:16:28 2012 +0100

    Add import_opt() method to ConfigOpts
    
    Related to blueprint cfg-global-object
    
    When using the global config object pattern, you often have modules
    which define options that are referenced in other options.
    
    So, for example if module A defined option 'foo' and module be needed
    to reference that option, you might do:
    
      import A
      print CONF.foo
    
    However, this makes it entirely unclear to the casual reader why
    module A was imported.
    
    Nova has a flags.DECLARE() function that helps with this problem
    by allowing you to do:
    
      flags.DECLARE('foo', 'A')
    
    The function simply imports module A and checks that the 'foo'
    option is now defined in the global config object.
    
    This is fine, but it is also implicit that this function applies
    to the global config object. Instead, let's do the following:
    
      CONF.import_opt('foo', 'A')
    
    Change-Id: I7b98f5be71068bbde70cc0eab991eaebb577de52

commit 356c72ea4af021078aaf5beeba411322a9a93d1f
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Mon Jul 30 12:24:40 2012 +1000

    Copy LoopingCall from nova for service.py
    
    Change-Id: Ib6683324f92345c17cfd7234d08070b48ffb4d3e
    Signed-off-by: Angus Salkeld <asalkeld@redhat.com>

commit dba9636e6df092d768d04cfaee839b76722e2393
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Mon Jul 30 19:23:28 2012 -0500

    Use function registration for policy checks
    
    The original policy framework allowed new policy checks to be created
    through inheritance.  This is somewhat clunky and unnecessary in
    Python.  This change refactors policy.py to allow new policy checks
    to be registered using an @register() decorator.  One consequence is
    that HttpBrain is deprecated.
    
    Care has been taken to ensure backwards compatibility; deprecation
    warnings will be emitted for uses of HttpBrain or the inheritance-
    based checks.
    
    Change-Id: I3ccef5868906ef64a3c24d6c92533471e89682ba

commit e0134fc3e2d7e59741b3643e2680f578cc9def41
Merge: 7f56ee6 14088fb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 30 15:23:27 2012 +0000

    Merge "don't throw exceptions if %(color)s tag is used"

commit 7f56ee6719b30b2fa76b5d43447e74e395321e05
Merge: 0b760ec a224d70
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 30 14:40:25 2012 +0000

    Merge "Use BaseTestCase for all tests which override config"

commit 0b760eca5c71f2b6fd29c0df0f4cf394335097f8
Author: Pádraig Brady <pbrady@redhat.com>
Date:   Mon Jul 30 01:42:07 2012 +0100

    fix the qpid_heartbeat option so that it's effective
    
    The 'hearbeat' typo caused this setting to be ineffective.
    This bug has been present since the initial nova qpid implementation.
    
    Fixes bug: 1030430
    Change-Id: Ibb9d7484b9d11a6904cc9e2a8dde6d9164ee05b1

commit 14088fb6e43676b2bfbbcd96bc78740ee862c550
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Fri Jul 27 17:22:58 2012 -0400

    don't throw exceptions if %(color)s tag is used
    
    fixed bug #1030078
    
    If the log format strings include the %(color)s key in them and you
    enable file logging, your log files won't work, and instead you'll
    see exceptions on the console as the default python log handler doesn't
    support that keyword.
    
    This approach stubs out the extra keywords to be empty strings to avoid
    the KeyError. Tests are also added to demonstrate the KeyError as defined
    behavior, and test that color codes can be passed.
    
    Change-Id: Ia5dbaee9c530e243e2121667c8a54e6f9d66e1e7

commit c11a0d419f658fcec716c2d32ee10f17ecbfb2b9
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Jul 26 11:50:20 2012 -0700

    Remove unused imports
    
    Change-Id: Ia2900e50263950ba40ba86e685640cacaa2137a7

commit 48831448ed9f6a70bff63be4370843d52372fffa
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Wed Jul 25 08:40:46 2012 -0400

    Remove unnecessary register_opts from test_zmq
    
    The calls to register_opts are no longer required,
    and are no longer called from the tests of other rpc mechanisms.
    
    Change-Id: I40fe63d43aad8fcf37d5332a1aa05e2b3068f01a

commit 90da88cce51bccd320e89141ed7384d2e7ccca9d
Author: Giampaolo Lauria <lauria@us.ibm.com>
Date:   Fri Jul 20 16:41:45 2012 -0400

    Modifies _is_opt_registered fcn to check for duplicate opts
    
    This change fixes bug 999307
    
    Currently, the check for duplicate options is done by checking
    whether they are the same object. The proposed fix is to check whether
    all the object fields have the same value.
    
    Change-Id: I2b72d630a0c8821df1d81e25d316d8d9195be492

commit 1e2298fadb38280b46c811e1feb43f4e9244de77
Merge: effdfc3 9e1bd9d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 23 15:01:11 2012 +0000

    Merge changes I536e1ca0,Ifb878368,Ie1d71b85
    
    * changes:
      Add missing convert_instances arg.
      Track to_primitive() depth after iteritems().
      Update iteritems test case to actually test iteritems.

commit effdfc322413233f2449d229013e1cf21b943127
Merge: 0b7bc50 d9282aa
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 23 14:57:56 2012 +0000

    Merge "Make test_zmq bind/send to 127.0.0.1"

commit 0b7bc50d1a428829aea98551b5e87102740e0438
Author: Gary Kotton <gkotton@redhat.com>
Date:   Mon Jul 23 07:23:14 2012 -0400

    Enable fanout_cast and fanout_cast_to_server to provide topic
    
    The code would make use of the self.topic instead of allowing
    the user to define the topic.
    
    Change-Id: Ibdd4fab6dd019d223c3256d70f123829939056d2

commit d9282aa3021d07d7c96351448da69f60b5e2ff51
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 20:30:49 2012 -0400

    Make test_zmq bind/send to 127.0.0.1
    
    By default, the impl_zmq driver binds to '*' (0.0.0.0);
    For the purposes of testing, we only need to bind to 127.0.0.1.
    Binding to all interfaces could be potentially dangerous, may simply not
    work in some environments, etc. In particular, we do not want our
    Jenkins slaves to be listening on public interfaces.
    
    rpc_zmq_host is set to 127.0.0.1 as well, which avoids hostname
    resolution. Normally, rpc_zmq_host is set to socket.hostname, which
    normally should resolve to localhost, but we do not want to test that here.
    
    Change-Id: I1224799bb399ceaf79088dd622be4b6823f29a41

commit a224d7048068330fb62624c2d2a542d0ad30d8dc
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jul 20 17:04:54 2012 +0100

    Use BaseTestCase for all tests which override config
    
    Fixes bug #1027120
    
    We already have nice helper methods for overriding config and cleaning
    up the overrides, so let's use them.
    
    Change-Id: Ibd501743d1c4ec21cb2b0d22382cb681ee5768ed

commit a852c832e4576e69eb3b15a5989375c79a3aac46
Merge: d5f2152 96bfc33
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 20 14:58:22 2012 +0000

    Merge "Add test-options from Nova /w pyzmq"

commit 9e1bd9d9313a9f324c5b7b02232e8bd2fd12ea8a
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jul 18 16:47:34 2012 -0400

    Add missing convert_instances arg.
    
    When calling jsonutils.to_primitive() recursively, the convert_instances
    argument should be passed along.  This change fixes one place where it
    was not.
    
    Change-Id: I536e1ca05bb4e613fba71298797879587e8b4b00

commit 2d6f84742a3e8ea51ebbfb82cbeacefe97e199d5
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jul 18 16:15:52 2012 -0400

    Track to_primitive() depth after iteritems().
    
    Change jsonutils.to_primitive() to increase the recursion depth counter
    when calling to_primitive() on the result of iteritems() from the
    current element.  Previously, the only time the counter was increased
    was when converting the __dict__ from an object.  The iteritems() case
    risks cycles, as well.
    
    I hit a problem with this when trying to call to_primitive on an
    instance of nova.db.sqlalchemy.models.Instance.  An Instance includes a
    reference to InstanceInfoCache, which has a reference back to the
    Instance.  Without this change, to_primitive() would raise an exception
    for an Instance due to excessive recursion.
    
    Related to nova blueprint no-db-messaging.
    
    Change-Id: Ifb878368d97e92ab6c361a4dd5f5ab2e68fc16e2

commit 1c1b36985be5a4c49b9cfc808edcdfd288c6d0cc
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jul 18 16:00:49 2012 -0400

    Update iteritems test case to actually test iteritems.
    
    This patch updates the jsonutils.to_primitive() test case for when an
    object has an iteritems() method.  The previous implementation was
    mostly a copy of another test and didn't actually test calling
    iteritems() at all.  Now it does.
    
    This is used by NovaBase in nova.db.sqlalchemy.models.
    
    Related to nova blueprint no-db-messaging.
    
    Change-Id: Ie1d71b859219392ab35b82dd3c7932b30e759c89

commit d5f2152dcfc4039de8324bdf75f6a2cd844dbdd0
Author: Yaguang Tang <heut2008@gmail.com>
Date:   Sat Jun 30 02:13:05 2012 +0800

    fix bug lp:1019348,update openstack-common to support pep8 1.3.
    
    also,this patch turns off pep8 E125 check.
    
    Change-Id: I22d2a94d89530586d614af39af17ae542c5e0cbf

commit 96bfc33b393e1d7c4e6ea7dfc86b2b2246c6c97f
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 16:31:30 2012 -0400

    Add test-options from Nova /w pyzmq
    
    Change-Id: Ieebefee89483e5abbcefe1bb9059d89c91dc04df

commit ace759e55d7c87dc66a500d598d1355dd3c0408f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Jul 17 05:52:51 2012 +0100

    cfg: allow empty config values
    
    Fixes bug #1025522
    
    Commit 83044a7 caused this to stop working in Quantum:
    
      api_extensions_path =
    
    and could only be worked around with:
    
      api_extensions_path = ""
    
    Change-Id: I8c1a57225a2c135e6baf567b8e71d61e974da4e2

commit 412ecf59c03b98c7cbb18ce9e1a24267c1f3d730
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Fri Jul 13 18:52:11 2012 -0500

    Don't switch to list_notifier unless necessary.
    
    Some notification tests depend on a different, single notifier being
    used. So, don't switch to the list notifier just because we loaded
    this class; only switch if an actual plugin needs it.
    
    Also: improved the test that makes sure all this notifier-switching
    doesn't break the notifier that was present in the first place.
    
    Change-Id: I170477bccb3ad9505fe6dbfbc214f77c09f6862f

commit ce3071437d1871f77c4d8573cbe5f4ea8c817650
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Jul 16 10:30:25 2012 -0400

    Use strtime() in to_primitive() for datetime objs.
    
    This patch updates jsonutils.to_primitive() to use timeutils.strtime()
    to convert a datimetime object to a string instead of just using str().
    This ensures that we can easily convert the string back to a datetime
    using timeutils.parse_strtime().
    
    Required for the nova blueprint no-db-messaging.
    
    Change-Id: I725b333695930e12e2832378102514326fec639c

commit 2adaf2ffafdb67bd237578f094b78d15da17b772
Merge: 7b43a74 2ab4f39
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 16 13:31:05 2012 +0000

    Merge "Add additional usage info on rpc_zmq_host flag"

commit 7b43a748dda0813a601aa3a81ecb04cee6505601
Merge: 01ded76 8e5eac6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 16 13:29:46 2012 +0000

    Merge "Restore register_opts on impl_zmq module load"

commit 01ded76da8dc119c46707fa6c4be116fda7b7af3
Merge: abadac0 be1e942
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Jul 15 19:10:09 2012 +0000

    Merge "Minor pep8 cleanup in rpc."

commit abadac0567cf8b1ceaf00edf0648225befc578a3
Merge: 0797ad8 57821de
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Jul 15 19:06:13 2012 +0000

    Merge "pep8 cleanup in the plugin code"

commit 2ab4f39c19e32d17f84f52e1bee7ba340edf3777
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 16:46:52 2012 -0400

    Add additional usage info on rpc_zmq_host flag
    
    Change-Id: I8f1f3b42de7253c993e2afa44ed1c0ad4dbbb74f

commit 8e5eac62b96ed684f2d90647bc197bbff86bad07
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 16:47:50 2012 -0400

    Restore register_opts on impl_zmq module load
    
    Change-Id: I6acdf1445e1f03246476292b38d7c52a29934af1

commit 0797ad85e273f45bef7e4089135e88e3401d9405
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 16:44:36 2012 -0400

    Fix typo made in 372d11e990
    
    Change-Id: Iba232257595bb3084052a21a560f2f5551b5f1eb

commit f9a488af4e8cbff5427ec4534bb62b3f2e62c66b
Merge: 9d0040e 23768b1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 13 18:19:42 2012 +0000

    Merge "Exclude .egg files from pep8 checks"

commit 23768b1cecc103e63884543754c516157db544c9
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 13:59:08 2012 -0400

    Exclude .egg files from pep8 checks
    
    Change-Id: I0f403cfa8edec3795f65cf270a9cb2ad0a05d4f5

commit 9d0040ec998d7953e5ab1acd629ca410cc155041
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Fri Jul 13 13:36:59 2012 -0400

    Fix import order of gettextutils in amqp.py
    
    Change-Id: I53ca8308fb61c53274ca1e3d801f22c9b65d41aa

commit 62c19c105e9c273692f37d033ffd405c5dda68aa
Author: Russell Bryant <rbryant@redhat.com>
Date:   Fri Jul 13 11:35:15 2012 -0400

    Add more rpc version docs.
    
    This patch adds some additional documentation, including some examples,
    on making changes to versioned RPC APIs.
    
    Change-Id: I5f40b11e07538f36d0f1299f7e822b408bf8e96a

commit e2e8e4851d30572d301863a81a1c7b8411b19951
Merge: 5a21c63 1fc2abc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 13 15:13:44 2012 +0000

    Merge "Add SKIP_GENERATE_AUTHORS option to setup.py"

commit 1fc2abc1726e4e233b4ff5fb9dff415acd8b9a4b
Author: Dan Prince <dprince@redhat.com>
Date:   Fri Jul 13 09:49:00 2012 -0400

    Add SKIP_GENERATE_AUTHORS option to setup.py
    
    Updates the generate_authors function in setup.py so that
    it will skip generation of the authors file if the
    SKIP_GENERATE_AUTHORS env variable is set.
    
    Authors doesn't currently take that long to generate but having
    the option to explicitly skip it (regardless of whether .git is there)
    seems like a good addition.
    
    Change-Id: Ie18064d2450cecc86f18d0b10e1ce473253d1a51

commit 5a21c63033be67a1f46e788c43a36b9dfa0094f2
Author: Dan Prince <dprince@redhat.com>
Date:   Fri Jul 13 09:38:59 2012 -0400

    Add SKIP_WRITE_GIT_CHANGELOG option to setup.py
    
    Updates the write_git_changelog function in setup.py so that
    it will skip changelog generation if the SKIP_WRITE_GIT_CHANGELOG
    env variable is set.
    
    The motivation for this change is to speed up running sdist which
    gets executed at the begining of a tox run. Some projects (like Nova)
    can take between 10-20 seconds to generate a changelog in this fashion.
    
    Change-Id: I2e75060d303bc8fae784129e8e42f09922a8b09e

commit c80bfb563626200f7587c7ca52433c59a303b469
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jun 28 00:32:52 2012 -0400

    Fix missing gettextutils in several modules.
    
    Fixes bug 1021453.
    
    Change-Id: I05771a588746a0e43fec0078c5c7152dd9d33b9f

commit 7a3ab8ac15b2d73eafbe9eaf722e3a402c5102d6
Merge: 943997e 372d11e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 11 22:46:08 2012 +0000

    Merge "Fix line length for pep8 compliance after cloning into other projects"

commit 943997e9f1d4ec609532a13712561ee817029b81
Merge: d10eaf2 4c9d439
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 11 22:38:13 2012 +0000

    Merge "Add 'filedecoder' method to the jsonutils wrapper module."

commit d10eaf22ebf17635f9408c3627c874aff7f0f860
Merge: 112e0c6 3af0786
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 11 22:38:12 2012 +0000

    Merge "cfg: Fix typo in documentation"

commit 112e0c61ea4a49bef0aa2378af480c5247ea37dc
Merge: 4640597 e1442d1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 11 22:38:11 2012 +0000

    Merge "Fix import order."

commit 46405973410b5e64baec09f293d4752b4f94dd0e
Merge: 289a0b3 8c74b37
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 11 22:38:10 2012 +0000

    Merge "Improve exception from importutils.import_class()."

commit 289a0b328b96693944faf69b43124d4449cdbded
Merge: 92650ab 856503b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 11 21:02:48 2012 +0000

    Merge "Add common plugin framework."

commit 372d11e990a544a645ce74ebfd56f19a0b422d28
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Wed Jul 11 14:48:14 2012 -0400

    Fix line length for pep8 compliance after cloning into other projects
    
    There are a few lines that are close to the length limit so they pass
    the PEP8 check under the common repository but fail the check after
    the code is cloned into another project such as ceilometer. These
    changes adjust the lines to give more space to allow the merge into
    the other projects to go ahead without breaking the pep8 gating tests.
    
    Change-Id: I33a05f5b51120114cc8ceffd0bf1b1ef462ed636
    Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>

commit 92650ab9e9c3ed74029d06cfd8fd26e10a1ef940
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Jul 10 06:39:52 2012 -0500

    Rework the version consumer functionality.
    
    Moved the version routines into a class for better structure.
    Added caching/memoization logic so that pkg_resources/git doesn't get
    called more than is necessary.
    Added periodic-based caching that will only cause the meta info refs to
    be checked at most once a day, to reduce network load for developers. (The
    information in the meta refs should really only change once a month, and
    this will only affect local developer workstation version reporting, so we
    should be fine here.
    Added a deferred version string class and function to allow for consuming of
    the version string but doing the calculation only when it is requested,
    based on test runs in glance.
    
    Change-Id: I6a436c8817f6904959727a76d876b807ec545ee9

commit 44beb84b48051ff374bde6088688d6759a1807eb
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Jul 10 11:12:50 2012 -0500

    Fix Zmq so it doesn't rely on nova flags
    
    * Embeded newlines in logging makes me cry
    * String formatting uses parens not curly braces
    * Fix LP1023039
    * Hard skip Zmq tests so jenkins passes. Someone will have to fix.
    
    Change-Id: I9b12ac47b02edf1d8dba7236550deb8ee33f5e07

commit 22ccc58df8886531b649a8d95251bfd02d40c62a
Merge: ecebfb2 85f6662
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 10 14:15:39 2012 +0000

    Merge "Switch common files to using jsonutils."

commit ecebfb2b2391439a502f4db7801b7992f44e1851
Merge: ed5eae0 8f2b645
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 10 13:09:36 2012 +0000

    Merge "Enable sitepackages in tox."

commit ed5eae09382e572c67243ab1a586a71654b96508
Merge: 278919f 94bf31b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 9 16:46:19 2012 +0000

    Merge "Fix up pre-versioning based on testing in glance."

commit 278919f08513011e97fa30080d5f2986511695ae
Merge: 520f2dd e7b5854
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 9 16:39:27 2012 +0000

    Merge "Update strings like 'openstack.common.notifier.driver'."

commit 94bf31b9143d08bd19e810ba984eb712eb6f0152
Author: Monty Taylor <mordred@inaugust.com>
Date:   Sun Jul 8 11:07:07 2012 -0500

    Fix up pre-versioning based on testing in glance.
    
    Change-Id: I137fee43509f079cb4b2def452cf23b6705cdda5

commit 520f2dd7efa7df2e1e9907cf276296fc0782ad03
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Jul 5 11:10:25 2012 -0500

    Add a new module for use in consuming versioninfo.
    
    The new tag-based versioning produces files that we can consume that tell
    us the versioning. That's all well and good, but what good is automatically
    generated versioning if there are no apis to consume it. This is derived
    from work to add those to nova and python-swiftclient.
    
    Change-Id: I91568ef28a9ed7e7365f66bca2294670df6e0c41

commit be1e942730f2a9d383c66beab12c31504d61d7cf
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Sun Jul 8 06:15:48 2012 -0500

    Minor pep8 cleanup in rpc.
    
    Removed a space, reordered an import.
    
    Change-Id: I418d1f7c6a5a3b8ef231c88b4ef28114ca0eb7cd

commit 57821de9eab66344d14b45e5a14f2e52a23af8be
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Sun Jul 8 05:54:40 2012 -0500

    pep8 cleanup in the plugin code
    
    The nova hacking test turned up one alphabetization error
    that I missed previously.  Also, our path-altering
    process caused one line to exceed 80 characters
    when copied into nova; that line is shorter now.
    
    Change-Id: Ia3acfc25ecc5ba388526766dae3ed03792e906e3

commit 856503b064e79bc0daf1d27bf2ce1fa4ecd62160
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Wed Jun 13 11:51:32 2012 -0500

    Add common plugin framework.
    
    For blueprint novaplugins.
    
    It turns out that most of the plugin framework applies equally well
    to other projects, so it's going into Nova via common so that
    other projects can pull it in with a minimum of fuss.
    
    Change-Id: Ia4455a8ca0b8c1c3e4b0b9647e8cacaf0a47c914

commit d460ebd3dbc8fbcf912e0fb8935a124976c2f234
Merge: ddbb9e1 d9e28ba
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 6 16:34:35 2012 +0000

    Merge "Move get_context_from_function_and_args() to context.py"

commit ddbb9e18c1f9b6492a2b05160da3ccdedb4aedce
Merge: 8a967b1 7d82ec7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 6 15:33:39 2012 +0000

    Merge "Add update.sh to avoid import conflicts"

commit 3af0786b6d2ce0d088db7a9754ba8f35acb175c9
Author: Vincent Untz <vuntz@suse.com>
Date:   Thu Jul 5 14:51:26 2012 +0200

    cfg: Fix typo in documentation
    
    with with -> with
    
    Change-Id: I7a524c024b05639ec7ab4d57b6a52f70a95d2235

commit d9e28ba02c30255511a56a59e93da283c172dffe
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Mon Jul 2 16:28:05 2012 -0500

    Move get_context_from_function_and_args() to context.py
    
    Word on the street is that exception.py may soon be deprecated,
    and context.py is a better place anyway.
    
    (Also removed an import of utils.py because /it/ imports exception.py.)
    
    Change-Id: I856fc6f4558cc01ddca350ee4cfd4684db47475b

commit 85f6662f25e9d2696ec6086a1423c1b93a58cb0c
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Tue Jul 3 00:16:36 2012 -0500

    Switch common files to using jsonutils.
    
    For blueprint use-common-jsonutils
    
    Pretty much just a search and replace.
    
    Change-Id: I66f63e7b0ff82a37d8a6b9acef94f4e10a45bf90

commit 8a967b16dc2ffd60bc19bee09f45e665ddcc9a81
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Jul 2 17:19:06 2012 -0400

    Fix up openstack-common build.
    
    Ironically enough, even though the code to manage this is in
    openstack-common, openstack-common wasn't using it. This patch fixes doc
    generation, as well as setuptools-git integration and versioning.
    
    Change-Id: Ifb74ad539832d8cec4a536a96221eea8fb7527d2

commit 506486550480fb222a92447e1e8baca855d126aa
Merge: 619ed56 55383c9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 2 16:40:03 2012 +0000

    Merge "Fix missing RPCException from raise"

commit e1442d1150b3dd8010f03661e95f9c0315cd8dc9
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Jul 2 12:21:21 2012 -0400

    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

commit 619ed56093d2cfdc0b926cd4907156f5e58dc6d2
Merge: 90ae2f7 52c2c1e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 2 13:38:05 2012 +0000

    Merge "Pass in stream as positional argument to StreamHandler."

commit 7d82ec7308a416358e7ac587431d6c4a5d865970
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jun 29 18:22:29 2012 +0100

    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

commit 8f2b64511c4234ea03b940eae8b57c81ba249604
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Jun 28 17:43:23 2012 -0700

    Enable sitepackages in tox.
    
    This enables support for testing qpid (not available in pip)
    
    Change-Id: I36bc0398ed8e8377dfc8af10ae0981e117a3ec20

commit 90ae2f7a3db5eba091937127ed6acb386c14bdcd
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Jun 28 15:55:31 2012 -0700

    Fix mailmap.
    
    Mailmap was broken in 01cec1dcb1a0b8d6a0ba098f8e18ab3c0f7cabab
    
    Revert offending line only to get unit tests passing again.
    
    Change-Id: I33e8d5d3587b429d44ae60f34ca2f132ce233793

commit 55383c9ac3c4a625038728202854b831a292fdd2
Author: Eric Windisch <eric@cloudscaling.com>
Date:   Thu Jun 28 00:30:50 2012 -0400

    Fix missing RPCException from raise
    
    Change-Id: Ia850b07d29459b760d24f9bffdd88e4176cb7faf

commit e7b5854f73b6cf4c3080ea00208a4b0226bcbb52
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Wed Jun 27 15:41:53 2012 -0500

    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

commit 52c2c1e5f357867226b71e1edbaae54c0733db3f
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Wed Jun 27 13:58:33 2012 -0500

    Pass in stream as positional argument to StreamHandler.
    
    Naming it works in python 2.7 but not in 2.6.
    
    Change-Id: I09cb0e707c428fcfb5d8e825d1acf17b00d84073

commit ae2c6f0c93a1c1bdb2dd503978ef912547114f55
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Jun 26 14:18:00 2012 -0500

    Split read_versioninfo into a method.
    
    Change-Id: Iec1f9776b6e6fcccdc21b2e67754fff1da23458a

commit 71cddc514ac194e2332817673ef76c099dc158cc
Merge: 5a93e1d 16916b6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jun 26 18:59:20 2012 +0000

    Merge "Add common logging and notification."

commit 4c9d439ef24f5afdd74aa9153aa8fc772051e6cb
Author: Tim Daly Jr <timjr@yahoo-inc.com>
Date:   Tue Jun 26 02:48:42 2012 +0000

    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

commit 5a93e1d790422ddf21c223ec77b0355e6b790021
Merge: e3ed98d a3b222f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 25 23:55:16 2012 +0000

    Merge "Add missing gettextutils imports"

commit e3ed98d7afea507a43fcb3450c4d0d9ebd83d84b
Merge: 01cec1d dd22402
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 25 22:07:40 2012 +0000

    Merge "Update tox.ini."

commit dd224027baeeb1949572eab3a9ee651ccc709b49
Author: Clark Boylan <clark.boylan@gmail.com>
Date:   Mon Jun 25 14:39:12 2012 -0700

    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

commit 16916b6129f075e54c1ead915d5131f6d34218ed
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Wed Jun 13 22:46:28 2012 -0500

    Add common logging and notification.
    
    This code is migrated from Nova, and will soon replace it.
    
    Change-Id: I2dacac3ef251d419c7049154f6aaf0c18fdb9bb4

commit 01cec1dcb1a0b8d6a0ba098f8e18ab3c0f7cabab
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Jun 19 16:02:34 2012 -0700

    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

commit 2db4e6855ef82c18e95bdf4c0b8af52269624c0a
Merge: dd331aa c986a17
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 22 19:31:15 2012 +0000

    Merge "Skip argparse when injecting requirements."

commit dd331aa9fa43bbb02d8aa4ff63622d23b8aed1dd
Merge: 510fc47 cf85df9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 22 19:29:14 2012 +0000

    Merge "Adds HACKING.rst to the tarball."

commit a3b222f52c90cf24ae4829d9c7aa3fd096b76c28
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Fri Jun 22 11:33:31 2012 -0400

    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

commit 510fc472728f5746d4ef8346a874699235f58fa3
Author: Dan Smith <danms@us.ibm.com>
Date:   Thu Jun 21 12:20:33 2012 -0700

    Avoid erroneous "Unsupported RPC Version" message if method is missing
    
    The recent RPC versioning support introduced some odd behavior if a non-
    existent method is called. Instead of reporting that the method does not
    exist (as the code used to do, in the form of an AttributeError), it now
    Reports "Unsupported RPC Version". This is highly confusing, as the RPC
    versions *do* match and is just a result of the logic used to check
    every advertised RPC proxy for the method.
    
    This patch notes if any of the RPC versions matched the requested one,
    and if so, raises an AttributeError if the method is never found,
    instead of UnsupportedRpcVersion.
    
    Also add unit tests for the cases where a method is missing, both when
    the API version matches and not.
    
    Change-Id: Icb7b13fa890000f1bd03382d5cce747e3311ef6a

commit 9cc979fee72e8b64ddca5cf5f4889541001e7c1b
Merge: 3b9143f c797a1d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 21 21:19:16 2012 +0000

    Merge "Added dictify() and uuids to the common request context."

commit 3b9143fe10c3502e3b935214941c9ccafed3e82b
Merge: e54850f b686068
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 21 16:40:34 2012 +0000

    Merge "Call exception on the logger, not the logging module."

commit c797a1d651f844bea4276cbef9ac67f85c87d99c
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Fri Jun 15 02:13:13 2012 -0500

    Added dictify() and uuids to the common request context.
    
    This makes the common context similar enough to the nova
    context that we can use it for annotating logs like
    we do in nova.
    
    Change-Id: I622c76f2e3013e4ff5e8c228d197a55918672447

commit e54850fb59ad226961022ff07c8777e0c276df3a
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Wed Jun 13 22:47:26 2012 -0500

    Added a base class for unit tests.
    
    This provides some basic cfg and subout infrastructure
    for tests.  It's similar to the test base used in
    other OpenStack projects, so having it here should make
    migrating tests to common somewhat easier.
    
    Change-Id: I90775bf99313e7dd16929059132ee058287b3585

commit b686068279e13c1b40598117eb78494d9b7f6c91
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jun 20 12:56:28 2012 -0400

    Call exception on the logger, not the logging module.
    
    Change-Id: Ia3cffe7473c59308f9dcbb40fccb8e2028e2aa96

commit cf85df98d02764402b1020dd4fcb5cc9eafa70b6
Author: Dan Prince <dprince@redhat.com>
Date:   Wed Jun 20 12:47:34 2012 -0400

    Adds HACKING.rst to the tarball.
    
    Change-Id: I4fee5c9212bada3288a41bd27af1b4ae1cbdadac

commit c986a17be967fee897897cb8abc86b27d2426f75
Author: Dan Prince <dprince@redhat.com>
Date:   Wed Jun 20 12:39:51 2012 -0400

    Skip argparse when injecting requirements.
    
    Also adds some unit tests parse_requirements.
    
    Change-Id: I3d8625d4627c7933d73059a63f96e19f8d9647ab

commit b76f83946ff9adbfbb482c9ec2fe623e679dde07
Author: Julien Danjou <julien@danjou.info>
Date:   Wed Jun 20 14:09:23 2012 +0200

    Fix import usage in AMQP for rpc.common
    
    The existing line is technically OK, but it's not replaced by update.py on
    file copy, therefore the import of common.rpc.amqp fails.
    
    This fixes this problem by using a different syntax, the one that update.py
    understand.
    
    Change-Id: Id30f581477ab09c2b66fc0d65f1029554b311549
    Signed-off-by: Julien Danjou <julien@danjou.info>

commit 8c74b37f5bdf1141b8c3724c8df460e6562d1985
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue Jun 19 17:08:35 2012 -0400

    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

commit e31b5ceb5592026c23ace2608c0af9f5487d1f07
Merge: 2204ca4 7e16316
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jun 19 17:38:30 2012 +0000

    Merge "Fix nova.rpc references in comments."

commit 2204ca4d4bc94efcfb4d402e3c89e1c20b312021
Merge: f5ca941 1fb2361
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 18 21:48:23 2012 +0000

    Merge "add import_object_ns function"

commit f5ca941543847e62426cf1166a68053d711d4e32
Merge: 9f93872 91fc479
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 18 15:33:49 2012 +0000

    Merge "rpc: Update rpc_backend handling."

commit 9f938720f158889252fa1db44be96745fa48e1ff
Author: Gary Kotton <gkotton@redhat.com>
Date:   Sun Jun 17 04:05:37 2012 -0400

    Update common code to support pep 1.3.
    bug 1014216
    
    Change-Id: I3f8fa2e11c9d3f3d34fb20f65ce886bb9c94463d

commit 925edb3ee8bbd97afaa43b2888ab45d2bca50faf
Merge: c092bd5 341ae3b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 15 13:13:36 2012 +0000

    Merge "Add missing ack to impl_qpid."

commit 1fb23610eb47e4b6d181901fff59b4b30ac2aaad
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Thu Jun 14 17:06:48 2012 -0400

    add import_object_ns function
    
    To support bp:virt-driver-cleanup, there is a desire to have shorter
    driver strings (i.e. libvirt.LibvirtDriver instead of
    nova.virt.libvirt.LibvirtDriver). One way to support this is with
    a new import_object variant that takes a namespace to load from.
    
    If the code fails to load the driver in the prefered namespace it
    will also try loading the full driver path, before throwing an
    exception.
    
    Change-Id: Ib97c92f38685ca89f29890f8015fc413acc744f8

commit c092bd596287a2a66938d01152ea8dbade1926b6
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Jun 14 13:54:30 2012 -0400

    Add autodoc generation to the build_sphinx command
    
    The logic is pulled from the nova code, but has been abstracted
    from being nova specific. It allows us to duplicate less info,
    because we know a lot of the meta information in setup.py anyway.
    
    Once this is in, we'll get autodoc module information everywhere
    pretty much for free, and we can delete the doc/ext dir and the
    doc/*sh from nova. (thanks to bcwaldon for pushing things to be
    better)
    
    Change-Id: I4c55c370ea6c3790958b5412e21e3378f4474104

commit 23d78dddf216cba0471b092fa615e6da6b1b4ebb
Merge: cb0a049 b744609
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 14 17:24:04 2012 +0000

    Merge "add more realistic unit tests for importutils"

commit 7e1631606d642f0def75d684e92f0d3d52501de5
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jun 13 11:11:01 2012 -0400

    Fix nova.rpc references in comments.
    
    Part of blueprint common-rpc.
    
    Strip remaining references to 'nova.rpc' that existed in comments.
    
    Change-Id: I27885918a5e38eb730504c9e88bdda2b72b23257

commit 91fc479399ab12d8ba670c3627582ebfc3950af8
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jun 13 09:47:21 2012 -0400

    rpc: Update rpc_backend handling.
    
    Part of blueprint common-rpc.
    
    This patch updates the rpc_backend option handling in a couple of ways.
    
    1) Set the default based on wherever this code has been copied to.
    
    2) If we fail to import the backend, replace 'nova.rpc' with
    'nova.openstack.common.rpc' just in case the value came from an older
    nova configuration file.  Backwards compatibility is a good thing.
    
    Change-Id: I9ad7c084a2f0813ca1559115e7612f0a24fcce67

commit 341ae3b475f9aab85c9202995529b1d041a71b2b
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue Jun 12 17:17:13 2012 -0400

    Add missing ack to impl_qpid.
    
    Fix bug 1012374.
    
    Johannes Erdfelt pointed out that impl_qpid wasn't acking messages that
    it received.  This turned out to be a nasty oversight, resulting in
    unbounded message queue growth inside of the python-qpid library.  This
    fixes it.
    
    Change-Id: I446530239e16701009c4db8407a344596bb17952

commit cb0a0497e896634243a0e0a03da54e807bed0b46
Merge: 8b33690 6450db6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jun 12 22:26:23 2012 +0000

    Merge "Get update.py to be able to copy rpc."

commit 8b33690375dd59d67ca30a855abf3b087971f70d
Merge: dee31e4 4bfe5a4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jun 12 22:20:36 2012 +0000

    Merge "Add impl_zmq to rpc."

commit dee31e4510b5cea39616d35dac3b0d24f93c1bfb
Merge: 2d4e7b3 be86feb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jun 12 22:07:28 2012 +0000

    Merge "Fix utcnow_ts to return UTC timestamp"

commit b744609fb5c714acf8282f92933d80a48303f833
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Mon Jun 11 17:05:44 2012 -0400

    add more realistic unit tests for importutils
    
    Add realistic tests including objects with and without args to
    importutils.
    
    Change-Id: If23db5ef80cdfa4be95e95b90e647ac2455fffc8

commit 6450db6c125e80ba935b217482bbb96a4adfa44f
Author: Russell Bryant <rbryant@redhat.com>
Date:   Sat Jun 9 05:01:40 2012 -0400

    Get update.py to be able to copy rpc.
    
    Part of blueprint common-rpc.
    
    Change-Id: I634bf7b0ce85900a34c9b5a4a295f1d806458bbf

commit 4bfe5a40a523df45dffc128de2f263eedb51c2e8
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jun 6 21:22:40 2012 -0400

    Add impl_zmq to rpc.
    
    Part of blueprint common-rpc.
    
    This driver just went into nova.rpc.  Pull it in over here.  I haven't
    been able to test this, but I can't get the tests to work in nova,
    either.
    
    There is a bit of a complication with impl_zmq worth mentioning.  It
    requires a service to run (nova/bin/nova-rpc-zmq-receiver).  Only once
    instance of this service should run on a given machine, so it shouldn't
    be copied into each project that uses rpc.  Once openstack-common is an
    installed library, it can be distributed with that, but until then ...
    we'll just leave it in nova for now.
    
    Change-Id: I2bd067be58d943d4f3a90e013b22282217484872

commit 2d4e7b3177f658a2437297f9495211d0075480b0
Merge: 5fc561c fb0f00e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 11 15:01:18 2012 +0000

    Merge "Use 'is not None' instead of '!= None'"

commit be86feba38250988ca9d0c026e29708503f9e189
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Sun Jun 10 18:42:18 2012 +0800

    Fix utcnow_ts to return UTC timestamp
    
    Fixes bug #1011121
    
    Use calendar.timegm instead of time.mktime
    
    Change-Id: Idb8d470f1ef90162641d21122699a026fa38faf1

commit fb0f00e946eff84e855d0721830b5016fe80ea8d
Author: Johannes Erdfelt <johannes.erdfelt@rackspace.com>
Date:   Fri Jun 8 17:08:14 2012 +0000

    Use 'is not None' instead of '!= None'
    
    Fixes bug 1010570
    
    pep8 suggests the former over the latter
    
    Change-Id: Ice3a3b1cc2eea9228fffb4ee40fc360ff79054a3

commit 5fc561c95fd391339030809d9958a3ef45505742
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Thu Jun 7 14:08:38 2012 +0800

    Make jsonutils.dumps more general
    
    Fixes bug #1009848
    
    Fixed jsonutils.dumps to receive other parameters
    
    Change-Id: I34836ae89359bccb689a36a7b486e85bb41d70e4

commit 2d9463709588d88172e125a97200ac813ee79eb4
Merge: 8162886 e67d777
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 8 14:28:54 2012 +0000

    Merge "Add nova time util functions to timeutils"

commit 81628868c2ecf3685c9844510430d15b2ad976b7
Merge: 8dbf60c d1ec5ce
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 8 14:25:08 2012 +0000

    Merge "Add support to include config aliases"

commit 8dbf60c81ba89f578f035e871bde622804053f54
Author: Johannes Erdfelt <johannes.erdfelt@rackspace.com>
Date:   Thu Jun 7 23:22:17 2012 +0000

    Handle xmlrpclib.DateTime types when serializing to JSON
    
    Fixes bug 1010124
    
    Convert xmlrpclib.DateTime types to datetime so they can be serialized
    without creating an exception.
    
    Change-Id: Ifcab69ad81d39d7f4066df5c71c6ab6734fb1fab

commit 3f0df42daeb0229a1c04382ee8973f9b32e9de4b
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Jun 7 18:13:38 2012 -0500

    Fix RPC tests to not use assertIn
    
    * Fixes Bug #1010244
    
    Change-Id: Idac365a1719c49846ef105b90683e631310fbf6c

commit e445ecccff1a4167c7827f775808a649a9886984
Merge: 6d3f317 166593e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 7 14:40:45 2012 +0000

    Merge "Fix a pep8 error."

commit 6d3f31791f391017412fc99cca20b2c47cf374f4
Merge: d8a2e6c cf19def
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 7 14:26:32 2012 +0000

    Merge "Add rpc to openstack-common."

commit 166593e75639e2336108c892962c0ac76fdaed63
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Jun 6 21:57:14 2012 -0400

    Fix a pep8 error.
    
    Change-Id: Iab7e703254a354764a5667425ef887b0afc89115

commit d8a2e6cd1a72357e8d083b0bef150fa82c0e453c
Merge: 9421a82 83044a7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jun 6 20:32:33 2012 +0000

    Merge "Adds support for bol and eol spaces to ini files"

commit 9421a82f70d327363585a7e3056c67a54d4150d8
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Wed Jun 6 13:28:52 2012 -0700

    Move testing dependencies to test-requires.
    
    Change-Id: If0402077cc95811936c55182d90f15ccb37a6ad2

commit 83044a72815ba2a7cec1e6a343c6eeb091c68a30
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Wed Jun 6 11:26:18 2012 -0700

    Adds support for bol and eol spaces to ini files
    
      * Fixes bug 1009639
      * Adds tests
    
    Change-Id: Id00563dfcc6f143c3e86ec380d66cffc967b8c48

commit d1ec5ce4296bf4d56bd9101540b851f782721a1e
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Mon May 21 18:17:35 2012 -0700

    Add support to include config aliases
    
    Implements blueprint config-aliases
    
    * Supports loading deprecated aliased options from a config file
    * Supports using deprecated aliased CLI options
    * For MultiStrOpt Can use mix of name and alias
    
    Change-Id: I04678880bc8ee1f85335f5656367bd1437245c6e

commit cf19def1b13ef0b4abeacad32abc1b46b6e7a47e
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Jun 4 14:43:43 2012 -0400

    Add rpc to openstack-common.
    
    Implements blueprint common-rpc.
    
    This patch imports nova.rpc to openstack-common.  All of the necessary
    changes to the core code to make it compatible with openstack-common
    have been done in nova, so the only changes made here are to imports.
    
    There are more changes made to the tests, but nothing that changes the
    core functionality of the tests.
    
    Change-Id: I17330aa4adfd0f22c449a2376833c7fe9dfd0cf1

commit bdc4fb3183d455f00870981f5b9a200cc1b8b3f1
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue Jun 5 13:36:25 2012 -0400

    Revert "Add a load function wrapper to jsonutils"
    
    This reverts commit 72840edc736b7f4d2366b5049f6516d8f5b901ff.
    
    This change breaks kombu, so revert it since there is no specific need
    for it.
    
    Fixes bug 1009127.
    
    Change-Id: Id0ef8b3948b63d0151289cb7ce8e617d9816bb4b

commit fcfe81e600b4dc1f06498bab93c1f1244e943699
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Jun 4 15:58:30 2012 -0400

    Add gettext support.
    
    This patch adds gettext support for openstack-common modules.  In the
    process of pulling in the rpc code, I didn't want to remove the usage of
    _() that was already in there.  This allows it to stay in a way that
    doesn't conflict with gettext usage in the project using
    openstack-common.
    
    Change-Id: I9cad006f81244f0cce7b7f28659fa1daa5a4268a

commit e67d7775a7a3347c795a5ff3ed8166f850b8598e
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Wed Jun 6 17:51:07 2012 +0800

    Add nova time util functions to timeutils
    
    Fixes bug #1009410
    
    1. Add the following functions from nova/utils.py
    - strtime
    - parse_strtime
    - is_older_than
    - utcnow_ts
    - advance_time_delta
    - advance_time_seconds
    
    2. Write unittests in tests/unit/test_timeutils.py
    
    Change-Id: Ie0bba90833e2ed31bb5ab867a7c1a76a9901cacb

commit c1f45745e240f9cc0d4e6522a71a895471aa94b3
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Sun Jun 3 17:57:26 2012 +0800

    Replace datetime.utcnow with timeutils.utcnow
    
    Fixes bug #1008064
    
    Replaced datetime.utcnow usage with timeutils.utcnow
    
    Change-Id: I8bfdc1abefc3891497554335a3078d4028ef8ac9

commit 4620ed9c99572499622421c2db229183f1a0e3d9
Merge: dfe65cc 874a3da
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jun 5 12:10:26 2012 +0000

    Merge "Create testutils with skip decorators."

commit 874a3dad97b5d02e62d12946b976183f2ac0856d
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Jun 4 15:24:27 2012 -0400

    Create testutils with skip decorators.
    
    This patch creates openstack.common.testutils which includes some
    decorators used to conditionally skip tests.  This is needed for the
    rpc unit tests.
    
    Change-Id: Ic6bc8d58f7dfcd9eb3acd2749c475b9d760b9578

commit dfe65cc17b197b3728e114761739cb8be1ec59d2
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Mon Jun 4 10:25:38 2012 -0500

    Common-ize policies.
    
    Both Glance and Nova make use of (almost) the same policy system,
    defined in glance/common/policy.py and nova/common/policy.py,
    respectively.  They also have independent glue code
    (glance/api/policy.py and nova/policy.py), so that the common
    policy system is substantially similar.  This makes policies a
    perfect candidate for incorporation into openstack-common,
    particularly given that this same code will soon be used by
    Quantum.
    
    This change adds the common policy module (along with some minor
    interface changes and bug fixes) to openstack-common, along with
    a test suite.
    
    Change-Id: I0022a91f16ded28f9dc6b4975ef1b6e4cc8460ac

commit ffbffc3dcaf20a82b91a0b5fa48b74d6edf07d8e
Author: Kevin L. Mitchell <kevin.mitchell@rackspace.com>
Date:   Mon Jun 4 10:27:36 2012 -0500

    Fix pep8 errors.
    
    Fixes a couple of pep8 errors that appeared due to a pep8 tool update.
    
    Change-Id: Ida70b1fb962529d3a157f44dcf2e71af773a4431

commit 72840edc736b7f4d2366b5049f6516d8f5b901ff
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Sun Jun 3 18:00:00 2012 +0800

    Add a load function wrapper to jsonutils
    
    Fixes bug #1008065
    
    Change-Id: I72aba29eea4637643cb7742f2fd4b1f05d15667f

commit 141fe5b9741296f72b0695a85089fd1a0b2c2173
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue May 29 08:27:05 2012 +0100

    cfg: add a global CONF object
    
    Implements blueprint cfg-global-object
    
    Add an instance of the CommonConfigOpts class to the cfg module's
    global namespace.
    
    The usage pattern is:
    
      from openstack.common import cfg
    
      opts = [
          cfg.StrOpt('foo', default='blaa'),
          cfg.StrOpt('bar', default='blaa'),
          ]
    
      CONF = cfg.CONF
      CONF.register_opts(opts)
    
      def do_something_later():
          print CONF.foo, CONF.bar
    
      def main():
          CONF(project='pulsar')
    
    Change-Id: I77e87b1e186c243b2638a4b1c202f865249dafce

commit 3308e123ad4a0699e95e209dcd94cb0dedf7e63b
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue May 29 08:27:05 2012 +0100

    cfg: add generators for iterating over all options
    
    We have a few places now where we do:
    
      for opt in self.opts:
          foo(opt)
    
      for group in self.groups:
          for opt in group.opts:
              foo(opt, group)
    
    Use generators to turn this into simply:
    
      for opt, group in self.all_opts():
          foo(opt, group)
    
    Change-Id: I7a32779c20caeb1bacb85528d7e36c3c18c6c16a

commit e42276a50a3a1a2b4eb0af871154bf802cda1f00
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue May 29 08:27:05 2012 +0100

    cfg: move constructor args to __call__() args
    
    In order to effectively use a global ConfigOpts object, you
    need to be able to initialize the global object with none of
    the information we currently require at construction.
    
    By moving those constructor args to the __call__() method,
    we enable the global object usage model but also make the API
    generally more flexible. For example, you can now reset the
    object and re-use it for parsing a different set of config
    files with the same options.
    
    There are a couple of other minor behavior changes as a
    result:
    
      - print_usage() and print_help() no longer works before
        the object has been called to parse options
    
      - registration of duplicate short options are no longer
        detected until the options are parsed
    
      - the --config-file and --config-dir options aren't
        registered until just before parsing the options since
        the default set of config files can be specified at
        that time
    
      - find_file() can't be used until after the options have
        been parsed, again because of the late registration
        of --config-file and --config-dir
    
    Finally, an unregister_opt() method is added to support
    the re-registeration of the --config-file and --config-dir
    options.
    
    Change-Id: I650d8e299e92cbc5d10da47a7ce1b73ca8066bd0

commit f96acd8a9f0cef80b6e0eb2f9cf980702bba4043
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri May 25 11:39:00 2012 -0400

    Added support for proper bare URLs.
    
    If we want to use github zipballs as a source of depends sometimes
    (which we do) - we need to have the pip-requires parsing understand
    that lines starting with http:// or https:// are urls and should go
    to dependency_links.
    
    Change-Id: I9218159872d6edfebd4b820e6db912e9aabdf7d7

commit 36b5f6eec98a4042b17a2645d8947ffd4c1aee14
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Sat May 19 01:20:14 2012 +0800

    Backslash continuation removal (common folsom-1)
    
    Fixes bug #1001361
    
    Removes backslash continuations
    
    Change-Id: I86fbb950b48a7681b3c1a010b0d0007cd2f12632

commit f34db0fe7414a1e8390a0a04ae33a59e73a755c8
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed May 16 11:34:29 2012 -0400

    Run pep8 on tests.
    
    I noticed that pep8 wasn't running on the tests.  This patch fixes that,
    as well as a couple of pep8 errors in test_cfg.
    
    Change-Id: I4429bfe6813a2e9394efb1753cbebbadb9f23833

commit 654d80b416dc5f413cb791aa838ec8688bf7da44
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon May 14 18:18:38 2012 -0400

    Create openstack.common.jsonutils.
    
    This patch creates a new module, jsonutils.  It is based on some code
    from nova.utils that is used by nova.rpc.  It is being added to
    openstack-common as another step toward being able to eventually move
    nova.rpc to openstack-common.
    
    This module provides a few things:
    
    1) A handy function for getting an object down to something that can
    be JSON serialized.  See to_primitive().
    
    2) Wrappers around loads() and dumps().  The dumps() wrapper will
    automatically use to_primitive() for you if needed.
    
    3) This sets up anyjson to use the loads() and dumps() wrappers if
    anyjson is available.
    
    Change-Id: I41e5759360d515ed53defe69f3e8247aafbcc83a

commit e3babb3748b410f685334de65aaecf943a13ec1e
Merge: 8742566 5f9ca29
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue May 15 13:45:04 2012 +0000

    Merge "Alphabetize imports in openstack/common/cfg.py"

commit 5f9ca29bf4657ca0fa059a6c9bdfe8d85b85545b
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Mon May 14 13:36:42 2012 -0700

    Alphabetize imports in openstack/common/cfg.py
    
    In preparation for enabling alphabetized import checking in Nova
    
    Change-Id: I709fca6a121ba44df193757e5ad838de710c2f15

commit 87425665cf7346c7e548aa53419451d0558eb7d3
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon May 14 18:20:37 2012 -0400

    Remove unused imports.
    
    This patch removes a couple of unused impots from test_utils.
    
    Change-Id: I40a2f4086e33dbcdb2eceb699c82a1350665c181

commit 13d2821bb7cdfeae07774026456f7daa7d8026bc
Merge: 2e1371a 05bc19d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon May 14 15:20:45 2012 +0000

    Merge "cfg: make reset() clear defaults and overrides"

commit 2e1371a13205cd494dc4b9ade79ae20b607256b1
Author: Bhuvan Arumugam <bhuvan@apache.org>
Date:   Sun May 6 15:13:44 2012 -0700

    Tests to cover various mailmap formats.
    
    Bug: 994957
    
    Mailmap might include entries in different format:
       Full Name <email@foo.com> Full Name <email@bar.com>
       Firstname <email@foo.com> Firstname <email@bar.com>
       <email@foo.com> <email@bar.com>
    
    This commit adds a test case to parse these entries.
    
    * tests/unit/test_setup.py
      Remove unused imports.
      Import os and setup methods to verify.
    
      SetupTest: Define unique test case name.
      setUp(): New method to define temporary mailmap file.
      tearDown(): New method to remove the temporary mailmap file.
      test_mailmap_with_fullname(): New method to test mailmap entry
      with fullname.
      test_mailmap_with_firstname(): New method to test mailmap entry
      with first name only.
      test_mailmap_with_noname(): New method to test mailmap entry with
      just email addresses.
    
    Change-Id: Icc018d4b2692ce7a7de757f02d1dd49241c30a6c

commit 05bc19d4e96052463062b6b8ca83852b4b169d48
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Sat May 12 11:52:53 2012 +0100

    cfg: make reset() clear defaults and overrides
    
    Fixes bug #998396
    
    Both Nova and Keystone need to clear the overrides on their config
    object between test runs. It's reasonable to expect the reset()
    method would do this, so let's make it so.
    
    Also add a clear() method with the old behaviour.
    
    Change-Id: I192c5bb07e81f0fb844fa2fd429dc2e7133800de

commit b74081884696f943a23aa8b31b4275e7819a1c21
Merge: d8200cb f879ed1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu May 10 14:28:38 2012 +0000

    Merge "cfg: automatically create option groups"

commit d8200cb38c0a59003a80f533e14f46d0104fc637
Merge: b4bbe11 51ca0bc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu May 10 14:25:25 2012 +0000

    Merge "cfg: allow options to be marked as required"

commit f879ed1ca8e80ba8287b04fd5410e14921fa6b50
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu May 10 14:25:19 2012 +0100

    cfg: automatically create option groups
    
    Implements blueprint cfg-auto-create-groups
    
    Remove the restriction that groups must be explicitly created. Often
    you only need a group to have a name (not e.g. a title or help string)
    so we can easily just auto-create groups for that case.
    
    Change-Id: I150ab3900e3aad0068b93487c8d396d21d26cfea

commit 51ca0bc2d6b0bd72747bb64801c5aabc5604037a
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu May 10 14:25:19 2012 +0100

    cfg: allow options to be marked as required
    
    Implements blueprint cfg-required-options
    
    Add a 'required' flag to option schemas:
    
      StrOpt('foo', required=True)
    
    which causes a RequiredOptError exception to be raised if the
    user fails to supply a value for the option on the CLI or in
    a config file.
    
    Change-Id: Ied7bb25f0c1582c4991d0f212f4871b9358b73fb

commit b4bbe117f7a374c18e573b11aca9da61c4e1c840
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu May 10 14:25:19 2012 +0100

    cfg: use a list comprehension instead of map()
    
    Change-Id: Iaccb71d83d957aae77fa0f6bc71952b899d3a159

commit 5b0b59ed56abcd08b5a3f7fcf1af8639f9ef0a7c
Author: Monty Taylor <mordred@inaugust.com>
Date:   Sat May 5 12:01:18 2012 -0700

    Encapsulate common sdist actions into a cmdclass.
    
    The pattern of running generate_authors and write_git_changelog
    at sdist time is (and should be) repeated in all project's setup.py.
    Instead of copying the creation of the two classes and injection
    of them into a cmdclass dict, we can do it here and have it
    be consistent.
    
    Related to bug 986462.
    
    Change-Id: I0b7b44d58685551482f874b2a6091dec29e6bed6

commit cf0a8a78b33bcdc6694af87fdd978ef4d9616c14
Author: Bhuvan Arumugam <bhuvan@apache.org>
Date:   Fri May 4 22:20:09 2012 -0700

    Truly handle mailmap entries for all combinations.
    
    Bug: 994957
    
    Mailmap might contain mapping with full name. This commit fixes
    it to handle these combinations:
      Foo ZZ <email@foo.com> Bar YY <email@bar.com>
      Foo <email@foo.com> Bar <email@bar.com>
      <email@foo.com> <email@bar.com>
    
    This is inline with mailmap convention described here:
      http://man.github.com/git/git-shortlog.html
    
    * openstack/common/setup.py
      parse_mailmap(): Pull out canonical and alias email addresses.
    
    Change-Id: Iabe9612efecbd18f7a5b0725de7d2515ab24125d

commit e57e9860f40be27cd389a5f02c0d1a113a21861e
Merge: 6dd6e55 79ff0c4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed May 2 16:37:02 2012 +0000

    Merge "Add save_and_reraise_exception()."

commit 6dd6e5565db7d8288791cf6234e26aacdd80e6ce
Merge: 7872874 dc6ec67
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed May 2 16:36:17 2012 +0000

    Merge "Remove common.exception from common.importutils."

commit 78728744dbff05bb4034fe6017ab9954a033b798
Merge: c421e79 3f49342
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed May 2 14:57:45 2012 +0000

    Merge "New ConfigOpts.find_file() for locating conf files"

commit dc6ec67c5c06d411e06e03d393bac863399a67b6
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed May 2 09:41:10 2012 -0400

    Remove common.exception from common.importutils.
    
    This patch removes the usage of common.exception from
    common.importutils.  Instead of raising exception.NotFound() from
    importutils.import_class(), just use the built-in ImportError.
    
    Change-Id: I95e84908d1f80c5ca3bbac049eda8faa64212ae0

commit 79ff0c4e83a871d768ec1368cefe4d3c64430c56
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue May 1 15:24:18 2012 -0400

    Add save_and_reraise_exception().
    
    This patch adds save_and_reraise_exception() to a new module,
    openstack.common.excutils.  This is based on the function of the same
    name from nova.utils.  It is used by nova.rpc, so something equivalent
    is needed in openstack-common before nova.rpc can be moved here.
    
    Change-Id: Icec574a081837e0f2d0548a5759d21b0352dbee6

commit 3f4934226a3abfa55605a2766174c96c8926d795
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue May 1 08:59:18 2012 +0100

    New ConfigOpts.find_file() for locating conf files
    
    Most services have the need to locate files like api-paste.ini or
    policy.json.
    
    This new method attempts to find these files by looking alongside
    the config files already parsed by ConfigOpts and, failing that,
    falls back to a standard set of directories.
    
    Change-Id: I95897816485b88f78854df194cab7872d7c5452a

commit c421e79d6b04f307e6dba3a9916fcf5e3c4630ff
Merge: e0b5dc5 fd8c2e7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue May 1 15:05:27 2012 +0000

    Merge "Support for directory source of config files"

commit e0b5dc5b1ff933be4c744ebc382d2b25fe6cef63
Merge: 13352e4 212b371
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Apr 30 19:33:08 2012 +0000

    Merge "Update exception from importutils.import_class()."

commit 13352e413c13de58f77992f7f5ef36ad1eed7735
Author: Bhuvan Arumugam <bhuvan@apache.org>
Date:   Fri Apr 27 12:29:36 2012 -0700

    Handle authors existed before VCS was around.
    
    Bug: 976267
    
    The list of such authors are stored in AUTHORS.in file. When
    auto generating AUTHORS file, include them as well.
    
    * openstack/common/setup.py
      __doc__: For all methods, remove space and include period.
      generate_authors(): If AUTHORS.in file exist, append the
      content to AUTHORS file.
    
    Change-Id: I05da1e561383cc151e7ef34e75a4600e3afdda6e

commit fd8c2e7c22de79b37fdbc3e6235e9e50fb1f8e2b
Author: Eoghan Glynn <eglynn@redhat.com>
Date:   Mon Apr 23 21:06:56 2012 +0100

    Support for directory source of config files
    
    Implements bp cfg-config-dir
    
    Allow multiple config files to be pulled in from a config directory,
    as opposed to individual config files being explicitly enumerated.
    
    This logic is enabled using the --config-dir=/path/to/config CLI option,
    causing config to be retrived from all matching /path/to/config/*.conf
    files.
    
    Sections may be re-opened across config files, and all config items
    must reside in an explicitly specified section (i.e. it does not default
    to [DEFAULT]). This behavior is unchanged.
    
    Change-Id: Ia29dffe82dfb4742dcf3e8d36b376d906a2492cf

commit 212b3716c92a138b08ef97d8bb609e427d622d45
Author: Russell Bryant <rbryant@redhat.com>
Date:   Sat Apr 28 23:14:49 2012 -0400

    Update exception from importutils.import_class().
    
    Update the message included in the exception from
    importutils.import_class() to include what the inner exception was.
    This is quite helpful as the real error may not have been that the class
    was not found.  It may have failed to import the module that contains
    that class, and it's nice to know that and why that happened.
    
    Change-Id: I085864d230b46adce8921e362f058f9421a5a674

commit b86e37e15e2fbb507ae66c2f57a5e0660fdd1a7f
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Thu Apr 26 15:11:18 2012 -0700

    Fix ordering in HACKING.rst
    
    Already fixed in nova.
    
    Switched:
    from nova.endpoint import cloud
    import nova.flags
    
    Change-Id: I5d4f64d0710c8bb12031c3960401f6d6d2a67843

commit 9768498a537f6046e30920982cf54c91d08d79fa
Author: Brian Waldon <bcwaldon@gmail.com>
Date:   Wed Apr 25 16:11:45 2012 -0700

    Provide file extension when when looking for files
    
    * Allow an extension to be passed to find_config files, defaulting to '.conf'
    
    Change-Id: I022a3b28d9067158e9ed0da741a5e72cb73af167

commit 6e4948b95278f86f5bf2925308797c014cb31c59
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Apr 24 14:56:07 2012 +0100

    Some refactoring of the cfg cache
    
    A fairly misc bunch of changes:
    
     - init cache before registering config-file and just let
       register_cli_opt() clear the empty cache
    
     - use @__clear_cache on set_default() and set_override() since
       these are just used by the unit tests and doing so allows us
       to kill _remove_from_cache()
    
     - use @__clear_cache on reset() too
    
     - remove recursion from _get() and the substitute param
    
     - just use (group_name, opt_name) as the cache key
    
    Change-Id: I66934e748eca9ec03e44d7f80a7e10d96a77d8eb

commit 0bfd6e106a88103b0b751a0b010e9e2055061933
Author: Yuriy Taraday <yorik.sar@gmail.com>
Date:   Sat Apr 14 01:16:35 2012 +0400

    Add caching to openstack.common.cfg
    
    Speedup of 'nova list' benchmark by up to 40%, eliminates 3 lines in
    top-10 cProfile methods.
    
    Change-Id: I2d4636f94d88b4a7e38d1565fdd4d1b8a89e560e

commit 9e55abe2a8bdb09aff2fff0102f2a2dd4e99ebbc
Author: Bhuvan Arumugam <bhuvan@apache.org>
Date:   Thu Apr 12 09:05:11 2012 -0700

    Add AUTHORS generation function.
    
    Change-Id: I0adbf0755a0191c7b68af9ca2f6e50c787ee7043

commit 4acd7829ab0857356594dce3b841f4d785cf2aa1
Author: Russell Bryant <rbryant@redhat.com>
Date:   Tue Apr 3 17:05:37 2012 -0400

    Change behavior in utils.import_object().
    
    Fix bug 972859.
    
    Prior to this patch, utils.import_object(foo) and
    utils.import_class(foo) would return the same thing if foo was the path
    to a class.  This patch changes utils.import_object() to return an
    instance of the class, instead, also allowing you to pass in arguments
    to the constructor.
    
    This patch also removes the odd behavior of import_object() to be able
    to also import a module.  Instead, a new function import_module() has
    been added.
    
    Finally, the three import helpers have been moved to a new module,
    importutils.
    
    Change-Id: Ia2ea64c965692f8c3a29adec332dd93a83980070

commit 4fec57161a42914fae59f931879678c79470d49b
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Apr 4 10:04:34 2012 -0400

    Move auth_str_equal() to a new authutils module.
    
    This patch moves auth_str_utils() to a new module, authutils, for
    helper functions related to authentication.
    
    Change-Id: I83f174486269701deed3500f890832a71ff3e315

commit c2bcf4bd9420e413bb2be7c4b17e8c7686eeea1e
Merge: 3b6b2c5 1dde301
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Apr 11 06:21:20 2012 +0000

    Merge "Create openstack.common.timeutils."

commit 3b6b2c5e8e6d67446127c9f99d7a5104843cb472
Merge: dcd5071 bea9d49
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Apr 4 15:50:16 2012 +0000

    Merge "Add generic PasteDeploy app and filter factories"

commit 1dde301866bcc5c40fd41aaaf82cf8542c69cb2c
Author: Russell Bryant <rbryant@redhat.com>
Date:   Wed Apr 4 10:40:42 2012 -0400

    Create openstack.common.timeutils.
    
    Split time related utility functions out of openstack.common.utils into
    a new module, timeutils.
    
    Change-Id: Ic09952cd48e0b4548e410926cc456cbd515a4e56

commit dcd50714c4f1a207ff53b20475b620de39c0ed4a
Merge: c0541b1 f9cb527
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Apr 4 02:13:12 2012 +0000

    Merge "Add greenthread local storage model from nova"

commit c0541b1ea0a96cb7373112dbfd66484a5c7b674d
Merge: f6cd8b7 34343ac
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 30 08:35:32 2012 +0000

    Merge "Make 'yes' also a true boolean"

commit f6cd8b79deb1f0ae3a132b67727afa0ab786e9ba
Author: Rick Harris <rconradharris@gmail.com>
Date:   Thu Mar 29 04:51:09 2012 +0000

    Typofix, OptionGroup should be OptGroup.
    
    Change-Id: I67473bb847759ce719876e08f8a894e000f11bb3

commit 95c4f5ab1159d69a73c41ba5f4f4a845fe22cc16
Author: Rick Harris <rconradharris@gmail.com>
Date:   Wed Mar 28 21:45:21 2012 +0000

    Create openstack/common/__init__.py
    
    Fixes bug 967808
    
    Change-Id: Ic4c1fc5520cb96f40b6ed87bfff024906f983235

commit 8c0f7dc0702f3e9a0e198a6206ecd2f0f8cc6d62
Author: Rick Harris <rconradharris@gmail.com>
Date:   Wed Mar 28 18:37:16 2012 +0000

    Use absolute import for iniparser.
    
    Fixes bug 967400
    
    Change-Id: I0c028f6b5285cd641dedbcea3132224e404b004e

commit bea9d49615563f73fe8be6ef5e71f96cc8fc1be3
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Mar 16 17:03:56 2012 -0400

    Add generic PasteDeploy app and filter factories
    
    These generic factories allow us to dump copied and pasted
    app_factory and filter_factory methods.
    
    The main difference is the paste configuration changes from:
    
      [app:myapp]
      paste.app_factory = myapp:app_factory
      ...
      [filter:myfilter]
      paste.filter_factory = myapp:filter_factory
    
    to this:
    
      [app:myapp]
      paste.app_factory = openstack.common.pastedeploy:app_factory
      openstack.app_factory = myapp:App
      ...
      [filter:myfilter]
      paste.filter_factory = openstack.common.pastedeploy:filter_factory
      openstack.filter_factory = myapp:Filter
    
    Apart from reducing code duplication, this will also allow us to have
    the generic factories inject other data into the apps and filters.
    
    This could implemented as a new feature in PasteDeploy itself - e.g.
    allow the loadapp() caller supply a python object which is passed on
    to the factories.
    
    In the meantime, Glance has code like this to pass a ConfigOpts instance
    to factories. Keystone is moving a similar way, as will other projects
    as they move away from a global config object.
    
    Change-Id: I928d1f6da154f0f41edd624e25b8918a0e12cb28

commit 34343acba97f41535b2e75866f99d58e44da088d
Author: Sean Dague <sdague@linux.vnet.ibm.com>
Date:   Thu Mar 22 17:32:31 2012 -0400

    Make 'yes' also a true boolean
    
    Adds yes, Yes, and all other capitalizations as a true boolean.
    Updated unit tests to test for these.
    
    Change-Id: I97915f870dd6bba612f74f0ceb78f2399fd81a93

commit a43bfa116dfaefe199c9b4f02344a4b4176baf01
Author: Andrew Bogott <abogott@wikimedia.org>
Date:   Thu Mar 22 01:20:00 2012 -0500

    Added a universal style-guide for all OS projects.
    
    Pursuant to a recent mailing list discussion, this file contains
    the union of all style recommendations from varions openstack
    projects.  The file will be removed from individual projects.
    
    Change-Id: I79c118ff749d7c89d7d88302279ec8cb1530868d

commit 1c30f39901be7bdaf94946d1a9b470beb366bcba
Merge: 88a4f94 f135fd0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 22 18:53:43 2012 +0000

    Merge "Finish implementing MultiStrOpt"

commit 88a4f947307a129d748a482c1d628384f31f1fd8
Merge: b3f9001 a24376c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 22 18:49:18 2012 +0000

    Merge "Avoid leaking secrets into config logging."

commit f135fd041c6dee1aabea2f759d004627638862e2
Author: Johannes Erdfelt <johannes.erdfelt@rackspace.com>
Date:   Wed Mar 14 22:24:14 2012 +0000

    Finish implementing MultiStrOpt
    
    Fixes bug 955308
    
    Previously only multiple string options from the CLI were supported.
    This change adds support for config files too and merges the results
    from both CLI and config files.
    
    Change-Id: I642408c03ed295fac050105fd4380940e876f228

commit a24376c0a87bc8631f61edab8cd463a5c26aa494
Author: Eoghan Glynn <eglynn@redhat.com>
Date:   Thu Mar 22 16:54:26 2012 +0000

    Avoid leaking secrets into config logging.
    
    Implements bp cfg-password-options
    
    Allow options to be declared secret so that their value is
    obfuscated before logging.
    
    Change-Id: Ie2168d218b029d9c12fa5b48342cd5b17b2cc77a

commit b3f900170561c03b40d376e76fdedf49799e0c7d
Author: Russell Bryant <rbryant@redhat.com>
Date:   Mon Mar 19 17:07:24 2012 -0400

    Add auth_str_equal() to common utils.
    
    This function provides a constant-time string comparison.  Its primary
    use case is for authentication to avoid timing vulnerabilities.  Similar
    functions currently exist in keystone, nova, and swift.  The three
    diverged in slight ways immediately after going in.  This version comes
    from keystone, which I consider the "best" version to promote to
    openstack-common.
    
    Change-Id: I39537a21be8a402e34e526466f6b90188344a35d

commit f9cb5279429921e20f0a55e9046f8a78649aa8ad
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Mar 16 14:35:30 2012 -0400

    Add greenthread local storage model from nova
    
    Thread local storage is obviously a very useful facility to have
    available.
    
    Nova has a very simple API for this which uses eventlet's corolocal
    module and weakrefs. This looks to be generally useful and complete,
    so let's pull it into openstack-common.
    
    Change-Id: I52a08124297c9cb79def447436859bd8d2c0b622

commit 13ed88186bb5c6a1900c3bb742d06743fd21ac58
Merge: e8a5ae2 b2c59f5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 14 20:26:17 2012 +0000

    Merge "Fix bug 954488"

commit b2c59f50a8d449d619f52db318cff10211075c53
Author: Joe Gordon <jogo@cloudscaling.com>
Date:   Tue Mar 13 17:25:19 2012 -0700

    Fix bug 954488
    
    Change-Id: I99b764310c575e70aff4a6790e8ba8f55e43deeb

commit e8a5ae2e5aab6b649b57d03f8a03af689d7e6b6e
Author: Jason Kölker <jason@koelker.net>
Date:   Fri Mar 9 17:29:41 2012 -0600

    Import cfg module directly if not in path
    
    If openstack.common is not installed, but another module has declared
    the openstack namespace an ImportError is thrown since the common doesnt
    exist in the openstack namespace. This falls back to importing cfg
    directly from ./openstack/common/cfg.py.
    
    Also ensures that openstack/__init__.py exists in the destination
    
    * Fixes LP951197
    
    Change-Id: I88c26fb7cc1aed97e66b068e4f0562b1f00b2b29

commit 96e8e38ed9c8ed03b5c0e95055b39d5759ed6b9d
Author: Doug Hellmann <doug.hellmann@dreamhost.com>
Date:   Fri Mar 9 11:11:16 2012 +0000

    fix restructuredtext formatting in docstrings
    
    blueprint sphinx-doc-cleanup
    bug 94516
    
    - Correct parameter declarations, list formatting, cross-references, etc.
    - We don't need "let" in generate_autodoc_index.sh since we aren't doing math.
    - Change conf.py to not prefix class and function names with full namespace
      in generated output to save width on the screen.
    
    Change-Id: I9adc8681951913fd291d03e7142146e9d46841df

commit f928399c530cf3f76dd77cbb00bf4453cc39492b
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Wed Feb 22 16:29:59 2012 +0000

    Add ConfigOpts.print_help()
    
    Keystone uses this optparse method.
    
    Change-Id: Ic840b2fb2234a12cd94ca671a8d90cd2affe3a5e

commit 9d2e22a24685ad21faf47513f7709555682da88e
Author: Eoghan Glynn <eglynn@redhat.com>
Date:   Mon Feb 20 09:57:04 2012 +0000

    Promote more complete support for ISO 8601 time.
    
    Support for ISO 861 time representation is now duplicated in nova:
    
      https://github.com/openstack/nova/commit/c30193fbf
    
    and in glance:
    
      https://github.com/openstack/glance/commit/f8f9f171
    
    Note this patch introduces a new dependency on python-iso8601, which
    has already been packaged for Fedora, EPEL and Ubuntu/Debian.
    
    Change-Id: I87c32effa97d3b7a8d869522b62c0c6fb31bcef8

commit 24535fbdf57b2573105154a2f6a7535802414a7d
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Fri Jan 20 01:10:58 2012 -0500

    cfg: fix a small comment typo
    
    Change-Id: I2646d7e674ef3d1759558e820f051cc5e7f3b4ae

commit add5f08f728d85ee5cd8d184c426acc6a5d590df
Merge: 6e2b111 508d090
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 20 06:32:09 2012 +0000

    Merge changes I71d99f00,Ib91b5af0
    
    * changes:
      Add git changelog method.
      Add git vcsversion method.

commit 6e2b111c2ba75a909d61259c0ac119bd10ee1e1b
Merge: 8f1de0c ad934e2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 20 06:31:11 2012 +0000

    Merge "Use default values for requirements parsing."

commit 8f1de0c493a68eec5801037590d769e711f19127
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Sun Feb 12 16:04:21 2012 +0800

    cfg: unneeded multiple inheritance
    
    Fixed bug #927650
    
    In python=<2.6, collections.Mapping inherits from
    collections.Sized, collections.Iterable, and collections.Container
    which are also subclasses of object.
    
    Change-Id: I6238c683324127abd9fb637748a10b6bdb2961e0

commit 684ea9f2eef2926d3e5856eea124a47e475ff3ae
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Sat Feb 11 20:18:08 2012 +0800

    PEP8 cleanup (openstack-common)
    
    Fixes bug #930625
    
    Remove backslash continuations in openstack-common.
    Fix type checking taboos.
    
    Change-Id: I49ddb9ff5fa5af760dcfccb52cb4793b71e02f19

commit 2ad09351f3c4f69ffcae16815b76eb28cb07a9b7
Merge: 763940b 8723af7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Feb 10 17:32:00 2012 +0000

    Merge "Disable ConfigParser interpolation (lp#930270)"

commit 763940b4526ab0e5dbdf38bd8d904b56913e7179
Author: Zhongyue Luo <zhongyue.nah@intel.com>
Date:   Fri Feb 10 17:21:32 2012 +0000

    Backslash continuations (misc.)
    
    Fixes bug #925166
    
    This patch for packages which have few backslash continuations.
    
    Follow up patches will be for packages network, scheduler, virt,
    db/sqlalchemy, tests, and api/openstack.
    
    Change-Id: I4200010b47b33fa8b9115b5d379b543200f6668d

commit 8723af7665d004ae088d5066b795877c7d8f890f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Feb 10 17:14:52 2012 +0000

    Disable ConfigParser interpolation (lp#930270)
    
    This breaks e.g.
    
      volume_name_template=volume-%08x
      instance_name_template=instance-%08x
    
    and is not part of the API contract anyway. We use $opt based value
    interpolation.
    
    Change-Id: I7ba566ae7c9a77322b52c67c5e1ffbffb760f0fc

commit 508d090e463e15da3e5db17b0a4a04cab167aeba
Author: Monty Taylor <mordred@inaugust.com>
Date:   Tue Feb 7 10:02:45 2012 -0800

    Add git changelog method.
    
    Change-Id: I71d99f00b2154bf151a1521016118ba6bd088f79

commit ad934e237d72ccec57910195796b9c9e418c7cfa
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Feb 6 07:39:43 2012 -0800

    Use default values for requirements parsing.
    
    Change-Id: I88a38441d8f3e6e2ef02269c41d4590cbd4acbcf

commit a9e10729737c33a4c29c409ec966ce64301383c7
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Feb 6 07:14:02 2012 -0800

    Add git vcsversion method.
    
    Leaving in the branch_nick for now - I think we need to go through the
    projects using this code and ensure that they aren't going to get screwed
    before we remove it.
    
    Change-Id: Ib91b5af050244f44cd811ca47cb6e2c53ef74ddb

commit 6f08fb4edabd0be6a61fca91b3cee15433bc110f
Merge: 54f0d4e 2ca2b4b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 9 08:34:15 2012 +0000

    Merge "Updated tox config for multi-python testing."

commit 54f0d4eb858143b07df9a026088f0d4e02bfad87
Merge: 1a21847 bf1d463
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Feb 9 08:26:06 2012 +0000

    Merge "Split functions to avoid eventlet import."

commit 1a21847271ebebfef0d8158eafbe4172b5c62c98
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Feb 8 12:33:30 2012 -0600

    fix namespace declaration
    
    Change-Id: Ib23b9a264173f061afeb72809a9ac40f907d419a

commit 2ca2b4b49367d6033bdd2c5e47d17392e7aba318
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Feb 6 09:49:09 2012 -0500

    Updated tox config for multi-python testing.
    
    Change-Id: Ib1f768c6783db0e63cb51dfc767ae5a31a295c76

commit bf1d46353edba3f6a46edf2bc96fb9452efeb9aa
Author: Monty Taylor <mordred@inaugust.com>
Date:   Mon Feb 6 08:40:50 2012 -0500

    Split functions to avoid eventlet import.
    
    Some of these functions are used in setup.py. In a virtualenv
    based workflow, python setup.py sdist is called to create a
    tarball which is then installed into the virtualenv. These
    functions need to be in a separate file so that they can be
    imported by setup.py without eventlet needing to be installed.
    
    Change-Id: I6f7dc9614895b8c91135c62373b98afe55e1fc7d

commit 2f9fdc0e9f4cacda51350ecbf3fbf7d5e0d32268
Author: Anthony Young <sleepsonthefloor@gmail.com>
Date:   Thu Feb 2 23:28:24 2012 +0000

    Implements blueprint separate-nova-volumeapi
    
    [...]
     ** Removes flag osapi_extension and replaces with osapi_compute_extension and osapi_volume_extension
    [...]
    
    Change-Id: I4c2e57c3cafd4e1a9e2ff3ce201c8cf28326afcd

commit d383f78f8ca27eaf982d150fd8c955f8bd451690
Author: Vishvananda Ishaya <vishvananda@gmail.com>
Date:   Thu Feb 2 23:25:53 2012 +0000

    Makes common/cfg.py raise AttributeError
    
      * fixes bug 915039
      * includes test
    
    Change-Id: I67b886be3b5af3763f52fffe54085975d61d61eb

commit 8441babf22a597de4a526ec11538cb0c6b503646
Author: lzyeval <zhongyue.nah@intel.com>
Date:   Thu Feb 2 23:24:46 2012 +0000

    PEP8 type comparison cleanup
    
    Fixes bug #910295
    
    The None, True, and False values are singletons.
    
    All variable *comparisons* to singletons should use 'is' or 'is not'.
    All variable *evaluations* to boolean should use 'if' or 'if not'.
    
    "== None", "== True", "== False", and "!= None" comparisons in sqlalchemy's
    where(), or_(), filter(), and_(), and select() functions should not be changed.
    
    Incorrect comparisons or evaluations in comments were not changed.
    
    Change-Id: I087f0883bf115b5fe714ccfda86a794b9b2a87f7

commit af365e448b805812e0cec527f97373e8a050d64a
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jan 27 20:01:39 2012 +0000

    Add the Mapping interface to cfg.ConfigOpts
    
    Implements blueprint cfg-mapping interface
    
    With cfg, option values are accessed via attributes on ConfigOpts
    objects e.g.
    
      conf = ConfigOpts()
      conf.register_opt(StrOpt('foo'))
      conf()
      print conf.foo
    
    One use case that isn't easily supported with option values represented
    this way is iterating over all the registered options. Standard
    interfaces for listing attributes on an object aren't suitable because
    they will list more than just the options.
    
    For this use case alone, it's worth having ConfigOpts implement the
    mapping interface. That way we can do e.g.
    
      for opt, value in conf.items():
          print "Option %s = %s" % (opt, value)
    
    It's interesting to compare argparse's approach to this problem - option
    values are attributes on a Namespace object which has no attributes or
    methods to pollute the namespace of option names. This is a nice
    approach, but would mean that we would be passing around both a
    ConfigOpts object and a Namespace object. That's a bit too much overhead,
    and the mapping interface provides a usable workaround where there is a
    conflict.
    
    Change-Id: Ic113919a20291048f962999229c76884ebdd5ad8

commit 7633bef9382bc6038837d19eb535bfbdcac76f3f
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jan 27 16:27:25 2012 +0000

    Re-factor update.py to avoid breaking tests
    
    nosetests tries to import update.py and fails.
    
    Re-factor the code so that we have a main function that doesn't get
    executed on import.
    
    Note: setup.py would break nose similarly, except nose ignores setup.py
    by default.
    
    Change-Id: I609019d492f6fc2d7f2e8b6165228f879cf1ddb7

commit 9d5ac5225d5daad3e0ab49f494641281f8fb9613
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Jan 26 12:11:02 2012 +0000

    Add a script to copy code into other projects
    
    See: http://wiki.openstack.org/CommonLibrary#Incubation
    
    Change-Id: Ie90d40952909f766fdcac38379bf6b1ac1a0e5c7

commit 3ae78e82c8459783243aeccf2ebfe2a6c9419ba9
Author: Jason Kölker <jason@koelker.net>
Date:   Mon Jan 23 15:22:09 2012 -0600

    Pull openstack.nose_plugin from pypi
    
    Change-Id: I54372df3f42b806e37a71338d2779887d1c591ce

commit fbf2500e62faf0bbd8ae202b66fd0d0e8561b2f3
Merge: 3ca8215 8d72243
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jan 23 15:36:37 2012 +0000

    Merge "Add support to cfg for disabling interspersed args"

commit 3ca8215426f8eb651174b6859e12e0a9f29d4494
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 23 15:21:50 2012 +0000

    Add cfg test case for recursive substitution
    
    i.e. test that if blaa='blaa', foo='$blaa' and bar='$foo' that
    the value of bar after substitutions is 'blaa'
    
    Change-Id: I01d370832a871603b7cb47bfb3546f6aaad8c34d

commit 8d7224325f56b624a3059f28983b090725d1fb2a
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Mon Jan 23 10:42:07 2012 +0000

    Add support to cfg for disabling interspersed args
    
    Implements blueprint cfg-disable-interspersed-args
    
    Nova currently relies on cfg being implemented with optparse because it
    uses optparse's disable_interspersed_args()
    
    The use case for this is if you do:
    
      $> nova-manage --verbose create --project foo --user bar
    
    you want invoking ConfigOpts() to return:
    
      ['create', '--project', 'foo', '--user', 'bar']
    
    as the "extra" args rather than aborting when it doesn't recognize the
    --project arg.
    
    This is a reasonable use case for cfg to support and it should just have
    {disable,enable}_interspersed_args() methods.
    
    If we ever switch from optparse to argparse, we'll do something like this:
    
      parser.add_argument('--verbose')
      ...
      parser.add_argument(
        'extra_args',
        nargs=argparse.REMAINDER if disable_interspersed_args else '*')
      ...
      ns = parser.parse_args(...)
      extra_args = ns.extra_args
    
    i.e. we will need an 'extra_args' multi-value positional argument in any
    case and we'll just pass nargs=REMAINDER if we want trailing options to
    be included in the extra args.
    
    Change-Id: I3ecb7dc18230327cf5aaaa7d832224e64aafa40c

commit 35aa7a3485fe8ca19b4f7e4af6517b668404bc48
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Jan 12 07:04:39 2012 +0000

    Get cfg test cases to 100%
    
     * Test cfg.find_config_files() sys.argv usage
     * Test boolean values in cfg config files
     * Finish off incomplete cfg bad value test case
     * Test register_opts() and register_cli_opts()
     * Test the quiet ignoring of option/group re-registration
     * Test cfg print_usage()
     * Test explicit option group titles
    
    Change-Id: Icbe4b7c48d4785551f06873821d1be758adf942c

commit d567e9a31392aace25216b3f02f95552b8d43472
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Jan 12 06:55:25 2012 +0000

    Add cfg test case for exceptions' __str__ methods
    
    Increases coverage from 93% to 97%
    
    Change-Id: I6a41b31e29238831fe2a888d5d64dc0bffd770c0

commit 64f3da8df984fe3e8ef437897f4899bfa0a9dd8c
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Thu Jan 12 06:33:00 2012 +0000

    Fix some cfg test case naming conflicts
    
    As pointed out by Vish, there are duplicates of:
    
      OverridesTestCase::test_default_override
      OverridesTestCase::test_override
      SadPathTestCase::test_conf_file_not_found
    
    Also, rename the ConfigFileOptsTestCase so it is obvious they
    don't clash with the tests by the same name in CliOptsTestCase.
    
    Change-Id: I1d650d05d32501623cfed8f0b6399858d101ae02

commit e2c0d86b1c461dbfd0258ed1715e7f2faaf9f119
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Jan 10 20:51:49 2012 +0000

    Add new cfg module
    
    As described here:
    
      http://wiki.openstack.org/CommonConfigModule
    
    The module implements an API for defining configuration options and
    reading values for those options that a user may have set in a config
    file or on the command line.
    
    The module is successfully in use in both Nova and Glance. Some work
    remains in Nova to switch from using it under a gflags compatible
    shim layer, but Glance is using it fully.
    
    There doesn't appear to be any blockers to other projects moving over
    to it fairly easily. Swift would perhaps be the next project to tackle.
    
    Just to go through potential future compatibility concerns:
    
      - Nova (the scroundrel) hackily uses the private ConfigOpts::_oparser
        in order to disable interspersed args. This was just for nova-manage
        and can probably be resolved some other way. In any case, Nova
        shouldn't switch to openstack-common's cfg API until it removes this
        hack.
    
      - the CommonConfigOpts subclass set of logging related options is
        perhaps assuming too much about what configuration options should
        be common across all the projects. However, it seems a fairly sane
        set and the worst that can happen is that projects avoid using it.
    
      - the parameters to the Opt constructor fairly closely mirror
        optparse, but they're fairly generic and shouldn't prevent us from
        switching to e.g. argparse
    
      - stuff like %prog expansion in the ConfigOpt's usage ctor param is a
        similar concern, but it's a very minor concern.
    
      - find_config_files() search path is perhaps too much policy for
        openstack-common; however, it is probably as generic as it could
        be and projects which need a different policy can just not use
        the function
    
    On the whole, I think we're in good shape wrt future compatibility.
    
    Change-Id: I279a9db7806d80aff3b9b085b4a9e4fb193662f9

commit 2e1dda4b75659117dc09ea86973b3035c8c2bd6f
Merge: aa4729f 455c9e7
Author: Jason Kölker <jason@koelker.net>
Date:   Fri Jan 6 11:42:34 2012 -0800

    Merge pull request #3 from emonty/master
    
    Use latest tissue update - ready for gerrit

commit 455c9e754d38b832aa040a287a8bb7ba20ef5947
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 6 10:19:25 2012 -0800

    Updated README with instructions.

commit 3243ee798784535c13c5c07b5049c3c7565fd850
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 6 10:17:54 2012 -0800

    Removed run_tests.sh in favor of tox.

commit 2047c04581400286246b5babdb9fecdbcad7829d
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 6 10:12:58 2012 -0800

    Added .gitreview file.

commit 3d9a21710b4b5eabf6f45dbe6c9765bba9e3b04d
Author: Monty Taylor <mordred@inaugust.com>
Date:   Fri Jan 6 10:12:22 2012 -0800

    Added tissue support back in.

commit aa4729fd0c8bf61f4b23f5388ce00c02413b0952
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Jan 4 22:32:37 2012 -0600

    make sure a '_' function is availible for nose

commit 1ca528dcfd9117d2d13eae4c31eb0cd3a05937b6
Merge: 0120fec 1a8c7db
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Jan 4 20:10:14 2012 -0800

    Merge pull request #1 from emonty/master
    
    Changes to make things use tox

commit 1a8c7db488060483e788b4c03a5e05cc477aa79c
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 4 19:16:29 2012 -0800

    Use nose and tox.

commit 1f08ca07531c8686811f88a4bdd8843036f566c1
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Jan 4 19:15:50 2012 -0800

    Added pip-requires and tox.ini to run tests.

commit 0120fec292a039eed9e60b3da6d78d464a413c86
Author: Jason Kölker <jason@koelker.net>
Date:   Fri Dec 2 16:13:43 2011 -0600

    add some server tests

commit a1a2e45d0b5306e0fd0ba705ac0ce9021e63ac85
Author: Jason Kölker <jason@koelker.net>
Date:   Fri Dec 2 13:46:16 2011 -0600

    moar utils tests

commit 94261f4f6dec2c30124fb117118fb271ea13c95a
Author: Jason Kölker <jason@koelker.net>
Date:   Fri Dec 2 13:17:43 2011 -0600

    import should not return an instance of the class

commit a71658d1f62fcee63cf55cc6ef7a3f1a13bfee56
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 17:54:11 2011 -0600

    add utils test

commit 3bbeb69487c70aa9ebc7fa69c93d6e3544a3aa68
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 17:21:38 2011 -0600

    use isinstance and types.*

commit 146c23070c13f03b6d0e2ccbe33fa7c892119d65
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 17:12:38 2011 -0600

    add context middleware tests

commit 52b6e8b517358d02f2fbde548a4735d4634edb27
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 16:12:38 2011 -0600

    add more coverage to test_extensions

commit 52942e2912bf0a4e5caa84d20ef83cb9b6d565c0
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 12:45:11 2011 -0600

    add exceptions test coverage

commit 49473658b6f7d678262237d27daf3c52db7d8220
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 11:29:20 2011 -0600

    add context 'tests'

commit ff6cc67049f737ecf9204e044230df97afd1767f
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 11:22:00 2011 -0600

    add more config tests

commit b11410edde201b9f80701a422e8eac58079c3309
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 10:55:57 2011 -0600

    make fix_path a real function so it can be mock'd

commit 19440531e96179137534ec52aabfd8b337f09276
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 10:54:08 2011 -0600

    remove unused imports

commit e30bc01dd7601865c30800c23cba4d3b2654c7fb
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 10:35:39 2011 -0600

    mox isn't used anywhere, but I will be using mock

commit 6bf56a0d259792d179ff02425bfb96d420b794bb
Author: Jason Kölker <jason@koelker.net>
Date:   Thu Dec 1 10:34:43 2011 -0600

    Only list requirements in the setup.py like it should be

commit a4fb90f3e343c36cc8b3e60a5a3580ee273eae62
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Nov 30 19:38:42 2011 -0600

    Add default nosetests config
    
    Default to using coverage with html output reporting, tissue for pep8
    checking, and openstack-nose for output formating when running tests
    directly under nose.

commit 46f05ddb01122c7ce347da94f3419a4c96766a49
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Nov 30 19:15:18 2011 -0600

    Rename setup_extensions_test_app so that nosetests ignores it
    
    Allows the use of openstack.nose_plugin's coloring/output for
    nosetests should the user desire to not use run_tests.sh/py

commit a7050e4cb6ef18a086886faa581f798a16756999
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Nov 30 19:14:47 2011 -0600

    ignore cover's html directory

commit 772487bbbbbe66d8c47416893eb6faa3f4735927
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Nov 30 19:12:59 2011 -0600

    don't tag rev

commit aa16a59f7fb8d43c18cd0da107ef5f1f2938a151
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Nov 1 13:47:46 2011 -0500

    add __init__.py so tests run, remove bin and skeleton from pep8

commit 3000f0c0c1b9b0520d59af61155916ea16586967
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Nov 1 13:36:31 2011 -0500

    remove bzr requirement

commit 3a817e27cf915b413a6e111cd1ae6971e1046859
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Nov 1 13:35:42 2011 -0500

    remove the version requirement on mox

commit 04661c1344386ed808b43a5992710efab9c79bdb
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Nov 1 13:33:53 2011 -0500

    put requires in setup.py so when package gets included as a requirement, the requirements follow along

commit 12edc653f55015627b3f51dacf5c15e1d182da34
Merge: 997c2e8 99b2c6c
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Nov 1 13:26:51 2011 -0500

    Merge commit '99b2c6c202b1ec450e5f7bc1c4080f8c36773376'

commit 997c2e8eb0ade364a8920dd085ec0e24f56182fb
Merge: 1a8fa72 02c95ae
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Nov 1 13:26:41 2011 -0500

    merge in upstream

commit 1a8fa72410cacaf2589544ecc161306de9d13766
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Sep 28 14:04:17 2011 -0500

    Edited README via GitHub

commit 1cb90db5a45009ce5600b00d0622ecbd9be915ad
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Sep 28 11:28:22 2011 -0500

    port execute and utcnow functions from nova

commit 4ed91c672fa549706a7d3d648e1ae883d2cfaeaa
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Sep 28 09:45:39 2011 -0500

    update setup.py to only have common requires

commit 77c5535b88e1e8aa9eb13a7defcdfb7ed8e2c221
Author: Jason Kölker <jason@koelker.net>
Date:   Wed Sep 28 09:44:00 2011 -0500

    remove paste templates from common

commit 9679568041b42a91c93e2b13aec5fa2a33912039
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:55:35 2011 -0500

    Add readme to make github happy and the manifest so the templates get installed

commit 462969297ca6b06c5bf5bda14c7b3ff020cbd0b3
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:55:06 2011 -0500

    add Paste* requirements

commit e8fcb19c252c9653eacbe44d23a69717ccccaae6
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:45:23 2011 -0500

    fake out the options needed and allout output to specific dir

commit 561048e4454a414e789053ac75dba8eac51db9ab
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:37:24 2011 -0500

    add the openstack paster command to spit out the template

commit 466ce09ef1b54afc340adfae59ce08fb8a6adb7e
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:26:15 2011 -0500

    use the project variable in the README

commit 9b937d387730c4e432e65a985b437cba861031e1
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:24:43 2011 -0500

    update the setup.py template

commit afda0b0b98b9eec86166d9245d11417b08382f8a
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:21:55 2011 -0500

    make version.py a template

commit 67de41b219b7e3d017de5b654dccdcdfa0c7b81a
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:20:40 2011 -0500

    pull parse_mailmap str_dict_replace from nova

commit f66de377d9a66928e691e10c94baa0b64006805f
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 17:09:36 2011 -0500

    add openstack templates

commit 33fc5345df899cd94d788d1a0fc7a761f09a7b83
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 15:10:46 2011 -0500

    use package.upper

commit f9e64838086cb13fc1b88fbd7ff3d1560cc721b2
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 14:34:16 2011 -0500

    make the skeleton project a template

commit 43b31973c0b7da171c0fd6bcbb56d8cc8326dca7
Merge: 016e6ae dbab61c
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:44:51 2011 -0500

    Merge openstack-skeleton into templates

commit 016e6ae629f1d8207f02aa05ad9236fccc203a92
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:34:12 2011 -0500

    add paste directory

commit 3b8f3c345b13cf1f5ff86c017344c346ebb06a02
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:24:48 2011 -0500

    make naming consistant

commit a21940e2d325136661b5283bb15f1fbf9942477b
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:21:47 2011 -0500

    reog from import merge

commit f90e85378df8f8afe22acd530223c09cb9f7bc4c
Merge: 0603198 8447a21
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:19:33 2011 -0500

    Merge branch 'master' of /home/jkoelker/openstack-skeleton

commit 0603198fa5dd07106403c8a25b0788b425e1cbcc
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:05:57 2011 -0500

    add the license header

commit d6eae0ebb7378e091ea094e9380a968337e8c32c
Author: Jason Kölker <jason@koelker.net>
Date:   Tue Sep 27 13:03:10 2011 -0500

    initial commit

commit 99b2c6c202b1ec450e5f7bc1c4080f8c36773376
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Sep 14 15:52:30 2011 +0530

    Rajaram/Vinkesh|increased tests for Request and Response serializers

commit e368fe3d7ac12d88e78f403cd9e58547776d2fe5
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Fri Sep 9 14:29:37 2011 +0530

    Rajaram/Vinkesh|added config test file from glance

commit b9954d5046ff0ccc6f280ebfcfd0592d64ff71b9
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Fri Sep 9 11:56:02 2011 +0530

    Rajaram/Vinkesh|Default xmlns for extension serialization can be overriden, added default factory for extension middleware

commit 02c95aeb2ffe112f7b60a1d3c53cdde22bc5db4d
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Thu Sep 8 18:29:40 2011 +0530

    Rajaram/Vinkesh | Copied tests for wsgi from nova. Added default content/accept types in Request which can be overridden by projects. Copied tests for XML serialization of Extension Controller's action from nova

commit 87dceb46c403305264387925efd5baa1ecb91c54
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Sep 7 18:08:28 2011 +0530

    Rajaram/Vinkesh | Fixed the extension bug where custom collection actions' routes  in resource extension were not getting registered

commit 2a529c6cb7cfed08a7afe8fc0f8249bc9bdb2621
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Sep 7 17:07:19 2011 +0530

    Vinkesh/Rajaram|Added nova's extension framework into common and tests for it

commit 96b9a548521cefb7c1b7dd5229c89b8fec53de85
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Sep 7 17:05:16 2011 +0530

    Rajaram/Vinkesh|Added nova's serializaiton classes into common

commit bd39e053522ab7681d32a1a78d2726bdcc6cdd75
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Sep 7 16:53:31 2011 +0530

    Vinkesh/Rajaram|Added scripts to run tests from nova

commit dbab61cd6bb070b5fc40a5fdc49b2caf3b20675a
Merge: f314bc0 0ec0a05
Author: jaypipes <jaypipes@gmail.com>
Date:   Tue Aug 30 20:08:40 2011 -0700

    Merge pull request #2 from rajarammallya/master
    
    Made openstack.common a module and removed code references to glance

commit 8447a2172ad1c78878df1561cd277b627b59d9ad
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Aug 31 08:29:34 2011 +0530

    Rajaram|renamed AppBaseException to OpenstackException and app_config_dir_name to config_dir as per jaypipes' feedback

commit 0ec0a05aafbeec0b02da7e08ee8de69b459495df
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Wed Aug 31 08:29:34 2011 +0530

    Rajaram|renamed AppBaseException to OpenstackException and app_config_dir_name to config_dir as per jaypipes' feedback

commit adc495d106242a77daca1d2decdb4ac1d11e85be
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Tue Aug 30 14:09:14 2011 +0530

    Rajaram/Vinkesh| restructured wsgi.resource to allow inheriting classes to override serialization, deserialization and action execution

commit 7f842efba56125e0903a13a9e50a925adef48bc2
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Tue Aug 30 14:09:14 2011 +0530

    Rajaram/Vinkesh| restructured wsgi.resource to allow inheriting classes to override serialization, deserialization and action execution

commit 00d9697873e36019681392c9077c615c8c19f099
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Thu Aug 25 10:58:45 2011 +0530

    Rajaram/Vinkesh | Removed references to Glance in code

commit 0789e762583f3b306aa50c8c74c48256e731eb6c
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Thu Aug 25 10:58:45 2011 +0530

    Rajaram/Vinkesh | Removed references to Glance in code

commit f4c52cb3c816d7b182f927f717c7c27afc1763ae
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Mon Aug 22 11:58:29 2011 +0530

    Vinkesh/Rajaram|fixed setup.py and made openstack a module with a __init__.py file

commit 77b761d6463fcec383c12bf8ee0df1ae1410c464
Author: Rajaram Mallya <rajarammallya@gmail.com>
Date:   Mon Aug 22 11:58:29 2011 +0530

    Vinkesh/Rajaram|fixed setup.py and made openstack a module with a __init__.py file

commit f314bc0457781846c116b9cc0ad24ea49891d2d9
Merge: 02fb917 e2edc1c
Author: jaypipes <jaypipes@gmail.com>
Date:   Fri Aug 12 09:18:55 2011 -0700

    Merge pull request #1 from rconradharris/adds_syslog_support
    
    Adding syslog support

commit 1449fb6d05b2f7faeef462223cd557f853f149d9
Author: Rick Harris <rconradharris@gmail.com>
Date:   Thu Aug 11 20:27:59 2011 +0000

    Adding syslog support

commit e2edc1c64e5d736dcad510f4ae8f862bbac55570
Author: Rick Harris <rconradharris@gmail.com>
Date:   Thu Aug 11 20:27:59 2011 +0000

    Adding syslog support

commit 02fb917da8a42b38720ebe31c4d40b180b00d632
Author: Jay Pipes <jaypipes@gmail.com>
Date:   Tue Jul 26 12:51:10 2011 -0400

    Add some more generic middleware, request context, utils, and versioning. Add basic template for server binary

commit 9f3df201251fdf0756371bdc50330a1440ff5349
Author: Jay Pipes <jaypipes@gmail.com>
Date:   Tue Jul 26 12:51:10 2011 -0400

    Add some more generic middleware, request context, utils, and versioning. Add basic template for server binary

commit 17df9cafa7479a56aba31c2377d1b5126e0b6b8b
Author: Jay Pipes <jaypipes@gmail.com>
Date:   Tue Jul 26 09:14:47 2011 -0400

    Add setup.py/cfg and README

commit 52e40e8eecde58c28410019aac21ba08054a5ce2
Author: Jay Pipes <jaypipes@gmail.com>
Date:   Tue Jul 26 09:05:53 2011 -0400

    Initial skeleton project

commit c85e1f7b4e4e8ea7a4173188123c01eb2b165627
Author: Jay Pipes <jaypipes@gmail.com>
Date:   Tue Jul 26 09:05:53 2011 -0400

    Initial skeleton project