commit 5bcdc9a7cd83ca219da806b8fc734d258e658f54
Merge: 75c5a1f fc71f6a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 22 15:59:35 2014 +0000

    Merge "fix(mongodb): Ensure batch message posts are atomic (all or nothing)"

commit 75c5a1f31e39e2aede754c67b53d977460a60265
Merge: 1686130 0d7da73
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 22 05:11:04 2014 +0000

    Merge "fix: ConnectionError no longer takes positional arguments"

commit 0d7da730e6f8cbe83e0eacb3fcc17d6896ec5405
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Jan 21 10:27:16 2014 -0600

    fix: ConnectionError no longer takes positional arguments
    
    When storage.errors was modified to DRY up message formatting, one
    line in the mongodb driver wasn't updated accordingly. This patch
    updates that code so that the gate will stop breaking when it tests
    against the mongodb driver.
    
    Change-Id: I9552b2dfc2fa767815d6278eb3bc918099603c63

commit 1686130910395bc67222dca6db38ee1a9bfc54e9
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jan 20 14:47:55 2014 -0600

    Remove dev1 from version, since it is added automagically by pbr
    
    Change-Id: I24f75eb37e415b113b9aa2d594d110cce0d8ea82

commit fc71f6a17e27155b55bd80aa8b67881ed8b6a7a9
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Jan 16 17:01:28 2014 -0600

    fix(mongodb): Ensure batch message posts are atomic (all or nothing)
    
    In the case of a network failure it is not possible to discover which,
    if any, of the messages in a given batch were inserted before the
    outage occurred.
    
    This patch works around the problem by inserting messages in two
    phases:
    
    1. Assign all messages a "batch" or "group" ID and insert them
    2. Once it has been confirmed that *all* messages were inserted
       correctly, finalize the transaction by clearing the batch
       ID, 'g', from the messages just inserted.
    
    Message listing and counting were also modified to ignore any
    non-finalized messages, i.e., those messages that have a non-null
    'g' value.
    
    Orphaned messages will eventually expire and be cleaned up as
    usual via the TTL index.
    
    Closes-Bug: #1270263
    Change-Id: I9de61cdfdf6dfcbe07ef76bf63a293091f087663

commit b14c7e07b7d047a00aa22e6de0eedb01a1bea1cf
Merge: 93e1523 9205b0c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 17 21:33:22 2014 +0000

    Merge "Enforce size verification on content-length"

commit 93e1523dd2994a68c9e44ed26b511016a7ada2d1
Merge: 54c76c5 e82e5fe
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 17 21:32:59 2014 +0000

    Merge "Use testr instead of nosetest"

commit 54c76c5073c9525dd727caffa1e5f8195289ff8a
Merge: 1765a8c db4ac0d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jan 17 19:18:09 2014 +0000

    Merge "Added a request and response file to common"

commit 9205b0c3a3b46c541ec95a0e19db08064887f232
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Jan 9 13:15:51 2014 +0100

    Enforce size verification on content-length
    
    Closes-Bug: #1261579
    
    Previously, Marconi used to enforce the message and queue size limit on
    the resource itself. In the case of a Message, it'd verify that the
    message body wouldn't exceed the message size limit. This enforcement
    has been moved, by this patch, up to the request size.
    
    For both cases, the content_length is required to be smaller than the
    size limit configured by the service admin. None of the default values
    were modified.
    
    Change-Id: I06e28acaac234242a40cd2afafb12be067851c20

commit e82e5fe3c0cb2062865b67ba6fa12753b1daae32
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Jan 9 14:14:17 2014 +0100

    Use testr instead of nosetest
    
    This patch removes the dependency on nosetest and uses testrepository as
    a test runner. There are some advantages behind this change:
    
        - Better tests execution
        - Better tests concurrency
        - Less dependencies
    
    Change-Id: I1985bdf03137d32a0774321d8dec5cb015dc9d2f

commit 1765a8c3b8e0a536cb0c10299e472c49fd23645d
Merge: d4e3dca 4d8f1b6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 16 18:36:26 2014 +0000

    Merge "test: Use srmock header_dict in preparation for Falcon 0.1.8"

commit d4e3dcad657696587916b44bd06852ecd5c721f8
Merge: c317e64 b068ccb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jan 14 18:19:10 2014 +0000

    Merge "Remove __MARCONI_SETUP__"

commit c317e646f8e076e235dab5cf25f1b12ca75b182f
Merge: 13d9fa2 9dd534a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jan 9 18:00:12 2014 +0000

    Merge "chore: Sync local (marconi) requirements with global reqs"

commit b068ccbf747deef75dbc0f05b1f5545b3199a96c
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Jan 9 16:43:09 2014 +0100

    Remove __MARCONI_SETUP__
    
    The built-in Marconi used to use to track the service bootstrap process,
    is not needed anymore. This patch removes it.
    
    Change-Id: Ia599bd07006306a5b6368d52cd8548cb50b3d01e

commit 4d8f1b6ea8e5ce0738f1d7e645d3a36f2bd7f9a0
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Jan 8 13:44:49 2014 -0600

    test: Use srmock header_dict in preparation for Falcon 0.1.8
    
    Falcon 0.1.8 returns lowercased headers to the client. This *should* be
    OK, since well-behaved clients treat headers as case-insensitive. However,
    srmock exposes the response headers directly and we do an assert using
    them without taking into account case of the header name.
    
    This patch modifies that particular assert to use srmock.header_dict
    instead, since in 0.1.8 that is implemented using a case-insensitive
    dict.
    
    Change-Id: Ib7435a0a51ccf1d5d1ab8da672a12cf3233f9e8e

commit db4ac0d020d8227839f39beab074091a69bda686
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Wed Dec 11 10:29:29 2013 -0600

    Added a request and response file to common
    
    Added two files (request.py and response.py) to marconi/common that
    will stage communication between the transport layer and new API
    layer. Also added a test to request in tests/unit/common.
    
    Partially-Implements: cross-transport-api-spec
    
    Change-Id: I2d67a15fa8c6aef23ebcde6a71dda3fcb723873a

commit 13d9fa29e89db5b78aaed367f45052e86b08a672
Merge: d90d3cc 739d140
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 8 16:08:44 2014 +0000

    Merge "Map HTTP request codes in jsonschema"

commit d90d3cc5b594d6bb526a0ccc8b4b728292aced3e
Merge: a8e2805 52a8ef1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jan 8 10:12:43 2014 +0000

    Merge "Verify response jsonschema for List Messages by ID"

commit 739d14033baf7367fa581dcf2d2419536400853f
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Mon Dec 2 12:05:51 2013 -0600

    Map HTTP request codes in jsonschema
    
    Added schema.py to queues/api/v1/jsonschema. This file maps out the HTTP
    request codes in jsonschema to be used by the API.
    
    Partially-Implements: cross-transport-api-spec
    
    Change-Id: I4da61c13a39c0bfe2873f65d14647315494b3554

commit a8e2805481303c26bd1db2d53a1870da27cca6ec
Merge: 9cf1669 1d47c60
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sun Jan 5 03:09:50 2014 +0000

    Merge "Change shards & catalogue db into single property"

commit 52a8ef1667e53dc5abf85169db9111cb2621ae28
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Dec 9 10:27:44 2013 -0500

    Verify response jsonschema for List Messages by ID
    
    This patch verifies that the API response for List Messages by ID
    matches the expected jsonschema.
    
    Change-Id: Icd6fcab5d36ce79b8030017eff73815832fedf59
    Tests-Bug: #1240897

commit 1d47c602b0cfb3e68226bef05ae7af05cfb97155
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Thu Jan 2 13:49:40 2014 -0600

    Change shards & catalogue db into single property
    
    Refactoring the shards and catalogue mongo database methods into a
    single method because there's no need for these to access different
    logical databases.
    
    Change-Id: Ia75df73dcdb31e88473878f6c55abcf159f1aa44
    Closes-Bug: #1246373

commit 9cf1669c4dacf0205b7d8bc8c1a703856293c013
Author: Yeela Kaplan <ykaplan@redhat.com>
Date:   Mon Dec 30 11:19:05 2013 +0200

    Implement DataDriver for sqlalchemy storage backend
    
    Partially Implements blueprint sql-storage-driver
    
    Change-Id: I84b67ac50e88645ef69a42860021d72c86a6d018

commit 59192e664a6a4219aa0860722a135850d6a7fb8e
Author: Yeela Kaplan <ykaplan@redhat.com>
Date:   Thu Dec 5 14:46:41 2013 +0200

    Implement tables and unit tests for sqlalchemy storage backend
    
    This is a translation of the sqlite tables to sqlalchemy.
    
    In addition, there are simple tests for tables creation and
    some basic execute operations.
    
    Partially Implements blueprint sql-storage-driver
    
    Change-Id: I2860033c0c3bcc9b965209271af74161f3a62818

commit 9dd534a5df028467704b1d884296af14aaffefc3
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Dec 31 09:32:37 2013 -0600

    chore: Sync local (marconi) requirements with global reqs
    
    This gets us the latest Falcon, with its associated bug fixes, esp. wrt
    accept header parsing.
    
    Also fixed some hacking violations to get this to pass the gate.
    
    Change-Id: Ic7bfc8210947f37078d034fc2f56cc04b2d88392

commit 4e36b217faf6dfdeb5b1198e0365707929296604
Merge: 495eb46 2073b95
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Dec 31 16:51:24 2013 +0000

    Merge "DRY queues storage error message format"

commit 2073b959bd845b18483869f43721003d9601e0e0
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Tue Dec 17 10:15:03 2013 -0600

    DRY queues storage error message format
    
    This reduces the lines of codes by having all the errors inherit
    from a base class. This base class takes keyword arguments and
    formats all the error messages uniformly.
    
    Closes-Bug: #1260392
    
    Change-Id: I77fcd14e9fb8989c29e0796d813ef587a26f9199

commit 495eb46f363834e461d244b295cf384c39aaa72c
Merge: 35bc36f ad21203
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 23 12:54:32 2013 +0000

    Merge "chore: Bump version to icehouse-2 dev"

commit 35bc36f79073b9769efa87d683f8e3d4afffa99e
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Thu Dec 19 15:51:34 2013 -0600

    Added logging to HTTP errors
    
    Checked to see which errors where missing logging in the transport and
    added logging to the ones that were missing.
    
    Change-Id: I62b123c9d03c5006e58bf8ec1e26617e7f6ced7f
    Fixes-Bug:#1245987

commit ad21203b0cf014e6de1e9b66f32b811606062f0f
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Dec 13 14:26:06 2013 -0600

    chore: Bump version to icehouse-2 dev
    
    This patch makes our version more specific in preparation for doing
    interim project releases for each OpenStack milestone. The OS wiki
    does not specify what to do about "development" versions, so I
    decided to follow the standard Python convention.
    
    Change-Id: Icae5b7abbb33969a60b3a517b9a016016180d0f5

commit 9c5bc99b5cc39d1b0e84d9a01bf62c5234ad772a
Author: Fei Long Wang <flwang@cn.ibm.com>
Date:   Thu Dec 12 00:50:40 2013 +0800

    Return relative URIs for href-template of homedoc
    
    Based on current implement, some href-template of homedoc
    are returning absolute path ('/queues'...). It may cause
    a 404 error because client may join a host with the path
    directly. This patch will make sure all the href-template
    start with /v1 and add unit test case to make url joining
    works well.
    
    Fixes bug 1245656
    
    Change-Id: I12059249135cdb82be7d1937cf65db5da860011b

commit 9c87eb244d491dec699445c8dbf50b503e9e2826
Merge: 0bc7d66 0595b1e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 9 21:20:40 2013 +0000

    Merge "chore: Remove remaining proxy cruft"

commit 0bc7d66563a6cc6188d6386bdc1dec78ab37f513
Merge: c5ae040 8fa010d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 9 21:19:49 2013 +0000

    Merge "Make consumer_for a context manager"

commit c5ae040cbb3a410df307d646cbae50131c01b7ad
Merge: 3d3d6ef d5d2ef3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 9 21:16:56 2013 +0000

    Merge "fix: Reduce logging severity of certain errors"

commit 3d3d6ef8393339f7246e6c6a9693d883ca3246f2
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Dec 5 02:06:43 2013 +0100

    Remove the __MARCONI_SETUP_ global from init
    
    This was used to know when Marconi was being loaded and avoid
    registering configuration options and doing other things. This is not
    necessary anymore.
    
    Change-Id: Icf43302581eefb563b10ddec5831eeec0d068872
    Partially-Implements: py3k-support

commit 666693ff2902d0deb5325a5409f5694248ec721b
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Dec 5 02:04:45 2013 +0100

    Use relative import for base in tests
    
    Py3K fails to import base for tests. Use a relative import instead of an
    absolute one.
    
    Partially-implements: py3k-support
    Change-Id: I3f3ef511c199a38a8e99c578364b80280f673226

commit 37199bcc6a0ade77eeae14ac35629bfd8c23c892
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Dec 5 01:23:30 2013 +0100

    Don't use tuple parameters
    
    Tuple parameters where removed from Py3K.
    
    Partially-implements: py3k-support
    Change-Id: Ibc57f5f3b25c240f48f5c1d9e54cd1d8e5972ea3

commit 304f94cbe5df27a0a7f7490ac6178fe4b257e77a
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Dec 5 01:20:02 2013 +0100

    Disable keystone client if running under Py3K
    
    Since keystoneclient is not Py3K compliant, it should be disabled when
    running under python >= 2.7
    
    Partially-implements: py3k-support
    Change-Id: I9016748b3fc65f1437cb0d561b738ede704f642f

commit eef012d4c419af04babf869d9cc4763834de2957
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Dec 5 00:45:54 2013 +0100

    Remove gettext magic and import _ explicitly
    
    Instead of magically loading `_` into python built-in globals, import it
    explicitly where needed.
    
    Partially-implements: py3k-support
    Change-Id: Icfedf9f86ead81bbee038506a91c456907af0d05

commit d5d2ef321b5151d98cf662d6fe4ad12fa3b3c155
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Fri Nov 1 00:28:30 2013 -0400

    fix: Reduce logging severity of certain errors
    
    Here are the proposed changes:
    - OverflowedJsonInteger: exception -> debug
    - InvalidJson: exception -> debug
    - InvalidQueueName: warning -> debug
    
    Rationale: these pollute the server logs and provide little value to
    system operators.
    
    Change-Id: Icd73a5bd3fc7d7ef349b18e7e485df8a7dfc0a1a
    Closes-Bug: #1246977

commit 0595b1eedbc59eae3e0e5a8e642b7c4c1b6cb6da
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Dec 5 09:24:37 2013 -0600

    chore: Remove remaining proxy cruft
    
    Finishing up the removal of the deprecated proxy stuff.
    
    Change-Id: I48f2dc3f382bc882b2e006c17438301c6ee92df9

commit ec18885d96dd50dfed4ae51a4e07d9e41d72e83e
Merge: 35b4ab5 2afb9da
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 22:43:56 2013 +0000

    Merge "opt: add hints to make delete/claim checks faster"

commit 35b4ab55fca0e71cd0ad0c5613d4d1e51dbad161
Merge: d2e2a43 f9d8ebd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 22:38:47 2013 +0000

    Merge "cleanup: remove proxy cruft"

commit d2e2a436dc5d17c9f98567acb4cd86f191b920bd
Merge: 583a43e 936c0f6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 22:38:25 2013 +0000

    Merge "fix: shard test failing"

commit 583a43e371292efb2f82911e10556a72f34054ed
Merge: c71fbb6 590969e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 22:37:05 2013 +0000

    Merge "fix: mongodb tests consume storage like crazy"

commit c71fbb6e7454dde7f95e456ea902ac73af77c4fe
Merge: e994955 9ccce28
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 22:30:43 2013 +0000

    Merge "fix(mongo): Delete claimed message fails"

commit e994955b86f6b96de0cf0fb80a2118e21f2943ad
Merge: 5208aa7 52e4201
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 21:24:42 2013 +0000

    Merge "feat(sharding): Cache shard mappings"

commit 5208aa73b0c77d3afbd0f080e5ae813025e983df
Merge: 6db03be ecce97f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 21:17:28 2013 +0000

    Merge "chore: Pass cache into drivers"

commit 6db03be5ae7a0448b21d4ca542959513333def00
Merge: d30edc4 ce5a814
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Dec 4 13:48:19 2013 +0000

    Merge "Make sqlite connection lazy"

commit 9ccce28148eebd7e5d0532f3c07e35eeec770add
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Nov 1 18:12:52 2013 -0500

    fix(mongo): Delete claimed message fails
    
    This patch adds an additional check on the primary node for the correct
    claim ID if it fails to match on the secondary. This takes care of the
    case when the claimed version of the message document has not yet been
    replicated to the secondary before the client attempts to delete it.
    
    Change-Id: Ia22562532351a36bedc980c7c6041517207b2723
    Closes-Bug: #1247297

commit 52e4201775423154fd68ec99f2e7f7819e11cf3d
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Nov 1 12:17:37 2013 -0500

    feat(sharding): Cache shard mappings
    
    This patch modifies sharding.Catalog so that it caches the mapping
    between (project, queue) ===> shard. This reduces latency for
    all data plane operations when sharding is enabled.
    
    Change-Id: I54714c4e6c0ed78ac302ce86aed9bb72b200052b
    Partially-Implements: blueprint storage-sharding

commit ecce97fd0335816ccf89cb2f98499ec9403306fe
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Oct 29 17:44:12 2013 -0500

    chore: Pass cache into drivers
    
    This patch plumbs storage drivers so they all get a cache instance
    they can use at their discretion.
    
    I decided to make cache a required param to the initializers, since
    any deployment of Marconi of any significance would likely opt to
    enable caching anyway, and the cache library has a default in-memory
    backend that can be used for simple deployments.
    
    Note also that both data- and control-plane drivers receive a cache
    instance, even though the sharding controllers will not use it
    (caching will be done in the sharding data driver instead.) I thought
    it would be better to pass cache in both cases so we can share test
    code and avoid complicating utils.load_storage_driver(). Also, the
    control driver may eventually support operations other than sharding;
    cache may come in handy then.
    
    Change-Id: I647791af0d7a5914c30cb2489033ec650a455370
    Signed-off-by: kgriffs <kurt.griffiths@rackspace.com>

commit 936c0f67bbc8eac2a7d7d197d97fa2b0262db3d6
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Dec 2 16:05:05 2013 -0500

    fix: shard test failing
    
    A configuration that is manually registered in this test was causing a
    failure because the group 'queues:drivers' no longer exists. The test
    was updated appropriately to fix that error.
    
    Change-Id: Ib5857e5b1aa3ef1480d095a2b609688306bb1965

commit 590969ea97768b6b3ccbf80aa03407723bca3384
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Dec 2 15:53:19 2013 -0500

    fix: mongodb tests consume storage like crazy
    
    This patchset addresses a problem where _purge_databases wasn't being
    called in the storage tests for mongodb. This was consuming about
    ~19GB of storage per full suite run.
    
    The problem was caused by _purge_databases not being overridden by the
    MongodbMixin class. It was a case of the diamond problem in an
    inheritance graph. Here's the summary:
    
    * testing.TestBase defines _purge_databases
    * ControllerTestBase is a child of testing.TestBase
    * XControllerTest are children of ControllerTestBase
    * MongodbTestMixin was a child of object, and reimplements
      _purge_databases
    * When MongoXControllerTest was presented with parents:
        - XControllerTest
        - MongodbTestMixin
    
      The MRO algorithm chose the implementation of _purge_databases that
      was first presented, in this case, the null implementation provided
      by testing.TestBase
    
    The proposed solution for the time being is to have each of the
    MongoXControllerTest classes to override the _purge_databases method.
    
    Note: subtyping can get very messy.
    
    Change-Id: Ia1abc4c6ec682f3d176f2093d45139f45f7ac12a

commit d30edc4db0dcab6b30b92ac009c2fe076a07b92d
Merge: 14b02b7 5d7632d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Dec 3 16:56:00 2013 +0000

    Merge "fix: cache contract for memcached backend"

commit 14b02b7685c398138e4b2eb62eac4c4b19256514
Author: Fei Long Wang <flwang@cn.ibm.com>
Date:   Sat Nov 23 17:59:01 2013 +0800

    Fixes wrong hrefs when getting set of messages
    
    Based on current implement, an additional path /messages will be
    added, see http://git.openstack.org/cgit/openstack/marconi/queues
    /transport/wsgi/messages.py#L208
    However, the /messages path has been already included in the URL.
    So this fix just remove it and use req.path directly.
    
    Fixes bug 1240897
    
    Change-Id: Ie4bf6d3df62a5b861a8fe8c6392eb8bd6bf57c2c

commit dc689e6529c8c5c40bc5b01f6a9d79e22b415035
Merge: 194a1bb eb24c86
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 2 22:50:23 2013 +0000

    Merge "feat(health): make health API storage-aware"

commit 194a1bbf1e24e1d3076b35b2fc5661cbbc3f9b50
Merge: d7bb612 dc77a03
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 2 22:46:51 2013 +0000

    Merge "feat(validation): verify project id length"

commit ce5a814cb1731b817cbb74aa892dfd94304e1b28
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Mon Dec 2 23:19:11 2013 +0100

    Make sqlite connection lazy
    
    The patch makes sqlite database connection lazy.
    
    If the sqlite connection is created in a thread and then accessed from
    another one, it'll fail mentioning that the connection is not thread
    safe and that sqlite objects should be accessed from within the thread
    the connection was created in.
    
    Creating the connection instance at the very end alleviates this issue
    but it doesn't fix it completely. It is still possible to create a
    connection in a sub thread and then access it from another one. This
    patch just makes that less probable by creating the instance when it's
    actually needed.
    
    Closes-bug: 1257093
    
    Change-Id: I2ce46c20158fbf090a25736b3afc1dd32437af24

commit f9d8ebd0602a7b381dce09a44796cd2c5dc169fb
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Dec 2 13:39:33 2013 -0500

    cleanup: remove proxy cruft
    
    This patch removes some configuration files that were leftover from
    the days of the proxy. Also, it removes mention of the proxy from
    common.transport.version.
    
    Change-Id: I88f7d6490f5b0d0bdbdc827c69a72180ab6c3a12

commit 2afb9da937d91057d5de88b005dc2fa9e3c1a366
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Dec 2 13:32:29 2013 -0500

    opt: add hints to make delete/claim checks faster
    
    Adding in a few hints so that the mongodb query optimizer can make
    faster decisions in certain message retrieval cases.
    
    Change-Id: Ia80024a9b35f9e2a9aecaedf7162076ba8667d12

commit 5d7632d3c08e218b72362568e8ba78b82192ed12
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Dec 2 13:07:45 2013 -0500

    fix: cache contract for memcached backend
    
    set() should return a boolean. Currently, it always returns None. This
    one-line fix resolves this issue.
    
    Change-Id: I9d2827891dc8ee8904f3031ea75e5bef0ce30488

commit d7bb612988dcddf8e4f14efeae3fd33486d4ef67
Merge: 9897a84 bec0de3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 2 17:28:55 2013 +0000

    Merge "Added empty packages and a test for the API v1"

commit 9897a84c2c01b2378e22e53e3cd894b5d8444f64
Merge: 11660c2 25b5794
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Dec 2 16:44:17 2013 +0000

    Merge "feat(shard): queue listing from multiple sources"

commit 8fa010db9890cb21559e7a01e23bc9b725f5ccce
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Fri Nov 29 21:30:49 2013 +0100

    Make consumer_for a context manager
    
    This patch converts consumer_for into a `contextmanager` decorated
    method and adapts `__getattribute__` to support this change. A new
    method was not added to avoid clashes with method names in the stages.
    
    Change-Id: I6c0727e86d9ee8d6bd34c312d180040c8baf34ba

commit eb24c863976b6813ff1c0b2c53af5c192f914c29
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Oct 23 17:24:46 2013 -0400

    feat(health): make health API storage-aware
    
    This change makes the GET request of /health to ensure that all
    connected storage shards accepts `ping` command before responding
    200; otherwise, 503.
    
    The HEAD request is unchanged.
    
    Closes-Bug: 1243268
    Change-Id: I75c3b46ccb1a5a66e6c12766d3e451fd3478822c

commit dc77a0370a5ef7f61a6586dd735e54b648ea87e1
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Oct 8 18:05:05 2013 -0400

    feat(validation): verify project id length
    
    Unlike Client-ID or queue name, project id is deployment-defined.
    However, we can place a reasonable limit on the max length.
    
    Change-Id: I3ebc3c9e04c7a5673083fb384ea6889e69045a99
    Closes-Bug: 1233418

commit 11660c2fcaee766cdc645e3b035858ef1d76c886
Merge: b20519c 69559de
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Nov 27 16:48:50 2013 +0000

    Merge "refactor: drop simplejson requirement"

commit 25b5794babbd854d5bcd9a2c01fc82f96e8ca4a6
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Oct 22 10:18:50 2013 -0400

    feat(shard): queue listing from multiple sources
    
    Sharding need special storage driver wrapper for queue-related
    operations. The listing queue algorithm merges the listing result
    from multiple storage connections, and return them in sorted order.
    
    This patch also fixes non-configurable default limits in sharding.
    
    Change-Id: If9bd80459bd1a0dc92ea68c42bc28c0f6dde2a65
    Partitally-implements: blueprint storage-sharding

commit bec0de3a7484937b62d1bac2ea21e433dbdb7499
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Wed Nov 20 15:43:44 2013 -0600

    Added empty packages and a test for the API v1
    
    Created two packages in queues (api and api/v1)
    added a api test to tests/unit/common. Also changed
    the common/errors to include invalid operations
    error used in test_api.
    
    Change-Id: I32d7a2eebbde50e96cb49391b591c409e6ab6df2

commit b20519cb174d84a0db64171f4c96b542289c04da
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Fri Nov 22 16:05:51 2013 +0100

    Remove proxy code
    
    As discussed in one our meetings, the proxy code has been deprecated in
    favor of the new sharding work. This patch removes all the code related
    to the proxy.
    
    Partially-implements bp storage-sharding
    
    Change-Id: I6622332707c5a53ab56fa2796bef73be9e8c8c49

commit c8e3a089d6369dd904502f3c80658b0bd0a1ccae
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Thu Nov 21 13:14:57 2013 -0600

    Cleans up marconi-queues and marconi-proxy config files
    
    Changes [proxy:config] and [queues:config] into
    just [drivers] since both these projects are
    separate and so there's less repetition.
    
    Change-Id: I982b5a08ed45426df17d9008854853c68c207608
    Closes-Bug:#1231669

commit a153d5b88a8376b4b5b623d40f66e6762bf908c9
Merge: a828ec9 2d283ce
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Nov 21 17:38:54 2013 +0000

    Merge "Revert "Support building wheels (PEP-427)""

commit 2d283cec280dc40088681d3b770dffc69cdf4542
Author: Flavio Percoco <fpercoco@redhat.com>
Date:   Thu Nov 21 17:29:52 2013 +0000

    Revert "Support building wheels (PEP-427)"
    
    Universal means support for py2/py3.
    
    Marconi doesn't support PY3K
    
    This reverts commit 4d6830104dfe7a1b728b8782a02af5b99ca0366f

