)]}'
{"id":"openstack%2Fpython-swiftclient~126515","triplet_id":"openstack%2Fpython-swiftclient~master~If90bec126867a4be2df34067ccefee660202f59f","project":"openstack/python-swiftclient","branch":"master","topic":"p-bug1379229-sysexit-race","hashtags":[],"change_id":"If90bec126867a4be2df34067ccefee660202f59f","subject":"Fix race between container create jobs during upload","status":"MERGED","created":"2014-10-07 10:32:03.000000000","updated":"2014-10-24 22:24:37.000000000","submitted":"2014-10-24 22:24:36.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"17966b1edd5e187a2c08383f9fda2df753f44d05","_number":126515,"virtual_id_number":126515,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":2,"date":"2014-10-24 22:24:36.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2014-10-20 08:03:50.000000000","_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"recommended":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"all":[{"value":1,"date":"2014-10-20 14:54:25.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2014-10-24 21:05:23.000000000","_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":2,"date":"2014-10-24 20:30:40.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"all":[{"value":0,"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":1,"date":"2014-10-24 21:05:23.000000000","_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-10-08 07:37:19.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"},{"updated":"2014-10-10 18:22:08.000000000","updated_by":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"reviewer":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"state":"REVIEWER"},{"updated":"2014-10-13 06:21:42.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"},{"updated":"2014-10-20 14:54:25.000000000","updated_by":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"reviewer":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"state":"REVIEWER"},{"updated":"2014-10-24 20:30:40.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2014-10-24 21:05:23.000000000","updated_by":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"reviewer":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"state":"REVIEWER"},{"updated":"2014-10-24 22:24:36.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"783d076c928d633b9ff1d10c9832a0d31a466c8b","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-07 10:32:03.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c3a70585ef7b3b33ce782e1953f350c03ec84e3e","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-07 10:39:10.000000000","message":"Patch Set 1:\n\n@Joel let me know if there is something slicker than using the interruptable_as_completed(create_containers) loop for a single job. Thx.","accounts_in_message":[],"_revision_number":1},{"id":"3de482c7fb84f89581cb0d26d6ed9d207d61ffef","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-07 11:44:43.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/15/126515/1/check/gate-python-swiftclient-pep8/10298c2 : SUCCESS in 38s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/15/126515/1/check/gate-python-swiftclient-docs/b97f1ff/doc/build/html/ : SUCCESS in 47s\n- gate-python-swiftclient-python26 http://logs.openstack.org/15/126515/1/check/gate-python-swiftclient-python26/3d45681 : SUCCESS in 54s\n- gate-python-swiftclient-python27 http://logs.openstack.org/15/126515/1/check/gate-python-swiftclient-python27/a4000db : SUCCESS in 56s\n- gate-python-swiftclient-python33 http://logs.openstack.org/15/126515/1/check/gate-python-swiftclient-python33/3c77177 : SUCCESS in 3m 10s\n- check-tempest-dsvm-full http://logs.openstack.org/15/126515/1/check/check-tempest-dsvm-full/469aa17 : SUCCESS in 49m 29s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/15/126515/1/check/check-tempest-dsvm-postgres-full/f59aa6c : SUCCESS in 57m 46s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/15/126515/1/check/check-tempest-dsvm-neutron-full/6b1cd7a : SUCCESS in 1h 11m 19s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/15/126515/1/check/check-tempest-dsvm-neutron-heat-slow/0ae5459 : SUCCESS in 29m 22s\n- check-grenade-dsvm http://logs.openstack.org/15/126515/1/check/check-grenade-dsvm/2c56a78 : SUCCESS in 47m 41s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/15/126515/1/check/gate-tempest-dsvm-large-ops/e8f4fb8 : SUCCESS in 18m 42s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/15/126515/1/check/gate-tempest-dsvm-neutron-large-ops/63d78f0 : SUCCESS in 24m 37s\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/15/126515/1/check/check-tempest-dsvm-full-icehouse/32cd9b0 : SUCCESS in 49m 29s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/15/126515/1/check/check-tempest-dsvm-neutron-icehouse/3b76a0f : SUCCESS in 55m 46s\n- gate-python-swiftclient-pypy http://logs.openstack.org/15/126515/1/check/gate-python-swiftclient-pypy/f15ad9c : SUCCESS in 1m 31s\n- check-swift-dsvm-functional http://logs.openstack.org/15/126515/1/check/check-swift-dsvm-functional/c27c87d : SUCCESS in 16m 31s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/15/126515/1/check/check-swiftclient-dsvm-functional/927b54e : FAILURE in 15m 57s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"aa6d6b0dc4ece97f91e74d97a2c8ad7a6c735c79","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2014-10-07 13:19:42.000000000","message":"Patch Set 1:\n\n@Alistair Rather than using interruptable_as_completed you could just collect the future and use:\n\n    f.result(timeout\u003dXXXX)\n\nThe problem with that approach is that interruptable_as_completed will keep attempting to get the results beyond the timeout, so you\u0027d also need to introduce retry logic for the single case. The timeout is only really there to allow the operations to be interrupted so that we can kill the client with ctrl-c.\n\nTo be honest, strange as it may be, I think that using interruptable_as_completed with a single element list is probably the cleanest option.","accounts_in_message":[],"_revision_number":1},{"id":"a1dd9bfa121d359c72556377b979a1c56e66ab92","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2014-10-07 13:21:28.000000000","message":"Patch Set 1: Code-Review+1\n\nThis patch looks good to me (sorry, meant to +1 the previous comment).","accounts_in_message":[],"_revision_number":1},{"id":"ca4e543e55e7fdc5ca2ebc4b913d14731749b057","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2014-10-08 07:37:19.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"62b10e9207cea8db7c6322ea36096046abc17c06","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-09 13:46:39.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"c00a8a98077f50a9a67cc4dd3762dd29206b16c1","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-09 13:48:57.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"6bfa7986633fc26bc99be583f684a1f27e009c64","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-09 14:56:56.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/15/126515/3/check/gate-python-swiftclient-pep8/4dd2519 : SUCCESS in 47s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/15/126515/3/check/gate-python-swiftclient-docs/6b03584/doc/build/html/ : SUCCESS in 53s\n- gate-python-swiftclient-python26 http://logs.openstack.org/15/126515/3/check/gate-python-swiftclient-python26/6ee0032 : SUCCESS in 56s\n- gate-python-swiftclient-python27 http://logs.openstack.org/15/126515/3/check/gate-python-swiftclient-python27/15dd11e : SUCCESS in 1m 27s\n- gate-python-swiftclient-python33 http://logs.openstack.org/15/126515/3/check/gate-python-swiftclient-python33/3723bbd : SUCCESS in 3m 00s\n- check-tempest-dsvm-full http://logs.openstack.org/15/126515/3/check/check-tempest-dsvm-full/403b0ab : SUCCESS in 52m 26s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/15/126515/3/check/check-tempest-dsvm-postgres-full/40353d8 : SUCCESS in 56m 49s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/15/126515/3/check/check-tempest-dsvm-neutron-full/5314b26 : SUCCESS in 54m 52s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/15/126515/3/check/check-tempest-dsvm-neutron-heat-slow/815baf9 : SUCCESS in 24m 54s\n- check-grenade-dsvm http://logs.openstack.org/15/126515/3/check/check-grenade-dsvm/37da12b : SUCCESS in 43m 25s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/15/126515/3/check/gate-tempest-dsvm-large-ops/630c059 : SUCCESS in 23m 54s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/15/126515/3/check/gate-tempest-dsvm-neutron-large-ops/8d4e7cc : SUCCESS in 18m 40s\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/15/126515/3/check/check-tempest-dsvm-full-icehouse/18ab417 : SUCCESS in 54m 24s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/15/126515/3/check/check-tempest-dsvm-neutron-icehouse/cfd41bc : SUCCESS in 56m 43s\n- gate-python-swiftclient-pypy http://logs.openstack.org/15/126515/3/check/gate-python-swiftclient-pypy/446cf67 : SUCCESS in 1m 30s\n- check-swift-dsvm-functional http://logs.openstack.org/15/126515/3/check/check-swift-dsvm-functional/1b25c49 : SUCCESS in 20m 03s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/15/126515/3/check/check-swiftclient-dsvm-functional/c2d1a34 : FAILURE in 17m 35s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"25c8eec729a1aa78e366fac4bb09fcf7b96100f4","author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"date":"2014-10-10 18:22:08.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"3cb6a2d0fe80c322f7695466b3ee5a2a63b035e2","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2014-10-13 06:21:42.000000000","message":"Patch Set 3: Code-Review-1\n\n(2 comments)\n\nLooks good, but unless I\u0027ve missed something, now that there is an implicit wait for object container to be made, the existing (old) wait for containers only needs to run when segment_size has been defined. Otherwise with the current state of code, we wait twice (sure the second is probably a noop). (see in line comment).","accounts_in_message":[],"_revision_number":3},{"id":"72c95c018c3290a4a5ea8ff1ebef557e21018be8","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-13 09:20:22.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"e1ba3a824a93bd097dc520e150203f811297e3cc","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-13 09:21:26.000000000","message":"Patch Set 3:\n\n(2 comments)\n\nThanks for comments, I\u0027ve made the seconf wait conditional as Matt suggests, which also guarantees the list gets reset.\n\nAlso, for belt and braces, modified unit test to verify the first PUT is only called once.","accounts_in_message":[],"_revision_number":3},{"id":"bbcf1f950fa7288ee1e30034814cc80c304d1846","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-13 10:38:43.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/15/126515/4/check/gate-python-swiftclient-pep8/b07abb5 : SUCCESS in 42s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/15/126515/4/check/gate-python-swiftclient-docs/0294924/doc/build/html/ : SUCCESS in 40s\n- gate-python-swiftclient-python26 http://logs.openstack.org/15/126515/4/check/gate-python-swiftclient-python26/d41d285 : SUCCESS in 42s\n- gate-python-swiftclient-python27 http://logs.openstack.org/15/126515/4/check/gate-python-swiftclient-python27/23f1996 : SUCCESS in 34s\n- gate-python-swiftclient-python33 http://logs.openstack.org/15/126515/4/check/gate-python-swiftclient-python33/03d5430 : SUCCESS in 3m 10s\n- check-tempest-dsvm-full http://logs.openstack.org/15/126515/4/check/check-tempest-dsvm-full/b675dca : SUCCESS in 49m 27s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/15/126515/4/check/check-tempest-dsvm-postgres-full/519fb27 : SUCCESS in 55m 06s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/15/126515/4/check/check-tempest-dsvm-neutron-full/966edff : SUCCESS in 1h 12m 12s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/15/126515/4/check/check-tempest-dsvm-neutron-heat-slow/2d1efea : SUCCESS in 18m 45s\n- check-grenade-dsvm http://logs.openstack.org/15/126515/4/check/check-grenade-dsvm/c2c50ae : SUCCESS in 42m 17s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/15/126515/4/check/gate-tempest-dsvm-large-ops/accd0df : SUCCESS in 17m 55s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/15/126515/4/check/gate-tempest-dsvm-neutron-large-ops/56e4c04 : SUCCESS in 22m 11s\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/15/126515/4/check/check-tempest-dsvm-full-icehouse/12edca1 : SUCCESS in 55m 02s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/15/126515/4/check/check-tempest-dsvm-neutron-icehouse/dce2d9d : SUCCESS in 55m 56s\n- gate-python-swiftclient-pypy http://logs.openstack.org/15/126515/4/check/gate-python-swiftclient-pypy/cad378c : SUCCESS in 1m 18s\n- check-swift-dsvm-functional http://logs.openstack.org/15/126515/4/check/check-swift-dsvm-functional/58691e3 : SUCCESS in 17m 53s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/15/126515/4/check/check-swiftclient-dsvm-functional/23f4b6e : FAILURE in 14m 40s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"7bf4041d144e200e7d152edbd845cae28e7d1d69","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2014-10-15 13:42:12.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"31705af4f98c86e5f0579f50b820c87c096060b9","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-20 07:52:03.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"3218cdf012b0d6f86cdb0d71e9a44c07c05de7d4","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-20 08:00:10.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"d605ce80f1c0f456259e5521ab1e7e02f9e58e98","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2014-10-20 08:03:50.000000000","message":"Patch Set 6:\n\nfixed merge conflict: no change from patch set 4","accounts_in_message":[],"_revision_number":6},{"id":"ce46c607ada399c525b9772edd391b062d777f32","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-20 09:06:13.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/15/126515/6/check/gate-python-swiftclient-pep8/93405f2 : SUCCESS in 30s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/15/126515/6/check/gate-python-swiftclient-docs/6c23960/doc/build/html/ : SUCCESS in 27s\n- gate-python-swiftclient-python26 http://logs.openstack.org/15/126515/6/check/gate-python-swiftclient-python26/833d4f9 : SUCCESS in 46s\n- gate-python-swiftclient-python27 http://logs.openstack.org/15/126515/6/check/gate-python-swiftclient-python27/47f8d6c : SUCCESS in 47s\n- gate-python-swiftclient-python33 http://logs.openstack.org/15/126515/6/check/gate-python-swiftclient-python33/c62d907 : SUCCESS in 2m 58s\n- check-tempest-dsvm-full http://logs.openstack.org/15/126515/6/check/check-tempest-dsvm-full/7f658c3 : SUCCESS in 52m 37s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/15/126515/6/check/check-tempest-dsvm-postgres-full/f71b7af : SUCCESS in 55m 21s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/15/126515/6/check/check-tempest-dsvm-neutron-full/01b394f : SUCCESS in 52m 55s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/15/126515/6/check/check-tempest-dsvm-neutron-heat-slow/bf8921e : SUCCESS in 18m 13s\n- check-grenade-dsvm http://logs.openstack.org/15/126515/6/check/check-grenade-dsvm/8332ab1 : SUCCESS in 47m 10s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/15/126515/6/check/gate-tempest-dsvm-large-ops/f791c38 : SUCCESS in 19m 58s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/15/126515/6/check/gate-tempest-dsvm-neutron-large-ops/4955868 : SUCCESS in 16m 58s\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/15/126515/6/check/check-tempest-dsvm-full-icehouse/4951e28 : SUCCESS in 51m 30s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/15/126515/6/check/check-tempest-dsvm-neutron-icehouse/e1c7e8c : SUCCESS in 57m 59s\n- gate-python-swiftclient-pypy http://logs.openstack.org/15/126515/6/check/gate-python-swiftclient-pypy/fab4899 : SUCCESS in 1m 29s\n- check-swift-dsvm-functional http://logs.openstack.org/15/126515/6/check/check-swift-dsvm-functional/351ced3 : SUCCESS in 22m 23s\n- check-swiftclient-dsvm-functional http://logs.openstack.org/15/126515/6/check/check-swiftclient-dsvm-functional/ff3d35b : FAILURE in 13m 45s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"dfb8da08114503121112cc532550280dea4aadb2","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2014-10-20 14:54:25.000000000","message":"Patch Set 6: Code-Review+1","accounts_in_message":[],"_revision_number":6},{"id":"b0b5a80342f138e13a51fcb342201063c7cd961c","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2014-10-24 20:30:40.000000000","message":"Patch Set 6: Code-Review+2","accounts_in_message":[],"_revision_number":6},{"id":"021eb3651043124982f0554a0dc688bad2fad178","author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"date":"2014-10-24 21:05:23.000000000","message":"Patch Set 6: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":6},{"id":"c0ed5a8fac99d1db9550f837ff29cbd299df3725","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-24 21:05:24.000000000","message":"Patch Set 6: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":6},{"id":"9e81b23c17e41e2c96b1ae593ad95ed5387758de","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-24 22:24:36.000000000","message":"Patch Set 6: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/15/126515/6/gate/gate-python-swiftclient-docs/f600c90/doc/build/html/ : SUCCESS in 27s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/15/126515/6/gate/gate-python-swiftclient-pep8/3b8144d : SUCCESS in 25s\n- gate-python-swiftclient-python27 http://logs.openstack.org/15/126515/6/gate/gate-python-swiftclient-python27/39b8511 : SUCCESS in 33s\n- gate-python-swiftclient-python33 http://logs.openstack.org/15/126515/6/gate/gate-python-swiftclient-python33/3fd7ff4 : SUCCESS in 2m 44s\n- gate-tempest-dsvm-full http://logs.openstack.org/15/126515/6/gate/gate-tempest-dsvm-full/8c94224 : SUCCESS in 49m 02s\n- gate-tempest-dsvm-postgres-full http://logs.openstack.org/15/126515/6/gate/gate-tempest-dsvm-postgres-full/9f6fab5 : SUCCESS in 45m 06s\n- gate-tempest-dsvm-neutron-full http://logs.openstack.org/15/126515/6/gate/gate-tempest-dsvm-neutron-full/b2898cd : SUCCESS in 54m 21s\n- gate-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/15/126515/6/gate/gate-tempest-dsvm-neutron-heat-slow/66847fd : SUCCESS in 19m 15s\n- gate-grenade-dsvm http://logs.openstack.org/15/126515/6/gate/gate-grenade-dsvm/f8dfb13 : SUCCESS in 40m 21s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/15/126515/6/gate/gate-tempest-dsvm-large-ops/b75cd11 : SUCCESS in 18m 18s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/15/126515/6/gate/gate-tempest-dsvm-neutron-large-ops/ef3cbd9 : SUCCESS in 20m 26s\n- gate-python-swiftclient-pypy http://logs.openstack.org/15/126515/6/gate/gate-python-swiftclient-pypy/b54cd63 : SUCCESS in 1m 02s\n- gate-python-swiftclient-python26 http://logs.openstack.org/15/126515/6/gate/gate-python-swiftclient-python26/559a6cd : SUCCESS in 37s\n- gate-swift-dsvm-functional http://logs.openstack.org/15/126515/6/gate/gate-swift-dsvm-functional/f148154 : SUCCESS in 16m 35s","accounts_in_message":[],"_revision_number":6},{"id":"f0f311d3695e295a929b5791515c76874b8e8635","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-10-24 22:24:37.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"589d34ecda7ebec3726ad4181306d3ec9e69bf9d","revisions":{"5103fbd59aa1fa2fa1a74263364df385a6243f23":{"kind":"REWORK","_number":1,"created":"2014-10-07 10:32:03.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/126515/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/15/126515/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/1"}}},"commit":{"parents":[{"commit":"bb4d2ab59c4de9389667eeed255642f51e276f1e","subject":"Merge \"Remove a debugging print statement\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/bb4d2ab59c4de9389667eeed255642f51e276f1e"}]}],"author":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"subject":"Fix race between container create jobs during upload","message":"Fix race between container create jobs during upload\n\nDuring a segmented object upload, attempts are made\nto create the container for the manifest and the\nsegment container. These jobs are currently placed\non separate threads and can occur out of order which\ncauses the unit test failure seen in the bug report.\n\nThe container jobs should be ordered because the\nsegment container job attempts to HEAD the manifest\ncontainer to determine correct storage policy.\n\nThis patch enforces ordering of the two jobs and\nmodifies the unit test to assert that both container\nPUTs occur in the expected order.\n\nChange-Id: If90bec126867a4be2df34067ccefee660202f59f\nCloses-Bug: #1376878\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/5103fbd59aa1fa2fa1a74263364df385a6243f23"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/5103fbd59aa1fa2fa1a74263364df385a6243f23"}]},"branch":"refs/heads/master"},"f6e4569085568081c574c05c6614599c7b334f0c":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2014-10-09 13:46:39.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/126515/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/15/126515/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/2"}}},"commit":{"parents":[{"commit":"764449fdcfe58a786e8a4c7be42b6e7ada5b0421","subject":"Fix race in shell when testing for errors to raise SysExit","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/764449fdcfe58a786e8a4c7be42b6e7ada5b0421"}]}],"author":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-09 12:41:59.000000000","tz":60},"subject":"Fix race between container create jobs during upload","message":"Fix race between container create jobs during upload\n\nDuring a segmented object upload, attempts are made\nto create the container for the manifest and the\nsegment container. These jobs are currently placed\non separate threads and can occur out of order which\ncauses the unit test failure seen in the bug report.\n\nThe container jobs should be ordered because the\nsegment container job attempts to HEAD the manifest\ncontainer to determine correct storage policy.\n\nThis patch enforces ordering of the two jobs and\nmodifies the unit test to assert that both container\nPUTs occur in the expected order.\n\nChange-Id: If90bec126867a4be2df34067ccefee660202f59f\nCloses-Bug: #1376878\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/f6e4569085568081c574c05c6614599c7b334f0c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/f6e4569085568081c574c05c6614599c7b334f0c"}]},"branch":"refs/heads/master"},"9f857e3967009c99010fd997cfe127a78eed6867":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2014-10-09 13:48:57.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/126515/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/15/126515/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/3"}}},"commit":{"parents":[{"commit":"83ca0b825d067c0a39c972fb0f58ce9ac34df9d2","subject":"Merge \"Use skipTest from testtools instead of inherited Exception\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/83ca0b825d067c0a39c972fb0f58ce9ac34df9d2"}]}],"author":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-09 13:48:44.000000000","tz":60},"subject":"Fix race between container create jobs during upload","message":"Fix race between container create jobs during upload\n\nDuring a segmented object upload, attempts are made\nto create the container for the manifest and the\nsegment container. These jobs are currently placed\non separate threads and can occur out of order which\ncauses the unit test failure seen in the bug report.\n\nThe container jobs should be ordered because the\nsegment container job attempts to HEAD the manifest\ncontainer to determine correct storage policy.\n\nThis patch enforces ordering of the two jobs and\nmodifies the unit test to assert that both container\nPUTs occur in the expected order.\n\nChange-Id: If90bec126867a4be2df34067ccefee660202f59f\nCloses-Bug: #1376878\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/9f857e3967009c99010fd997cfe127a78eed6867"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/9f857e3967009c99010fd997cfe127a78eed6867"}]},"branch":"refs/heads/master"},"19aa9d9f560ae3d08ea82e585c0efb81ddb2936b":{"kind":"REWORK","_number":4,"created":"2014-10-13 09:20:22.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/126515/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/15/126515/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/4"}}},"commit":{"parents":[{"commit":"83ca0b825d067c0a39c972fb0f58ce9ac34df9d2","subject":"Merge \"Use skipTest from testtools instead of inherited Exception\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/83ca0b825d067c0a39c972fb0f58ce9ac34df9d2"}]}],"author":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-13 09:19:46.000000000","tz":60},"subject":"Fix race between container create jobs during upload","message":"Fix race between container create jobs during upload\n\nDuring a segmented object upload, attempts are made\nto create the container for the manifest and the\nsegment container. These jobs are currently placed\non separate threads and can occur out of order which\ncauses the unit test failure seen in the bug report.\n\nThe container jobs should be ordered because the\nsegment container job attempts to HEAD the manifest\ncontainer to determine correct storage policy.\n\nThis patch enforces ordering of the two jobs and\nmodifies the unit test to assert that both container\nPUTs occur in the expected order.\n\nChange-Id: If90bec126867a4be2df34067ccefee660202f59f\nCloses-Bug: #1376878\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/19aa9d9f560ae3d08ea82e585c0efb81ddb2936b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/19aa9d9f560ae3d08ea82e585c0efb81ddb2936b"}]},"branch":"refs/heads/master"},"1df3eacebe1043c3e6034f59e92e7c391c16ea43":{"kind":"REWORK","_number":5,"created":"2014-10-20 07:52:03.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/126515/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/15/126515/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/5"}}},"commit":{"parents":[{"commit":"bbe3378ebbdfd5b5aeae979965fa2ac9e165afb4","subject":"Merge \"Fix the info command with --insecure\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/bbe3378ebbdfd5b5aeae979965fa2ac9e165afb4"}]}],"author":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-20 07:45:23.000000000","tz":60},"subject":"Fix race between container create jobs during upload","message":"Fix race between container create jobs during upload\n\nDuring a segmented object upload, attempts are made\nto create the container for the manifest and the\nsegment container. These jobs are currently placed\non separate threads and can occur out of order which\ncauses the unit test failure seen in the bug report.\n\nThe container jobs should be ordered because the\nsegment container job attempts to HEAD the manifest\ncontainer to determine correct storage policy.\n\nThis patch enforces ordering of the two jobs and\nmodifies the unit test to assert that both container\nPUTs occur in the expected order.\n\nChange-Id: If90bec126867a4be2df34067ccefee660202f59f\nCloses-Bug: #1376878\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/1df3eacebe1043c3e6034f59e92e7c391c16ea43"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/1df3eacebe1043c3e6034f59e92e7c391c16ea43"}]},"branch":"refs/heads/master"},"589d34ecda7ebec3726ad4181306d3ec9e69bf9d":{"kind":"REWORK","_number":6,"created":"2014-10-20 08:00:10.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/15/126515/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/15/126515/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/15/126515/6"}}},"commit":{"parents":[{"commit":"bbe3378ebbdfd5b5aeae979965fa2ac9e165afb4","subject":"Merge \"Fix the info command with --insecure\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/bbe3378ebbdfd5b5aeae979965fa2ac9e165afb4"}]}],"author":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-07 10:25:24.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2014-10-20 07:57:37.000000000","tz":60},"subject":"Fix race between container create jobs during upload","message":"Fix race between container create jobs during upload\n\nDuring a segmented object upload, attempts are made\nto create the container for the manifest and the\nsegment container. These jobs are currently placed\non separate threads and can occur out of order which\ncauses the unit test failure seen in the bug report.\n\nThe container jobs should be ordered because the\nsegment container job attempts to HEAD the manifest\ncontainer to determine correct storage policy.\n\nThis patch enforces ordering of the two jobs and\nmodifies the unit test to assert that both container\nPUTs occur in the expected order.\n\nChange-Id: If90bec126867a4be2df34067ccefee660202f59f\nCloses-Bug: #1376878\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/589d34ecda7ebec3726ad4181306d3ec9e69bf9d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/589d34ecda7ebec3726ad4181306d3ec9e69bf9d"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
