)]}'
{"id":"openstack%2Fswift~659162","triplet_id":"openstack%2Fswift~master~Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443","project":"openstack/swift","branch":"master","topic":"async-delete","hashtags":[],"change_id":"Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443","subject":"Add operator tool to async-delete some or all objects in a container","status":"MERGED","created":"2019-05-14 20:59:35.000000000","updated":"2019-05-23 09:25:48.000000000","submitted":"2019-05-23 09:25:47.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":55,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"659162-1558603548437-554131b4","meta_rev_id":"0e09498b1f53040ae4b864bd51117028a7f6f412","_number":659162,"virtual_id_number":659162,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":2,"date":"2019-05-23 09:25:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"date":"2019-05-22 22:23:59.000000000","_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},{"value":2,"date":"2019-05-22 21:23:31.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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},{"value":1,"date":"2019-05-22 21:23:31.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-05-20 12:01:34.000000000","updated_by":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"reviewer":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"state":"REVIEWER"},{"updated":"2019-05-22 21:23:31.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":"2019-05-23 09:25:47.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"e460efaa5e360ed95728850385363e231c0d3df8","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-14 20:59:35.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"297e2c5320209880baa7d361541d8cf62326a474","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-14 21:27:26.000000000","message":"Patch Set 1: Workflow-1\n\n(8 comments)","accounts_in_message":[],"_revision_number":1},{"id":"5b7d45e6567d3672ae8eea734efad6928b4ce44c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-14 21:49:26.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/1/check/test-release-openstack/f15294b/ : SUCCESS in 2m 24s\n- openstack-tox-docs http://logs.openstack.org/62/659162/1/check/openstack-tox-docs/7ecab53/html/ : SUCCESS in 3m 42s\n- swift-build-image http://logs.openstack.org/62/659162/1/check/swift-build-image/a595dfe/ : POST_FAILURE in 7m 03s\n- swift-tox-py27 http://logs.openstack.org/62/659162/1/check/swift-tox-py27/2015716/ : SUCCESS in 15m 49s\n- swift-tox-py36 http://logs.openstack.org/62/659162/1/check/swift-tox-py36/1600235/ : SUCCESS in 11m 05s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/1/check/swift-tox-py37/277f8ed/ : SUCCESS in 17m 46s\n- swift-tox-func http://logs.openstack.org/62/659162/1/check/swift-tox-func/35bfd25/ : SUCCESS in 16m 12s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/1/check/swift-tox-func-encryption/bbf0ee7/ : SUCCESS in 20m 26s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/1/check/swift-tox-func-domain-remap-staticweb/9c15d4a/ : SUCCESS in 32m 41s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/1/check/swift-tox-func-ec/3b36251/ : SUCCESS in 16m 58s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/1/check/swift-tox-func-s3api/bd058d5/ : TIMED_OUT in 41m 03s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/1/check/swift-tox-func-s3api-ceph-s3tests-tempauth/211f106/ : SUCCESS in 17m 36s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/1/check/swift-probetests-centos-7/a15280c/ : SUCCESS in 33m 43s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/1/check/swift-dsvm-functional/c721baa/ : SUCCESS in 25m 49s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/1/check/swift-dsvm-functional-ipv6/7c74466/ : SUCCESS in 33m 45s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/1/check/swift-tox-lower-constraints/3edd02a/ : FAILURE in 22m 59s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/1/check/openstack-tox-pep8/666ef1b/ : SUCCESS in 6m 36s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/1/check/swift-multinode-rolling-upgrade/399fb13/ : FAILURE in 8m 27s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"06ebc89d8abc5edfe8eac9026c0e271c8d6bd7f1","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-14 23:49:01.000000000","message":"Patch Set 1:\n\n(5 comments)","accounts_in_message":[],"_revision_number":1},{"id":"f325ca10e537096535c44119acd489eeea00621e","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-14 23:49:07.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"c87cc9ab8aae1cec481f5e85add3380f79bb2de7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-15 00:31:10.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/2/check/test-release-openstack/6047b41/ : SUCCESS in 2m 35s\n- openstack-tox-docs http://logs.openstack.org/62/659162/2/check/openstack-tox-docs/123e212/html/ : SUCCESS in 4m 01s\n- swift-build-image http://logs.openstack.org/62/659162/2/check/swift-build-image/1ad01cc/ : POST_FAILURE in 8m 08s\n- swift-tox-py27 http://logs.openstack.org/62/659162/2/check/swift-tox-py27/0708e88/ : FAILURE in 11m 56s\n- swift-tox-py36 http://logs.openstack.org/62/659162/2/check/swift-tox-py36/d5fdca6/ : FAILURE in 11m 49s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/2/check/swift-tox-py37/2ff137d/ : FAILURE in 11m 14s\n- swift-tox-func http://logs.openstack.org/62/659162/2/check/swift-tox-func/b40e54b/ : FAILURE in 14m 09s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/2/check/swift-tox-func-encryption/b4409b7/ : FAILURE in 14m 23s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/2/check/swift-tox-func-domain-remap-staticweb/02380f2/ : FAILURE in 13m 31s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/2/check/swift-tox-func-ec/b4fb31c/ : FAILURE in 15m 56s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/2/check/swift-tox-func-s3api/80d90d8/ : FAILURE in 16m 30s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/2/check/swift-tox-func-s3api-ceph-s3tests-tempauth/fffe492/ : SUCCESS in 11m 34s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/2/check/swift-probetests-centos-7/1feea69/ : FAILURE in 32m 16s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/2/check/swift-dsvm-functional/728eb9d/ : FAILURE in 22m 02s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/2/check/swift-dsvm-functional-ipv6/4ff7b58/ : FAILURE in 21m 53s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/2/check/swift-tox-lower-constraints/68a6e4c/ : FAILURE in 13m 53s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/2/check/openstack-tox-pep8/4f4a01e/ : FAILURE in 4m 33s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/2/check/swift-multinode-rolling-upgrade/f0129da/ : FAILURE in 7m 42s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"dd20c6711b57a3bbf2c8ec1e80224095de39ffc2","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-15 01:45:13.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"a8c5853796d5b42df91efba8dcec6bb1564f33bb","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-15 02:41:35.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/3/check/test-release-openstack/5658eba/ : SUCCESS in 2m 34s\n- openstack-tox-docs http://logs.openstack.org/62/659162/3/check/openstack-tox-docs/e0f8c08/html/ : SUCCESS in 3m 27s\n- swift-build-image http://logs.openstack.org/62/659162/3/check/swift-build-image/0bef52d/ : POST_FAILURE in 8m 30s\n- swift-tox-py27 http://logs.openstack.org/62/659162/3/check/swift-tox-py27/fb7f63b/ : SUCCESS in 18m 14s\n- swift-tox-py36 http://logs.openstack.org/62/659162/3/check/swift-tox-py36/7f0599d/ : SUCCESS in 11m 56s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/3/check/swift-tox-py37/1227058/ : SUCCESS in 9m 23s\n- swift-tox-func http://logs.openstack.org/62/659162/3/check/swift-tox-func/4303ee3/ : SUCCESS in 15m 57s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/3/check/swift-tox-func-encryption/43093ab/ : SUCCESS in 16m 16s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/3/check/swift-tox-func-domain-remap-staticweb/7e61d48/ : SUCCESS in 26m 38s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/3/check/swift-tox-func-ec/e710ec1/ : SUCCESS in 10m 43s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/3/check/swift-tox-func-s3api/a072ee1/ : SUCCESS in 11m 42s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/3/check/swift-tox-func-s3api-ceph-s3tests-tempauth/b68e91d/ : SUCCESS in 13m 59s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/3/check/swift-probetests-centos-7/9cf06b2/ : FAILURE in 32m 43s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/3/check/swift-dsvm-functional/08f97b0/ : SUCCESS in 26m 09s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/3/check/swift-dsvm-functional-ipv6/2055441/ : SUCCESS in 21m 19s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/3/check/swift-tox-lower-constraints/34c9c23/ : SUCCESS in 12m 13s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/3/check/openstack-tox-pep8/617bc18/ : SUCCESS in 4m 55s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/3/check/swift-multinode-rolling-upgrade/1102e34/ : FAILURE in 9m 09s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"5981d46ff668b43fdf0393051b87f741094e5739","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-16 04:51:39.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"3e6051f1d49dba6fc638f1b622adb877685a1259","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-16 05:27:39.000000000","message":"Patch Set 3:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/3/check/test-release-openstack/0cbc16a/ : SUCCESS in 2m 04s\n- openstack-tox-docs http://logs.openstack.org/62/659162/3/check/openstack-tox-docs/40302d6/html/ : SUCCESS in 4m 02s\n- swift-build-image http://logs.openstack.org/62/659162/3/check/swift-build-image/104d765/ : POST_FAILURE in 7m 55s\n- swift-tox-py27 http://logs.openstack.org/62/659162/3/check/swift-tox-py27/28beda8/ : SUCCESS in 17m 55s\n- swift-tox-py36 http://logs.openstack.org/62/659162/3/check/swift-tox-py36/edcb6ef/ : FAILURE in 23m 40s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/3/check/swift-tox-py37/e4aae72/ : SUCCESS in 10m 06s\n- swift-tox-func http://logs.openstack.org/62/659162/3/check/swift-tox-func/9d11c26/ : SUCCESS in 9m 40s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/3/check/swift-tox-func-encryption/3508df8/ : SUCCESS in 10m 00s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/3/check/swift-tox-func-domain-remap-staticweb/de7a2c0/ : SUCCESS in 8m 39s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/3/check/swift-tox-func-ec/cac6f2f/ : SUCCESS in 8m 30s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/3/check/swift-tox-func-s3api/45bd350/ : SUCCESS in 10m 43s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/3/check/swift-tox-func-s3api-ceph-s3tests-tempauth/8f9efbc/ : SUCCESS in 13m 38s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/3/check/swift-probetests-centos-7/b3630ce/ : SUCCESS in 29m 51s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/3/check/swift-dsvm-functional/4eb4e59/ : SUCCESS in 24m 47s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/3/check/swift-dsvm-functional-ipv6/81c0bab/ : SUCCESS in 25m 53s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/3/check/swift-tox-lower-constraints/4a1a63c/ : SUCCESS in 12m 42s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/3/check/openstack-tox-pep8/715530e/ : SUCCESS in 5m 04s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/3/check/swift-multinode-rolling-upgrade/fb474e2/ : FAILURE in 7m 50s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"5dc925fe9540cca47e1cd5b7d9663842063a3389","author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"date":"2019-05-17 13:07:06.000000000","message":"Patch Set 3:\n\n(3 comments)\n\nI see how this is useful internally for an operator.\nI have tried it and have not seen any issue. \n\nMaybe we will want to optionally expose the feature to cluster users? But that would be another patch","accounts_in_message":[],"_revision_number":3},{"id":"6597aab4173564b3a723cbfc0096871994d046a7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-17 16:27:49.000000000","message":"Patch Set 3:\n\n(4 comments)\n\nrecheck\n\nThanks for looking at this Alex! I really appreciate OVH\u0027s perspective on this in particular.\n\n\u003e Maybe we will want to optionally expose the feature to cluster users? But that would be another patch\n\nYeah, I definitely like the idea of exposing it as a client API, but there are some open design questions about what that should look like:\n\n- If there\u0027s a failure part-way through several pages of deletes, how should we report that to the user? How should the user retry?\n- Presumably we should dribble out whitespace to keep the client from timing out, but as https://bugs.launchpad.net/swift/+bug/1819252 demonstrated, that can be tricky to get right.\n\nAnd then there\u0027s the eventual-consistency question:\n\n- Each page of the listing comes from just one replica of the container DB; what should/can we do when that replica is out of date?\n\nGood next steps include things like\n\n- Hook this in as an optional mode for the existing bulk-delete middleware (with the caveat that you can\u0027t try to delete a container).\n- Replicate this operator interface as a client-facing API.\n- Add a (hopefully client-facing) reap-container API that would have it start responding 410 Gone until all objects are deleted. Have a background daemon look for new rows and queue up delete jobs for the data it finds. (Maybe this could hook into the replicator?)\n\nIn the meantime, I wanted to get this out there so we could try to get the primitives right. The expirer\u0027s delete-anything changes seem fairly straight-forward, but UPDATE is a little scary. I *think* I got things about right for working with .expiring_objects containers, but I\u0027m a little nervous about edge cases involving storage policies in the general case.","accounts_in_message":[],"_revision_number":3},{"id":"eb178b298eeee296420e03b8b077717c61861c86","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-19 05:57:05.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"644374c09402122352d23bb308fea48221e87100","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-19 06:43:25.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/4/check/test-release-openstack/1b28ad7/ : SUCCESS in 2m 15s\n- openstack-tox-docs http://logs.openstack.org/62/659162/4/check/openstack-tox-docs/c8e3898/html/ : SUCCESS in 3m 36s\n- swift-build-image http://logs.openstack.org/62/659162/4/check/swift-build-image/5933bd4/ : SUCCESS in 7m 06s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/62/659162/4/check/swift-tox-py27/30673f4/ : FAILURE in 24m 38s\n- swift-tox-py36 http://logs.openstack.org/62/659162/4/check/swift-tox-py36/7908f62/ : SUCCESS in 14m 14s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/4/check/swift-tox-py37/10d3e2e/ : SUCCESS in 17m 00s\n- swift-tox-func http://logs.openstack.org/62/659162/4/check/swift-tox-func/d680f4a/ : SUCCESS in 15m 00s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/4/check/swift-tox-func-encryption/b0ffbf2/ : SUCCESS in 10m 27s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/4/check/swift-tox-func-domain-remap-staticweb/d1ca582/ : SUCCESS in 15m 34s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/4/check/swift-tox-func-ec/c4b4bb8/ : SUCCESS in 15m 55s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/4/check/swift-tox-func-s3api/0121db7/ : SUCCESS in 14m 19s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/4/check/swift-tox-func-s3api-ceph-s3tests-tempauth/44eb8c2/ : SUCCESS in 11m 59s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/4/check/swift-probetests-centos-7/d06f523/ : SUCCESS in 34m 47s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/4/check/swift-dsvm-functional/01a15b2/ : SUCCESS in 26m 22s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/4/check/swift-dsvm-functional-ipv6/00c3949/ : SUCCESS in 38m 41s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/4/check/swift-tox-lower-constraints/8910563/ : FAILURE in 11m 30s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/4/check/openstack-tox-pep8/5c849f6/ : SUCCESS in 4m 21s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/4/check/swift-multinode-rolling-upgrade/8e32f91/ : FAILURE in 11m 46s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"5c1d62fd4ad1da79d315ce5bee2535cfd5e2ce55","author":{"_account_id":25251,"name":"Alexandre Lécuyer","email":"alexandre.lecuyer@corp.ovh.com","username":"alecuyer"},"date":"2019-05-20 12:01:34.000000000","message":"Patch Set 4:\n\n(2 comments)\n\nI don\u0027t have a good solution for the \"fail half-way through millions of objects\". As you mentionned, going through all objects again is not good.\nYou could use markers but that\u0027s up to the user, what if he just restarts with the prefix and that keeps failing?\n\nWould that be easier with the general task queue? Make a single call to say \"remove \u003ccontainer\u003e (\u003cprefix\u003e)\", reply immediately that a task has been created for it, and let the cluster process this with more smarts for retries. (ignoring objects that may have been created with a timestamp \u003e task_timestamp?) \nI don\u0027t know if there is anything in the design of the general task queue to report on state beyond todo/done or storing state.","accounts_in_message":[],"_revision_number":4},{"id":"5c24a60f1fb4344088399b726c4a703a2aa82efb","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-20 17:04:09.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"a5340f7af6e16ec749f55320105a4f566f26476a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-20 17:05:53.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"5865e4a35b23d0468c61cf8e791c5b93b21b5a20","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-20 17:19:51.000000000","message":"Patch Set 5:\n\nOh, yeah! The general task queue is a *great* idea for this! I absolutely see how this could work:\n\n* client request comes, we enqueue a (\"remove\", account, container, timestamp, marker, end_marker, prefix) tuple\n* worker sees a job, enqueues deletes until it finishes the listing or hits an error\n* if we complete, pop the job off the queue\n* if it hits an error, enqueue a *new* (\"remove\", account, container, timestamp, update_marker, end_marker, prefix) tuple; if and only if the new job is successfully enqueued, pop the old job off the queue.\n\nAll of which is to say, with regard to\n\n\u003e I don\u0027t know if there is anything in the design of the general task queue to report on state beyond todo/done or storing state.\n\nI think it comes down to the design of *your work queue*, and how resumable that is.","accounts_in_message":[],"_revision_number":5},{"id":"d367e1cb6a08adab3b50266a3f5d512955358269","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-05-20 18:42:41.000000000","message":"Patch Set 5: Code-Review+1\n\n(7 comments)\n\nok, I think I can see everything going on here - might need some more tests - I\u0027ll play with it some more today or tomorrow.","accounts_in_message":[],"_revision_number":5},{"id":"94f1537cdf4eca55b0be63a25358f0f87d5e9ca7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-20 19:07:11.000000000","message":"Patch Set 5:\n\n(5 comments)\n\n\u003e might need some more tests\n\nDefinitely. The lack of anything under test/unit/cli/ is a blocker.","accounts_in_message":[],"_revision_number":5},{"id":"e66fba4008cdbee5bbb30bcd2d3d9fe8167e4ec1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-20 21:22:27.000000000","message":"Patch Set 5: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/5/check/test-release-openstack/38b1fa1/ : SUCCESS in 2m 12s\n- openstack-tox-docs http://logs.openstack.org/62/659162/5/check/openstack-tox-docs/fc11b36/html/ : SUCCESS in 4m 50s\n- swift-build-image http://logs.openstack.org/62/659162/5/check/swift-build-image/8f05562/ : SUCCESS in 8m 21s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/62/659162/5/check/swift-tox-py27/b0a02c5/ : SUCCESS in 11m 33s\n- swift-tox-py36 http://logs.openstack.org/62/659162/5/check/swift-tox-py36/4c7d598/ : SUCCESS in 11m 20s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/5/check/swift-tox-py37/a1e44ac/ : SUCCESS in 9m 57s\n- swift-tox-func http://logs.openstack.org/62/659162/5/check/swift-tox-func/00242d3/ : SUCCESS in 12m 47s\n- swift-tox-func-py37 http://logs.openstack.org/62/659162/5/check/swift-tox-func-py37/5e57733/ : SUCCESS in 7m 31s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/5/check/swift-tox-func-encryption/38ad7e5/ : SUCCESS in 12m 39s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/5/check/swift-tox-func-domain-remap-staticweb/21d943a/ : SUCCESS in 14m 29s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/5/check/swift-tox-func-ec/29e2a3e/ : SUCCESS in 10m 01s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/5/check/swift-tox-func-s3api/407909c/ : SUCCESS in 12m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/5/check/swift-tox-func-s3api-ceph-s3tests-tempauth/de3ac83/ : SUCCESS in 14m 06s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/5/check/swift-probetests-centos-7/e7dfa96/ : SUCCESS in 32m 05s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/5/check/swift-dsvm-functional/d76cdc3/ : SUCCESS in 25m 08s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/5/check/swift-dsvm-functional-ipv6/f08feae/ : SUCCESS in 26m 33s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/5/check/swift-tox-lower-constraints/be62844/ : SUCCESS in 24m 57s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/5/check/openstack-tox-pep8/6795a73/ : FAILURE in 5m 57s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/5/check/swift-multinode-rolling-upgrade/5a3d026/ : FAILURE in 8m 30s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"dfa6b8a7511e30fe388fd46f9a02daac4fdb8c1d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-21 20:21:36.000000000","message":"Patch Set 5:\n\n(3 comments)","accounts_in_message":[],"_revision_number":5},{"id":"87d80ba6a9cde8ab3252aed8978de25068a1b35c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-21 20:21:46.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"b083991ccd7fb9f8fba24f0e4b267b957a6a5b78","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-21 23:18:12.000000000","message":"Patch Set 6: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- test-release-openstack http://logs.openstack.org/62/659162/6/check/test-release-openstack/5b4ca78/ : SUCCESS in 2m 32s\n- openstack-tox-docs http://logs.openstack.org/62/659162/6/check/openstack-tox-docs/1035847/html/ : SUCCESS in 3m 59s\n- swift-build-image http://logs.openstack.org/62/659162/6/check/swift-build-image/35dbc31/ : SUCCESS in 9m 52s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/62/659162/6/check/swift-tox-py27/3d9364a/ : SUCCESS in 12m 36s\n- swift-tox-py36 http://logs.openstack.org/62/659162/6/check/swift-tox-py36/649e34a/ : SUCCESS in 35m 32s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/6/check/swift-tox-py37/895d32c/ : FAILURE in 17m 07s\n- swift-tox-func http://logs.openstack.org/62/659162/6/check/swift-tox-func/0ab1359/ : SUCCESS in 13m 30s\n- swift-tox-func-py37 http://logs.openstack.org/62/659162/6/check/swift-tox-func-py37/727a42f/ : SUCCESS in 6m 57s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/6/check/swift-tox-func-encryption/533a3da/ : SUCCESS in 9m 49s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/6/check/swift-tox-func-domain-remap-staticweb/b6ce09a/ : SUCCESS in 8m 11s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/6/check/swift-tox-func-ec/261c0bc/ : SUCCESS in 10m 55s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/6/check/swift-tox-func-s3api/1b747f9/ : SUCCESS in 9m 53s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/6/check/swift-tox-func-s3api-ceph-s3tests-tempauth/7d80362/ : SUCCESS in 12m 06s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/6/check/swift-probetests-centos-7/0111e29/ : SUCCESS in 32m 41s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/6/check/swift-dsvm-functional/3c0b1e8/ : SUCCESS in 26m 40s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/6/check/swift-dsvm-functional-ipv6/eb8a170/ : SUCCESS in 33m 30s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/6/check/swift-tox-lower-constraints/c6adea5/ : SUCCESS in 11m 51s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/6/check/openstack-tox-pep8/6087ddb/ : SUCCESS in 5m 41s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/6/check/swift-multinode-rolling-upgrade/0777540/ : FAILURE in 9m 22s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"2ff736f38d276fcd86ad2c3503ba14f982dd7366","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-22 04:29:08.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"66d460e9df06acc2f806af80956b4a3e4fed83c1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-22 05:03:29.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack http://logs.openstack.org/62/659162/6/check/test-release-openstack/f2f07bc/ : SUCCESS in 2m 19s\n- openstack-tox-docs http://logs.openstack.org/62/659162/6/check/openstack-tox-docs/a1357dc/html/ : SUCCESS in 3m 43s\n- swift-build-image http://logs.openstack.org/62/659162/6/check/swift-build-image/f517791/ : SUCCESS in 8m 14s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/62/659162/6/check/swift-tox-py27/31c7f97/ : SUCCESS in 9m 39s\n- swift-tox-py36 http://logs.openstack.org/62/659162/6/check/swift-tox-py36/b76df6e/ : SUCCESS in 9m 43s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/6/check/swift-tox-py37/ed6eb5a/ : SUCCESS in 9m 24s\n- swift-tox-func http://logs.openstack.org/62/659162/6/check/swift-tox-func/a7b2793/ : SUCCESS in 7m 57s\n- swift-tox-func-py37 http://logs.openstack.org/62/659162/6/check/swift-tox-func-py37/e5db08d/ : SUCCESS in 6m 42s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/6/check/swift-tox-func-encryption/4b641f9/ : SUCCESS in 9m 30s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/6/check/swift-tox-func-domain-remap-staticweb/1ce9d7e/ : SUCCESS in 7m 48s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/6/check/swift-tox-func-ec/8bb3c91/ : SUCCESS in 9m 02s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/6/check/swift-tox-func-s3api/dfc13c4/ : SUCCESS in 9m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/6/check/swift-tox-func-s3api-ceph-s3tests-tempauth/d537bb8/ : SUCCESS in 11m 01s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/6/check/swift-probetests-centos-7/e967621/ : SUCCESS in 28m 58s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/6/check/swift-dsvm-functional/5fb1630/ : SUCCESS in 27m 34s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/6/check/swift-dsvm-functional-ipv6/e1f786d/ : SUCCESS in 24m 22s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/6/check/swift-tox-lower-constraints/11f3dea/ : SUCCESS in 11m 53s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/6/check/openstack-tox-pep8/7d0cc61/ : SUCCESS in 5m 03s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/6/check/swift-multinode-rolling-upgrade/14a78bb/ : FAILURE in 7m 49s (non-voting)","accounts_in_message":[],"_revision_number":6},{"id":"03ddc77d2353cc73552bebc39aa53bdbdb251629","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-22 20:23:00.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"87bf07abc8ee1ca104138e7c9db7c72e05deb71a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-05-22 20:26:53.000000000","message":"Patch Set 6:\n\n(5 comments)\n\nMy review is still WIP, but I guess I get comments out (I think they all still apply) and keep going on patchset 7","accounts_in_message":[],"_revision_number":6},{"id":"f03f8f3b9ed2533ed6eeaeeac44e458fa02a4c3f","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-05-22 21:23:31.000000000","message":"Patch Set 7: Code-Review+2 Workflow+1\n\n(6 comments)\n\nLooks good to me!\n\nI\u0027d like some feedback about changing that interface for allowed-methods in a follow up?","accounts_in_message":[],"_revision_number":7},{"id":"a5c32db96b241f43e97cf1e43fcced8da55f9a5a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-22 22:23:59.000000000","message":"Patch Set 7:\n\n(5 comments)","accounts_in_message":[],"_revision_number":7},{"id":"5ff60fe5ffa4e2d5ee6c16aab65f05ed3469b6ba","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-23 06:14:00.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack http://logs.openstack.org/62/659162/7/check/test-release-openstack/57cc855/ : SUCCESS in 2m 35s\n- openstack-tox-docs http://logs.openstack.org/62/659162/7/check/openstack-tox-docs/853c7f3/html/ : SUCCESS in 4m 00s\n- swift-build-image http://logs.openstack.org/62/659162/7/check/swift-build-image/ba5d007/ : SUCCESS in 8m 04s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/62/659162/7/check/swift-tox-py27/f2389ec/ : SUCCESS in 10m 37s\n- swift-tox-py36 http://logs.openstack.org/62/659162/7/check/swift-tox-py36/806f558/ : SUCCESS in 12m 34s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/62/659162/7/check/swift-tox-py37/c9778f6/ : SUCCESS in 14m 30s\n- swift-tox-func http://logs.openstack.org/62/659162/7/check/swift-tox-func/29e0ace/ : SUCCESS in 10m 09s\n- swift-tox-func-py37 http://logs.openstack.org/62/659162/7/check/swift-tox-func-py37/28c1f3f/ : SUCCESS in 7m 39s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/7/check/swift-tox-func-encryption/b47dd4f/ : SUCCESS in 9m 18s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/7/check/swift-tox-func-domain-remap-staticweb/3bec768/ : SUCCESS in 8m 14s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/7/check/swift-tox-func-ec/646260f/ : SUCCESS in 9m 44s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/7/check/swift-tox-func-s3api/0df5bbb/ : SUCCESS in 13m 51s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/62/659162/7/check/swift-tox-func-s3api-ceph-s3tests-tempauth/0155d51/ : SUCCESS in 12m 42s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/7/check/swift-probetests-centos-7/c80e664/ : SUCCESS in 33m 04s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/7/check/swift-dsvm-functional/9ddac49/ : SUCCESS in 27m 33s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/7/check/swift-dsvm-functional-ipv6/c31b86e/ : SUCCESS in 39m 23s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/7/check/swift-tox-lower-constraints/dd541db/ : SUCCESS in 14m 40s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/7/check/openstack-tox-pep8/cd13bda/ : SUCCESS in 5m 39s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/62/659162/7/check/swift-multinode-rolling-upgrade/7b3c7d4/ : FAILURE in 8m 20s (non-voting)","accounts_in_message":[],"_revision_number":7},{"id":"bf4eb2832109189fe7b6809d561586cf1b306746","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-23 06:14:28.000000000","message":"Patch Set 7: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":7},{"id":"f550beb41dcca39fc0d462b2c0082d294c013a60","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-23 09:25:47.000000000","message":"Patch Set 7: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- test-release-openstack http://logs.openstack.org/62/659162/7/gate/test-release-openstack/303e0f6/ : SUCCESS in 2m 51s\n- openstack-tox-docs http://logs.openstack.org/62/659162/7/gate/openstack-tox-docs/8a66315/html/ : SUCCESS in 4m 17s\n- swift-upload-image http://logs.openstack.org/62/659162/7/gate/swift-upload-image/3669f11/ : SUCCESS in 10m 00s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/62/659162/7/gate/swift-tox-py27/56a80f2/ : SUCCESS in 11m 28s\n- swift-tox-py37 http://logs.openstack.org/62/659162/7/gate/swift-tox-py37/4c262d7/ : SUCCESS in 10m 04s\n- swift-tox-func http://logs.openstack.org/62/659162/7/gate/swift-tox-func/72be4ac/ : SUCCESS in 10m 29s\n- swift-tox-func-py37 http://logs.openstack.org/62/659162/7/gate/swift-tox-func-py37/0ff22dd/ : SUCCESS in 14m 48s\n- swift-tox-func-encryption http://logs.openstack.org/62/659162/7/gate/swift-tox-func-encryption/22de42c/ : SUCCESS in 18m 55s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/62/659162/7/gate/swift-tox-func-domain-remap-staticweb/b205df9/ : SUCCESS in 19m 22s\n- swift-tox-func-ec http://logs.openstack.org/62/659162/7/gate/swift-tox-func-ec/3a72569/ : SUCCESS in 20m 08s\n- swift-tox-func-s3api http://logs.openstack.org/62/659162/7/gate/swift-tox-func-s3api/fea20f7/ : SUCCESS in 25m 12s\n- swift-probetests-centos-7 http://logs.openstack.org/62/659162/7/gate/swift-probetests-centos-7/db8d2de/ : SUCCESS in 34m 41s\n- swift-dsvm-functional http://logs.openstack.org/62/659162/7/gate/swift-dsvm-functional/697c02e/ : SUCCESS in 27m 58s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/62/659162/7/gate/swift-dsvm-functional-ipv6/1bd5541/ : SUCCESS in 35m 38s\n- swift-tox-lower-constraints http://logs.openstack.org/62/659162/7/gate/swift-tox-lower-constraints/8850843/ : SUCCESS in 32m 44s\n- openstack-tox-pep8 http://logs.openstack.org/62/659162/7/gate/openstack-tox-pep8/9e83138/ : SUCCESS in 5m 24s","accounts_in_message":[],"_revision_number":7},{"id":"12686e949f71bff32baaf505497fdb6cfb0bd89e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-23 09:25:48.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"83d01619910c34f2e3fafeda20bc4f7e7e8f482f","revisions":{"0ff4fe3d248627b987f589584608139365944dce":{"kind":"REWORK","_number":1,"created":"2019-05-14 20:59:35.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/1"}}},"commit":{"parents":[{"commit":"51e415b749cc85757805053931679c1cd61730f3","subject":"py3: port proxy/test_mem_server.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51e415b749cc85757805053931679c1cd61730f3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-14 20:59:15.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all objects in a container","message":"Add operator tool to async-delete some or all objects in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, spins up and internal client, makes listing\nrequests against the container, and pushes the found objects into the\nobject-expirer queue with a special application/bulk-deleted\ncontent-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ff4fe3d248627b987f589584608139365944dce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ff4fe3d248627b987f589584608139365944dce"}]},"branch":"refs/heads/master"},"4343c2215d73e5697c4ace966162713ba23eb599":{"kind":"REWORK","_number":2,"created":"2019-05-14 23:49:07.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/2"}}},"commit":{"parents":[{"commit":"51e415b749cc85757805053931679c1cd61730f3","subject":"py3: port proxy/test_mem_server.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51e415b749cc85757805053931679c1cd61730f3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-14 23:48:39.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all objects in a container","message":"Add operator tool to async-delete some or all objects in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, spins up and internal client, makes listing\nrequests against the container, and pushes the found objects into the\nobject-expirer queue with a special application/bulk-deleted\ncontent-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4343c2215d73e5697c4ace966162713ba23eb599"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4343c2215d73e5697c4ace966162713ba23eb599"}]},"branch":"refs/heads/master"},"aaa0e60541ff0b42097d8b2922ac666df61cb21f":{"kind":"REWORK","_number":3,"created":"2019-05-15 01:45:13.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/3"}}},"commit":{"parents":[{"commit":"51e415b749cc85757805053931679c1cd61730f3","subject":"py3: port proxy/test_mem_server.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51e415b749cc85757805053931679c1cd61730f3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-15 01:45:10.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all objects in a container","message":"Add operator tool to async-delete some or all objects in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, spins up and internal client, makes listing\nrequests against the container, and pushes the found objects into the\nobject-expirer queue with a special application/bulk-deleted\ncontent-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aaa0e60541ff0b42097d8b2922ac666df61cb21f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aaa0e60541ff0b42097d8b2922ac666df61cb21f"}]},"branch":"refs/heads/master"},"0ead11bd38012a47608eddbeec5e73c4831af764":{"kind":"REWORK","_number":4,"created":"2019-05-19 05:57:05.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/4"}}},"commit":{"parents":[{"commit":"51e415b749cc85757805053931679c1cd61730f3","subject":"py3: port proxy/test_mem_server.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51e415b749cc85757805053931679c1cd61730f3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-19 05:54:03.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all object in a container","message":"Add operator tool to async-delete some or all object in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, marker, and/or end-marker; spins up an internal\nclient; makes listing requests against the container; and pushes the\nfound objects into the object-expirer queue with a special\napplication/async-deleted content-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ead11bd38012a47608eddbeec5e73c4831af764"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ead11bd38012a47608eddbeec5e73c4831af764"}]},"branch":"refs/heads/master"},"84b63da021dfb8c719e1c4616ea0aa426844cba4":{"kind":"REWORK","_number":5,"created":"2019-05-20 17:04:09.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/5"}}},"commit":{"parents":[{"commit":"51e415b749cc85757805053931679c1cd61730f3","subject":"py3: port proxy/test_mem_server.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/51e415b749cc85757805053931679c1cd61730f3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-20 17:04:02.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all objects in a container","message":"Add operator tool to async-delete some or all objects in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, marker, and/or end-marker; spins up an internal\nclient; makes listing requests against the container; and pushes the\nfound objects into the object-expirer queue with a special\napplication/async-deleted content-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/84b63da021dfb8c719e1c4616ea0aa426844cba4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/84b63da021dfb8c719e1c4616ea0aa426844cba4"}]},"branch":"refs/heads/master"},"2da6313f83b1b98e039844046bf8b3ff4c28c465":{"kind":"REWORK","_number":6,"created":"2019-05-21 20:21:46.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/6"}}},"commit":{"parents":[{"commit":"aa4bc848c13f9acd3cf77428ffd80c46fa701d8b","subject":"Merge \"Add py37 func test job\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aa4bc848c13f9acd3cf77428ffd80c46fa701d8b"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-21 20:21:20.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all objects in a container","message":"Add operator tool to async-delete some or all objects in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, marker, and/or end-marker; spins up an internal\nclient; makes listing requests against the container; and pushes the\nfound objects into the object-expirer queue with a special\napplication/async-deleted content-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2da6313f83b1b98e039844046bf8b3ff4c28c465"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2da6313f83b1b98e039844046bf8b3ff4c28c465"}]},"branch":"refs/heads/master"},"83d01619910c34f2e3fafeda20bc4f7e7e8f482f":{"kind":"REWORK","_number":7,"created":"2019-05-22 20:23:00.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/62/659162/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/659162/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/659162/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/659162/7"}}},"commit":{"parents":[{"commit":"b4c8cf192a39004645e2608d4cfc0ac5dcf3b516","subject":"Merge \"Fix quarantine when object path is not a directory\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b4c8cf192a39004645e2608d4cfc0ac5dcf3b516"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-03-27 22:28:50.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-22 20:22:50.000000000","tz":-420},"subject":"Add operator tool to async-delete some or all objects in a container","message":"Add operator tool to async-delete some or all objects in a container\n\nAdds a tool, swift-container-deleter, that takes an account/container\nand optional prefix, marker, and/or end-marker; spins up an internal\nclient; makes listing requests against the container; and pushes the\nfound objects into the object-expirer queue with a special\napplication/async-deleted content-type.\n\nIn order to do this enqueuing efficiently, a new internal-to-the-cluster\ncontainer method is introduced: UPDATE. It takes a JSON list of object\nentries and runs them through merge_items.\n\nThe object-expirer is updated to look for work items with this\ncontent-type and skip the X-If-Deleted-At check that it would normally\ndo.\n\nNote that the target-container\u0027s listing will continue to show the\nobjects until data is actually deleted, bypassing some of the concerns\nraised in the related change about clearing out a container entirely and\nthen deleting it.\n\nChange-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443\nRelated-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/83d01619910c34f2e3fafeda20bc4f7e7e8f482f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/83d01619910c34f2e3fafeda20bc4f7e7e8f482f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