commit a828ec96cd38a7da404a9205d5b6b9e8668fbae5
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Mon Oct 21 16:47:03 2013 +0200

    Isolate tests a bit more
    
    This patch isolates mongodb tests and adds new `shortcut-methods` to
    base clases in order to make it easier for subclasses to access conf
    instances, override them or even hook them.
    
    Change-Id: I8fe05bf383198244616499adb60480859f1ec7c6

commit 7bd2912f8af9485ae40dc3560ef7b2a6cc09db85
Merge: d3be4d8 eb66cfe
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Nov 20 20:39:36 2013 +0000

    Merge "feat: connect sharding manager to control drivers"

commit d3be4d8a71b17af4d7bcfa7dd0509b98026d1fd2
Merge: b627054 0ff7a52
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Nov 20 17:37:25 2013 +0000

    Merge "Sync with global requirements"

commit eb66cfe7671479f3d82d137f16e3d825f5b0d3f2
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 29 15:33:56 2013 -0400

    feat: connect sharding manager to control drivers
    
    This patch implements the register/deregister/lookup operations for
    the sharding manager.
    
    As a result of this patch, the sharding driver now takes the control
    driver as a paramater. This gives it the access needed to make
    decisions about queue placement (and lookups) based on the entries in
    the control plane.
    
    In order to get the sharding manager working correctly, several
    methods had to be overridden to properly handle the QueueNotMapped
    error. When a QueueNotMapped error is encountered under normal
    conditions, it is equivalent to the target resource not being
    found. The overrides mimic the default behavior of those controllers'
    methods in the case where the queue isn't found.
    
    An inconsistency was found between the base storage driver and the
    concrete implementations. message_controller.list did not provide an
    include_claimed parameter. This has been corrected.
    
    To avoid DuplicateOptErrors in the mongodb driver in a sharded
    context, a filtering algorithm is applied. To make it clear to data
    drivers that they need to apply this filtering algorithm, conf.dynamic
    is set by the sharding driver.
    
    Unit tests have been added for the weighted select algorithm.
    
    Up next: sharded queue listing support, caching
    
    Change-Id: Ic36cd657ba13fa4c0b624dc5c71bfe99f9a70139
    Partitally-implements: blueprint storage-sharding

commit b6270549b4e7923f27d0e8e1b0f19c1392752146
Merge: 83a9430 4d68301
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Nov 19 15:53:09 2013 +0000

    Merge "Support building wheels (PEP-427)"

commit 83a94304b7680a68af2f74b6bbbaef323d0d068b
Merge: 2f44ed5 d5a8df1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Nov 19 11:19:27 2013 +0000

    Merge "Start 2014.1 development"

commit 4d6830104dfe7a1b728b8782a02af5b99ca0366f
Author: Sascha Peilicke <speilicke@suse.com>
Date:   Tue Nov 19 10:25:49 2013 +0100

    Support building wheels (PEP-427)
    
    With that, building and uploading wheels to PyPI is only one "python
    setup.py bdist_wheel" away.
    
    Change-Id: I51e0358e9a6efec26588ce076bda5e3fe2d91b44

commit 69559de3421377e9a7c40b9604c5b944a1f38013
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Fri Nov 15 12:48:51 2013 -0500

    refactor: drop simplejson requirement
    
    After much benchmarking, it was decided that it is preferable to
    remove the simplejson dependency. This comes with the caveat that json
    handling is slower on Python<=2.6, but faster on Python>2.7, including
    Python 3 and pypy.
    
    The recommendation moving forward is to deploy Marconi on Python>2.7.
    
    Change-Id: If7a9380bd32023ec973fd2f267255723aaa49306

commit 2f44ed535f75d4ccf7639673a15798939a94b403
Author: Michael Still <mikal@stillhq.com>
Date:   Thu Nov 14 21:03:00 2013 +1100

    Update openstack/common/lockutils
    
    The following commits are in this update:
    
    79e6bc6 fix lockutils.lock() to make it thread-safe
    ace5120 Add main() to lockutils that creates temp dir for locks
    537d8e2 Allow lockutils to get lock_path conf from envvar
    
    Change-Id: Id50b7c0ccbb417493320e19191a92675fcf126ff

commit 8338bdc992ac275c02ad50e9b34f60e6a5246cad
Merge: f6c321d e515053
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 31 19:59:54 2013 +0000

    Merge "Add Tests for non-existing resources"

commit e515053dd16219babda80de21e49320821f8885f
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Thu Oct 24 12:57:19 2013 -0400

    Add Tests for non-existing resources
    
    This patch adds tests for action on non-existing queues, messages & claims.
    
    Change-Id: I68517b1b98f668eff86a0bcad19dc9ed8d01267c
    Tests-Bug: #1243752

commit f6c321dd8b3f4f921c3cbf82fc385bb6e71cf9c0
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Oct 10 09:12:53 2013 -0400

    feat: integrate shard storage with transport
    
    This patch refines the interface and storage implementation defined in
    the last patch and integrates it with the transport layer.
    
    A few updates have been made:
    - 'name' -> 'href' for listing shards
    - limiting, markers, and detailed are all used
    - use of common_utils.fields to clean up shards transport PATCH
    - add missing init for schemas
    - fix schema issues found: 'location' -> 'uri', __init__.py
    - shard resource correctly implements PUT semantics (replaces)
    
    Transport: the admin API concept has been expanded to include
    functionality from the public interface *in addition* to admin
    functionality. Part of the rationale behind this is to simplify unit
    testing. The other part of this is that an admin should be able to do
    everything a normal user can do in addition to their special
    functions.
    
    Storage: now divided into control and data plane. The bootstrap passes
    a control driver down to the transport which *can* be used for
    endpoints as needed.
    
    A test suite has been added that exercises the functionality from the
    transport side of the shard registry resource.
    
    Finally, the way the FaultyStorage driver tests were handled was
    changed. Something about the setattr magic in that suite's setup made
    it such that *all* tests would use the Faulty storage driver. This is
    possibly related to the use of lazy_property decorators. To address
    this issue, this patch promotes the faulty storage driver to setup.cfg
    visibility and removes the setattrs.
    
    Change-Id: I5b8cdb3a11d29422762b52f1e15e33167eecb867
    Partitally-implements: blueprint storage-sharding
    Partially-Closes: 1241686
    Closes-Bug: 1243898

commit 5624bf1a1459fb271c6c4dfa87d04eaf070978f6
Author: cpallares <cindy.pallaresq@gmail.com>
Date:   Mon Oct 28 10:49:27 2013 -0500

    Renamed "exceptions" module to "errors"
    
    Changes exceptions.py into error.py
    
    Renaming exception-related code to errors
    because most of the conditions handled by
    marconi are errorneous rather than exceptional.
    
    Closes-Bug:#1232074
    
    Change-Id: Ie3509236b07a372a44d97f97e5f3fe183b409606

commit 4f5de4b23fde855c1b4ad2b90242bad9d2070437
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Oct 16 12:54:55 2013 -0400

    feat: add catalogue storage driver for queues
    
    The upcoming sharding feature requires a catalogue storage driver very
    similar to that used by the proxy. This patch ports the proxy
    catalogue storage driver to the queues storage space and updates the
    semantics accordingly. Specifically, the queues catalogue maintains a
    mapping from project/queue to shard identifier.
    
    Unit tests and helpers have been updated accordingly. The sqlite
    portion of this is still to be done, and is reserved for a future
    patch.
    
    The faulty storage drivers has been given the appropriate
    catalogue_controller impls.
    
    Furthermore, minor py3k updates were added: metaclass using
    six.add_metaclass.
    
    Change-Id: I380d028520e9a712064810a15e2c6576de67e485
    Partially-implements: blueprint storage-sharding
    Closes-Bug: #1241686

commit 0ff7a52b59da533d19ca2d50a3295bcfd3bcfc51
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 29 16:59:03 2013 -0400

    Sync with global requirements
    
    Change-Id: I8b30752d171fa957c58fd5a435bfe1ccfcc3d876

commit ea79e2bd165d2ab79937279521b40e47a5d78a86
Merge: ddaf071 3b111c3
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 29 15:44:34 2013 +0000

    Merge "feat(logging): format msg when log level met"

commit ddaf071288ba31a6df0c62940362c3a0f9fc550a
Merge: 43c507b 9c7036f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 29 15:42:42 2013 +0000

    Merge "feat: shards mongodb driver + tests"

commit 3b111c3ac1ff1175a54aa6343c330292182db757
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Oct 28 19:02:56 2013 -0400

    feat(logging): format msg when log level met
    
    This is a feature supported by the logging module; just let the
    logging function perform the formatting.
    
    Change-Id: I9e349c6bda942474bfe73150b5abb8feb79ed574
    Closes-Bug: 1232327

commit 43c507b383f76100696b3068858a32b34eb18f83
Merge: 142c7ae 73dae3d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 28 17:25:35 2013 +0000

    Merge "Update the Marconi readme with more detailed installation instructions"

commit 9c7036ff4eaa093e72a9dfa5b0c2301f576d1d38
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Oct 28 11:17:28 2013 -0400

    feat: shards mongodb driver + tests
    
    This patch adds shard management capability to the queues mongodb
    driver.
    
    The storage API is also correctly split into an control and data
    interfaces. The data drivers are loaded by default. The control
    drivers are loaded as needed by the transport layer.
    
    Unit tests are also provided to verify that the driver (and future
    drivers) work as expected.
    
    Change-Id: Iad034a429a763c9a2ce161f05c928b090ab58944
    Partially-implements: blueprint storage-sharding
    Partially-Closes: 1241686

commit 142c7ae0d64be0f1b18ed6e12827dbd1dd8babb9
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Oct 9 15:15:55 2013 -0400

    feat: shards storage controller interface
    
    Adds the storage interface for the shards storage controller. This
    controller is meant to be used with the shard management queues admin
    API interface.
    
    The idea mirrors that used in writing the proxy's partition manager.
    
    This patch also introduces the distinction between data and control
    storage drivers. Data storage drivers are those that control core
    functionality: messages, queues, claims. Control storage drivers are
    used to manage system functionality from the point of view of an admin
    - in this case, the registry of shards.
    
    The next patch will provide an implementation for mongodb + unit tests.
    
    Change-Id: I4f24e84c99689968e60360383b190ce168055e74
    Partially-implements: blueprint storage-sharding
    Partially-Closes: 1241686

commit 73dae3d2be9a233d27b0de15b50a383dd9d5da2e
Author: Chad Lung <chad.lung@gmail.com>
Date:   Thu Oct 24 10:58:40 2013 -0500

    Update the Marconi readme with more detailed installation instructions
    
    Change-Id: Ie9e8c8caf7fd92024a097b914aadb2ef75d75989

commit a24ce887893fac0ff3a02e605c37aaac229f6504
Merge: 237ac31 52b5dad
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 24 15:44:54 2013 +0000

    Merge "feat: add shard management resource"

commit 237ac313290735b3113d5d8b71b5208923001ef2
Merge: e85fe34 13d7974
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 24 13:54:31 2013 +0000

    Merge "feat: split queues API into public/admin"

commit 52b5dad078884f33b3ed23e271ca7de5839ee895
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Oct 9 12:14:09 2013 -0400

    feat: add shard management resource
    
    This patchset adds a new resource that exposes shard registry through
    the administrative API. Since there is no storage backend available
    that implements this functionality yet, the shards resource is not
    connected to the queues routes just yet.
    
    Preliminary support is added for unit testing this soon.
    
    Change-Id: I49793990327643fc2bc5091615fb0bebcef04bc0
    Partially-implements: blueprint storage-sharding

commit e85fe34a3cbd6bcd76fab159e63c1667bb64585c
Author: Angus Salkeld <asalkeld@redhat.com>
Date:   Wed Oct 23 08:28:31 2013 -1000

    Don't enable_echo when we don't have a tty
    
    The following termios calls will fail (and unnecessarily).
    
    Change-Id: I261ac4bbb6eac29df02bdd458aa65322ad81f316
    Closes-bug: #1243845

commit d5a8df135ef5590d8d6e22494130d85fe6633049
Author: Dirk Mueller <dirk@dmllr.de>
Date:   Tue Oct 22 23:09:43 2013 +0200

    Start 2014.1 development
    
    Raise version in preparation of Icehouse release.
    
    Change-Id: I400343f098842fd5c6180004e9869f247faeea99

commit 13d7974cb9886f42d29930a2b05b14808408683e
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Oct 9 10:52:30 2013 -0400

    feat: split queues API into public/admin
    
    This change is made in prepartion for the upcoming sharded storage
    features. Shard registration is a feature that only operators should
    be able to do, and since the sharding is done within the queues
    application, it was necessary to break this out into a separate API.
    
    This patch adds a new configuration variable: admin_mode. It is used
    to multiplex which version of the API is loaded. Furthermore, the
    admin API is an enhanced version of the public API in that it allows
    every route that the public API in addition to admin-only
    endpoints. This should ease unit testing in future patches.
    
    A few small refactorings were made, including:
    - health resource moved to common transport location
    - version module moved to common/transport
    - pass config from bootstrap to transport driver
    - pass cache in base transport driver
    - convert base transport driver to use six.add_metaclass
    - pass public bootstrap to bootstrap unit test
    
    Change-Id: I0d6ff381afb25adb8a4b784a60b6d6eb71431245
    Partially-implements: blueprint storage-sharding

commit 3e0ffc4f496fcfbbd1d1358a00f7b47af5628b83
Merge: 64ec63b 503402b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 21 15:28:20 2013 +0000

    Merge "fix: one less unnecessary modification"

commit 503402b49b6d04dd88893cd61644f21c8b1781b8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Oct 9 13:22:19 2013 -0400

    fix: one less unnecessary modification
    
    One of the mongo driver methods unnecessary pop()'ed a value
    in the old dict while constructing a new dict.
    
    Change-Id: Ief2190807cd0443f9eeb238fe3e86b756c3fbe41
    Closes-Bug: 1222935

commit 64ec63bb480961f6119f10ae668f30cb9c818605
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Mon Oct 21 15:33:02 2013 +0200

    Move misplaced test under the right package
    
    Change-Id: I3c0c78cb315362f4f2948be91e23685495824b73

commit 19ae56cdbe608a52fa322df2efde3180a652b4ee
Merge: 9cbab25 e6f42d5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 18 21:36:43 2013 +0000

    Merge "fix(bootstrap): Logging CLI options don't work"

commit 9cbab25e5e747cb03b2b7e2fe15c9b1dcac9e46c
Author: Dirk Mueller <dirk@dmllr.de>
Date:   Fri Oct 18 19:03:03 2013 +0200

    Fix Pep8 indentation errors missed by Pep8 1.4.5
    
    Pep8 1.4.6+ finds additional indentation errors. Fix them in
    preparation of being able to switch to a newer Pep8 version.
    
    Change-Id: I50493675c33524e577a0eebf3f9b74037ed9721c

commit 776260836afa3f899758dc79380512352f556d02
Merge: 5527dcb e089297
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 18 15:40:49 2013 +0000

    Merge "feat: Storage sharding foundation"

commit 5527dcb4165eb0e40db5ee56bfa4469cdd10f20c
Merge: d8c26e5 0082849
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 18 14:45:26 2013 +0000

    Merge "doc: Recommend installing marconi via pip"

commit d8c26e56487b3e8bcf21dd794bb6b94d069d5dc9
Merge: 572a629 2f844e1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 15:41:31 2013 +0000

    Merge "Validation for messages returned by queue/stats"

commit e6f42d55f8bd18e6eefde1dacce03091c2689f6d
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Oct 16 15:12:32 2013 -0500

    fix(bootstrap): Logging CLI options don't work
    
    In the current implementation, Bootstrap creates the config option
    inside its initializer. That means that common options such as
    those registered by openstack.common.log, are not registered.
    
    This patch modifies the Bootstrap initializer to take a config
    instance from the caller, rather than trying to build one
    itself. This does two things for us:
    
    1. Avoids "magic" marconi configuration; the caller has full
       control and visibility into how marconi is configured.
    2. Allows for passing in the global CONF object from the
       marconi-server command and the reference WSGI app module
       so that common options registered by oslo modules on the
       global CONF instance are picked up.
    
    Hopefully openstack.common.log will be modified at some point
    so that it isn't tightly coupled with cfg.CONF.
    
    Implements: blueprint remove-global-config
    Change-Id: Ibb6638f99ca2ce4a2a6025f6cd41939bb30fa85a

commit e0892978cd3589c559df90409ed3ba8f26f66cff
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Oct 14 10:02:57 2013 -0500

    feat: Storage sharding foundation
    
    This patch provides the plumbing for implementing storage
    sharding across multiple backends. Sharding is agnostic to
    storage driver type and transport type. The new feature is
    optional, and disabled by default.
    
    The design eschews placing any kind of sharding reverse proxy
    in the network, allowing the storage drivers to continue
    communicating directly with their respective backends.
    
    Sharding can be enabled by setting the global "sharding"
    option to True. Future patches will add a sharding section to
    the config that can be used to tweak the way sharding works when
    it is enabled.
    
    Storage drivers are managed by a Catalog class. The Catalog is
    responsible for registering and deregistering queues in the
    catalog backend, and for looking up an appropriate driver,
    according to which shard a particular queue has been assigned.
    
    In the future, this design will make it straightforward to map
    individual queues to different storage backends, according to user
    preference.
    
    FWIW, I considered enabling sharding by inserting the routing driver
    as the last stage in the storage pipeline. However, it felt like
    a hack for the following reasons:
    
      * Doing so orphaned the regular, solitary driver that was
        still always loaded at the end of the pipeline.
      * Since the bootstrap was not aware of the sharding driver,
        it could not be used to provide setup, so the catalog
        object had to be turned into a singleton and options
        had to always be loaded from the global config.
      * The driver would have to be added to each controller
        pipeline, and would have to always be the last stage in
        the pipeline. Introducing a simple "sharded" boolean option
        seemed to be a more straightforward, less error-prone way
        for operators to enable sharding.
    
    Partially-Implements: blueprint storage-sharding
    Change-Id: I5190211e81fe4acd311b2cfdd0bae806cc3fec81

commit 2f844e1ef97f160fdcc728b40ebc91fc2253e5e4
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Thu Oct 10 13:45:30 2013 -0400

    Validation for messages returned by queue/stats
    
    This patch updates the  queue/stats tests to include validation for message age
    (0 <= age <= message_ttl_max), href & created time.
    
    Tests Bug: #1237620
    
    Change-Id: I7c6dfd10b94c8ac64247d687ac31783522b8f3d0

commit 572a6296e0ebcfe88263617b846be5718010f989
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Mon Oct 14 01:04:45 2013 +0200

    Return a consumer function instead of consuming
    
    Former implementation was called consume_for and used to consume the
    whole pipeline. This implementation returns a callable function instead
    which makes it possible for wrapped methods to have a `method` keyword
    and to control / reuse the consumer.
    
    Implements blueprint storage-pipeline
    
    Change-Id: I8d7ad43028b5615b24f06ca1e116e35e5ab6a145

commit 1733a05d8e4a36acb01d0c173d00097c67821cdb
Merge: c67d5a4 1be5cc9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 17 13:51:52 2013 +0000

    Merge "Use stevedore instead of importutils"

commit 1be5cc9b50bf44f65eda3e2041558125115bf9aa
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Sun Oct 13 18:29:45 2013 +0200

    Use stevedore instead of importutils
    
    Current `Pipeline` implementation uses importutils for loading stages.
    This patch replaces the usage of importutils with stevedore so that it
    is possible to have external stages as well.
    
    Implements blueprint storage-pipeline
    
    Change-Id: I3d1c48ddde0721db38f467f7b723d34ea2033b86

commit c67d5a4a2516644e17740ab38ef71c870a470ba4
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Oct 14 09:51:48 2013 -0500

    fix(queues): Global config used everywhere
    
    This patch modifies the queues code to use manually instantiated configs
    rather than the global config. This will allow for more flexibility in
    configuring components. For example, the up-and-coming sharding feature
    can construct configs based on the shard catalog rather than the local
    INI file. Also, this change will make testing easier.
    
    Also in this patch, the SQLite driver schema was consolidated into
    one place in preparation for the sharding patch. With this change,
    controllers can be instantiated and used independently, since all
    the tables are set up when the driver is loaded, not in a piecemeal
    fashion as before.
    
    Change-Id: I1afa8ab8c7e6dd9a017f4a9e3a3b1fadbeb32806
    Implements: blueprint remove-global-config
    Closes-Bug: #1239725

commit c2c3a205a9bc4773a11c70d2ef7f32440d3007ff
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Sun Oct 13 10:56:08 2013 +0200

    'Persist' __getattr__ results
    
    This patch adds a new decorator that helps creating 'cachable'
    __getattr__ methods. The decorator sets the returned value as an
    attribute of the instance.
    
    The patch also decorates `Pipeline`'s __getattr__ method
    
    Implements blueprint storage-pipeline
    
    Change-Id: I6b052d536d5c6e6edaeec884b3c4a0e8703b1036

commit e8cedadbfd53e889f650be4a931e87d751226b9b
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Oct 10 15:13:11 2013 -0400

    Setup storage pipeline in the boostrap instead of driver base
    
    This patch moves pipeline setup into the bootstrap and out of
    the storage driver base class, so that the base class can be
    inherited by meta-drivers, such as the planned sharding manager,
    without introducing a loop in the bootstrapping logic.
    
    Now, a meta-driver is exposed to the transport object that
    takes care of wiring up the pipeline for each resource
    controller behind the scenes.
    
    As part of this work, the pipeline config was modified to
    support configuring different stages depending on the
    resource. We create three instances of Pipeline anyway,
    so it seemed to make sense to allow the operator to
    configure the pipelines independently.
    
    Partially-Implements: blueprint storage-pipeline
    Change-Id: Ibdb7d0e9537b1eec38a13f4881df7462039bbf98

commit f42ed75e6c45c0d7cfe3fee47dd1e7ccd0a284d7
Merge: 74ead69 683206d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 15 15:04:46 2013 +0000

    Merge "Follow hacking rules about import"

commit 74ead69ba83553f1aacae0d4f055b2b4272b20ff
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Oct 10 15:14:17 2013 -0400

    chore: Remove GC cruft from storage driver base class
    
    Change-Id: I7314d817be2b183d59d4c2dfbf09123ead6bebda

commit 683206d237c748d7eb92f2c2195ac53caaf264b3
Author: Chang Bo Guo <guochbo@cn.ibm.com>
Date:   Tue Oct 8 05:00:53 2013 -0700

    Follow hacking rules about import
    
    This patch follows the rules about import in HACKING.rst
    https://github.com/openstack/marconi/blob/master/HACKING.rst#imports
    
    * reorder imports
    * Add missing blank lines before code
    
    Change-Id: I4abcfb3a2640499c5df34cbf75b5eaecb3d19823

commit 7b93f9bd323bf910afc182128214b7d12cca3df5
Merge: a906fd2 5ed305f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 20:12:10 2013 +0000

    Merge "doc: Update conf filename used to enable mongod"

commit 5ed305f913aa16cdbc017d3139f81dd066950d81
Author: Mike Metral <metral@gmail.com>
Date:   Fri Oct 11 05:23:13 2013 +0000

    doc: Update conf filename used to enable mongod
    
    marconi-proxy & marconi-queues are now default
    
    Change-Id: Ic63ef0813b0bdd0c9797bb9b428c84940bc28645

commit a906fd2fb302578262e98fc2fe965c2aa2742cb9
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 8 08:45:25 2013 -0400

    fix: invalidate partition cache entry on delete
    
    This also hoists one logging entry in proxy.utils.lookup that was
    incorrectly placed.
    
    Change-Id: I6e56a4e8480aff3954898c611f9ebb1e755e0279
    Closes-Bug: 1235362

commit 2881edcf1cb667c39d441ab5f4de892d63dfe0e0
Merge: 617f4a5 66cd5af
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 16:26:46 2013 +0000

    Merge "fix: stream request data rather than loading it into memory"

commit 617f4a593e093c27349a3227bb4e36d46dbb13c0
Merge: 9b0e638 39d0d2f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 16:26:29 2013 +0000

    Merge "fix: validate queue listing limits in proxy"

commit 9b0e63849b9dea7ae2c18ff4b5e67da6441fe6ed
Merge: 4c53ef1 cb408d8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 16:25:09 2013 +0000

    Merge "fix: proxy mongodb storage fields overspecified"

commit 4c53ef17103f024c5f5ced1b45779bcdcd37d984
Merge: 8b00e17 b811cbb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 11 16:20:24 2013 +0000

    Merge "fix: allow multi-update on partition storage"

commit 0082849bfd0f5c3bbb18f15d0416bd0ae0d7a71a
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Oct 10 21:05:33 2013 -0400

    doc: Recommend installing marconi via pip
    
    This approach was recommended by mordred on the dev list recently. It
    will ensure that the correct deps are installed, distribute is the right
    version, etc.
    
    Change-Id: I326053a511db76178d8e63908c3f2287d66c14b9

commit 8b00e173b21053119df9a102255058a93d7df6dc
Author: Chad Lung <chad.lung@gmail.com>
Date:   Thu Oct 10 11:15:19 2013 -0500

    Updated Marconi ReadMe file with correct git repo address
    
    Change-Id: Ia5ede5b9c7fb75c51145d76eac2adb6b46259bc4

commit 04777edc4bfcbcd5c5f0f41a395f3b2737cdf50f
Merge: bc186ae 558ac25
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 10 15:20:20 2013 +0000

    Merge "feat: storage sharding schema for marconi-queues"

commit bc186aeb1a647a2362c8f127a94e37f29c37fc96
Merge: 6b25f32 94a079e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 10 14:59:21 2013 +0000

    Merge "Tests for Client-ID validation"

commit 94a079ebe362abfdc1b1cf0ac1c8a32e3d1254e4
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Thu Oct 10 10:15:08 2013 -0400

    Tests for Client-ID validation
    
    This adds tests to verify that the Client-ID header is a UUID.
    
    Change-Id: I38ca4f2b2299fe9a9c002fa21c490e4c4bcc662f

commit 6b25f3227abc5ffa92c1a6d0983e0aa183a1def1
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Oct 10 12:19:43 2013 +0200

    Use the pipeline for the storage layer
    
    This patch integrates the pipeline between the transport and the storage
    layer. This will allow have filters before getting to the final storage
    and even implement the ShardManager as a Pipe itself.
    
    Implements blueprint storage-pipeline
    
    Change-Id: I428421d9f3d6c2b8f05597073f341689e186960c

commit 0e21349600b84fb35f74eed914a32b82ecb710fe
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Oct 10 12:16:51 2013 +0200

    Implement common pipeline class
    
    This patch implements a common Pipeline class that can be used in
    different areas to mock the way middleware chains work.
    
    Implementation is very simple and straightforward, not much magic is
    needed there.
    
    Partially-Implements blueprint storage-pipeline
    
    Change-Id: Ie94008c92d27379b9b2bc83dd895c0daf5565ae8

commit 558ac2575423662c5787fa7c8285b9d3a237e6ec
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 8 15:31:06 2013 -0400

    feat: storage sharding schema for marconi-queues
    
    This provides a base jsonschema for handling PATCH and PUT requests to
    a future /v1/shards/{shard_name} endpoint.
    
    Change-Id: I10c817ff8b5c196a2a3b2f5562e1bafc34e30adf
    Partially-Implements: blueprint storage-sharding

commit 33f75cd5927e129e6de4fe2116abb5159fa0061a
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Oct 9 20:32:59 2013 -0400

    fix(mongo): Negative age reported in stats
    
    This patch includes a one-line fix, along with a regression test
    to verify the same.
    
    Change-Id: Iffb3cb7c243296b1caacc95e1edd3c6f63c34a4b
    Closes-Bug: #1237620

commit cb408d8d01757ab8929fb007db41c1f76d2cbe47
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 8 07:58:12 2013 -0400

    fix: proxy mongodb storage fields overspecified
    
    It's unnecessary to specify all the fields that should be returned by
    a mongodb query, because by default, it will return all the
    fields. This patch makes it so that only the '_id' field is mentioned
    specifically, and that's because we don't want it leaking into the
    transport layer.
    
    Change-Id: Ib59e551b0c85f2972de86baeaa2c7e65738a9a47
    Closes-Bug: 1230390

commit 39d0d2f52299fd93ba6a00ca2f113a24ec370aba
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 8 09:08:27 2013 -0400

    fix: validate queue listing limits in proxy
    
    Adds the appropriate unit test to show that this works and keeps
    working for the forseeable future.
    
    Change-Id: I25d3ba3f9b1e3a51d8ba86171cd7329585c3e080
    Closes-Bug: 1234481

commit 2273b2f587613dfd038c0ab7bbf0858eccdfb488
Merge: c9b0f65 8d142c6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 9 14:17:21 2013 +0000

    Merge "Replace deprecated method aliases in tests"

commit c9b0f65f1892abc2732fcf218546cfae366f846f
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Oct 3 14:57:32 2013 +0200

    Use oslo.config directly instead of common.config
    
    We've been using a wrapper around oslo.config that worked well at the
    early stages of the project. Now, as the project grows, we need to user
    more features from oslo.config that wouldn't make sense to export
    through the wrapper we have.
    
    This patch deprecates marconi.common.config and uses oslo.config
    directly where needed.
    
    This is the first patch around the bp remove-global-config, upcoming
    patches will completely remove the usage of a global instance.
    
    Partially-implements remove-global-config
    
    Change-Id: Ie14c6bae8cdb72a6ed93a12c34cd8b156e059872

commit 8d142c66ff801fd86ed2cbd6ec23d28a4dfe54e1
Author: Chang Bo Guo <guochbo@cn.ibm.com>
Date:   Tue Oct 8 04:25:22 2013 -0700

    Replace deprecated method aliases in tests
    
    Some of the TestCase methods have been deprecated since python 2.7.
    We need use correct names.
    
    http://docs.python.org/2/library/unittest.html#deprecated-aliases
    
    * replace 'assertEquals' with 'assertEqual'
    
    Change-Id: I6c3a569ebaeac0d85b0a6fe2c24f183d8d157663

commit 32e2e29e62e650db75afd0fccfb685339011a63a
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Oct 7 16:44:04 2013 -0500

    fix(mongo): Queue listing may include queues from other projects
    
    This patch changes the mongo driver so that it explicitly checks that the
    queue belongs to the correct project, rather than simply getting
    everything greater than a specific queue name.
    
    The associated unit test was updated to catch any regressions in the
    fix. The test was also updated to take into account the change in queue
    metadata handling that landed several weeks ago.
    
    Change-Id: I6434d8452ff38bb3191ab947f5f143b650e2b103
    Closes-Bug: #1236605

commit 66cd5af9b63bca49dee2e8206eece00c924a9cfe
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 8 08:37:49 2013 -0400

    fix: stream request data rather than loading it into memory
    
    Change-Id: I47b1791de2a3d21b578604c1ea56f751cdb366ad
    Closes-Bug: 1230388

commit b811cbb664736852366a33cae768222ff11295ec
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Tue Oct 8 08:22:11 2013 -0400

    fix: allow multi-update on partition storage
    
    Enhances the implementation of partition_controller.update to allow
    updating multiple fields in a single call.
    
    Change-Id: I5710c0e2ff3e1a293b6760114f5350b6f4ffcc79
    Clsoes-Bug: 1234790

commit 1adba6cc18439098b2364751b2c931a24d9eab5a
Merge: c6e0012 cef47c6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 19:20:36 2013 +0000

    Merge "feat(api): Client-ID as a real UUID"

commit c6e00123f2e56774fca77ce86f9c51dcc481ff53
Merge: 0e11e70 cdf6f1b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 19:17:13 2013 +0000

    Merge "feat(api): give validation resp a different title"

commit cef47c68e50ef791f5e2a3db341d26bed814bdb5
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Oct 2 10:33:41 2013 -0400

    feat(api): Client-ID as a real UUID
    
    We store the UUID in binary form in DBs, and perform checking
    on user inputs.  Compared with the hex form we currently using,
    the binary form saves half space to store.  In addition, by
    enforcing UUID on the server side, we can minimize the chance of
    client ID collision.
    
    Change-Id: Ic3048a0d2aa21bd201e2d2d9cd8a562662cf8f8e
    Closes-Bug: 1233420

commit cdf6f1bc2ecfdb43058df71246dff529f8e8e9aa
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Oct 4 17:10:05 2013 -0400

    feat(api): give validation resp a different title
    
    HTTPBadRequestBody should only be used to indicate the errors
    with content body, while input validation errors should be
    regarded as violations on API calling conventions.
    
    Change-Id: I23990f58ff3233fe1cf4febad77efe0173027a33

commit 0e11e70138ac6c0cc56fa9806450034c04d4180a
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Oct 7 12:10:55 2013 -0400

    bug: proxy headers aren't forwarded properly
    
    The proxy currently forwards headers in WSGI format,
    e.g. 'Content_Length', vs. 'Content-Length'. This breaks any standards
    conforming HTTP server that's placed in between the proxy and
    marconi-queues endpoints (for partitioning). This patch cannonicalizes
    headers before they are forwarded to resolve this issue.
    
    Change-Id: I1eab83dbb1fb9cfec5d15d40830e383da4e6591e

commit ee077e045393ba859c7113043308a262b6537aa4
Merge: 3ea69b6 0d4169d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Oct 7 09:07:42 2013 +0000

    Merge "chore: Designate semi-private "friend" helper methods as such"

commit 3ea69b6ea9e4e9e7f15623c5588605e764bb8d85
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Oct 2 15:02:33 2013 -0400

    feat: add logging to proxy
    
    Adds reasonable logging to the proxy, especially at the transport
    layer and for cache debugging.
    
    Mostly imitates the logging style used by the queues server.
    
    Partially-Implements blueprint placement-service
    Change-Id: If5490a3b18bf660e9c7a57f47959eedacc936b48
    Closes-Bug: 1230379
    
    Change-Id: I9113f4b4e4b02de62b7470d3dca4d08fdd0769cc

commit b0afea3f52c297e7801e06d1cd098d01e1f55e04
Merge: 95bf672 943213f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 4 21:52:58 2013 +0000

    Merge "fix: listing queue fails when detailed=True"

commit 95bf672b0c0a8600f28675447d568d11e40a9da4
Merge: 5761d37 f59dd2d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Oct 4 21:46:34 2013 +0000

    Merge "feat(proxy): listing opts returns lists"

commit 943213fadb2a41a85ee42dde6ebc52142eb9dd57
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Oct 4 12:08:59 2013 -0400

    fix: listing queue fails when detailed=True
    
    Change-Id: Ibda6bf0ee500b1e21893c1433bf3b839af1cef22
    Partially-Closes-Bug: 1234481

commit 5761d3784967255e78fb85ae8402bcd82e5c3057
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Oct 3 13:59:25 2013 -0400

    fix: do not duplicate queues across partitions
    
    This patch fixes a proxy bug that allows queues to be duplicated
    across partitions. This happens because the catalogue isn't checked
    for project/queue existence before forwarding requests to a marconi
    partition.
    
    Caching is also added to queue on_put to quickly determine if a
    particular project/queue exists.
    
    A unit test suite is added that verifies that this has been fixed, as
    well as checking various properties on the queue resource.
    
    Closes-Bug: 1234849
    Partially-Implements blueprint placement-service
    
    Change-Id: I2e8ca29abd58ecb6f33f0f296119e341504ea3fd

commit 0d4169d960ced903f6c9aaa885d4cdf6783b3ab7
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Oct 4 14:18:19 2013 -0500

    chore: Designate semi-private "friend" helper methods as such
    
    This patch implements flaper87's suggestion from several weeks ago
    to either define ancillary storage driver methods in the ABC, or
    to treat them as "semi-private" and rename them to include an
    underscore in the front.
    
    I took the one method that was implemented by both storage drivers, first(),
    and formally defined it in the ABC. The remaining mongo helper methods
    that support other controller classes within the same driver (i.e.,
    "friend" classes) were given the canonical "_" prefix.
    
    Change-Id: I6b4f8ab7f961a621bf85e122ef7e33a3c1084f8f

commit eaaee4c09ef2e6666310bbe6d8fc6af693bc7e8b
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Oct 2 17:32:09 2013 -0500

    chore: Rename MONGODB_TEST_LIVE to MARCONI_TEST_MONGODB
    
    This patch renames the MONGODB_TEST_LIVE environment variable so that it
    is consistent with MARCONI_TEST_SLOW. Testing for the renamed variable
    was also DRY'd up using a decorator.
    
    Change-Id: I6b08ae2ca2f86daf50df11219cc8c0a465e86c13

commit f59dd2d2d04e65ffd178a66b7aa71b36cfcfbbcd
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Oct 2 16:45:47 2013 -0400

    feat(proxy): listing opts returns lists
    
    Closes-Bug: 1233277
    
    Change-Id: I46e021b04d8245002273db240bbe68f2e4457be7

commit cbd9fda4d2adc3b3300da3d7fb03dbef4a16fc55
Merge: fa487de dd17355
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Oct 3 18:47:18 2013 +0000

    Merge "Add Tests for Queue Stats"

commit dd17355a7fc9fa6131188d4d3ed76d0ac07a27d8
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Tue Sep 24 07:09:56 2013 -0400

    Add Tests for Queue Stats
    
    This patch adds tests for Queue Stats.
    
    Change-Id: I7842eef98e6ed0a9809bea1a9b9d194c41b29d08

commit fa487de15e264798022c96de3caad1b272cfaea8
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Sep 27 23:13:46 2013 -0400

    fix(wsgi): Non-ASCII characters in the queue name trigger 500 status
    
    The problem was that queue_name wasn't being validated before being
    used to construct log messages. Also, I found that the regex used to
    validate queue names was not reliable and needed to be rewritten.
    
    Upon further investigation, I also discovered that the queue name
    wasn't being validated for all routes that included it. This was
    also fixed. Validating all input is a basic best practice re
    application security.
    
    Along the way, I edited the validation error messages for clarity,
    and relocated the ValidationFailed exception since it is only used
    by the transport driver.
    
    Change-Id: Idf9f6c7b9a88865a6396dfcd72abbce96c774490
    Closes-Bug: 1208873

commit 945b1cbac940f7754549ce4bb7b1e4a8a041d891
Merge: e8fe977 92fad17
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 21:50:38 2013 +0000

    Merge "fix: encode keys before caching"

commit e8fe977aefc04749899d24241231bb54be908fd4
Merge: 3e3f869 99aaa02
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 21:47:29 2013 +0000

    Merge "feat (proxy/admin): allow partition modifications"

commit 3e3f869e8a595ca214e45052e26429a93d134899
Merge: c9b939f 53c386a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 21:31:50 2013 +0000

    Merge "feat: split proxy API into admin and public apps"

commit c9b939ff00145e35aac6d0831591e9cb51b9b5ab
Merge: cec4c30 9104515
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 21:29:33 2013 +0000

    Merge "feat: separate config for queues and proxy"

commit cec4c3003444cbe9dd6d4f79b18488d883651f4f
Merge: 62514a9 08c6390
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Oct 2 21:26:36 2013 +0000

    Merge "proxy: mirror structure of marconi queues + bootstrap"

commit 92fad17cc72007abdda46a3b6a98ec26e486f9cc
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Oct 2 11:25:22 2013 -0400

    fix: encode keys before caching
    
    This patch addresses an error in the caching layer that prevented it
    from playing nice with backends like memcached that expect keys to be
    bytestrings rather than unicode strings. The change is made in
    oslo.cache to make its use as transparent as possible to users.
    
    Change-Id: Iee48e16393321ff7908807a9f0f7fa20480ec5f4
    Closes-Bug: 1230556

commit 62514a92fd27fb4c01ec8111a9ae719535232b4e
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Oct 2 12:23:29 2013 -0400

    fix: force exception content to be text_type
    
    Change-Id: Icc305f57741de88b72d40c677ef81dea918db818

commit 99aaa0272c1c0761606367d3afa201f4256241af
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Fri Sep 27 15:54:05 2013 -0400

    feat (proxy/admin): allow partition modifications
    
    This patchset adds one new method to the partitions API
    - PATCH /v1/partitions/{partition}
    
    The partitions storage layer is also updated to support a simpler
    update interface:
    - update(self, name, **kwargs) [with kwargs in ('hosts', 'weight')]
    
    The partitions transport layer is cleared of cruft and reuses JSON
    handling utilities from the queues transport layer.
    
    This patch implementation uses jsonschema to achieve self-documenting,
    strict format validation of the incoming input.
    
    The partition storage controllers are modified accordingly, as are the
    tests. More tests are added for the partitions transport layer to
    verify the correctness and to ease future refactorings.
    
    Change-Id: Ifa92b1225421196f95131c2b74e3c07b07c4cfd4
    Implements: blueprint placement-service
    Closes-Bug: 1230841

commit 53c386af6897e460d61eb2fe5799e2fddda67571
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Sep 26 09:03:38 2013 -0400

    feat: split proxy API into admin and public apps
    
    Rationale: when deploying the proxy, operators should be the only ones
    that have access to the administrative functionality - primarily, the
    management of partitions. This split makes it possible to deploy the
    forwarding portion of the proxy independently of the administrative
    portion.
    
    The appropriate changes in tests, setup.cfg, and configuration files
    (see: I7cf25e47ecff47934b50c21000b31308e1a4c8a9) were made.
    
    Certain helpers that are reused for wsgi transport implementations
    were extracted to a common location to aid reuse.
    
    Unit tests were also simplified for the proxy, with the intent to make
    them more thorough in coming patches.
    
    New test requirement: httpretty
    - used to perform request mocking during proxy transport unit tests
    
    Change-Id: Ia26981a78c477a896370c48768e71f45c364c769
    Implements: blueprint placement-service

commit 910451514dab37fe40e963cb683c2601641eeeb6
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Sep 25 15:02:30 2013 -0400

    feat: separate config for queues and proxy
    
    This patchset separates the configuration of the proxy from that of
    the queues server. This was done in order to simplify the
    configuration file for each, and because it is not expected that the
    proxy and the queues servers would be launched on the same
    host. Furthermore, many of the proxy options are not relevant to the
    queues server.
    
    Furthermore, to allow this, common.config had to be modified to take a
    prog parameter. This enabled the ability to save multiple
    configuration files to one directory. See below for details.
    
    The new files are:
    - etc/marconi-proxy.conf
    - etc/marconi-queues.conf
    
    They are expected to be saved to one of:
    - ~/.marconi
    - /etc/marconi
    
    Regarding namespaces, queues specific options are associated with the
    'queues:*' group and proxy specific options are associated to the
    'proxy:*' group.
    
    The appropriate changes are also applied to the test suite and
    helpers.
    
    Change-Id: I7cf25e47ecff47934b50c21000b31308e1a4c8a9
    Implements: blueprint placement-service

commit 08c639019c4ef95bdcdcb132ecd3603d3ef10591
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Sep 19 11:01:17 2013 -0400

    proxy: mirror structure of marconi queues + bootstrap
    
    This patch adds smarter configuration to the proxy in two steps:
    
    1. mirror the transport implementation used in marconi.queues in
       marconi.proxy
    2. add a bootstrap file to take care of start up
    
    Rationale: make configuration work, make deploying easy, make
    alternate transport implementations feasible.
    
    Another change: the unit tests are fixed by adding a few changes:
    1. add drop functionality to the proxy storage interface
    2. use drop/flush in test suite tearDown
    3. rm tests.unit.test_config
    4. delete queues at the end of the catalogue test (not yet robust)
    
    The rationale for (3) was that test_config did not play nice with
    other tests when they were registering their options, and failed as a
    result. Furthermore, we should not need to test oslo.config.
    
    Configuration changes: new fields in etc/marconi.conf
    - drivers:proxy
    - drivers:proxy:storage:{memory.mongodb}
    - drivers:proxy:transport:wsgi
    - oslo_cache
    
    Also, fix: InternalServerError -> HTTPInternalServerError
    
    Finally, redis was removed from requirements.txt.
    
    Change-Id: If2365a1a738a3975fe6bde7bd07dfdee3460cecd
    Implements: blueprint placement-service

commit df98666411cfea08db6b8bee4de81b6e4a0532ca
Merge: b1f2589 102cf3a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 1 20:56:26 2013 +0000

    Merge "fix(proxy): forward marconi headers"

commit b1f25899b3f8d430494e8642c0c14d5e10b198f1
Merge: 39bfefa 857e9d1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Oct 1 20:47:55 2013 +0000

    Merge "feat(mongodb): Partition data across multiple databases"

commit 102cf3a388a70ac6298788cf231c102425fafcbc
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Sep 20 16:33:24 2013 -0400

    fix(proxy): forward marconi headers
    
    Proxy uses the `requests` library to dispatch requests to
    multiple marconi servers.  When the result comes back, update
    the proxy response headers with the marconi responses.
    
    Change-Id: I151580f174f1a0fc1edca23b43bb7256bcf568fe

commit 39bfefaec8d668f97d1454d1ff715f7ad1e4b918
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Oct 1 17:40:21 2013 +0200

    Fix queue's packages namespaces
    
    Some namespaces weren't migrated during the marconi marconi/queues
    migration. This patch migrates those.
    
    Change-Id: I70e7140eb30f9b4e50836db076d0618cd1dbad73

commit 857e9d1f4919b6249675860918a6b8d277f5ddeb
Author: Oz Akan <ozgurakan@gmail.com>
Date:   Tue Sep 10 22:49:29 2013 -0400

    feat(mongodb): Partition data across multiple databases
    
    This patch causes data to be partitioned across multiple databases in
    order to reduce writer lock contention. The "queues" collection is
    isolated in its own database, while the messages collection is partitioned
    across several other databases. The number of partitions is configurable.
    
    For example, if the number of partitions is set to 4, these databases
    will be created in MongoDB:
    
        marconi_queues
        marconi_messages_p0
        marconi_messages_p1
        marconi_messages_p2
        marconi_messages_p3
    
    Implements: blueprint mongodb-multidb
    Change-Id: I399f4a39e5377a381aef489b046bc14155ccb75b

commit 9371a7539bbef5b36782d92f03391a02efffc90e
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Sep 19 15:14:54 2013 -0500

    chore: Expose commit hash in version module
    
    This patch adds a marconi.version.verify_sha() convenience function,
    so that continuous integration scripts can use it to verify marconi has
    been installed correctly and/or to detect when the installed version is
    out of date (i.e., that "import marconi" pulls in the latest version of
    the library.)
    
    Change-Id: I645c3a55a837d588fec55fa9b5c1ec579026b8f5

commit a10e87d8fbae3f4d5756f29cfcc2c96ebec94410
Merge: c5d62ed 4b39ab0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 27 16:07:26 2013 +0000

    Merge "Update oslo to latest and greatest"

commit c5d62ed38568a56dac3c2ccea45acebab513fe17
Author: Francesco Vollero <fvollero@redhat.com>
Date:   Fri Sep 27 00:56:31 2013 +0200

    WSGI: added the control for non empty X-PROJECT-ID
    
    Closes-bug: #1228249
    
    Change-Id: I6fbf0344fd45f9581a28a55ef852139b32e93ed7

commit 4b39ab06edccc9353ffa93596073ecbb0944b3be
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Sep 25 22:18:40 2013 -0400

    Update oslo to latest and greatest
    
    This was done mainly to pull in the fixt to timeutils.set_time_override() so
    we don't have to keep passing in utcnow() into it.
    
    Change-Id: I9918d03c57b8fbdc3750c7cb072a1aff2b2c653d

commit e8e3baef4e4689324112b4e83d555bcc039bc31c
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Sep 18 16:28:49 2013 -0500

    perf(mongodb): Combine project and queue message fields
    
    This patch merges the message and queue collections' project name and
    queue name fields into a single 'p_q' field, named to denote the
    compound nature of the scoped queue name string.
    
    This should reduce index complexity, making for faster inserts and
    finds. This hypothesis obviously needs to be verified during the
    review process for this patch.
    
    Change-Id: I3da09806ad50c2d79f1f0c03bee68f1cc4ee787d
    Implements: blueprint api-perf-tuning

commit 1512db43ec29e9afa6d05e292cdc7cfce5da2029
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Sep 16 18:19:14 2013 -0500

    fix(mongodb): Marker generation creates a bottleneck under heavy load
    
    This patch changes markers so that they are generated using a per-queue
    side counter. A heuristic is used to mitigate a race condition. Due to the
    new semantics, partial inserts are no longer possible due to collisions,
    which ended up simplifying the retry logic for posting messages.
    
    As a consequence of this patch, the last message posted no longer needs
    to remain in the queue indefinitely, rendering marconi-gc unnecessary,
    and so it has been removed.
    
    Also, since the mongod GC worker runs once a minute, the queries no longer
    filter out expired-but-not-yet-gc'd messages; on average, a message may
    live more than 30 seconds passed it's expected lifetime, but I do not
    think that this will harm or complicate any application building on top of
    Marconi, practically speaking. That being said, it is worth calling out
    in documentation.
    
    Closes-Bug: #1218602
    Change-Id: I34e24e7dd7c4e017c84eb5929ce37ad4c9e5266a

commit 0ee1ab8e75e60bd6937c1bdb21e8a4a0b8c7b5c6
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Sep 23 15:05:22 2013 -0400

    fix: age presented as negative
    
    Adds unit tests to verify that the bug never appears again. The unit
    test is effective for storage backends that use timeutils to measure
    the age of a message.
    
    Bug manifests itself in both claims and messages.
    
    Change-Id: I7fec4533236df5b232c0500835ac8e1d9d261d09
    Closes-Bug: 1229358

commit 87dd61614dcb5a952428bf619c76314c36472bdd
Merge: 4590318 fc45587
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 26 02:42:48 2013 +0000

    Merge "Move queues' unittests under tests/unit/queues/"

commit 4590318d94f9b03aef790e0cbdc7ea56459c4317
Merge: dc549ab d7a9eef
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 26 02:41:07 2013 +0000

    Merge "Move tests/unit/storage/base under m/tests/storage"

commit dc549abbc46713aebc498f23718e1a05d71f8103
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Sep 20 13:57:36 2013 -0400

    test(proxy): fix proxy-transport tests
    
    Change-Id: Ibc05d6949221367a21b493f75ff0b4f0350ee265

commit ca26627ec47031255ba0acbdb3328081da280f5e
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Sep 19 14:08:50 2013 -0400

    proxy: adds oslo.cache, config support, & stevedore
    
    This patch brings together oslo.cache, oslo.config, and stevedore to
    provide pluggable, hierarchical catalogue caching for marconi proxy.
    
    Here's the list of changes:
    - add configuration/driver loading at the app level
    - remove select from proxy storage driver - unnecessary intelligence
      at storage layer
    - node.weighted_select -> partition.weighted_select (clearer name)
    - forwarding logic further refactored, placed in own module
    - caching logic placed in lookup module
    - selector passed down at app level to handle round-robin state
      globally
        * open to becoming configurable
    - adds several TODOs for a better proxy
    
    Change-Id: I3bc568315e685486d63cdce3ec278c89e3f2b2bc
    Implements: blueprint placement-service

commit 8d4acc5f2e135ca70cbbcd8d0b8cfbf0816a3475
Merge: 4798a51 fb4b34d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 25 08:42:43 2013 +0000

    Merge "fix(mongodb): Remove $or clause used to claim messages"

commit 4798a51446286f6b10833f4891210bdbe3de6f73
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Tue Sep 24 21:41:09 2013 +0100

    Require oslo.config 1.2.0 final
    
    Now that 1.2.0 has been released, require it rather than one of the beta
    release tarballs.
    
    Closes-Bug: #1182861
    Change-Id: I75ffc4a572d14488d19491a38742d6920951c171

commit fc45587146a1ba70d5a5bc2f1b960273a7feaa79
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Sep 24 16:24:39 2013 +0200

    Move queues' unittests under tests/unit/queues/
    
    This patch moves queues' unit tests under a queues package to reflect
    Marconi's source structure.
    
    Change-Id: Ibe009aba89d615333b8626c73008c55ee3face8f

commit 94b0509159832ff42345c98a2f3855d7f4554a4c
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Sep 24 16:15:35 2013 +0200

    Move test_default_limits to the new tests location
    
    This test apparently landed in the wrong package after the tests well
    re-factored. Moving it to the right location.
    
    Implements blueprint refactor-system-tests
    
    Change-Id: I4d01772afce669f42e4d4693ff72d55bea5438ef

commit d7a9eef39a7612f724712a61f194da45a0aaed0a
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Sep 24 16:06:29 2013 +0200

    Move tests/unit/storage/base under m/tests/storage
    
    If we want third-party backends to inherit from these tests, we need to
    ship them along with Marconi. This patch moves storage base tests under
    marconi/tests/sotrage.
    
    Implements blueprint refactor-system-tests
    
    Change-Id: Ic7390ead37694bdac9eb341da6f239b8c1178e1e

commit cd972aafd1f6e34d38fc47ceb008709e2bbcb591
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Sep 19 11:18:15 2013 -0400

    proxy: mongodb storage driver
    
    This patch adds a mongodb storage driver for marconi-proxy. This also
    includes the test driver and a test configuration file.
    
    Change-Id: Ia039df7b8c86af8b3ec51732ca4cd7b533437fff
    Implements: blueprint placement-service

commit 804c1160845c3fdc996500d51ca153315e54bc4c
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Sep 19 11:01:17 2013 -0400

    proxy: memory storage driver + tests + fixes
    
    Adds a memory storage driver to marconi-proxy. This is ideal for
    testing storage implementations.
    
    Furthermore, unit tests are added for the storage layer. These tests
    check the fundamental behavior of the proxy storage drivers and
    mirrors the approach used by marconi/queues/storage.
    
    The storage interface has also been updated. The old variant keep
    round robin indices in storage. I found that this was a Bad Idea. This
    patch removes this design flaw from the
    implementation. Consequentially, many of the helper functions were
    greatly simplified. See: utils/node:weighted_select and
    utils/round_robin:Selector.
    
    The last set of changes relate to the transport layer. They are as
    follows:
    - redis has been torn out of the transport
        * storage is no longer hard-coded
    - partition and catalogue controllers are passed as needed to
      resources
    - resources round-robin per request, rather than only once on queue
      allocation
    - terminology update: nodes -> hosts
    
    Change-Id: I78863f7437dd9eec011cdfe7962fd88be23a3975
    Implements: blueprint placement-service

commit fb4b34d0ee65335a2f954c817ee0d35ce1dbf810
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Sep 20 10:16:41 2013 -0500

    fix(mongodb): Remove $or clause used to claim messages
    
    The $or clause was removed from one of the queries in
    ClaimController.create() because it is no longer necessary,
    and makes the query slower than it would otherwise be.
    
    Mongo will just use the _id_ index now, which should be fine
    since scanning a small set of messages by c.e is fast.
    
    Change-Id: Ifcb918ef66d072a10690ad49406f4a787e84becd
    Implements: blueprint bp/api-perf-tuning

commit e96cee8b97f3a2d370f908f9a86fab67f3108a28
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Thu Sep 19 10:55:22 2013 -0400

    Help Bleeding Eyes
    
    This patch renames the ddt tests with huge names.
    
    Change-Id: I5f85ef4609c7d397d932d267fa93b1a46eea22cb

commit 951d93048a8b5a84f933a03947e4c6adbb9d521c
Merge: 3c7e29c 42efaa5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 18 19:41:28 2013 +0000

    Merge "Update HACKING file with the new structure"

commit 3c7e29cfe29aa9fa0a3dfa6356f99cac418735e3
Merge: e6615cc 35f3bc5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 18 19:41:22 2013 +0000

    Merge "Fix old import paths"

commit e6615cc85856f582c6247c18e6cd75fe0fa008f4
Merge: 427aa5e af7c1bc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 18 19:39:14 2013 +0000

    Merge "Update pbr and requirements to be current"

commit af7c1bc13d6962cd0f2aac2519a1e3705b29f574
Author: Monty Taylor <mordred@inaugust.com>
Date:   Wed Sep 18 07:06:17 2013 -0700

    Update pbr and requirements to be current
    
    The usage of pbr and the rest of the requirements need to be update to
    be up to date with modern usage.
    
    Change-Id: I7dd4c6d6f6721205a293d427851733a0391ea72e

commit 427aa5eeec7b611001e14a3e9bc30b543b069500
Merge: d15c6aa 8662cc1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 18 14:09:43 2013 +0000

    Merge "Fix Functional Tests"

commit 42efaa5600f43a169f011a301cdfc267a1e9460e
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Wed Sep 18 13:53:27 2013 +0200

    Update HACKING file with the new structure
    
    Implements blueprint change-marconi-structure
    
    Change-Id: Ibfc3fa33b65ae9de7c977b22cffce97bca6bbf13

commit d15c6aa0d460107f38f0a2bb8762c4a0918485dd
Merge: f717c8a fb84c5d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 17 19:47:29 2013 +0000

    Merge "test(proxy): catalog tested"

commit f717c8a7d50b6b98deb1af506df6ecaebcac6041
Merge: deb9994 522e65e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 17 19:47:28 2013 +0000

    Merge "test(proxy): partition related endpoints tested"

commit fb84c5de5746034fb7874f902de767906c5c380e
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Fri Sep 13 13:26:26 2013 -0400

    test(proxy): catalog tested
    
    Change-Id: I7418f330439a5771d7baba6734c8f94b0d8ceb3a

commit 35f3bc56dbd6032c91612419fedee67dfb3c4104
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Sep 17 17:40:58 2013 +0200

    Fix old import paths
    
    Some imports weren't changed in the previous patch. This patch fixes
    those imports.
    
    Implements blueprint change-marconi-structure
    
    Change-Id: Ib7fc0d0d2067d816d30c7c4c9b0f590cb72010f5

commit 522e65e6613b2abe7cd1f1745af7692d3d4a2f21
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Thu Sep 12 17:31:16 2013 -0400

    test(proxy): partition related endpoints tested
    
    This patch also introduces a base class to test proxy.
    
    Change-Id: I7693f326f783fd860bec38c3f5ae56b4ec614128

commit deb99942a2a8dfd0e7a769fe9989e674038d1a26
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Sep 12 13:43:07 2013 -0400

    feat: define interfaces for proxy storage
    
    This patchset introduces an interface for future proxy storage drivers
    to work with. Along with the interface, the basic machinery for
    writing unit tests for the storage drivers is exposed.
    
    It introduces two controllers:
    - PartitionsController
    - CatalogueController
    
    This should facilitate exposing stevedore entry points for defining
    custom proxy storage drivers.
    
    Appropriate exception classes are also exposed.
    
    six is introduced as a dependency to take advantage of
    six.add_metaclass.
    
    Change-Id: I49f66a942dc24ef3e090132c6862529fa4ebfcec

commit bac3a59b40d5ec1816573223b5a66e4a1e739323
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Aug 29 17:55:30 2013 -0400

    feat: marconi-proxy forwarding
    
    This patchset inttroduces forwarding. The following resources are now
    passed on to marconi:
    - claim-related requests
    - message-related requests
    - queue stats requests
    
    Furthermore, on queue metadata operations, the queue catalogue is now
    updated with the desired metadata.
    
    Change-Id: I16fa20bc53523574b7e8c2e30556ed6ad7df5a76
    Implements: blueprint placement-service

commit e0eefeeb7b05c1c88c0917aaea10087cf7ad589d
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Aug 29 17:06:03 2013 -0400

    feat: marconi proxy (v1, health)
    
    Adds handling for the following endpoints:
    - GET /v1
    - GET /v1/health
    
    It simply forwards the requests to the first available partition.
    
    Change-Id: I990cce0faddf2afc864357ccb6a3cb08c6aca6a1
    Implements: blueprint placement-service

commit 030c309476a5078f9d7bc6d54be8bc7d31a8bcef
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Aug 29 16:55:04 2013 -0400

    feat: marconi proxy
    
    This patchset introduces the marconi-proxy service. The service makes
    it possible to abstract marconi deployments into partitions, as
    defined in the referenced blue print.
    
    This reference implementation uses falcon to manage WSGI aspects,
    redis for catalogue storage, and recommends gunicorn or uwsgi as the
    server.
    
    Includes:
    - registering partitions
    - cataloguing queues
    - forwarding requests to the appropriate marconi partitions
    - round-robin selection of partition nodes
    - weighted selection of partitions at queue creation time
    - queue listing w/ metadata (GET /v1/queues?detailed=true)
    
    Still needed, working on:
    - unit tests
    
    A few things that will be handled in later patchsets
    - queue metadata handling + metadata endpoint (2)
    - request forwarding to marconi (3)
    - hierarchical caching with authoritative persistent storage (4)
    - regeneration of the catalogue from authoritative cache (5)
    
    Change-Id: I5dabc92497f3edf5bc32d58c8a2c4e43ff9833a3
    Implements: blueprint placement-service

commit 9b6350afa52964540d8853d565f3f32d53004c3f
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Sep 17 14:47:47 2013 +0200

    Change Marconi's codebase structure
    
    This patch re-structures Marconi's codebase in a way that it'll be
    possible to add other services such as marconi-proxy and
    marconi-notification as standalone services within Marconi.
    
    Implements blueprint change-marconi-structure
    
    Change-Id: Id6061f04ec6e6959143fb0f5905bb8799fd86edd

commit 443acec894ba5ab39e901b65e8e07b6628421a01
Merge: bbbb14f 2417dfc
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Sep 17 09:33:00 2013 +0000

    Merge "chore: Update Falcon dep to allow version 0.1.7"

commit 8662cc17a9ce45a60db41b613c32f179f8585356
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Sep 16 20:52:24 2013 -0400

    Fix Functional Tests
    
    This patch,
    1. Fixes the Auth tests.
    2. Adds cleanup for queue tests.
    3. Replaces hard coded message counts with config values.
    4. Removes skipTests.
    
    Change-Id: I20ec8ced57a032c618331ac416974632170cadd3

commit 2417dfccedc5615689a9db33827d2c06dbce7a75
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Sep 16 12:20:02 2013 -0500

    chore: Update Falcon dep to allow version 0.1.7
    
    The latest version of Falcon contains some bug fixes, as well as
    the ability to automatically respond to OPTIONS requests, something
    that we rely on for "follow-your-nose" clients; the home document
    does not list every endpoint (only those that would otherwise be
    undiscoverable).
    
    Change-Id: I7767d44ec7fabb69bf771b6e709f521606e6d0a0

commit bbbb14fcd77d463869fe4930c0f02dc96c2cce3d
Author: Jeremy Stanley <fungi@yuggoth.org>
Date:   Sat Sep 14 17:43:09 2013 +0000

    Update .gitreview for incubation org move
    
    The org move from stackforge to openstack is complete. Update the
    .gitreview file to reflect it.
    
    Change-Id: Ic553b674630024c18d28af3b468e94c13171b74a

commit 04abc93199f06eb478cb04bb36a8a7c3fef49282
Merge: 9bb249e 362b6ff
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 12 18:30:06 2013 +0000

    Merge "Replace old functional http.post call"

commit 9bb249ebebef0358c96dc3c36c3e09b49c7d0058
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Sep 9 16:56:17 2013 -0400

    feat(mongo): use UNIX timestamp instead of datetime
    
    Closes-Bug: #1222928
    
    Change-Id: Ia352eb0643bfbc20b10cb965617c2e503e4966f5

commit 362b6ffc45f76651af4793b1f013d0dbd6407de3
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Thu Sep 12 11:11:53 2013 +0200

    Replace old functional http.post call
    
    The patch removes a leftover of the old http helper functions and moves
    the check of self.conf.auth to the setUp method.
    
    Change-Id: Ie5cf3c7cfbf5dc80e9a1faf6556588d3b2284bb7

commit 496e6ddd7078088a470c4cbe9675df0ca72bc51b
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Sep 11 14:44:50 2013 -0500

    chore: Update oslo.config to version 1.2.0a4
    
    Change-Id: I7bbf9ff4b7a9375f51e49e348ea60e723fdde276

commit d1df6b1d447282abe70ec33914b5d3929393e898
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Sep 11 18:30:03 2013 -0500

    fix(tests): unit tests disabled due to missing __ini__.py
    
    Change-Id: I6142e0068e20f15cc09aa6097ed139fdd5dd43c8

commit 72974b7be1ed66476ab7027bb5b3eb6c9c3e2340
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Aug 28 20:30:08 2013 -0500

    fix: Requests get slower when queues have a lot of messages
    
    The primary culprit was an additional scan operation
    in the MongoDB driver's _list(...) method, triggered by
    a range query on the message's expiration date.
    
    This patch removes that field from the index, so the filtering
    is done using a single scan pass. It also removes 'e' from the
    index used for counting messages, since in testing it was
    slightly faster to leave it out (and should also slightly speed
    up insertion time since it's once less index field that mongo
    has to worry about.)
    
    Also in this patch, the order of the project and
    queue name fields were swapped in the index in order
    to optimize for selectivity. In addition, some minor
    edits were made for style and correctness.
    
    Finally, this patch also removes thresholding from
    the GC so that we don't have expired messages hanging
    around for a long time that have to be filtered out.
    
    Change-Id: Ie4bd125e966612f4a8022fd6af133314d05fe428
    Closes-Bug: #1216950

commit defd75e1a5b3b5d7c0730151acc86fd18e3e36ae
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Sep 4 14:29:38 2013 +0200

    Move Unit tests under a unit package
    
    As part of storage refactor, it was decided to move unit tests under a
    unit package.
    
    Implements blueprint: refactor-system-tests
    
    Change-Id: I15a6cd9e80ed5ef6e71e6e7d778b161df66d8beb

commit 34f1d68f2e4283dff0cbc8b8ef8c70d6b92cbe46
Author: Flavio Percoco <flaper87@gmail.com>
Date:   Tue Sep 10 14:50:48 2013 +0200

    Use format instead of % for string formatting
    
    As part of keeping Marconi forward compatible, this change replaces
    the usage of % for string formatting with .format.
    
    Change-Id: Ie2b1c95f4527339953aa57cceb9b39b0988bef26

commit 98d5487e4c466acc1aab6e95b22e49a7333d7e54
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Sep 6 15:00:47 2013 +0200

    Move functional tests into wsgi/v1
    
    As per previous discussions and decisions, functional tests should
    respect a $transport/$version structure. This patch moves existing tests
    under wsgi/v1.
    
    Implements blueprint: refactor-system-tests
    
    Change-Id: I2ffae134fdc42af92c6791ce6cf3600e61096683

commit 30efa2925154e8c8ae350b65e2b9c5b461d776c2
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Sep 5 18:18:18 2013 +0200

    Implement small http client for tests
    
    Instead of an HTTP module, use an http client that can be instantiated
    once per test and uses requests' sessions. This reduces the code needed
    for tests and centralizes the serialization process.
    
    Implements blueprint: refactor-system-tests
    
    Change-Id: I96ec90afb18e3fd0249bc323c85fb216c5878d4d

commit 226e813db8092511aafe813c814e794aa938042e
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Sep 2 19:18:19 2013 +0200

    Implement embedded marconi-server execution
    
    This patch embeds a marconi-server as part of functional tests in order
    to be able to run them when there's not an up-and-running marconi-server
    instance. This is the default behavior, however, it is possible to run
    this tests against a remote marconi-server by setting `run_server =
    False` in functional-tests.conf and setting the correct marconi-server
    url and version.
    
    Implements blueprint: refactor-system-tests
    
    Change-Id: I6795092b2110a02808eac0117979ee1a9a5f9ee2

commit 80157e6a4a15157a46e8e9ae5cde9d87f8b18b8f
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Sep 2 16:42:13 2013 +0200

    Run functional tests under tox
    
    This patch allows to run functional tests under tox, however, they are
    disabled by default. In order to run tests with tox, it is necessary to
    enable them by modifying the functional-tests.conf and setting run_tests
    to True.
    
    This patch also merged both test files in a single one
    (test-requirements.txt)
    
    blueprint refactor-system-tests
    
    Change-Id: Iba440b12653cf9ee1454022830107a06b8a7bea9

commit 5a12dbf5fcd94343c63ba3afb50b94b1c4a4eaf0
Merge: 27a8623 90c3cb5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 9 17:45:05 2013 +0000

    Merge "Use oslo.config for functional tests"

commit 27a8623a91148950ff03a2c5163e74f58d7eb543
Merge: abfb00d 3181047
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 9 17:44:36 2013 +0000

    Merge "Remove util packages"

commit abfb00dcf0b3ea1b581505093e6004b06eb2c94f
Merge: f681cc1 85e0c2c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Sep 9 17:43:07 2013 +0000

    Merge "Pull actual tests out of marconi/tests"

commit f681cc1a9da30914b2da392fd4343f0ac26b43dc
Merge: a02d764 8d544d6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 6 14:44:08 2013 +0000

    Merge "fix(storage.mongodb): Race condition when creating a claim"

commit a02d764b8f666cb0500328f978ac33e425ce1a07
Merge: 9e57546 c8e9242
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Sep 6 12:28:44 2013 +0000

    Merge "fix(transport.wsgi): JSON home doc missing GET and HEAD hints"

commit 90c3cb5bface01224973f10e23dbde4bb014c0b4
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Aug 30 17:49:32 2013 +0200

    Use oslo.config for functional tests
    
    Instead of defining a Config class for functional tests, this patch
    integrates it with Marconi's base test suite and replaces the use of
    ConfigParser with olso.config.
    
    The patch doesn't change current behavior and gives the possibility to
    use external configuration files for both the functional test and
    Marconi.
    
    blueprint refactor-system-tests
    
    Change-Id: I60de6e199182881e945a24525c7c4f2d6937256f

commit 31810473cf17dfc4fccd0a14dcd1b1faf22ed12f
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Aug 30 13:58:11 2013 +0200

    Remove util packages
    
    This patch moves modules under util/ packages out to the parent level.
    
    blueprint refactor-system-tests
    
    Change-Id: Ib148a75647e42d7bc2a81488e78c10adf4b849dc

commit 85e0c2cd221f7ffd42347a57eda0204f7b9ffde2
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Aug 29 17:03:22 2013 +0200

    Pull actual tests out of marconi/tests
    
    As part of Marconi's test refactoring, it was decided to pull actual
    tests - those run by nosetest - out of marconi/tests and leave there
    just the base implementations. The main reasoning about this is to
    improve tests structure and make packaging easier.
    
    blueprint refactor-system-tests
    
    Change-Id: Ia7f9192a2ec2c224e78bddb8414d226cb23a929f

commit c8e9242b1ac7ba2c0b8d9604d1f2914ff0e73bf3
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Sep 5 17:35:23 2013 -0500

    fix(transport.wsgi): JSON home doc missing GET and HEAD hints
    
    GET and HEAD support was added for /v1/queues/{queue_name} but
    the home document was not updated accordingly. This patch adds
    those methods (AKA verbs) to the home document.
    
    Change-Id: I82bbbf1b6d0735dc2d15faee715175fc724b9423

commit 9e5754695df34587ca6545a67c48f8c78584978d
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Tue Aug 20 11:44:08 2013 -0400

    feat(storage): configurable default paging size
    
    This change add the following options to the config file:
    
        [limits:storage]
        default_queue_paging = 10
        default_message_paging = 10
    
    So that the default value of the  "limit" URI param is now configurable.
    
    This patch also removes the "actions" cruft.
    
    Implements: blueprint configurable-default-paging
    Change-Id: Id38295f1e607226a4259be7744e6ce2d7b6de12e

commit 8d544d643dfa79634813052292bfeacf9a268be9
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Sep 5 13:02:01 2013 -0500

    fix(storage.mongodb): Race condition when creating a claim
    
    This patch forces MessageController.claimed to always query the primary in
    order to resolve a race condition in ClaimController.create. The latter
    method tags a batch of messages with a claim ID, then immediately
    calles claimed() to get a list of messages that were actually updated.
    
    MessageController.claimed is also used by ClaimController.update, so that
    request will no longer read from secondaries either. This shouldn't put
    much more load on the primary, and may even be desired behavior in the case
    that a client creates a claim and immediately attempts to update it, in
    which case they could get a "not found" if the new claim hasn't propagated
    yet to the secondary being queried.
    
    Change-Id: I8b5cfee1cc6f185ebf53e98fad95a5fc30e021da
    Partial-Bug: #1218990

commit 0a032631543b70c7400b79c9a2359f10508fa04f
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Sep 5 14:58:16 2013 +0200

    Make tox use develop instead of sdist
    
    tox 1.6 was released, which means that we can now take advantage of the
    feature we added to it - which is using setup.py develop to install the
    code into the virtualenv. The logic was taken from run_tests.sh - so the
    performance issues around using tox vs. using install_venv should now be
    gone.
    
    This patch requires tox >=1.6.
    
    Change-Id: I505fb530e8047f478e98ce2fd6c01776b147d87f

commit 380e33c2234183e3a7cc9d4daa131f7c30a66d7c
Merge: a0b943b c1a564b
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Sep 5 12:13:29 2013 +0000

    Merge "fix: Claim can return 404"

commit a0b943b9db4bc876fe43a6461d507e32deb95d10
Merge: 6579492 3376b92
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Sep 4 15:26:24 2013 +0000

    Merge "fix: claimed message require claim_id to delete"

commit c1a564b4444a557cda037e57d7766b7b86661b4a
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Aug 30 14:47:24 2013 -0500

    fix: Claim can return 404
    
    This patch changes the way creating a claim behaves when the
    queue does not exist. Instead of returning 404, it returns
    204, meaning the claim was not able to find any messages to
    claim.
    
    This was done for two reasons:
    
    1. For eventually-consistent backends, a brand new queue may
    not appear to exist, so this new semantic allows the driver
    to just try to grab some messages without checking first
    whether the queue "exists".
    2. For backends like MongoDB that require an extra check to
    determine whether a queue exists, this removes an extra
    round trip to the DB in order to perform the operation.
    
    Note that the SQLite driver was updated in order to be
    consistent with the new behavior.
    
    Change-Id: Icde4ce493a76ef145e99300b67d8344d5092e38d
    Partial-Bug: #1218990

commit 6579492add9a873d27f97c1b0cad2b7e269df7a8
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Sep 3 14:35:40 2013 -0500

    chore: Update openstack.common to get latest timeutils
    
    This is a simple update to marconi/openstack/common in order
    to pick up the optimized version of timeutils.utctime_ts()
    
    Change-Id: Ic37e5f271fe89085317a96c47d18ddd426529b50

commit 7a7771b06e630cb6f6ad2789bc272aded17a239a
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Aug 28 13:34:47 2013 -0500

    chore: Track the up-and-coming oslo.cache module
    
    While we wait for oslo.cache to land, I'd like to maintain a
    verbatim copy under marconi.common so that we can start using
    it immediately.
    
    When oslo.cache is approved upstream, this copy of the code
    will go away and we will add cache to marconi's
    openstack-commong.conf
    
    Change-Id: I608a2891ca06caec47ce18eda4edacd07bec40e9

commit 3376b920ed1abdc0822cbd7d97cef4b2e6a3b410
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Aug 22 15:32:10 2013 -0400

    fix: claimed message require claim_id to delete
    
    But bulk deletion can still delete both unclaimed and claimed
    messages.  However, the major purpose to support bulk deletion
    is to make it easy for a user to issue a DELETE on the Location
    header returned from a POST; if a user intend to use claim, then
    this URI does not help.
    
    Change-Id: Ieed92fc0a07d2e873b729242fb2fb14536462780
    Closes-Bug: #1215484

commit 3bfc487d2e2be0ddf2fc9a682cae05d23060384a
Merge: 3814ab0 1f4bf7c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 29 20:09:12 2013 +0000

    Merge "chore: Update openstack.common, add lockutils"

commit 3814ab0a138551f57c3d90bbd98381be5ba18450
Merge: 014039f fd38b21
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 29 20:07:28 2013 +0000

    Merge "feat(wsgi): homedoc now ships relative URIs"

commit 1f4bf7c2f83f44f7d4ebdcb70bd549431362ac72
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Aug 28 11:50:10 2013 -0500

    chore: Update openstack.common, add lockutils
    
    This patch updates openstack.common to HEAD and also adds
    lockutils to openstack-common.conf in anticipation of
    pulling in the cache module when it lands.
    
    Change-Id: I714e03c4eba9e98b92144f2b2f227799d104f1bd

commit 014039f03bbfd3287ee29108caf25794e6708a32
Merge: 82132df eedbc41
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 29 18:29:40 2013 +0000

    Merge "Refactor System Tests"

commit eedbc417ea59508aa0e23600fe352c7cfd3b0c17
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Aug 19 17:10:17 2013 -0400

    Refactor System Tests
    
    This patch,
    1. Renames 'System Tests' to 'Functional Tests'.
    2. Reduces LOC by using ddt.
    3. Removes test dependencies & the numbering convention used earlier.
    4. Re-organizes the test suite structure.
    
    blueprint refactor-system-tests
    
    Change-Id: Ife236abf867b678beb72ea3a26a06d895ed8ad4b

commit 82132df53f915105c335f6d935b9337afbd29bb7
Merge: bac1e23 50fb1ec
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 29 18:04:18 2013 +0000

    Merge "chore: increase coverage in some trivial ways"

commit fd38b217720fe8b649a51fb474db5cc41757a44e
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Aug 26 14:35:09 2013 -0400

    feat(wsgi): homedoc now ships relative URIs
    
    The document root can be obtained from the service catalog, so
    that users can join two URIs to access the doc.
    
    The health endpoint is removed from homedoc at the same time,
    since it's an API for diagnose, not for end-users.
    
    Change-Id: I589ff88730302bc553041ecccb9687f7dbcaa9ab

commit bac1e23a0a78c6cf5815c662158317d92fecf4df
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Wed Aug 21 10:39:34 2013 -0400

    chore: remove queue_id cruft in mongo driver
    
    We store queue name in message schema; there is no need to query for
    queue ID.  Some `queue_id` param are left in comments, this patch
    replaces them with `queue_name`.
    
    Change-Id: I260007f0d6091b46755f374d9e237c0a7ab372ef

commit 50fb1ec694a97e22a92d1ee21f982d7112771486
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Aug 15 14:58:41 2013 -0400

    chore: increase coverage in some trivial ways
    
    1. Remove old functionalities;
    2. Remove testings on internal implementations;
    3. Add trivial test cases.
    
    Change-Id: I286599ea564e144783e3edbe074d4921fa5b46f6

commit cf521414ed4fc9b84d6e4f1ee94ffb3edb02e8ec
Merge: 721824b 0464668
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 22 19:13:48 2013 +0000

    Merge "chore: cleanup the unit tests with ddt"

commit 721824beedde9259ef934b93c0d5c33ad862699f
Merge: f9df4da 54af1b2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 22 17:36:57 2013 +0000

    Merge "Update Tests for Input Validation"

commit f9df4da564764e1ccdda369c5bc70a4e7eda75f4
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Aug 19 11:08:21 2013 -0400

    chore: remove unneeded statements in wsgi
    
    1. Falcon response's status defaults to 200, no need to set it;
    2. Message posting count checking is already covered by input
       validation.
    
    Change-Id: I905dba8bb55e6a4254b2625bb9b71c51496fd2a8

commit 54af1b2d77eb441752c826a7d5226a161b0402db
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Tue Aug 13 20:39:24 2013 -0400

    Update Tests for Input Validation
    
    This patch updates the tests, to reflect the API changes in input
    validation. This includes adding new data driven tests and removing some
    tests that are better addressed unit tests.
    
    Tests: bp input-validation
    Tests: bug #1212389
    
    Change-Id: I8e09541b8bfa1e23804e3d13490ff755646f2127

commit f5533ed057b26ef9515d20478bd7c1b9216377b2
Merge: 8e43a9a 1b38014
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 19 18:56:42 2013 +0000

    Merge "fix: bad marker behaves like non-existing marker"

commit 0464668be450858cdcc2180fca2ed34a27a3ec81
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Aug 16 15:55:00 2013 -0400

    chore: cleanup the unit tests with ddt
    
    ddt stands for data-driven-tests, and it's also a Python module.
    It adds the test data as a decorator to the test methods, so that
    the test code can focus on each type of behaviors instead of using
    `for` loops internally (on the other hand, you have to split big
    tests which testing different types of behaviors into small tests).
    
    Change-Id: I1cba67c15e9bb6e5e73e26a11e08fb1390a0504a

commit 8e43a9adcba3bfeb362eca2dcc7de488fbc240e7
Author: Alex Gaynor <alex.gaynor@gmail.com>
Date:   Sun Aug 18 13:04:53 2013 -0700

    Added a PyPy env to tox
    
    Change-Id: I518256f0a8a3e581c3d6f6f065c9b89adc8223f2

commit a8970cadf3f4c222eb2a3639bfd1cc093bde1439
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Aug 16 17:40:06 2013 +0200

    Log pymongo's exception on ConnectionFailure
    
    Log pymongo's exception instead of hiding it. The exception is needed
    for debugging.
    
    Change-Id: I89991f956487e3f55c940f5a1aa9c204ccb2fc33

commit 1b38014e362d99e658ae0d91ae30dbe9c10a9050
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Aug 15 17:50:57 2013 -0400

    fix: bad marker behaves like non-existing marker
    
    From the point of view of the interface, a marker should has only
    two states: returning some messages, or returning no messages.
    Currently a malformed message marker results in a 400 response,
    which makes the marker no longer opaque.
    
    This patch makes the transport respond 204 for a malformed marker
    by making storage return an empty iterator in such a case:
    
      GET /queues/q/messages?marker=malformed  ->  204
    
    This patch also include some clean up on test code.
    
    Change-Id: I1ac7d4bb42af1644bd16d6bca6b7c50a1d700e10
    Closes-Bug: #1212389

commit 564365a70569c33db2ead63f36f65d6691b13bab
Merge: 851dfa0 262cb52
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 15 20:25:32 2013 +0000

    Merge "restructure: rm -rf tools, move test requires"

commit 851dfa0a950f0eeb162208ffb6fc0e7fdfa7b68e
Merge: b4568f7 03c00e5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 15 20:25:10 2013 +0000

    Merge "Don't wait for ack when deleting expired messages"

commit b4568f704667e41eb8e25214c41fd72ba8fa8782
Merge: 640b486 b2ad8f0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 15 20:24:22 2013 +0000

    Merge "Use req.get_param's store feature in lieu of utils.purge"

commit 640b486b6a984d42a3182369c9af18a46abdf604
Merge: 14f631f 11edcd8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 15 18:52:08 2013 +0000

    Merge "Ignore *.egg dirs"

commit 03c00e5908e1a5d948ee4b6520aa115d7accd1ba
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Aug 15 11:29:43 2013 -0500

    Don't wait for ack when deleting expired messages
    
    This patch simply sets write concern to 0 in the MongoDB driver,
    when removing expired messages. This shortens the amount of time
    that garbage collection takes, and slightly reduces the amount
    of traffic going between app and db servers, as well as between
    master and secondary nodes.
    
    This is a safe thing to do, since the operator will be running
    multiple GC daemons, so that in the case of a failure, the
    operation will be retried in the near future.
    
    The downside is that persistent failures to collect expired
    messages will cause the DB to grow out of control; however,
    it is expected that if this operation is failing, more than
    likely message CRUD in general is failing, which mitigates
    the risk just mentioned.
    
    Change-Id: I90950721361dacffa508624281d2e2ea8cf53724

commit b2ad8f082e94ba396272e6bfa36748302a82908d
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Aug 14 17:04:01 2013 -0500

    Use req.get_param's store feature in lieu of utils.purge
    
    This patch removes the use of utils.purge since it is no
    longer needed in light of Falcon's relatively new "store"
    feature, which causes the target dict to only receive the
    value of the param if it is found in the request, thus
    avoiding clobbering default kwarg values, which was the
    original intent of utils.purge.
    
    As a bonus, this approach is also ~40% faster.
    
    Change-Id: I6b3d82b1f700045e50b3131902b2c7b6dc6ea13c
    Implements: blueprint v1-obvious-optimizations

commit 262cb5286fbbefc7bb1c2ef31d66ddd99f86f855
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Aug 14 18:19:32 2013 -0400

    restructure: rm -rf tools, move test requires
    
    To pave the path for the project structure of the future, tools/ is
    being eliminated.
    
    New commands/utils should be added as entry points and placed in cmd/
    
    tools/system-test-requires -> system-test-requirements.txt
    
    Change-Id: I14b3189f2b2a1cee6508952a46274e00514addac

commit 14f631fca082041fca88dfc06a056f0113b6341e
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Aug 14 12:01:47 2013 -0400

    test: delete msg w/ invalid claim isn't deleted
    
    Adds a test to verify the above scenario. It should be returning 204
    in this case without the message being affected.
    
    Change-Id: I74cf8ab5f7d94128ae2157a51a5e37c01ef9ca64

commit f2848501164663f274c76c5d5c01df6228bc50b6
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Aug 12 18:09:25 2013 -0400

    fix: fetching nonexistent message/claims raises 503s
    
    The proposed fix moves away from throwing an exception everytime a
    malformed ID is encountered and instead returns None. This way,
    partial bulk get and bulk deletes are possible.
    
    Storage drivers affected:
    - mongo
    - sqlite
    
    Changes/expected behavior:
    - GET /v1/queues/exists/messages/malformed => 404
    - GET /v1/queues/exists/messages?ids=malformed,malformed => 204
    - DELETE /v1/queues/exists/messages?ids=malformed,malformed => 204
    - GET /v1/queues/exists/claims/malformed => 404
    - PATCH /v1/queues/exists/claims/malformed => 404
    - DELETE /v1/queues/exists/claims/malformed => 204
    
    In partcular, regarding bulk_get on messages, malformed IDs or
    messages that are not found by ID are now ignored. bulk_delete also
    works in this fashion now.
    
    Regression tests are added to the unit test suite to reflect these
    changes.
    
    Change-Id: I4f14cd8b4cfd1dd190dccd8724c20f5fac99c629
    Closes-Bug: #1203842

commit 11edcd8dfb856b033058f369c822013f044d3417
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Aug 14 16:10:08 2013 -0500

    Ignore *.egg dirs
    
    This patch adds *.egg to .gitignore
    
    Change-Id: Ieb2ff6bc04a101fb700419ccfabbc947725de481

commit e53c7ec194055b379c4429ecbe83a7ad586b184e
Merge: fff83ba 055a437
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 14 15:53:17 2013 +0000

    Merge "Don't use claim creation time to calc claim's age"

commit 055a43777b2f4d5bb78f1a9fea6f952ffb3087c7
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Aug 14 16:39:50 2013 +0200

    Don't use claim creation time to calc claim's age
    
    Mongodb's driver uses Claim's creation time to estimate claims age
    instead, it should use claim's update time. Since there's no update /
    creation time in mongodb's claims, the patch estimates claims age by
    doing:
    
        delta(expiration - ttl, now)
    
    This change fixes the issue bellow and makes mongodb's claims compliant
    with Marconi's specs.
    
    Change-Id: I72c968236ecd239e7b885b293238e2920807a57c
    Closes-Bug: #1210662

commit fff83ba6349e5176b3a1e96a30b7b54f850a21cd
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Aug 13 18:16:51 2013 -0400

    fix: rename _payload_uplimit into _paging_uplimit
    
    Although "message_paging_uplimit" also limit the maximum number of
    IDs can be supplied in a URI, which is not quite a "page" (in bulk
    deletion), but we don't need the configuration to be too precise.
    
    Change-Id: I0737146f1212c82db18de35e35206d3932a46628

commit 5e9f60da859df96ea0f63ef2e004a9540054e6d1
Merge: d8c68d8 6123d58
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Aug 13 20:14:22 2013 +0000

    Merge "feat(validation): check metadata JSON size"

commit 6123d588cb49c70c981268f7af1ef79f55f05c7c
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Aug 12 15:49:41 2013 -0400

    feat(validation): check metadata JSON size
    
    This patch also factor the de-serialized validation tests into a
    separated module (which fixes the tests for mongo driver).
    
    Change-Id: I46f0ac7df06ad2bf455073347392f7f4159449c9

commit d8c68d860930b825a0f519eedc2f4e951522986d
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Aug 12 17:44:37 2013 +0200

    Convert "outgoing" literals to unicode
    
    The patch convers most literals throughout marconi to unicode. Lietrals
    not leaving "marconi-land" were left untouched.
    
    This is the first patch of a serie that will enforce unicode usage
    within marconi. Decode early, encode late.
    
    String format parameters were left untouched on purpose. Those
    parameters should be decoded before getting there.
    
    Implements blueprint enforce-decoding
    
    Change-Id: I85e534ced188191c9c7a17e9908cb720e7d63ca9

commit 9272cf4742a3bf44338c44d9b093dae2c775a626
Merge: ed40dfd 60150f4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 12 20:47:53 2013 +0000

    Merge "Fixes unique constraint regex"

commit ed40dfd17ce5ec6da8d718181a43abb3bc78cc50
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Mon Aug 12 14:31:55 2013 -0400

    fix(storage/mongo): unclaimed messages not listed
    
    Adds a unit test that reproduces this error and applies the fix.
    
    The fix is subtle. When messages are unclaimed, their claim expiration
    time and claim ID are set to 0 and None respectively. The cause for
    the bug is that claim expiration time is set to 0, rather than a valid
    datetime object. As a result, the comparison silently fails.
    
    The fix: fast-forward the expiration time of a claim to now.
    
    Change-Id: I7781795c394b2a471012e072a522ee228d56a894
    Closes-Bug: #1210633

commit 60150f4667abdca7a2999145938f37e2fa808028
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Aug 12 21:57:04 2013 +0200

    Fixes unique constraint regex
    
    This patch fixes the regex being used to extract the marker from the
    unique index error. The issue was caused because we introduced project
    to the queue_marker index and it wasn't being considered in that regex.
    
    This regex is more general. It matches the index name and gets the
    marker from the end of the error message.
    
    Change-Id: I02bc153636f10bc49b8634fc4bfeb4bf2b6d6597
    Closes-bug: #1211386

commit ae127035c50f3368b024b717d3210e47ab99ec9a
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Aug 12 14:36:34 2013 -0400

    doc(validation): update the sample config file
    
    This patch add the configuration variables of transport driver-
    specific limits and input validation to the sample config file,
    so that the users don't need to open the source code to figure
    out how to change the limits :)
    
    Change-Id: I811b7dc4ca44d25a3cdb5402e11d599aa532ab39

commit 133ebb29da3194b3ac1bba0bf5244584b544165a
Merge: f1e7179 54c2c69
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 12 17:17:37 2013 +0000

    Merge "Use oslo.config 1.2"

commit 54c2c69ba8c2d4df927575d3f9762457ed7932a8
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Aug 12 17:58:58 2013 +0200

    Use oslo.config 1.2
    
    Some important fixes were released in version 1.2, it should be safe to
    upgrade the version Marconi's using.
    
    Change-Id: Idd63a23347f5e9bb91597d76068439846ee2e2cb

commit f1e71796b4a0436c2728e92c28979c5ca4d5d144
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Thu Jul 25 02:36:57 2013 -0400

    feat(validation): validate user input
    
    The validation is implemented as a set of free-standing functions
    in a separated module; each driver which uses storage functions
    should call call the corresponding validation functions first.
    
    Fixes: bug #1177971
    Fixes: bug #1177976
    Fixes: bug #1177979
    Fixes: bug #1206175
    Fixes: bug #1208873
    
    Change-Id: I0b9c9766a9c3de42f2a2eb470cba0ab7265e669a

commit 2248203b9ef6ef02cc65c8703323d55de9ab9227
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Aug 9 13:25:59 2013 -0500

    Buffer message documents when enqueuing them, in lieu of streaming
    
    This patch modifies the pipeline for the message post operation
    to use list comprehensions in place of generators. This simplifies
    some existing logic (e.g., retry handling) and sets us up nicely
    for input validation. It should also be a little bit faster than
    the previous approach, at the expense of increased memory usage.
    
    Note that the SQLite driver was not modified (YAGNI).
    
    Change-Id: Iae5f7ceaf09f775afc4a4944e0c626d2f40a6554
    Implements: blueprint buffer-messages

commit c548e10a4859de1a399ef1093e4c382da58f2d38
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Aug 9 11:44:16 2013 -0500

    Rename transport helpers to utils
    
    This is a simple patch that renames two "helpers" modules
    to make them consistent with the storage driver naming scheme.
    
    Change-Id: Idffe4523e0ab095286cfea6890fbffe5c36a40d9

commit 1a7c1a5e8dcf18ed8148d04eb73b158759fcdd33
Merge: 901f3e0 916c55d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 9 21:10:45 2013 +0000

    Merge "Update tests to reflect http 201 on Post Claim"

commit 916c55de97a31b28b194a69136abda9b259b4305
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Fri Aug 9 11:20:10 2013 -0400

    Update tests to reflect http 201 on Post Claim
    
    This patch updates the claim tests to validate a response code
    of http 201, instead of http 200.
    
    Tests: bug# 1210301
    
    Change-Id: If736db462225de86e82b08d87024b0da06af1e34

commit 901f3e0ca05dc659e7b34c5408536d4822c272bf
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jul 15 18:44:46 2013 -0600

    Add "total", "oldest" and "newest" to queue stats
    
    This patch introduces three new queue stats in order to expose
    a better user experience via control panels. Also included in
    the changes is a bug fix for calculating timestamp differences,
    as well as a renaming of 'queue' to 'queue_name' for consistency
    within the MongoDB driver.
    
    Note that there are several remaining stats identified in the
    associated blueprint. This may be addressed in a future
    patch.
    
    Implements: blueprint extra-queue-stats
    Change-Id: I31e48a581ccdd014ec97674af0c0dd43c808c42c

commit 5459848e95e705542aeb8c274a942d9a6ab8f0ce
Merge: 88e2535 adcbcd2
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 9 15:10:31 2013 +0000

    Merge "Update oslo-incubator requirements"

commit 88e25350e18deb4c39b0a2baaeeaddd9f56814cc
Merge: d7169ee 8c1fcf6
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 9 15:04:29 2013 +0000

    Merge "feat(wsgi): claim creation returns 201"

commit d7169ee5f5109df195bceeece2936408ed6006b6
Merge: a5bdd9c fcebbe0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Aug 9 15:02:05 2013 +0000

    Merge "Add Tests for GET/HEAD queue"

commit 8c1fcf6353d22d44b0cf958b8344ad557f48ef9f
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Fri Aug 9 10:53:01 2013 -0400

    feat(wsgi): claim creation returns 201
    
    The API used to return 200, but 201 seems to be a better choice
    for an action with modification.
    
    Change-Id: I392d3e8fa821c7c1ace549187af4c6ca18457e09
    Fixes: bug #1210301

commit fcebbe042e2e52076b25348b520cbfc1cddf423e
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Fri Aug 9 08:51:10 2013 -0400

    Add Tests for GET/HEAD queue
    
    This patch adds tests for the new API endpoint for GET/HEAD queue.
    
    Change-Id: Ife61b838ccc518f11e443a4daeddec650c956d6b
    Tests: blueprint queue-get-and-head

commit adcbcd21c06ed37114e80e3966c26a4a6f261c59
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Aug 9 12:30:56 2013 +0200

    Update oslo-incubator requirements
    
    The patch pulls in the latest versions of Oslo's modules being used by
    Marconi. The main reason triggering this update is local.py not
    depending on eventlet anymore.
    
    Change-Id: Icec75a8e220e81de2ea183a95d1bbe0cded4fcb8

commit a5bdd9c516880fcce475c075e4068861b66b01e8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Aug 2 11:26:16 2013 -0400

    feat(transport): place request size limit for JSON
    
    To not deserialize over-sized requests with content body,
    we also need transport-specific size restrictions.  They are
    come before input validation, and are also configurable.
    
    Change-Id: I06434431b3df9250c05472b4d91a53dfedb682d2

commit 5cbfcefe2990abd7f8342e10038fde49f2d986be
Merge: 5dd0b3b 6b7df71
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 8 18:34:19 2013 +0000

    Merge "Add support for listing claimed messages (transport)"

commit 5dd0b3be9623308499bffcc6cc5dc0707fdeddc7
Merge: e64d127 20bf155
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 8 17:15:30 2013 +0000

    Merge "Don't check for active messages"

commit e64d1278e9d405040dd212574eecc624a1804788
Merge: 97c9584 a30092c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 8 17:14:46 2013 +0000

    Merge "Use queue's name and project to get messages"

commit 97c9584c2463b3a89dd64c54f07f8f6aea9222cc
Merge: d9bcc11 f165b01
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 8 16:56:14 2013 +0000

    Merge "Test for bulk delete of messages"

commit d9bcc1172c1aa685143dac4330315461181dd9b1
Merge: 50b792e 47e3638
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 8 16:43:04 2013 +0000

    Merge "feat(api): GET and HEAD methods on queue"

commit 20bf155f7dd76c170faabed29e3708df6580e247
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Aug 2 17:07:57 2013 +0200

    Don't check for active messages
    
    Instead of counting to check whether there are active messages, try to
    fetch ids right away and use len on the result. This removes 1 query
    from the claim process.
    
    Fixes bug: #1207759
    
    Change-Id: I579d09ed026d0889ded2463d4807154c8259109d

commit a30092c55e6745268328404a62825e5f9a5d77e7
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Aug 1 17:22:42 2013 +0200

    Use queue's name and project to get messages
    
    Mongodb's driver currently queries the queue's collection to get queue
    id and then filter messages with it. Instead of storing the id, this
    patches stores the queue name and the project in the message collection
    and use that for querying messages.
    
    It's safe to assume that the queue exists when messages are returned by
    the query, however, posts operation will still verify queue's existence.
    
    Fixes bug: #1207018
    
    Change-Id: Iaa7bc3f1300b3349a5cfad5a9f6ecabb2f75e95e

commit f165b01000249242c1a301e3a5d2e1f061f1b7de
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Wed Aug 7 16:57:10 2013 -0400

    Test for bulk delete of messages
    
    This patch adds the test for bulk delete of messages.
    
    Change-Id: I9dc230661cd79e59e066b156eb5334a69826442c
    Tests: blueprint message-bulk-delete

commit 50b792e6979db166765ec81a5567968331a05643
Merge: 5b1c447 e8db54d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Aug 7 18:20:04 2013 +0000

    Merge "Update tests to reflect queue metadata changes"

commit 47e3638f951e57ebdd224f2a6494f6dab48553d4
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Tue Aug 6 10:54:46 2013 -0400

    feat(api): GET and HEAD methods on queue
    
    To allow
    
        GET/HEAD /queues/a-queue
    
    gives users an intuitive approach to test whether the queue exits,
    while the URI above is returned as the Location header by a queue's
    PUT method.
    
    Implements: blueprint queue-get-and-head
    Fixes: bug #1207075
    
    Change-Id: Iefd3236a739b1a5d959efb489fc2b966ee893599

commit 5b1c447ba223049e8c8432d95e599acc300dd3a5
Merge: a011f07 f8e994d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Aug 6 15:34:24 2013 +0000

    Merge "Implement v1 JSON Home Document"

commit e8db54d7e2c54b85233ca9b551849e3ed43e577e
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Tue Aug 6 08:54:09 2013 -0400

    Update tests to reflect queue metadata changes
    
    This patch updates the system tests to align with the changes in the
    create queue endpoint. This also adds tests for the new queue/metadata
    endpoint.
    
    Change-Id: I2654b531952f4a87031082dd7bd686448e6739fb
    Tests: blueprint metadata-resource

commit a011f07cf1eb616ab1bf0efd94fb16d47a1c5f92
Merge: ea91e6f 20f1576
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 5 19:06:52 2013 +0000

    Merge "feat(wsgi): message bulk deletion"

commit f8e994d727bb4cce10a30a6655b8ffdcac1079ff
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Jul 18 18:27:12 2013 -0600

    Implement v1 JSON Home Document
    
    This patch introduces a JSON Home Document that enables users and api
    clients to "follow their nose" in interacting with the Marconi
    HTTP API. This is meant to be a baseline implementation, and as such
    simply returns a hard-coded document.
    
    Future iterations may include support for vendor-specific JSON and
    dynamic, RBAC-aware home documents.
    
    This patch anticipates the creation of http://docs.openstack-marconi.org
    
    Implements: blueprint v1-api
    Change-Id: Ie13e77fc220884bbb97aa988ddf2bc85076e37a1

commit ea91e6ff247417e454c53efe457e0604e13b9fdb
Merge: b70b433 a704fb0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 5 15:35:43 2013 +0000

    Merge "Verify headers in server response"

commit b70b433a113c5d65fa532f61d7c0a03318da8cb3
Merge: cef36a2 9e3d6c9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Aug 5 15:35:14 2013 +0000

    Merge "feat(storage): message bulk deletion"

commit 20f1576b29573f4b8ec2506978c30fbba08c9fdc
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Tue Jul 16 18:11:37 2013 -0400

    feat(wsgi): message bulk deletion
    
    The purpose of this feature is to allow the "Location" header
    returned from message posting to accept the DELETE method.
    
        DELETE /queues/q/messages?ids=msgid1,msgid2...
    
    Note that if the "ids" parameter is not present, such an
    operation will be denied.
    
    Change-Id: Id8313a675c2427b772f1e9095452dda4d0d67432
    Implements: blueprint message-bulk-delete
    Fixes: bug #1201649

commit 9e3d6c980ff3838e78cbe80e496557941d63bad2
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Jul 29 17:57:41 2013 -0400

    feat(storage): message bulk deletion
    
    Implemented as a separated method `bulk_delete`.
    
    Change-Id: Id104e341eeae39dc96d8b1d34e41e92c831697cd
    Implements: blueprint message-bulk-delete

commit cef36a25fbbe957bc55e6999511e2f77a3880b1d
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Jul 31 13:17:40 2013 +0200

    Fix active index's order
    
    Message Controller's active index is not ordere correctly. Since we're
    using K for sorting operation, it should be in the second position right
    after the equality filters' indexes ('q'). This is necessary because
    MongoDB sorts everything before applying range filters ('e', 'c.e') and
    compound indexes are traversed in order. Without this patch, mongodb
    would filter records and then sort them in memory w/o using the index.
    
    Fixes bug: #1206517
    
    Change-Id: I54ac464ce849f2dcde92a96090c27c489ea80e97

commit 70a3ab6ba17d05ed8db1bee0ca6a12337de936c8
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Jul 31 13:15:38 2013 +0200

    Sort everything by K
    
    The 'k' field is the one we're using to guarantee FIFO. Instead of
    sorting by _id, which we were using for the same purpose, the message
    controller should always use 'k' for that matter.
    
    Fixes bug: #1206153
    
    Change-Id: I74704ddb50de35e3d50c4108b28d063376a34cf8

commit 3d6224a58a82769a14dfb85d0290e170da8a4094
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Jul 31 13:04:24 2013 +0200

    Tell _list queries what index to use
    
    This patch adds hint to all _list queries telling them to use the
    'active' index. This can be overriden by the caller of _list but that,
    most likely, won't be necessary. All callers of _list care about getting
    active messages and provide the parameters necessary for that.
    
    Fixes bug: #1206128
    
    Change-Id: Ifbe48711825cadd81ebbd5dd07bc9da8a88975fa

commit a704fb0581c9318f574e499c43f418f903a629ea
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Jul 22 12:09:15 2013 -0400

    Verify headers in server response
    
    This patch verifies the headers returned by the server.
    Refer https://trello.com/c/Az78XtQ7/195-test-vary-header-is-set-correctly.
    
    Change-Id: I348b30f3014b8875f3794eb8ef05bd9c19db624a

commit 6e2af105401dcbdca73b9275475d89774171d049
Merge: 70ed3ff 7d1f6fd
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 1 22:06:40 2013 +0000

    Merge "refactor: _basic_message builder for mongo driver"

commit 7d1f6fd8b99136b0c229dbbea6f8c5c4eee5c2bf
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Jul 30 13:07:09 2013 -0400

    refactor: _basic_message builder for mongo driver
    
    Use a message building function to generate the common part
    of different message bodies returned from the storage driver.
    
    Change-Id: I2c3fd45c7e6985911b56540850258fc569d30429

commit 70ed3ffc11bc52d22e08a3833abeade7789c6b87
Merge: 6ba7b4c a04c68f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 1 21:39:15 2013 +0000

    Merge "Gate on Python 3.3"

commit 6ba7b4c93cd6db555b977b4aa6866d15084f03c4
Merge: eab09b2 a93f894
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Aug 1 21:17:59 2013 +0000

    Merge "refactor: get single message in storage"

commit a04c68f3e7a1d41ebbea231afe281bcbf3501d3f
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Thu Aug 1 16:16:50 2013 -0400

    Gate on Python 3.3
    
    This makes OS-jenkins run our tests in Python 3.3 mode in addition to
    Python 2.6 and Python 2.7.
    
    Rationale: keep our Python 3 compatibility high
    
    Change-Id: Ia4c2964f7cc2a8e5ec0b47818698a96ec93fc892

commit eab09b2feece6eeab4623055447734ebc2540f9a
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Jul 26 10:47:02 2013 -0600

    Include queue ID in unclaim to trigger use of index
    
    This patch modifies the MongoDB driver's unclaim() method
    for messages so that it includes the queue ID in the
    query to the database. This should allow the query
    to use an index for the operation.
    
    Change-Id: I6ae5a2f03fafd7f617d4766f3ae08fd822c887ff
    Implements: blueprint api-perf-tuning
    Fixes: bug #1205388

commit 8fa8bb47f30d34d02c5433620eb3e4f5f33b6ddf
Merge: 8399078 0570189
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 31 18:23:54 2013 +0000

    Merge "Adds test for include_claimed flag"

commit a93f8947f9d8cba95979c88dfc3ef2e6071faf76
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Jul 29 16:54:26 2013 -0400

    refactor: get single message in storage
    
    This patch reapplies a262a65 by separating `bulk_get` from
    the old `get` routine and back-ports changes afterwards.
    
    Change-Id: I0018f17e959479d30252165f04d98357c93c54cf

commit 839907831caa85ec2101f1466929a4eedc80ae8a
Merge: 1abc20a 11e8b94
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 30 13:12:42 2013 +0000

    Merge "Implements new metadata endpoint"

commit 1abc20a3ccf1f8a8ddb12c71babd0c802d35c868
Merge: e938944 f8c0d9e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 30 03:01:11 2013 +0000

    Merge "Tests for out of range integers"

commit 05701896c56d26e11f58ed40a71732261ea43857
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Jul 29 20:18:55 2013 -0400

    Adds test for include_claimed flag
    
    This patch set adds test to verify that claimed messages are returned
    or not, depending on the include_claimed flag.
    
    Change-Id: I06f85b7bf78db241cbf0a2d85beac3972f64c9d0
    Tests: bug #1202430

commit e9389446833c0233e74eb8676771aa0abeae205b
Merge: 98462f2 201857c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 29 23:17:39 2013 +0000

    Merge "Exception messages are no longer marked as translatable"

commit 98462f23cf120115363f89d6adc78ced15700f8d
Author: TheSriram <sriram@klusterkloud.com>
Date:   Mon Jul 29 13:55:00 2013 -0400

    fix(typo): Phython to Python
    
    Change-Id: I51aa11fca87ac1b7ed9058c0221dc0cce1d6f7fc

commit f8c0d9eb5306a622c948981d3162933238348728
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Jul 29 11:53:12 2013 -0400

    Tests for out of range integers
    
    This patch adds tests for,
    1. out of range integers in the JSON request
    body. Refer https://trello.com/c/0anf1cMf/331-json-integer-overflowerror.
    2. negative integers in grace & TTL for claims.
    
    Tests: bug #1202846
    
    Change-Id: I100911edf20701b16bee31949fde65148e8e4e01

commit 11e8b943620d5244b8a20b300d3df6e66aafeab3
Author: Alejandro Cabrera <alejandro.cabrera@rackspace.com>
Date:   Wed Jul 24 17:18:12 2013 -0400

    Implements new metadata endpoint
    
    This patchset removes the ability to specify metadata when creating a
    queue as per the Marconi Weekly Meeting held on July 18th, 2013.
    
    It also adds a new endpoint: /v1/queues/{name}/metadata with operations
    - GET
    - PUT
    
    Removes:
    - GET /v1/queues/{queue_name}  # replaced by metadata ^^
    - the request body from PUT /v1/queues/{queue_name}
    
    Rationale:
    
    The addition of the metadata endpoint increases the extensibility of
    the API, and decouples metadata updates from queue creation. This
    makes it easier for us in the future to add other endpoints, say
    /v1/queues/{name}/config for modifying special values that change the
    behavior of the queue.
    
    With that addition, creating a queue with metadata became slightly
    more dangerous. In the case where a user accidentally tries to create
    a queue that already exists, the metadata for the existing queue would
    be overwritten by the PUT request body. By removing the ability to
    modify metadata at queue creation time, it also prevents these types
    of accidents.
    
    Tests:
    
    New unit tests added to capture expected behavior. Old tests were also
    updated to reflect new endpoint and behavior.
    
    Storage API changes:
    - storage(queue): get -> get_metadata
    
    Change-Id: Ie3a79a63a865035a789609dac770adabe4dc6ed7
    Implements: blueprint metadata-resource

commit 9468ad1cec074b5be12ddde719c5879a273471d9
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Jul 23 11:46:00 2013 -0400

    feat(storage): separate queue set_metadata()
    
    This patch also removes the precondition checking from the
    storage DriverBase class; input validation will be implemented
    separately.
    
    Change-Id: I674e6b633c3959e6a0753fcc3a36332e84a5b1ef
    Implements: blueprint metadata-resource

commit 201857cfe968a4e4dac90087c180afca2d3e19f7
Author: Yeela Kaplan <ykaplan@redhat.com>
Date:   Wed Jul 24 17:04:04 2013 +0300

    Exception messages are no longer marked as translatable
    
    Change-Id: I2f63f0707bd6819673a8cd37728ce76287d05e9f
    Fixes: bug #1204432

commit 6b7df719276c3b65c6ea760bf3708b99961b3dd9
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Jul 26 22:17:56 2013 -0600

    Add support for listing claimed messages (transport)
    
    This patch adds a query parameter, "include_claimed", to
    the GET messages operation, to allow the caller to specify
    whether it wants to include claimed messages in the
    listing (as opposed to the default of only listing active
    messages).
    
    Change-Id: Ie0ee4a435420fbc3c94a339836853a49b4196460
    Fixes: bug #1202430

commit d78012f4e503f9f10cfa34e71fb52aae1f0eeb72
Merge: c206473 7ab2458
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 26 08:52:04 2013 +0000

    Merge "Add support for listing claimed messages (storage)"

commit 7ab2458552ef7df2a1f66ff08060a0fdbebeb563
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Jul 18 17:23:45 2013 -0600

    Add support for listing claimed messages (storage)
    
    This patch modifies the default behavior of the message listing
    interface such that both claimed and unclaimed messages will
    be included in the results. A new kwarg was added to the method
    so that the caller can override the default behavior.
    
    Change-Id: I21309e986e3e0a501ca14dbfec72321fd6279565
    Fixes: bug #1202430

commit c2064739cd6e8aacfa0ca7a1534182000282a46d
Merge: 9d753a6 8b9f01a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 22 10:49:54 2013 +0000

    Merge "feat(transport): define acceptable integer range"

commit 8b9f01a66c574f77352881ca305552b3d0d04808
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Jul 18 17:18:17 2013 -0400

    feat(transport): define acceptable integer range
    
    The JSON parser in use (simplejson) supports Python big integers,
    while none of the storage drivers can serialize them.  The acceptable
    range to both bson and msgpack is -2^63 ~ 2^63-1.
    
    Change-Id: I861201ea5493bbe4e1c0197000edbd8594162047
    Fixes: bug #1202846

commit 9d753a6a0ec1486b526cc3bf7ba0e3d76c4d505e
Merge: bab14bc 77c73a5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 19 20:02:15 2013 +0000

    Merge "Fix Message Tests"

commit bab14bcc6a21fd4ac2a82d7a5e5305daa97945ec
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Tue Jul 16 17:09:50 2013 -0400

    chore: drop unused bulk message support on /queues
    
    4dfa19d continued.
    
    Change-Id: I664988f63264785683219932f65b18353ff46959

commit 39666c9f27acbf3c9ac473b1995183cffeb083f4
Merge: dddea27 423af09
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jul 19 19:42:12 2013 +0000

    Merge "Log all transport actions"

commit dddea2747d561b9a583649690e90a365d8afa1ef
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Jul 19 10:30:43 2013 -0400

    chore: switch to py3 print function
    
    Also fix other problems due to flake8 upgrades.
    
    Change-Id: I5cb6194e48c66e40ec7aa9739eb37550d6bf3e2a

commit 0b94bdcff2571012d1a0400dc988374e3d7c032d
Merge: 4fc2925 1649f9f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jul 18 18:46:27 2013 +0000

    Merge "Add Test for Health endpoint."

commit 4fc292513d822a36db0794042c3dd8bd7c0d9ad7
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Jul 15 14:08:27 2013 -0400

    feat(wsgi): check for client media type support
    
    Change-Id: I2c473bb158c68fe87671e4dea19f9063e33b3f58
    Fixes: bug #1177947

commit 1649f9f58cc2d5481503a14b77784c0695eabf28
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Wed Jul 17 12:30:19 2013 -0400

    Add Test for Health endpoint.
    
    This patch adds test for the health endpoint.
    
    Change-Id: I5475e5ad8bf3c3ad5125fadc4b6f221747982b48

commit 77c73a5a83efe6118591875c13697f1e9f2044fc
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Tue Jul 16 21:09:40 2013 -0400

    Fix Message Tests
    
    This fixes the message tests, to use href for GETs & DELETEs of a
    single message. This patch also removes the test dependency on
    /usr/share/dict/words being present.
    
    Change-Id: I8537a585eaf4a836fa080a4caf9c3560f37f693d

commit 296b5add2a41f1e0a5d0df939d68006c5ebfa391
Merge: 1ffe365 b4f2b47
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 17 10:31:49 2013 +0000

    Merge "Print caught exceptions in cli"

commit 1ffe365e859c6e2641ba6a0689eb832c2d8d6ac2
Merge: 9135d34 adf9a2e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 16 23:40:12 2013 +0000

    Merge "feat(storage): do not restrict the container type"

commit 9135d34311218c35ad834df646a3fe828544e60d
Merge: 0b2af68 18bed41
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 16 23:38:53 2013 +0000

    Merge "Cleanup PATCH Claim Tests"

commit adf9a2e7142ac20e6e4f188748945d2275d87722
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Tue Jul 16 12:16:26 2013 -0400

    feat(storage): do not restrict the container type
    
    In Python, container is a concept, not a specific type.  The original
    implementation limit the container to list, while this change allow you
    to use other containers, like tuple, to supply as a sequence of the
    message IDs.
    
    Change-Id: I347e764ed0e965f17aa49f3e80f2f100ba8ba495

commit 423af0931c5419ec176122421159f36bfd3a4691
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Jul 15 18:54:54 2013 +0200

    Log all transport actions
    
    This patch adds debug LOG calls to the transport layer.
    
    Implements blueprint production-logging
    
    Change-Id: I43137ef4cff77ead9d5db931907952dc78a67157

commit 18bed416348ecfecfdf3cbde40e9142f9f25e72f
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Jul 15 11:39:57 2013 -0400

    Cleanup PATCH Claim Tests
    
    This makes the PATCH claim tests more explicit.
    
    Tests: bug#1200664
    Change-Id: Icac834b4b621dac92afdc5f8e6c8fe609f5f300e

commit b4f2b47a638910012df4c5a3e30e59980000a11c
Author: Victoria Martínez de la Cruz <victoria@vmartinezdelacruz.com>
Date:   Mon Jul 15 16:32:54 2013 -0300

    Print caught exceptions in cli
    
    Show information about errors caused during
    the marconi-server call.
    
    Change-Id: If136716834d9f0f8f0c51625f874f375d0eee316
    Fix: bug #1201562

commit 0b2af6828a7ad666c09d13d84e59a62ba355f2f1
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jul 15 11:21:45 2013 -0600

    Replace foo.next() with next(foo)
    
    This patch uses the newer syntax for stepping over an iterable,
    with an eye toward Python 3 compatability.
    
    Change-Id: I9763596c0230f807557d0f2bf33d00124937b17c

commit cecb5c42e2c8e78432b359d4d8e953fc2c958830
Merge: cb68d06 4dfa19d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 15 16:36:51 2013 +0000

    Merge "Fix route for bulk-get message by ID"

commit cb68d06e33b8998733d1fe1a1aa0a68e6ebb0e54
Merge: 34db56a f992545
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 15 15:26:18 2013 +0000

    Merge "fix(wsgi): patching claims only requires "ttl""

commit 34db56a1cc4582ac9408b948f06574a15b870e96
Merge: 8ec464a 531c7e5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 15 15:09:57 2013 +0000

    Merge "fix(wsgi): a non-existing queue stats returns 404"

commit f9925452bbcb0069dd18077ab3ecec4bc53a5bfe
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Jul 12 11:09:42 2013 -0400

    fix(wsgi): patching claims only requires "ttl"
    
    This patch also fixes a test case which failed to reach the
    faulty driver.
    
    Change-Id: Ie6255c185f84057dfd416fdae8ba9b68771c252f
    Fixes: Bug #1200664

commit 531c7e5f93194a86f1f437b4f9c5e992da9b9f67
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Jul 11 17:21:19 2013 -0400

    fix(wsgi): a non-existing queue stats returns 404
    
    Fixes: Bug#1192180
    Change-Id: Iaf1e77b8ce01b33de63979164ea23ea086bf81d4

commit 4dfa19d403d506fe5a199577f582005419d1a5d9
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Jun 27 10:54:31 2013 -0500

    Fix route for bulk-get message by ID
    
    This patch includes the following changes:
    
    * /v1/queues/my-queue?ids=1,2,3 => /v1/queues/my-queue/messages?id=1,2,3
    * Update Location header to suite
    * Always return the same schema for location header, regardless of the
      number of messages POSTed.
    
    Change-Id: I4559222e8f4685af1020c2743c26de699aef30dd
    Fixes: bug #1194571
    Fixes: bug #1165102

commit 8ec464a51fb695c8928017a1e37044f39911bb58
Merge: 7321d96 e0c431f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 10 21:39:06 2013 +0000

    Merge "Update README and make it more explicit"

commit 7321d961df682af76927064995744baba6103bac
Merge: 9dbfe7d 5824df0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 10 20:49:21 2013 +0000

    Merge "Add test for bulk delete of messages"

commit 9dbfe7ddb6760403e1288390da21b4f0ee60c98f
Merge: bca0c28 1ca46da
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Jul 10 20:47:13 2013 +0000

    Merge "Handle AutoReconnect errors."

commit e0c431f39510cefeeb24d6cb1971e0dadb1269b7
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Jul 10 20:40:20 2013 +0200

    Update README and make it more explicit
    
    This patch updates the README file and makes it explicit that the config
    file should be copied into ~/.marconi (which is suppose to be a
    directory).
    
    Change-Id: I08a0ad74cca7068197d3cef35000b07c75076012

commit 1ca46da302a358413d859681b1ad3bac8171538b
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Jul 10 00:14:36 2013 +0200

    Handle AutoReconnect errors.
    
    AutoReconnect errors are not being handled and so, propagated to the client.
    
    This patch adds a safe_call decorator. The purpose of safe_call is to catch
    ConnectionFailure and raise a ConnectionError instead. Future patches will make
    the transport catch ConnectionError and handle it correctly instead of
    propagating it to the client.
    
    All storage back-end should support this.
    
    Fixes bug: #1169821
    
    Change-Id: I523232a7cefbd00082447403ceb3abada9af6db3

commit bca0c284ae047532f80077127f67610ffac2f396
Merge: e6ec550 b316dff
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 9 17:17:41 2013 +0000

    Merge "Implement grace period for claimed message lifetimes"

commit 5824df01265930d779bda481bbbeb9fdf0440ea4
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Jul 9 09:46:48 2013 -0600

    Add test for bulk delete of messages
    
    At the moment Marconi doesn't support bulk deletion of messages,
    so this is a negative test. We'll update the test later once we
    implement bulk delete support.
    
    Change-Id: I223acf0e7a3e02961d0ab6c28ab33faaaae20d35

commit b316dff65be66137bb5063961ba9a17d9e61050e
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Jun 25 16:43:11 2013 -0500

    Implement grace period for claimed message lifetimes
    
    This commit adds a grace period to claims such that claimed
    messages are guaranteed not to expire before the claim
    itself expires, plus an additional "grace" number of
    seconds.
    
    This provides fudge room so that when one worker crashes,
    an alternate worker has some time to reclaim the orphaned
    messages once they are released from the stalled claim.
    
    Change-Id: Id0e194a85e67f20babfb97e441e11703d6bf5563
    Implements: blueprint claimed-message-grace

commit e6ec550978a02e65175a509ae241a625e965f268
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jun 24 19:09:48 2013 -0400

    Implement health endpoint for WSGI driver
    
    Change-Id: I8ab7dd2aecd6421817ad5a49ab0186afcdc2ff6e
    Implements: blueprint v1-api

commit 05054b5be93c160a0d94053f0ef2f7f2c71d3f5a
Merge: 45dd041 b1849c1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Jul 9 14:32:26 2013 +0000

    Merge "Factor out entry point helper and apply to marconi.cmd.server"

commit 45dd041fa7c7f9616bde604d1d88c868102a0d13
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Jul 1 15:04:08 2013 -0400

    Fix Verification for Bulk Inserts.
    
    This fixes the verfication of message bodies returned,
    on a GET with multile message IDs in the URL
    
    Change-Id: Ieae9aeaebf92d773e4a744fad26599842fbb007c
    blueprint: system-tests

commit b1849c1d656d188f9d15b0b95fab439e08a3c97c
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jun 24 19:24:41 2013 -0400

    Factor out entry point helper and apply to marconi.cmd.server
    
    Change-Id: I3be826366948348430ebd286527ead5fec6413b9

commit 8bf10fe4dfde82892dfb61275594ebd8e18eec05
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Jul 2 17:20:43 2013 -0600

    Fixed pep8 dependency conflict
    
    Change-Id: I174a4e0b370ee8ee3bed6a749fc1cca4317b7ba6

commit 85177f705158235c64136c4de0552e5d89029f3e
Merge: 4d388df e411ff9
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jul 1 17:05:19 2013 +0000

    Merge "System Tests - Switch from robot to nosetests"

commit 4d388dfb87be933aca27891b1cc522128d7cf7fd
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jun 24 21:47:42 2013 -0400

    Refactored storage controllers into standalone modules
    
    Since controllers are getting pretty long, I moved
    each class into its own module. I also took the
    opportunity to reconcile some stylistic differences
    between the MongoDB and SQLite drivers.
    
    Change-Id: If93a3e8db3c75c24aa993304c52f8d119842ce74

commit e411ff9b9ffed4a8b5a20ebc25a60c20065c5e83
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Mon Jun 24 12:21:13 2013 -0400

    System Tests - Switch from robot to nosetests
    
    This patch updates the System tests to use nosetests,
    in place Robot framework.
    
    blueprint system-tests
    Change-Id: I4c51cb042ab21e2796b55fb13d69ae3afa2af172

commit 4208286d53c720ab5661a45a51a9501316e83b74
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Jun 21 17:44:15 2013 -0400

    Remove project ID from the URI
    
    This patch modifies the WSGI routes to pull the project ID from
    the headers (X-Project-ID) rather than from the URI. Once this
    is merged, the implementation will be fully compliant with
    the V1 API spec.
    
    Note that clients will be required to include X-Project-ID in
    requests since there will not always be a 1:1 relationship
    between auth token and project. To support this scenario, the
    service provider will also need to perform policy enforcement
    in a proxy or in middleware.
    
    Implements: blueprint v1-api
    Change-Id: Ib0b1218a98521b903643f3446d2192cddde135a7

commit 20ddcb8e4cd4b0d9deaa1b1a5c868de831c3d01e
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Jun 20 16:54:44 2013 -0400

    Get several messages by ID using a queue filter parameter
    
    This modifies the way multiple messages are queried by ID such that
    the IDs are now listed as a query parameter for GET requestes to
    a queue resource.
    
    Change-Id: If1245bdb7a75614311f5beb61f8835faa4521de8
    Implements: blueprint v1-api

commit d7866a28d02e11b325726fe1d5f30f2a7e331f46
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Jun 21 15:50:27 2013 -0400

    Don't sink stdout when running unit tests
    
    This patch removes the stdout fixture since it breaks pdb debugging
    
    Change-Id: Id7f94a23c4a105a6754a0287af083306147ec599

commit a262a658d3ee3bf904470d9cab082285a94f8480
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jun 17 18:29:10 2013 -0400

    Get messages by id
    
    This patch modifies the "get" method in the storage drivers' message
    controller to allow querying a set of messages by id.
    
    In the next patch, the WSGI transport driver will be similarly
    modified to allow querying for multiple messages by ID, through
    the API.
    
    Change-Id: I3bd183438a3eaf7af6ca52a19bb804c47ac1f245
    Implements: blueprint v1-api

commit 60803d84e288ac31a49f84b8978b69950c5d0294
Merge: a2a0c6a 1cd6ec0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 17 20:09:31 2013 +0000

    Merge "Set Falcon version in requirements.txt"

commit a2a0c6a31f6e5031a9e23384205930dfecb01a10
Merge: d341b92 baf3d2e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 17 20:08:43 2013 +0000

    Merge "Added some de-facto style guidelines to HACKING and fixed violations"

commit 1cd6ec0aa238daf1400e6b9e17d5ee787dfb4be8
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jun 17 13:34:20 2013 -0400

    Set Falcon version in requirements.txt
    
    Change-Id: Ibee0e4cf6698151df9db81bc746c782089a66cf4

commit d341b926b918f581d8d44862ac403f0bc69995e6
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Jun 14 13:11:33 2013 -0400

    Edited the READMEs to improve layout and prose
    
    Includes minor changes to README.rst and tests/system/README.rst
    to make them easier on the eyes, and to fix some grammatical errors.
    
    Change-Id: I25a0e591c7202571fdf21c4edbb958dc051d7aaf

commit baf3d2e3726c9fe7d7c0aa52b53c5fcbc69debe2
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Jun 14 14:38:26 2013 -0400

    Added some de-facto style guidelines to HACKING and fixed violations
    
    This patch adds several guidelines:
    
    * Global constants should be ALL_CAPS (cfg => CFG)
    * Prefer single-quotes over double-quotes ("foo" => 'foo')
    * Place a space before TODO in comments ("#TODO" => "# TODO")
    
    Change-Id: Ib5b5c5916744856eca2ecaa37e949a3cdc4b3bd7

commit 38370ee30dd82251ce0193910af9ebc5dd201302
Merge: f0d69e0 55cd3fe
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 14 17:08:13 2013 +0000

    Merge "Update marconi.conf-sample to support stevedore"

commit 55cd3fe21e0a18e470f983095382641120240777
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Jun 14 18:45:24 2013 +0200

    Update marconi.conf-sample to support stevedore
    
    The change Ib601418a7dbcad84c79b640b93bc5798ec4a62c4 added support for
    stevedore but it didn't update the config sample file under etc/
    
    This patch updates that file.
    
    Change-Id: Ie225c929a12059f077993db9ced3d49981897c8f

commit f0d69e0849b565140209559b69e4e979ed29d6cc
Merge: 15983b9 2bba034
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 14 16:14:52 2013 +0000

    Merge "Migrate to stevedore"

commit 15983b9be4f15cd5f688fe0ed6f97ab1d31a36b7
Merge: 13470f4 4a806d5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Jun 14 15:48:53 2013 +0000

    Merge "Log retry attempts resulting from parallel message posts"

commit 2bba034d67b9b1b229fa4a610a9fe2d2ec5ac9f4
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Jun 14 16:04:02 2013 +0200

    Migrate to stevedore
    
    Use stevedore to load both transport and storage drivers. It will allow
    other users to extend Marconi with their own storages / transports more
    easily. Stevedore also covers most of the cases around managing plugins.
    
    Change-Id: Ic417c29cef41bdb72c8c446937905509db5ba8cd

commit 13470f4b2f07193f2b357e4f88fec558301f8c1d
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Jun 14 14:36:49 2013 +0200

    Removing cliff from dependencies
    
    Change-Id: Icf08010838e7249628bb068343c78d1d5bad8a1c

commit 4af003d8d5bb0c92c2389b5c9b19527568ee1789
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Jun 14 14:16:39 2013 +0200

    Rename pip-requires / test-requires into (test-)requirements.txt
    
    Change-Id: Ica6e7da1f7ed9f9fd62302d73309630aa536116d

commit 802a37c5680f7bf41a5ac80ffe4545fff28ed567
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Jun 14 14:13:32 2013 +0200

    Migrate to pbr
    
    Change-Id: I0d5888f9d58d819ac65561b222cb2e93f260d627

commit 4a806d57f50245fe8f7a0daa4e44a7051e526196
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Jun 13 16:54:14 2013 -0400

    Log retry attempts resulting from parallel message posts
    
    This patch just adds a couple log entries, one when the first
    attempt to post messages fails due to a race condition, and the
    other when the post finally succeeds. Adding transaction IDs
    will improve traceability, but that's another bp. :D
    
    Change-Id: I188dae91f425e1effb6a12551e9d9f35c9549f71
    Implements: blueprint bp/production-logging

commit 8fa310cc7a7f989dc480bd96e2ec083722a1f2cc
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Jun 13 11:32:19 2013 +0200

    Move log.setup to Bootstrap and use cfg.CONF opts
    
    This patch uses cfg.CONF as ConfigOpts in common/config instead of
    creating a new instance of it. This is needed since most of Oslo's
    modules use the global CONF object to register their config parameters.
    
    The patch also moves log.setup call into Bootstrap and calls it after
    configs are loaded.
    
    Fixes bug: #1190524
    
    Change-Id: Ib601418a7dbcad84c79b640b93bc5798ec4a62c4

commit 2326efcd541342afb0c7b90d0d463c01f7d6c268
Merge: b55912d bfd2925
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 13 17:40:21 2013 +0000

    Merge "Guarantee FIFO/once-and-only-once delivery when using MongoDB"

commit b55912de2514ec7fb3621382f72980cc3681b19f
Merge: c91c724 0c332a8
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 13 17:20:05 2013 +0000

    Merge "Add Verification for List Queue"

commit bfd29252f53cb18cc564583cb45a6377eb5977d7
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue May 21 15:54:12 2013 -0300

    Guarantee FIFO/once-and-only-once delivery when using MongoDB
    
    This patch modifies the way message markers are generated and
    used, such that Marconi can guarantee FIFO for a single message
    producer posting to a single queue (FIFO for multiple producers
    is not guaranteed.) At the same time, these changes guarantee
    that observer clients will recieve messages once-and-only once
    by removing race conditions inherent in timestamp-based markers.
    
    Along the way, some technical debt was also addressed, particulary
    regarding style, as well as some minor optimizations.
    
    A new service, marconi-mongo-gc, was also added, and is required
    when using the MongoDB storage driver for Marconi. This service
    was necessary due to the special requirement that at least the
    most recent message always remain in each queue, which is an
    a-priori assumption upon which the FIFO/pagination algorithm
    is based, and arises from the particular constraints imposed
    by MongoDB's semantics.
    
    Note: While implementing this blueprint, many calculated tradeoffs
    were made in an attempt to balance performance, risk, readability,
    and maintainability. The goal was to create a resonable baseline
    implementation that can be iterated upon pending comprehensive
    system and performance testing. Due to the many subtleties
    of solving the FIFO/once-and-only-once problem for the MongoDB
    driver, future contributors should excercise extreme caution when
    modifying the algorithm introduced in this patch.
    
    Changes include:
    * Align text in comments
    * Add counter to queue, messages
    * Markers are now converted over to using monotonic counter
    * Handle DuplicateKeyError
    * Return resources in body as a response to a message POST
    * Added mongo driver claims tests
    * Return 503 when no messages were enqueued due to marker conflict
    * Added backoff sleep between retries
    * Added marconi-mongo-gc service. This is a new required servi
    
    Implements: blueprint message-pagination
    Change-Id: Ifa0bb9e1bc393545adc4c804d14c6eb2df01848c

commit 0c332a8c88f9b5cfa458727c02d68dd888c2d5e4
Author: Malini Kamalambal <malini.pk@gmail.com>
Date:   Wed Jun 12 11:50:24 2013 -0400

    Add Verification for List Queue
    
    This patch adds more verification for List Queue API call.
    It also cleans up some files, to keep the style consistent.
    
    blueprint system-tests
    
    Change-Id: Ieda206a98f22e7642784122b5c7b8fd45f2fd39e

commit c91c724a052bd405668bdfda9b66f6a8429a06f5
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon Jun 10 18:30:52 2013 -0400

    Pass content length to req.stream.read() in WSGI transport
    
    This update modifies the WSGI transport driver so that it
    always passes in a length when reading from the request
    stream. This is necessary because WSGI servers are not
    required to provide a stream that supports "read all"
    semantics. For example, wsgiref will simply block if
    read() is called without arguments.
    
    Fixes: bug #1189648
    Change-Id: I267e3bce36f0e11d931d9e9800bf3ad3aca7a804

commit adc65bd13720a2958fce1d86dab0d49750f84209
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Tue Jun 11 00:42:10 2013 +0200

    Make sure transport's conf are registered
    
    Import transport and let it register CLI parameters before loading the
    arguments into oslo.config.
    
    Change-Id: I1be537c216df6855b8e5b12951715bd5bb8ec9ea

commit 60026a73ea6e814e92454586192b816becd95357
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Jun 5 15:33:37 2013 +0200

    Wrap transport's app with keystoneclient's middleware
    
    Instead of using paste and depending on the middleware chain, use
    ceilomenter's strategy and wrap transport's app using the auth_token
    middleware.
    
    NOTE: Tests with successful auth are missing
    
    Implements blueprint remove-paste
    Change-Id: I61e7d1fae6b80114e22c0a43b4e391e2d5443123

commit 18f83cbc94c52b5a95610219f6b05709b43a02bd
Merge: 3048f75 61765db
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 10 18:42:29 2013 +0000

    Merge "Replace gunicorn with wsgiref"

commit 61765db141f058aff2b48c1e5d06b8e44c8042b3
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Tue Jun 4 10:02:25 2013 +0200

    Replace gunicorn with wsgiref
    
    The patch replaces gunicorn with wsgiref since it doesn't make sense to
    have gunicorn as dependency. Lets let deployers choose whatever the
    prefer to use as container.
    
    The patch also removes lib/* since marconi_paste is not needed anymore,
    the wsgi app can now be accessed through:
    
        `marconi.transport.wsgi.app:app`
    
    Backward incompatible change: bind refers now to the host and a new
    config variable was introduced to specify the port it should bind to.
    
    Fixes bug: #1187280
    Implements blueprint: transport-wsgi
    
    Change-Id: I9f7767ace5c6553e75e2f4587032d7d64b9537c4

commit 3048f75c2087ac0460ad704a310ca17435331e16
Merge: e1cf9d1 5477b64
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Jun 6 03:16:11 2013 +0000

    Merge "Add System Tests"

commit 5477b646ccd2ba52983c644183c8cfc936d70dad
Author: Malini Kamalambal <malini.kamalambal@rackspace.com>
Date:   Thu May 2 13:55:28 2013 -0400

    Add System Tests
    
    This patch adds the System level testing framework &
    the initial set of tests for Marconi.This will allow
    developers to run the system tests (regression suite for
    Marconi system level tests), against local Marconi server.
    
    Refer tests/system/README.rst file for details on
    how to add new tests and run the existing tests.
    
    Change-Id: I2f47e03091acc260293b19edad69ff5c83888ec3
    Implements: blueprint system-tests

commit e1cf9d1218706c97c8ab2fe4fd15e0e80f3c5a63
Merge: 662ea80 33ae83c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Jun 3 12:28:13 2013 +0000

    Merge "Don't use BaseException.message"

commit 33ae83c843ab29daf72e99b6834de20acd149129
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri May 24 11:52:43 2013 -0400

    Don't use BaseException.message
    
    This patch fixes the deprecation warning when testing under py26, and
    gets us one step closer to Python 3 compatibility.
    
    Change-Id: Ia6ac113a917eca075ef5abee937634bd4e488fa5

commit 662ea8096ae5e69c456d19c7bb32a404e7993705
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed May 22 14:52:54 2013 -0300

    Properly handle message post with an empty iterable.
    
    Storage drivers expect at least one item in messages iterable,
    so I modified the WSGI driver to check when this is not
    the case and return an error response to the client rather
    than blindly passing the messages generator into the
    driver's post method.
    
    Fixes: bug #1169838
    
    Change-Id: Ia2e512138a465af70110d88e8e11ae58ee5e4aab

commit 7c957ea301bee8df7daa0e348263563126fbeb13
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon May 13 14:29:34 2013 -0400

    Expand controller abbreviations in WSGI resources
    
    Several properites were expanded in the interest of readability. When in
    doubt, be a little more verbose; you'll spend a lot more time reading
    code than writing it.
    
    Change-Id: I352bc8fab70c4c3707003bf528a37e61742aceb5
    Implements: blueprint bp/grizzly-debt

commit 5f87afafcd2f23b9b1414f7b7e024f12dc593d1d
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri May 10 12:38:18 2013 -0400

    Clean up exception handling in the WSGI transport driver.
    
    This patch localizes try...except blocks, DRYs construction of
    certain HTTP exceptions, and modifies what types of exceptions
    are thrown (in some cases), to be more precise.
    
    I also factored out some input validation code that happened
    to be mixed up with all the exception handling.
    
    Implements: blueprint grizzly-debt
    Change-Id: I1030308bed1ec55477b176bf022118d53b46b7ff

commit 14061a24662ec83f13b2daf3ea8fab8909d6458d
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon May 13 16:58:36 2013 +0200

    Use oslo's log
    
    This patch imports oslo's log module. I modified it since it depends on
    oslo's notifier which has many other dependencies Marconi doesn't need.
    
    There's sort of an issue with gunicorn, it seems that once
    log.setup('marconi') is called, gunicorn starts logging twice each
    message.
    
    Change-Id: I85e8354b7af9b67ea1f87e54b3b73250d4a1115a

commit b9c4d1f12a24fc8fbf597e313e097ba98820ef1b
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon May 13 15:50:27 2013 +0200

    Rename bin package into cmd
    
    Most projects are migrating to entry_points now and the name of the
    package is cmd. I renamed bin into cmd to keep consistency with other
    projects.
    
    Change-Id: Iab889123fb4836a42ed0ef52986ffa7648a140fa

commit 94f0d8d78357f1b2bb890049c14276bf1174d79d
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu May 9 17:00:52 2013 -0400

    perf: Decrease time to create a claim by ~1 us
    
    A simple change to the way kwargs was constructed made a signficant
    change in efficiency. Other places where the helpers.purge function
    are used will be optimized once Falcon releases support for storing
    results directly in a dict, unless they are None, making the purge
    function unnecessary.
    
    Implements: Blueprint bp/v1-obvious-optimizations
    Change-Id: I9abe4d497cedd7963ae0cccd85bc1096d20994a1

commit 8b31b2e9b0c45aafcc55f3be2b59416e46c72d01
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue May 7 17:43:34 2013 -0400

    refactor: Hoist helpers.expect into package namespace
    
    It's silly to have to import a package's submodule directly,
    since in this case that only introduces another module name
    that the developer has to keep track of, just to gain access
    to a solitary function. This patch hoists
    marconi.tests.util.helpers.expect into marocni.tests.util so
    that it can be referenced more naturally by the test author.
    
    Accordingly, the Hacking.rst guide has been updated to allow
    this sort of thing (with some discretion).
    
    Implements: blueprint grizzly-debt
    Change-Id: Iad2e4f728aa4826d99bec2c599e2947a87eb5945

commit a556f392c57ee3ed02da3a8ed60397253908db05
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon May 6 13:57:18 2013 -0400

    style: Fix flake8 and hacking errors
    
    In the interest of conforming to the de-facto coding standard for
    OpenStack projects, this patch enables all checks for flake8 and
    hacking, plus fixes everything reported.
    
    Also, several docstrings were edited for clarity and grammar.
    
    Change-Id: If85c4e420811b6df8eb55de1b5f07a0a8acfceff
    Implements: blueprint grizzly-debt

commit ddb24ff5b10603c5f9497a5195cf393e1a7ba1d6
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Tue May 7 01:08:33 2013 +0200

    Rename tenant into project
    
    Keystone will replace tenant with project during Havana. Some of this
    work already started and is moving forward. We can go ahead and replace
    it now before the tree gets bigger.
    
    Change-Id: I1d0494112f6a65cc4ee5390eee782e24790ca5b7

commit ee59a0f396d6bca619cefb87562c20a190205e17
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon May 6 19:15:59 2013 +0200

    Raise NotFound when an invalid ID is passed
    
    Change-Id: I209dabc8b240ab9ea0e1684dcdd35f82dafaefa1

commit 6ea84355c3ef092411d20e344e6b1ed4acc1e072
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Mon May 6 09:51:56 2013 -0400

    style: Migrate to the new hacking package on pypi
    
    This removes the cloned Nova hacking.py in favor of the new OpenStack
    hacking package on pypi. The new hacking module is a flake8 extension,
    so running pep8 separately is no longer needed, and has been removed.
    
    Note that some errors are currently being ignored; those will be fixed
    in a followup patch.
    
    Implements: blueprint grizzly-debt
    Change-Id: I9d34b21d872a872b8c927717367023d3214ff38d

commit e5cc92939a6406ea938bd24ccaabe1e0128c05b3
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri May 3 17:35:06 2013 -0400

    style: Enable flake8 with proper exclusions
    
    This patch ensures we are running flake8 in a DRY fashion, using the same
    exclusions as used for pep8. Also fixed is the pep8 module version mismatch
    between the version required for hacking.py and the newer version used by
    flake8. Finally, the doctest run for pep8 was removed, and enabled for
    nose instead.
    
    Implements: blueprint grizzly-debt
    Change-Id: I8e19512df4cd37f7ad637b66dff0a5982d14482c

commit 221e934c71bb9801f751b0f0b8c380c7ecc7413e
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu May 2 18:00:57 2013 +0200

    Set messages ttl to claims ttl
    
    Make sure messages being updated have the same ttl as claim. This update
    happens when claimed messages have a ttl lower than claim's.
    
    Implements blueprint storage-mongodb
    
    Change-Id: Ide529895760fd6e1b207611729e1da5e250cbafb

commit f3963d0a8ce8a7bb9f7d7bf11d82ebf8ab1f3ba0
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 30 18:21:56 2013 -0400

    Fix tests which were broken by incomplete changes.
    
    1. Switch from utcnow_ts to utcnow in mongo driver;
    2. Add the strict expiration filtering back.
    
    It makes sense to relax the TTL restriction on messages, but in
    the current version, get msg & list msgs behavior differently.
    So at this point of time, this 'feature' should be regarded as a
    bug, and the tests should be fixed before we land this 'feature'.
    
    Change-Id: I3606b9d6459ab6cfc91b431fa66acdbaa2874e1e

commit 32fa32a0fc374a8ff0047a4ca137786f21dd0bc8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 24 14:10:12 2013 -0400

    Switch to flake8 and fix errors.
    
    Change-Id: I185d0841c0b3400c47e30f9398634f36e78a684e

commit 8a588c62f099c82442cb25a670e538d5f7650ff9
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 23 16:47:30 2013 -0400

    A helper to remove None value entries from a dict.
    
    Change-Id: I414951124b52f8c96a1aebacaec61f05fef8ef67

commit 884fbf458782f95653001ae87b3ae73d98d8219d
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 23 14:37:42 2013 -0400

    Support list queue pagination in transport.
    
    Change-Id: I65c553c64797dc2a8193c6af13fef97c95f7bebf
    Implements: blueprint transport-wsgi

commit b10761d456672f94c72e261df816e4c6c1cf0bae
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 23 10:54:54 2013 -0400

    Support list queue pagination in storage.
    
    Change-Id: Ifc87f84518593ce25a9b18fd62dbe4d5cd39006f
    Implements: blueprint storage-reference
    Implements: blueprint storage-mongodb

commit 11c782d8e9742d72cf0fc3ed03b891210ac92fd8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 22 15:38:23 2013 -0400

    Message listing switches to the new API.
    
    Change-Id: Ib1450da907b51d41a3d7cc1701f5942e8b4253d1

commit fcdaa2b13de97334a498e26efeec689a8b46c0c5
Merge: 056c75d 0e4f681
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Apr 29 21:04:25 2013 +0000

    Merge "Use ttl indexes as message scrubber"

commit 056c75d2d94be88baf9cb85f4bea529494c5ed7e
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Apr 18 11:47:40 2013 -0400

    Define the new pagination API in storage base.
    
    1. Listing operations interactively yield an iterator and a marker;
    2. Listing queue now only support forward listing.
    
    Change-Id: I6fe57228344518c16757b2a4175abb7bf529b513
    Implements: blueprint storage-base

commit 0e4f681e04ac8fad2f4b9292ae73f0979b0a834f
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Apr 17 16:18:15 2013 +0200

    Use ttl indexes as message scrubber
    
    This patch makes use of mongodb's ttl collections as a way for cleaning
    expired messages. In order to implement a "dynamic ttl" collection, the
    expires field is literally hacked.
    
    When a new message is creted, it's expire field is set to:
        now - ttl
    
    The above makes the message last at most `TTL` seconds.
    
    As for claims, the expires management didn't change, however, it now
    uses datetime's instead of TS to be consistent with messages ttl.
    
    Implements blueprint storage-mongodb
    
    Change-Id: Ia1c5c2ca37a5fb3732d6cfa99ce13da7d376b02c

commit c4ec9c0dc9c548319ddda075f3c38bf6679b6262
Merge: 9769382 a13c5c7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Apr 27 14:15:32 2013 +0000

    Merge "Support the new claim TTL semantics in SQlite."

commit 976938296c0745e03b50417df960c6570e5392c0
Merge: ca67286 e080a3e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Apr 27 14:13:56 2013 +0000

    Merge "Get rid of SQlite's own test code."

commit ca6728666bffb30c2390d1699006db816fd3843f
Merge: a7d2d9d 4d92666
Author: Jenkins <jenkins@review.openstack.org>
Date:   Sat Apr 27 14:12:21 2013 +0000

    Merge "Support message deletion with claim in MongoDB."

commit a7d2d9da6f77b10783bf95b81472999d5dbb4cc0
Merge: e19447e 95e8fff
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Apr 26 19:30:53 2013 +0000

    Merge "A self-format exception, ClaimNotPermitted."

commit e19447e71aa5a5f4fca0075181c8605905eac0ad
Merge: cc4ca1e 3d2b7af
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Apr 26 19:30:50 2013 +0000

    Merge "Bugfix: Deleting a claimed msg is idempotent."

commit cc4ca1e076e8d38b44d2321417a847e0be322c2b
Merge: 62572bd 9794025
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Apr 26 14:16:03 2013 +0000

    Merge "Fix a bug in test; "href" needs to be splitted."

commit 62572bd61da453e72e4889d91e3a3e8f4e5ed2d6
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Fri Apr 19 13:01:22 2013 -0400

    Add simplejson into dependency.
    
    Actually, keystone-client enforces simplejson.  We can do that too.
    
    Change-Id: If8c082e55269766d7a0653f87d640f79bc8ad336

commit 0b5724600b3d369b86d5ce5a12fbad50b6422478
Merge: 5b2e225 d34769f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Apr 25 21:09:06 2013 +0000

    Merge "All endpoints in WSGI pick up the faulty driver."

commit a13c5c7cdd54bc272ee2e14c05bf1329676d44a8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 17 17:09:20 2013 -0400

    Support the new claim TTL semantics in SQlite.
    
    This also fix a bug in update claim, which should
    reset the age of the claim.
    
    Change-Id: I69a31fd99bd23db87f6e77935889671c2b1c53ed
    Implements: blueprint storage-reference

commit e080a3eb4aefe9933268813a94abc4c0454eeb6d
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 16 16:52:49 2013 -0400

    Get rid of SQlite's own test code.
    
    Change-Id: I8da861125d8673abf0477c519434952e7334bccf

commit 4d92666cb4dc2549793800dbc0e8977fdeb60a52
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 15 21:09:45 2013 -0400

    Support message deletion with claim in MongoDB.
    
    This also fix a potential bug, a user can delete a message
    not in his/her queue.
    
    Change-Id: Iac7b0ade3a7d04e0a3cfdb799c81dc8529fd054c
    Implements: blueprint storage-mongodb

commit 95e8ffffc91b596e6ba4f1a56b9e80090aaa1da5
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 15 19:49:24 2013 -0400

    A self-format exception, ClaimNotPermitted.
    
    Change-Id: I8bc8f8d8f9f74f3e7400f00fbfcc72d2cdb945cd

commit 3d2b7aff469770b456af8f4179772e42fb62157b
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 15 18:36:33 2013 -0400

    Bugfix: Deleting a claimed msg is idempotent.
    
    If the message does not exist or expired, it's not an error to
    delete nothing.  The original implementation works when claim
    is not supplied, but throws exception when claim involves.
    
    Change-Id: Ic689058c2f67be6c9eebd3ba342bb73369e4f41b

commit 5b2e2254f5df6c3723d975e16418aa9cafbffb0a
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 15 10:03:52 2013 -0400

    Move SQlite ID tests to driver-specific tests.
    
    Change-Id: Ie8d679ba05d18816948953e9a04f00d7419b9405

commit 7e76c9957c0ad012285bb2f3274be1bfe6dd48f1
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 15 09:48:07 2013 -0400

    Let the storage tests cover the SQlite driver.
    
    Change-Id: Id751258e6410e7b6e9717efe336a38ec6477b19c

commit d34769fa76b428649021084fb8d4991514f9e8e0
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 8 18:18:31 2013 -0400

    All endpoints in WSGI pick up the faulty driver.
    
    Change-Id: I97cdac4235def4fed2a195064d331ff26b9f340d
    Implements: blueprint transport-wsgi

commit 32150c643eb00363ebdb551de41adeec92865fe7
Author: Bryan Davidson <bryan.davidson@rackspace.com>
Date:   Mon Apr 22 16:28:42 2013 -0400

    Make Paste use default configs
    
    Instead of specifying a custom location for the Marconi configuration file
    through Paste, just use the defaults as specified by our config module.
    
    Change-Id: Ia01e262e298f953412a36c75614c7656c3105db1
    Implements: blueprint config-module

commit 9794025eb615e9360b42dc564a3c7f139ef0fe18
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 17 13:54:21 2013 -0400

    Fix a bug in test; "href" needs to be splitted.
    
    Change-Id: Ic548ac8dc848294017eda440e6688ad9348686c1

commit 0f77d41a96adf95fd70904534825597c088136ee
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 16 17:09:31 2013 -0400

    Bugfix: Exclude expired claimed messages in stats.
    
    Change-Id: I6dcec40b967c29c8c291c8251b61949c7e672e26

commit efcb1111af48ac2972db67a4a0332beea4da26b8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Apr 12 17:40:03 2013 -0400

    Count "claimed" and "free" msgs in Queue stats.
    
    Change-Id: Ic8e2a4490d40a0745be458766bbe4c77220f6869

commit 84b1f4bee2e19329a1726e0a4c56446c7872043e
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Apr 12 17:24:04 2013 -0400

    Bugfix: Do not claim expired messages in SQlite.
    
    Change-Id: I346e79cf7269fb2452a0bec22a61ad7fd2e9935b

commit 0f612c1188c269a835b3fd0728a59e81efd3c3d5
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 8 12:25:13 2013 -0400

    Queue mgmt picks up the faulty driver in WSGI.
    
    Change-Id: Ib0b6d0d2aac86d855f890ecba0f4c34a3cb09cd9
    Implements: blueprint transport-wsgi

commit cddf5d89ce6fe4052539b09c7aa7ef3a87e7c6d6
Merge: ed2d3a3 a8c310a
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Apr 12 08:39:10 2013 +0000

    Merge "Delete messages when a queue is deleted"

commit ed2d3a3352cba64b8539e683a79892b708b86d99
Merge: 10fd4be fb23820
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Apr 10 18:32:39 2013 +0000

    Merge "Improved mongodb's storage queries and indexes"

commit a8c310ac063723093c9263e20b2cef31d0e65ac1
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Apr 10 19:02:13 2013 +0200

    Delete messages when a queue is deleted
    
    Implements blueprint storage-mongodb
    
    Change-Id: If4e4073af7e613b3483e9ccbe42cf808502ae9e5

commit 10fd4be58e872b9189236d311ec69c4e1a481066
Merge: c0e5f99 84146af
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Apr 10 15:43:13 2013 +0000

    Merge "fix: Enable reading from secondaries in the MongoDB driver."

commit fb2382030d7ac61dcb6cee3cec5d13618a05ba24
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Apr 10 16:11:12 2013 +0200

    Improved mongodb's storage queries and indexes
    
    The patch reduces the number of indexes needed and changes how data is
    stored.
    
    Major changes:
        * Messages expire now contains claim's expire for messages whos
        expiration time is less than claims.
        * New messages now contain a fake claim object that allows the
        driver for querying using that field even when the message hasn't
        been claimed. (see `active`)
    
    Implements blueprint storage-mongodb
    
    Change-Id: Ia932d15fb3a3e0e7c50d667fae330cb031e34a8a

commit c0e5f9962825fd0dfe0d73934182689be6f2f92a
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 9 12:10:01 2013 -0400

    Make use of simplejson in the transport layer.
    
    simplejson is strictly compatible with the standard json library
    (for example, the big integer support), and use a C backend to boost
    the performance.
    
    Change-Id: I7ba0b8b5fa7bcadde5c6e88654bad1e08ccde11a

commit 84146af623cd08f1f3e50a273462808b262733d7
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Apr 9 19:30:29 2013 -0400

    fix: Enable reading from secondaries in the MongoDB driver.
    
    This patch changes the MongoDB driver so that it will use
    MongoReplicaSetClient instead of MongoClient when a
    replicaSet is specified in the connection URI. Testing
    revealed that this is necessary for readPreference to be
    respected.
    
    Change-Id: I3c1a2a166c5dd2c857cd52a2d1766437a9e4a940

commit b94f4e6fe756a5a409439fb151f4a1cc6a74ef0c
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 9 16:05:31 2013 -0400

    Bugfix: respond 204 if no message get claimed.
    
    Change-Id: I4af1810b78ad224fb01614f55ab95b709de9a211

commit f62cef8c34ad610ec76be499c33328fd7a302e66
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Apr 8 14:23:59 2013 -0400

    Log the traceback as well.
    
    And do not respond a deserialization error to the user.
    
    Change-Id: I9a725c082e505655fb557c00307c758a9fc78e3b
    Implements: blueprint transport-wsgi

commit 10d923097a08dc0edcedcbd507234f2eac999a49
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Apr 5 15:54:15 2013 -0400

    Immigrate SQlite message tests to storage tests.
    
    Change-Id: I60a070bc43307c6c36502de4057c453fe7698dfe

commit f34b8dad45286f57443dca5484244f2500321f15
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Apr 5 15:16:35 2013 -0400

    client_uuid is not optional to POST messages.
    
    Change-Id: Idc3cd43bf29f93fd543963cbaff08ee712f6652f
    Implements: blueprint storage-base

commit 9941811c20482bee628d89c745165efcc0c774c0
Merge: 746d595 ba9924d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Apr 8 15:33:41 2013 +0000

    Merge "Added total, claimed, expired to queue stats"

commit ba9924d2a80bd6a61a4ad8d54ffb3f46cdf4e3fc
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Apr 8 15:32:59 2013 +0200

    Added total, claimed, expired to queue stats
    
    Implements blueprint storage-mongodb
    
    Change-Id: I1a8a191cefd46377283cbcf4e901a893a619d500

commit 746d59576db5c71d9878944ddd27056b8e91dc4e
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Fri Apr 5 17:15:14 2013 -0400

    chore: Remove bin/marconi-self-host
    
    This directory is no longer necessary, and the script is out of
    date. marconi/bin is the new home for this sort of stuff.
    
    Change-Id: I67b95dad314389d567d623521b69df9093c77dff

commit 0377f70b2e408bce0fd0912b12a954b5aa788343
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Apr 5 12:06:00 2013 -0400

    Queue stats returns claimed, expired, and total.
    
    Change-Id: I665b385a0bf6ac2fd702615df94d440031c4928c
    Implements: blueprint storage-base
    Implements: blueprint storage-reference

commit fe23abd2b89d84bafde4c6ae4c1abd4d8038dc60
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Apr 5 14:22:01 2013 -0400

    Config module no longer remember cli args.
    
     - The .set_cli method is dropped;
     - .load method now accept an 'args' argument instead;
     - no cli args is read by default when 'args' is None.
    
    Implements: blueprint config-module
    
    Change-Id: Ic41904a584495170d8ca26c93c0d68e708469cc6

commit 948476edf905d4a233c95c8c5bab6fb12b15ee19
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Apr 5 14:02:04 2013 +0200

    Added gunicorn as server application manager
    
    This patch adds gunicorn as dependency for starting and managing server
    workers. Gunicorn allow users to chose whether to use workers based on a
    sync process, eventlet or gevent. It also manages multiple workers, ssl,
    process uid, process gid.
    
    Implements blueprint transport-base
    
    Change-Id: Ic328dbb937f8df69691911c6e6ff6b318bb1db34

commit 859e571451238daed2bfbd178d4dfbff2f5803a4
Merge: 719aa11 7563c63
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Apr 5 15:36:32 2013 +0000

    Merge "Implemented marconi-server entry point"

commit 719aa11ebabbcc4d06f4fb40480650d45eb832e1
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Apr 4 11:10:12 2013 -0400

    Remove unused code in storage.
    
     - stats() on claims;
     - constants not handled by storage.
    
    Change-Id: Ia70193c345e1ba515bdf0cf2a35c976ae5706668
    Implements: blueprint storage-base

commit 7563c63c90df05ec9e97d1a48735e5b725eb0f84
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Apr 5 10:15:24 2013 +0200

    Implemented marconi-server entry point
    
    This patch adds the first console_script for marconi server.
    
    In order to use it it's enough to run setup.py either using develop or
    install.
    
    Side changes:
        The config now uses sys.argv[1:] if no custom cli args have been
        set.
    
    Implements blueprint transport-base
    
    Change-Id: I15732129d66b32fca2b818e9105b17f541094983

commit bcf2ee589ca82a0c7bdedcb5406829c9e313e037
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Apr 4 19:15:41 2013 -0400

    Queue stats in MongoDB.
    
    The patch implements stats methods for mongodb's queue controller and
    uses the `MessageController.active` method to get valid messages present
    in the queue.
    
    Implements: blueprint storage-mongodb
    
    Change-Id: I8a2d32ebeef9a8dd4b2131b522f026d9c5d0cd6e

commit e8eb8d1d788cbfc5c1fdf375c5bbd1b470922ab3
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Apr 4 18:32:58 2013 -0400

    Add the "href" field to listing queues.
    
    Change-Id: I075608016094249a472a25d2e1905d87cbd374e8
    Implements: blueprint v1-api

commit b7e841840b128e3628851e914b8b665682d5c73e
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Apr 4 15:02:58 2013 -0400

    Use "href" instead of "id" in the claimed messages.
    
    Implements: blueprint v1-api
    
    Change-Id: I45a1b1147f318995b6b7802e4512dc75dcddba43

commit a0aa406f61ba9b09e651899a3176168cef5848d0
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Apr 4 14:22:34 2013 -0400

    Use "href" instead of "id" in the message body.
    
    Change-Id: I0afbfd04ec9003d8db1fa1bc8099d558c845f348
    Implements: blueprint v1-api

commit 1a15292cf29574e5d386bab02b27b31eb61ce5ec
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Thu Apr 4 09:47:35 2013 -0400

    Make use of the features in falcon 0.1.3 & 0.1.4
    
     * To build the query strings;
     * to build content_location;
     * and to ensure the type of the HTTP parameters.
    
    Implements: blueprint transport-wsgi
    
    Change-Id: Ibc06d68e43313e842854f08a8bff010624e7516c

commit 2157af264c190a11da0c3a7f3ddeb7b92b836548
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 3 16:16:46 2013 -0400

    Queue Stats in WSGI.
    
    Change-Id: Ic3652dd1c7e7a97323c9c7d86b281c4f1691532d
    Implements: blueprint transport-wsgi

commit 628737108e728af45faaa3134dfdcd91ae367024
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 2 17:34:04 2013 -0400

    List queues in WSGI (w/o paging, but compatible).
    
    Change-Id: I1e56317b762dc079dbb00751400817c049e927db
    Implements: blueprint transport-wsgi

commit 7231d82d19e1e8b507047d508b168a8e752bc044
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 2 16:03:00 2013 -0400

    Delete queue in WSGI.
    
    Change-Id: I4029e6f01763cb4bfdba3a4e9c6eacf972173923
    Implements: blueprint transport-wsgi

commit 1ab228bf45b92e46b6cf6a6844be38d0b9eaa32a
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 2 15:14:56 2013 -0400

    Check for malformed JSON when creating a queue.
    
    Meanwhile,
        1. Dumps UTF-8 JSON in response;
        2. Set Content-Location for GET.
    
    Implements: blueprint transport-wsgi
    
    Change-Id: I04c988168366f60cf88a0693bab50ded5b855117

commit d38ef0ce853299afa960dd785340153343392079
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Mar 27 16:19:05 2013 -0400

    Claim support in WSGI.
    
    Implements: blueprint transport-wsgi
    
    Change-Id: I3ea265e275697c32288db0e36fdd1a893397e6ea

commit 7e02abc5dbcb6e9c5c213456c9ace0a4b19995fa
Merge: 4ef573b ece0838
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Apr 4 21:32:03 2013 +0000

    Merge "ClaimMessage implementation for mongodb"

commit 4ef573bb81d8ed777ec2c5da89ab217b1eb06bb1
Merge: 79e0473 7917116
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Apr 4 21:31:16 2013 +0000

    Merge "ClaimMessage Base Tests"

commit ece0838a079c351f6b7a7338731b6874bb1dc232
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Apr 3 18:31:29 2013 +0200

    ClaimMessage implementation for mongodb
    
    This is a first proposal os ClaimMessage support for the mongodb
    storage. Please read comments in the code for a more detailed
    explanation of this implementation.
    
    Some issues and race conditions might be found and this implementation
    tries to cover them in the best way.
    
    More detailed review is required in the claim creation method
    
    Implements blueprint storage-mongodb
    
    Change-Id: I532fdad895a18dc4961a86adbe7086e9eaa231f9

commit 79e047319f93acbb9824840074af875218685800
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 3 17:13:19 2013 -0400

    Do not allow updating an expired claim in SQlite.
    
    Change-Id: I6307959404602b998a87206815b53768e0d1931a

commit 639578bab26e1c9329502db52afe54b34823bb6c
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 3 14:59:55 2013 -0400

    Bugfix: exclude expired messages in Queue stats.
    
    Change-Id: I870ccab55cb2f39806026981fba241c66aa96218

commit 791711603b2a28beee05ab0b0d2c9c4132e6ac0d
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Apr 3 18:33:36 2013 +0200

    ClaimMessage Base Tests
    
    Implements blueprint storage-base
    
    Change-Id: I366a77596000d894fd8440c3afaa10ad8e0c6593

commit 637c77c502696c9e69295c2079f09df9ffad2245
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Wed Apr 3 11:43:43 2013 -0400

    Return (claim_id, message_iter) in SQLite create().
    
    In general, POST should respond only the things not in users'
    requests.  Similar to post() messages, which returns the msgids,
    we return the created claim id, plus the claimed messages.
    
    Change-Id: I61ad4a37f7cd5b2f42eece4fe4715db9ad878395

commit 772474264d16c1fae493934b562d59f5053ef587
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Tue Apr 2 23:41:27 2013 -0400

    Raise self-formatted exceptions in SQlite.
    
     - A helper, marconi.tests.util.Expected, is added to replace
       testtools.ExpectedException, since the later one does not obey
       the exception hierarchy.
    
     - ClaimDoesNotExist is added, similar to MessageDoesNotExist.
    
    Change-Id: I8f592184cbf7f3bdab95e9adef1306055097cb6f

commit c82fbd7d5bb884e1b0a23c07f181a9574dd4b5a4
Merge: b73ae2b 3aace65
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Apr 2 18:42:36 2013 +0000

    Merge "Don't call super on queue deletion"

commit 3aace65da613c69773fe50147f0e416f43735a78
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Tue Apr 2 18:51:47 2013 +0200

    Don't call super on queue deletion
    
    This patch removes the super call on queue deletion since it raises
    NotImplementedError.
    
    Change-Id: I11f068ff52e99b89c926df9234f9924779c7a941

commit b73ae2b2034021e16cbbbc681f925e824fda5bc8
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 2 11:45:16 2013 -0400

    Set 'Content-Location' on get-messages correctly.
    
    Change-Id: I9e064d5cdcafdaeb8b9bb92b7b2fa4e557d83aca

commit b3ae11b895c4ae3e2074f523644c6cd400e5b558
Merge: 4f437d2 1810ffa
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Apr 2 15:15:55 2013 +0000

    Merge "MessageController implementation for mongodb storage"

commit 1810ffa8c93f2fd1ce19a95475fdce760f9ae0d8
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Mar 21 10:51:17 2013 +0100

    MessageController implementation for mongodb storage
    
    This patch implements MessageController for the mongodb storage. In
    order to test the changes made here, it was necessary to modify current
    base classes.
    
    This patch also adds more granular exceptions (QueueDoesNotExist and
    MessageDoesNotExist) both based on the existing exception DoesNotExist.
    
    Implements blueprint storage-base
    Implements blueprint storage-mongodb
    
    Change-Id: I0752c5d797104a9cc58efd8e866b3b627646bce5

commit 4f437d26ece274b98034f6a232e890241be5e0e1
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Apr 2 10:18:41 2013 -0400

    Rename QueueResource to queues.ItemResource.
    
    queues.CollectionResource is not implemented yet.
    
    Change-Id: I8131ce784e0efc5d07a633d93db09d340a6e1281

commit 9cde7d8c954d0eb47880ca0151fd64373630348d
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Sun Mar 24 04:03:35 2013 -0400

    Claim messages in SQlite.
    
    Implements: blueprint storage-reference
    
    Change-Id: Ib10f80e05b169f62885cd1ae88307b9aa3b37c0c

commit 90dd619d784d60a544440d257f6c1a1a235d5ac6
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Fri Mar 22 13:45:54 2013 -0400

    Message support in WSGI.
    
      * API limits (on TTL, e.g.) are not verified (noted in code).
    
    Implements: blueprint transport-wsgi
    
    Change-Id: I8c3908ce7e74da26b3ebebd06f308754665d681b

commit 792c07afe0b67edf3db6873165936800bde6158d
Merge: c87b10c d6e6009
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Apr 1 15:57:05 2013 +0000

    Merge "Improve the documentation of the config module."

commit c87b10c17b3f62e7069ef970332e14899a599d10
Merge: a6d9596 c33fb6f
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Apr 1 15:53:50 2013 +0000

    Merge "Use metadata instead of **metadata for claim's updates"

commit a6d9596d3faa9ec3db7d9233e2fb87a1a14381f0
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Mar 21 15:00:44 2013 +0100

    split message's get method in 2 separate methods
    
    Before, MessageController's get method did both, find and get
    operations. In order to keep consistency with the QueueController
    implementation and make the code a bit cleaner, this patch splits that
    method into list and get.
    
    Implements blueprint storage-base
    
    Change-Id: I7661ea40ae1bf9806f61a5ded74a550259410a84

commit 54f21769d79c03574f2292451380e043b936ddbd
Author: Bryan Davidson <bryan.davidson@rackspace.com>
Date:   Mon Mar 25 16:59:25 2013 -0400

    Suppress some Coverage report output
    
    We are not responsible for marconi.openstack.common code so it
    will be excluded from our Coverage report. Also excluding
    NotImplementedErrors as there's obviously no implementation in
    that case to be tested.
    
    Change-Id: Ie1e2cf4b858afef56ffed7ee225a0f8c29dcaef8

commit d6e6009b4e81f68ef45b1d78344980a5d957ca2c
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Thu Mar 28 10:42:07 2013 -0400

    Improve the documentation of the config module.
    
      * Document how to load configurations from file / cli arguments;
      * Deduce None to Opt instead of StrOpt; no visible change.
    
    Change-Id: I9a6b5e02d7ea75ce23fddc36cff85644d2b5f874

commit e3e4c0073b9e76999b010d38da45b131105ece6b
Merge: fb5a45f b437adb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 29 17:06:10 2013 +0000

    Merge "chore: Remove unused module (superseded by bootstrap)"

commit fb5a45f0c4cea01d9ca88bbcd30e94ca19151a5f
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Thu Mar 21 09:26:10 2013 -0400

    Message support in SQlite.
    
     * The JSON serialization is switched to msgpack;
     * list() on messages and stats() on queues fail loudly.
    
    Implements: blueprint message-pagination
    
    Change-Id: Iadb1ef348a53e0de28c6b45782ef686a3f1bf1e2

commit b24d01b70962e846d76afb159f5c9c3355672c37
Merge: 0e9affc e98587d
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 26 20:02:05 2013 +0000

    Merge "test: Added mongodb and faulty storage tests, and made them pass"

commit c33fb6f73fb422454ad642d1bd4bb9993fc2968b
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Tue Mar 26 17:44:00 2013 +0100

    Use metadata instead of **metadata for claim's updates
    
    In order to keep consistency with other methods (queue's upsert), this
    patch replaces **metadata with metadata and implements some logic in
    claim's create method.
    
    Implements blueprint storage-base
    
    Change-Id: Ibec9e8d07a2db4c1339f6fb7ba24de8820e0235d

commit 0e9affcb106dbc67f8a18b4cafd48f2d996036f3
Merge: 24ab9e0 9077420
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 26 15:30:13 2013 +0000

    Merge "style(HACKING): Add notes about whitespace, naming, and wrapping"

commit 24ab9e0b4c3399de7218831ab126047675d4b447
Author: Bryan Davidson <bryan.davidson@rackspace.com>
Date:   Thu Mar 14 14:38:24 2013 -0400

    Keystone Authentication
    
    * Inserted Keystone middleware into Paste Deploy pipeline when
      running an HTTP transport instance.
    
    Change-Id: I8d206747878b1013f668f116fdfc1d76204aef1c

commit e98587d23b0a49884a44c13c481b2f5b9988bf8d
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Mar 21 12:00:09 2013 -0400

    test: Added mongodb and faulty storage tests, and made them pass
    
    Change-Id: I620613441ea425fcaa028d49bc8528ddf34312c7

commit 90774202e2ac0e5394fd459f04cfd590062f7d25
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Mar 21 10:32:16 2013 -0400

    style(HACKING): Add notes about whitespace, naming, and wrapping
    
    This patch is all about optimizing our coding style around readibility:
    
    * Developers spend more time reading code than writing it.
    * Newcomers have little (or no) context to draw upon when trying to understand the intent of the original author.
    * Code is easier to reason about when it is self-documenting.
    
    Change-Id: If7428195aa31104f194cb240faf5c6946d068e8d

commit b437adb7b96af5500406f0ea1b439aac39ae9c20
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Mar 21 16:34:50 2013 -0400

    chore: Remove unused module (superseded by bootstrap)
    
    Change-Id: I0f5617c85a69534a6d9c3c3b8307bd5790937df2

commit fa66bcd3f8155b8ea8b2da4383994881f2d39f65
Merge: 6b6fe59 a6e7a51
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 21 15:52:39 2013 +0000

    Merge "Bootstrap now dynamically imports storage and transport modules"

commit a6e7a517127ae5f6d3099a7719e903788071eca3
Author: Bryan Davidson <bryan.davidson@rackspace.com>
Date:   Tue Mar 19 15:41:49 2013 -0400

    Bootstrap now dynamically imports storage and transport modules
    
    When the Bootstrap is instantiated, it is passed a configuration
    file. The [drivers] section of the configuration file is read
    and the specified storage and transport modules are imported and
    instantiated.
    
    Implements: blueprint bootstrap-dynamic
    
    Change-Id: I47cd6f529afdbc93fca53f3298b4bfdbf717184c

commit 6b6fe59bc06614899f73026a1a25032f4c9e3b07
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Mar 20 17:02:20 2013 -0400

    style: Enable pep8 warnings/errors and fix ensuing chaos
    
    Change-Id: I8dc2ccc148357019d822bc7e747608abc713e9e0

commit 3aa02c10523c5bd4421908e691084ebedcad4669
Merge: ddd0944 5156b4e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 20 21:38:26 2013 +0000

    Merge "SQlite storage improved."

commit 5156b4ea67368d64edf0abdd9586052b49fa9b02
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Mar 19 11:16:25 2013 -0400

    SQlite storage improved.
    
     * faster insertion
     * i18n messages
     * list() returns iter
     * adapt to the storage-layer test framework
     * unicode handling
    
    Change-Id: I6b499ad9c05683c0352f217d4e01185027c8ccc7

commit ddd0944a0031aa32a248790631e1f3019375c43b
Merge: 58c646f 3aadde1
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 20 18:22:31 2013 +0000

    Merge "chore: Remove unused test"

commit 58c646fbfecc993d4b5ca3c53a247727c9769061
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Mar 14 12:03:42 2013 -0400

    feat(transport.wsgi): Create or update queue
    
    Still needs some error handling, but the happy path works.
    
    Change-Id: I9da6cd0c7a54693389e996a58c8b2f7664ac7b5e
    Trello: 116

commit 3aadde195b09a19103cf4e102643c1f4d70de4a2
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Mar 19 16:39:02 2013 -0400

    chore: Remove unused test
    
    Change-Id: I7cb0702053967331b373b678c9a6cf055888bf12

commit d7886683d24f0aa8e1aa761c6f20001f463556b3
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Mar 19 16:32:24 2013 -0400

    refactor: Rename AUTHORS so that it doesn't keep getting overwritten
    
    Change-Id: I070b3158d6a295565a693b58672fed943c301fd2

commit d7a97a5d6aae01db09699ffa98a8c5d8b159e10e
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Tue Mar 19 14:35:06 2013 -0400

    refactor: Rename TestSuite to TestBase
    
    Also updates bin/marconi-self-host to use Bootstrap, not Kernel.
    Also fixes rebase issues
    
    Change-Id: Ie68f6f9765bb4763fba031a709483301f98fa72c
    Trello: #102

commit 258c492ecac7e9841772c7fb3ef689e245f93e03
Merge: 37f31b6 c4c2fd0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 19 19:45:23 2013 +0000

    Merge "refactor: Rename Kernel class to make it less confusing."

commit c4c2fd0adb48373031a6f62720d35c25abae1fa6
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Mar 14 11:21:00 2013 -0400

    refactor: Rename Kernel class to make it less confusing.
    
    Change-Id: Ia91acb4c49272badd2b1bb32d211bfd769428d49
    Trello: #58

commit 37f31b6df834346b320b81de24ffe9ab266007d5
Merge: b8f510c cc0e3c4
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 19 19:14:59 2013 +0000

    Merge "refactor(tests.util): Remove prepare method support"

commit b8f510ccf79155fd6ad43c6f3037d0727f4b87c3
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Feb 28 18:19:08 2013 +0100

    QueueController for mongodb storage
    
    This patch introduces a queue controller for the mongodb storage
    backend.
    
    Implements blueprint storage-mongodb
    
    Change-Id: I473d0514b1948bedeae66c3b737d9e18e088c796

commit cd6a06a7dd83533c258a37b7d839295d5c8c4c55
Merge: fedb526 541d2b5
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 19 17:44:32 2013 +0000

    Merge "Move .set_cli and .load to the project() object."

commit cc0e3c4d7593c900e34ea2d54660d2150f3700c7
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Thu Mar 14 10:24:59 2013 -0400

    refactor(tests.util): Remove prepare method support
    
    Change-Id: Ie14c39cae07794e24396257fc878a0bb7cce1797
    Trello: #101 (https://trello.com/c/SI7PYnpl)

commit fedb5265dc912306d0f766d152a1833b0a556b0c
Merge: eae2e42 2b40336
Author: Jenkins <jenkins@review.openstack.org>
Date:   Tue Mar 19 04:01:14 2013 +0000

    Merge "Implementation of the reference storage."

commit 2b40336eebbe28d44029783df7f2f831f52cd2fe
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Thu Mar 14 14:50:45 2013 -0400

    Implementation of the reference storage.
    
    Implements: blueprint storage-reference
    
    Change-Id: I7b270208344e76a892e3bead764ba8b68fabca4d

commit eae2e4285fa818b292bab933e23fa1bbab7d8c74
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Mar 18 23:00:18 2013 +0100

    Add py26 to tox.ini
    
    Change-Id: I043b8ac5d9c331f92d03267b8d2ae65f6346f222

commit 541d2b57317a3d2952a5e41e21d3573aede03724
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Mar 18 16:21:07 2013 -0400

    Move .set_cli and .load to the project() object.
    
    The API changes from config.project().from_options().load() to
    config.project().load(); the intermediate project() object now
    serves as the config handle.  As a 'side-effect', config vars
    can be named 'set_cli' and 'load' now.
    
    Change-Id: Ic676f3cb3dabd03a67bc523e1de9a1e1d60a9431

commit 938d3dd73d9f771c6d5b5d830826ffd21c60d923
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Mon Mar 18 15:50:45 2013 -0400

    Metadata is not optional (to storage).
    
    Test cases are not affected.
    
    Change-Id: I8dd90839cb87fbccf57544f8068eece513a35bb2

commit a23643ec3c1e298d57003442e8aba96ca92badcc
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Mar 15 16:28:27 2013 +0100

    Replace create / update with upsert
    
    This patch replaces both methods with a single method upsert. The idea
    behind it, as discussed, is to have a single method for handling queue
    creation and update.
    
    The method is expected to return Ture when a queue was created and False
    when a queue was updated.
    
    Implements blueprint storage-base
    Fixes bug 1155657
    
    Change-Id: I367c5a29038acc89dbf60a3df9d8dcbf436037a7

commit 3ee717576da3bdd9e5450fc1ada01be5234e273c
Merge: 244791a fddb70e
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 15 20:37:14 2013 +0000

    Merge "Added tenant to the *ControllerBaseTest"

commit 244791aec0a17aa749ead6713752fcdf2ba1838d
Merge: 0c2ad8d cf07508
Author: Jenkins <jenkins@review.openstack.org>
Date:   Fri Mar 15 20:37:07 2013 +0000

    Merge "Implement some logic in abstract methods"

commit fddb70ec42c74a70e5de027a31c6e4e521819f98
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Mar 14 16:57:34 2013 +0100

    Added tenant to the *ControllerBaseTest
    
    Tenant was missing in base tests. This patch adds it to every test.
    
    Implements blueprint storage-base
    
    Change-Id: I71e677dc062f5798e75aaf19778956df6b0a89e0

commit 0c2ad8dba9320aec7328986c6d5a136bb5511150
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Fri Mar 15 09:58:42 2013 +0100

    Updated README file with Marconi's goal.
    
    Change-Id: Iad8d55ba1e23600b21ed3a4138c1aac07d16f0e6

commit cf075082181738d024eac9b9a126632910d57189
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Mar 14 14:13:00 2013 +0100

    Implement some logic in abstract methods
    
    Since there're some checks that will be common between implementations
    (MIN_TTL <= TTL <= MAX_TTL, for example), this patch adds a first set of
    logic and tests fro *Base classes
    
    Implements blueprint storage-base
    
    Change-Id: I9e543ef2e2624bd5483e6d2392d0a9aeff5b0416

commit e15d5a39b261ca49dd7e05a40afb6c101e8c8789
Merge: 39b6546 f4501f7
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 14 14:10:41 2013 +0000

    Merge "fix(nose): Comment out detailed-errors to workaround a testtools+nose bug"

commit 39b6546e3f8d8145b6e924e8b6aba6f91d9daef8
Merge: 5db6b97 8a0e4bb
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 14 13:59:46 2013 +0000

    Merge "Add gettext support"

commit 5db6b97f32ef516f6b063eb032c047b0e1b16679
Author: Bryan Davidson <bryan.davidson@rackspace.com>
Date:   Wed Mar 13 15:54:12 2013 -0400

    Changed Maintainer from OpenStack LLC to OpenStack Foundation
    
    Change-Id: If028a2af722a146ddd49d169f22b63bd7ec7842e

commit 8a0e4bbd78ad97a32b0036dbce52c7a744a38d8d
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Mar 14 14:28:55 2013 +0100

    Add gettext support
    
    The patch adds gettext support to marconi. With it, it is now possible
    to use `_` for defining i18n strings. (e.g: _("Super String"))
    
    Implements blueprint storage-base
    
    Change-Id: I96709bb4e0dbe5ec6c5497e7139366624a154272

commit f4501f7b1aa272d2aa6e2ccd6036220cf6f04bd9
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Tue Mar 12 16:46:55 2013 -0400

    fix(nose): Comment out detailed-errors to workaround a testtools+nose bug
    
    Setting "detailed-errors=1" in setup.cfg causes a bug in testtools to
    manifest.
    
    Trigger: self.assertX(condition), where condition == False.
    
    In "testtools/testresult/real.py" the traceback is set to
    None in _details_to_exc_info(), but the inspect_traceback()
    method in nose/inspector.py requires a traceback-like object.
    
    Change-Id: Ia95fd2176ea0ccc984623b53b3536f995c6db5bb

commit a3bfba07cdf5bf73606d1b754824c3b739a9c6cd
Author: kgriffs <kurt.griffiths@rackspace.com>
Date:   Wed Mar 13 17:09:02 2013 -0400

    fix(tox): Address warnings
    
    * Remove "bash" from command string in testenv:pep8 to stop it from
      complaining about referencing something outside the virtualenv.
    * Add missing pyflakes dependency
    
    Change-Id: I10ae6dba764b4e7d7fcb9aef3f8d84b30ba1c773

commit 488789adc906a02899066e1d5068c16e5e7247db
Merge: 64cfda6 38d72df
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 13 20:36:40 2013 +0000

    Merge "Decentralized configuration."

commit 38d72dffd06a44f41a13c4a9e501e5a97c38bff4
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Mar 5 18:16:42 2013 -0500

    Decentralized configuration.
    
    The configuration is based on oslo-config, while this module lets
    each module which want to be configured define the options it need
    by itself, and get the limited access to those config variables.
    
    Implements blueprint config-module
    
    Change-Id: Iffbb859da0cb5fb8434bc439320bf6c20f9d39b5

commit 64cfda6fa84b4acd2c2fd63f495ed54940f8ee05
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Mar 13 17:51:43 2013 +0100

    Use issublcass instead of isinstance
    
    StorageBaseTest should check for issubclass instead of isinstance since
    the driver / controller instances are not yet created at that time.
    
    Fixes bug 1154690
    
    Change-Id: I12a76305045cd7dfb8c98ece97e9e6c02e0b7622

commit 6864efb0cbeb89219016d5627a45abe1fe8e989a
Merge: 42e40d5 665ae50
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 13 13:05:55 2013 +0000

    Merge "Implements base classes  for storage controllers"

commit 665ae505990f944d4e8c35ecee251ccdec3a22ad
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Tue Mar 5 18:52:43 2013 +0100

    Implements base classes  for storage controllers
    
    This patch follows (or should follow) the specs written in the v1
    specification: https://wiki.openstack.org/wiki/Marconi/specs/api/v1
    
    This patch deletes driver_base.py and adds base.py in marconi/storage
    package.
    
    Note: Most of this implementations will be tested in further patches
    since there's no good way to test these base classes.
    
    Implements blueprint storage-base
    
    Change-Id: Iefa6374635fcf9dd9fc60417d8ed5c306bbc619a

commit 42e40d531c580e146a576396f65bc537ace47ed6
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Fri Mar 8 15:43:12 2013 -0500

    doc(transport.driver_base): Add docstrings
    
    Also, renamed driver_base to base.py to be consistent with storage.
    
    Change-Id: Iff59699a7c43341c2069823a8f39373c2d6b4760
    Implements: blueprint transport-base

commit 1778a07fb9d844a73bc6839757ee5f95ce23d896
Merge: a8ab767 420c1e0
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 7 17:28:52 2013 +0000

    Merge "Added hacking file"

commit 420c1e046c331dfafeee3f5af1c40282ca11ea30
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Thu Feb 28 17:43:48 2013 +0100

    Added hacking file
    
    As part of adding the hacking file, this patch adds some files taken
    from nova project that will help with the coding standards validation.
    
    Tox now uses run_pep8 for the pep8 test
    
    Change-Id: I0784390a0b13c9694e358563d43e5442592a785e

commit a8ab7675b563122f442097dd101dc12755ce2b17
Merge: c9a6762 2709f4c
Author: Jenkins <jenkins@review.openstack.org>
Date:   Thu Mar 7 16:07:32 2013 +0000

    Merge "Switch to oslo.config."

commit c9a6762ac78fd5fa2a7b798ff74da1ea0cae87e2
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Mar 5 15:59:52 2013 -0500

    Move marconi.common.Kernel to marconi.Kernel.
    
    marconi.common should contain commonly importable utilities.
    But Kernel depends on things outside marconi.common, which
    results in a recursive dependency if they import anything under
    marconi.common.
    
    Change-Id: Ibfeb5abe9fc21a8bcf170d1eddceac44e5abf844

commit 64a32611c6e23a0d5e893fd0fd11b88c58d60729
Merge: ef5d1f9 3793110
Author: Jenkins <jenkins@review.openstack.org>
Date:   Wed Mar 6 13:59:07 2013 +0000

    Merge "Ignore vim backup files."

commit 2709f4c2d3e9bf472a10839a5f9c6aff73c25b68
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Wed Mar 6 09:31:03 2013 +0100

    Switch to oslo.config.
    
    The oslo-config package has been renamed. Switch to the new
    version. (should fix SmokeStack).
    
    Change-Id: I2f4d2222aa9f3023f6d4de64f84f090231afd3f3

commit 3793110f1244a86310af110ea4953a74b5e333fb
Author: Zhihao Yuan <zhihao.yuan@rackspace.com>
Date:   Tue Mar 5 17:23:49 2013 -0500

    Ignore vim backup files.
    
    Change-Id: I639d8238ead3ef45a690317f63a935814d29bbe8

commit ef5d1f948091a49a0dc0da13f482ff8f550771f7
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Tue Mar 5 10:42:26 2013 -0500

    doc: Make file headings consistent, and update docstrings per the proposed HACKING guide
    
    Change-Id: I593bc9e6cff83307dca3d87f052872a7819d6a0b

commit 8e72773c65f5cabbf34b3ecb69048c4d6ceb42f6
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Tue Feb 26 17:12:26 2013 -0500

    feat(Kernel): Demonstrate wiring up endpoints
    
    Add just enough code to show how the kernel might use endpoint controllers
    as the uniform interface between transport and storage drivers.
    
    Change-Id: Id359986a4e45850266e64b06dae4544b52c8f93c
    Implements: blueprint endpoints

commit 0651435b8863805f2394e09ec65b581bea44f660
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Tue Feb 26 11:51:48 2013 -0500

    test: Add test suite utility class and sample conf
    
    Change-Id: Ic4f0cbcafc1c81d6a1e32d6300f33854febca2fe

commit 01ad3f1a8fe6c26766c96438e2f7e08a3e5a2b64
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Tue Feb 26 11:43:12 2013 -0500

    chore: Stub out how the kernel will be configured, and connect transports and storage
    
    Change-Id: Ib92e4f7914688a60f81e078de4da32f11067b80c
    Implements: blueprint endpoints

commit 96baf5cde35768453728d6719b05ef818186b8be
Author: Kurt Griffiths <kurt.griffiths@rackspace.com>
Date:   Tue Feb 26 11:35:00 2013 -0500

    chore: Setup directory structure
    
    Change-Id: Id5f24ac34cd370e2cacfe4f995b2c2e2658453be

commit 70895bdb0517ac80a6331311c5575418850f956f
Merge: 631c785 567abae
Author: Jenkins <jenkins@review.openstack.org>
Date:   Mon Feb 25 19:25:45 2013 +0000

    Merge "Added license to setup.py"

commit 567abaea5c472817c7ae2d2871b4e46ab691536a
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Feb 25 16:20:40 2013 +0100

    Added license to setup.py
    
    Change-Id: I43d66f7d35772ae8857fbc0bfdc475299884200e

commit 631c78597902bee5ac4f3d801ce34ad5b1b8997b
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Feb 25 14:33:04 2013 +0100

    Added oslo-config as dependency
    
    Change-Id: I9da963b28565afa79f8cd44fdb6acae710427036

commit 693582e1c4a17a4a0e9b908f6f5be1935ce87952
Author: Flaper Fesp <flaper87@gmail.com>
Date:   Mon Feb 25 15:47:39 2013 +0100

    Fixed setup, tox and requirements
    
    It is now up-to-date with the current test process, versions and
    configurations.
    
    Change-Id: I927e99b390a9e2224dfcb6bcde33cbe9d012c53f

commit 76d1107f31d5252c3ef1f63f3dbcde54d8517dbc
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Nov 1 12:05:09 2012 +0100

    Added files to gitignore.
    
    Change-Id: I7cc68e45e826d8c0633d3311f2399ba08fa56156

commit 6906fb0eeeb17239c688ac9b50f662723a2f4686
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Nov 1 09:53:08 2012 +0100

    Add README.
    
    Change-Id: I0978f7105369193a518a9d05c8bc5ad3b27d359e

commit e0600c2d0265131a6d1227673431a16c22cd84d5
Author: Monty Taylor <mordred@inaugust.com>
Date:   Thu Nov 1 04:43:02 2012 +0100

    Initial import.
    
    Change-Id: I00a644dabdd01eb1e09a42a8d326cacdaca76f9f