)]}'
{"id":"openstack%2Fswift~633094","triplet_id":"openstack%2Fswift~master~I179ea6180d31146bb947061c69b1807c59529ac8","project":"openstack/swift","branch":"master","topic":"bug/1840322","hashtags":[],"change_id":"I179ea6180d31146bb947061c69b1807c59529ac8","subject":"Allow \"static symlinks\"","status":"MERGED","created":"2019-01-25 01:14:54.000000000","updated":"2019-08-20 06:21:49.000000000","submitted":"2019-08-20 06:20:15.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":217,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"633094-1566282015921-de1e3c07","meta_rev_id":"58bdfb2faab972170542b2fe96db7a203e63a468","_number":633094,"virtual_id_number":633094,"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":2,"date":"2019-08-20 06:20:15.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"value":0,"date":"2019-08-19 16:08:27.000000000","_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2019-08-16 22:21:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":2,"date":"2019-08-19 13:26:00.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}],"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":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"all":[{"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"},{"value":1,"date":"2019-08-19 16:07:25.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}],"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":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-08-15 07:14:28.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":"2019-08-19 16:07:25.000000000","updated_by":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"reviewer":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"state":"REVIEWER"},{"updated":"2019-08-19 16:08:27.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-08-20 06:20:15.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":"173fcf1e53612f2e6954d529ce83d6da28194f1c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-01-25 01:14:54.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ede8f50202e512e10376ba1418b2b61607a93476","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-01-25 01:52:46.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- openstack-tox-docs http://logs.openstack.org/94/633094/1/check/openstack-tox-docs/0af2391/html/ : SUCCESS in 4m 37s\n- swift-tox-py27 http://logs.openstack.org/94/633094/1/check/swift-tox-py27/9cafa27/ : FAILURE in 10m 25s\n- swift-tox-py35 http://logs.openstack.org/94/633094/1/check/swift-tox-py35/f9596f3/ : SUCCESS in 10m 01s\n- swift-tox-py36 http://logs.openstack.org/94/633094/1/check/swift-tox-py36/effb10c/ : SUCCESS in 6m 01s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/1/check/swift-tox-func/27520bd/ : SUCCESS in 36m 24s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/1/check/swift-tox-func-encryption/b45ca40/ : SUCCESS in 8m 41s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/1/check/swift-tox-func-domain-remap-staticweb/5ce0b03/ : SUCCESS in 8m 39s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/1/check/swift-tox-func-ec/ca3fae8/ : SUCCESS in 9m 12s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/1/check/swift-tox-func-s3api/036efe0/ : SUCCESS in 10m 16s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/1/check/swift-tox-func-s3api-ceph-s3tests-tempauth/5a8cde3/ : SUCCESS in 12m 21s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/1/check/swift-probetests-centos-7/c878a45/ : FAILURE in 23m 53s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/1/check/swift-dsvm-functional/bdb3fd8/ : SUCCESS in 24m 46s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/1/check/swift-dsvm-functional-ipv6/e39c9c8/ : SUCCESS in 22m 08s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/1/check/swift-tox-lower-constraints/e802036/ : FAILURE in 10m 38s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/1/check/openstack-tox-pep8/e32a164/ : SUCCESS in 4m 55s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/1/check/swift-multinode-rolling-upgrade/1f827a7/ : SUCCESS in 17m 21s","accounts_in_message":[],"_revision_number":1},{"id":"86316c4df495c8effda2205bd608b060583bc97a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-01-25 21:25:43.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e5d00e737cc117bd2b417eccbb4f2d2d8c740b55","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-01-25 22:06:55.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- openstack-tox-docs http://logs.openstack.org/94/633094/2/check/openstack-tox-docs/e8db2d2/html/ : SUCCESS in 4m 47s\n- swift-tox-py27 http://logs.openstack.org/94/633094/2/check/swift-tox-py27/3c98c78/ : SUCCESS in 10m 44s\n- swift-tox-py35 http://logs.openstack.org/94/633094/2/check/swift-tox-py35/037d70d/ : SUCCESS in 6m 36s\n- swift-tox-py36 http://logs.openstack.org/94/633094/2/check/swift-tox-py36/e4e1adc/ : SUCCESS in 7m 02s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/2/check/swift-tox-func/ddcf6cf/ : SUCCESS in 9m 30s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/2/check/swift-tox-func-encryption/0fa6d78/ : SUCCESS in 10m 24s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/2/check/swift-tox-func-domain-remap-staticweb/b407091/ : SUCCESS in 12m 58s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/2/check/swift-tox-func-ec/ad9d5ac/ : SUCCESS in 9m 43s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/2/check/swift-tox-func-s3api/e4eb2b8/ : SUCCESS in 11m 23s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/2/check/swift-tox-func-s3api-ceph-s3tests-tempauth/13250eb/ : SUCCESS in 13m 16s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/2/check/swift-probetests-centos-7/05cc9fa/ : FAILURE in 34m 05s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/2/check/swift-dsvm-functional/5496021/ : SUCCESS in 31m 25s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/2/check/swift-dsvm-functional-ipv6/854cac8/ : SUCCESS in 30m 15s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/2/check/swift-tox-lower-constraints/0d9f16f/ : SUCCESS in 15m 39s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/2/check/openstack-tox-pep8/9ee1a8e/ : SUCCESS in 6m 10s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/2/check/swift-multinode-rolling-upgrade/3d53df4/ : SUCCESS in 16m 51s","accounts_in_message":[],"_revision_number":2},{"id":"235cbca8bd7af53cb784ca1c59ba40e8430c99ce","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-01-25 23:02:32.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"f557c992826f3d4c6dd709f2e45c5d3f5ccf5703","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-01-26 00:26:32.000000000","message":"Patch Set 2:\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- openstack-tox-docs http://logs.openstack.org/94/633094/2/check/openstack-tox-docs/6bb22bc/html/ : SUCCESS in 5m 47s\n- swift-tox-py27 http://logs.openstack.org/94/633094/2/check/swift-tox-py27/ebaf206/ : SUCCESS in 10m 12s\n- swift-tox-py35 http://logs.openstack.org/94/633094/2/check/swift-tox-py35/c68c20a/ : SUCCESS in 8m 19s\n- swift-tox-py36 http://logs.openstack.org/94/633094/2/check/swift-tox-py36/533ce14/ : SUCCESS in 6m 10s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/2/check/swift-tox-func/61b3b3e/ : SUCCESS in 9m 40s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/2/check/swift-tox-func-encryption/a1aa372/ : SUCCESS in 9m 07s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/2/check/swift-tox-func-domain-remap-staticweb/805013b/ : SUCCESS in 10m 11s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/2/check/swift-tox-func-ec/d635fb2/ : SUCCESS in 8m 38s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/2/check/swift-tox-func-s3api/5f1ce14/ : SUCCESS in 11m 00s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/2/check/swift-tox-func-s3api-ceph-s3tests-tempauth/9bff7ff/ : SUCCESS in 14m 12s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/2/check/swift-probetests-centos-7/cfa8bec/ : SUCCESS in 34m 07s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/2/check/swift-dsvm-functional/bd67963/ : SUCCESS in 27m 54s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/2/check/swift-dsvm-functional-ipv6/94a1bc3/ : SUCCESS in 33m 16s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/2/check/swift-tox-lower-constraints/5833ca0/ : SUCCESS in 10m 54s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/2/check/openstack-tox-pep8/9be64c1/ : SUCCESS in 7m 06s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/2/check/swift-multinode-rolling-upgrade/38c887d/ : FAILURE in 14m 15s","accounts_in_message":[],"_revision_number":2},{"id":"897b1cd6fb0445dd41e181f340e56dcdd3044f59","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-01-26 00:47:20.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"bc7f78c61da31f5806498e2cd26e20c30a73260b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-01-26 01:30:04.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/2/check/openstack-tox-docs/5eeac96/html/ : SUCCESS in 5m 15s\n- swift-tox-py27 http://logs.openstack.org/94/633094/2/check/swift-tox-py27/77fa060/ : SUCCESS in 12m 00s\n- swift-tox-py35 http://logs.openstack.org/94/633094/2/check/swift-tox-py35/da8bc4d/ : SUCCESS in 7m 10s\n- swift-tox-py36 http://logs.openstack.org/94/633094/2/check/swift-tox-py36/65421c7/ : SUCCESS in 8m 57s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/2/check/swift-tox-func/ce1d988/ : SUCCESS in 10m 24s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/2/check/swift-tox-func-encryption/097dd09/ : SUCCESS in 10m 40s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/2/check/swift-tox-func-domain-remap-staticweb/ec9bb1c/ : SUCCESS in 9m 43s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/2/check/swift-tox-func-ec/598cf3b/ : SUCCESS in 11m 10s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/2/check/swift-tox-func-s3api/3ba9164/ : SUCCESS in 11m 54s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/2/check/swift-tox-func-s3api-ceph-s3tests-tempauth/5ef698d/ : SUCCESS in 12m 47s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/2/check/swift-probetests-centos-7/6c2715a/ : SUCCESS in 29m 50s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/2/check/swift-dsvm-functional/11435dc/ : SUCCESS in 25m 34s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/2/check/swift-dsvm-functional-ipv6/66cd528/ : SUCCESS in 29m 06s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/2/check/swift-tox-lower-constraints/2edf7c9/ : SUCCESS in 11m 55s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/2/check/openstack-tox-pep8/f265185/ : SUCCESS in 5m 57s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/2/check/swift-multinode-rolling-upgrade/34ee30e/ : SUCCESS in 18m 44s","accounts_in_message":[],"_revision_number":2},{"id":"ecd5490b63a6e33fbd3dc07a33022817ccd027f2","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-01-30 14:58:32.000000000","message":"Patch Set 2: Code-Review+1\n\n(5 comments)\n\nThe etag in the listing feature is HAWT.  I\u0027d like to understand this better outside of the versioned_writes context.","accounts_in_message":[],"_revision_number":2},{"id":"a7634f04925d6bda00d74f6826cc33a2454e8a8f","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-01-30 19:21:46.000000000","message":"Patch Set 2:\n\n(7 comments)","accounts_in_message":[],"_revision_number":2},{"id":"96f46127d2b2c759a476e7d108056bc39c93b06f","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-01-31 23:48:56.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"faaabd51712b72c749eb76513134c3061405c01b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-02-01 00:32:03.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/3/check/openstack-tox-docs/0cd847d/html/ : SUCCESS in 4m 56s\n- swift-tox-py27 http://logs.openstack.org/94/633094/3/check/swift-tox-py27/8233576/ : SUCCESS in 13m 00s\n- swift-tox-py35 http://logs.openstack.org/94/633094/3/check/swift-tox-py35/3f9197a/ : SUCCESS in 6m 44s\n- swift-tox-py36 http://logs.openstack.org/94/633094/3/check/swift-tox-py36/d52ba1d/ : SUCCESS in 5m 25s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/3/check/swift-tox-func/333a4cc/ : SUCCESS in 9m 42s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/3/check/swift-tox-func-encryption/67f2093/ : SUCCESS in 8m 40s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/3/check/swift-tox-func-domain-remap-staticweb/74eed5d/ : SUCCESS in 10m 19s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/3/check/swift-tox-func-ec/60cf0fb/ : SUCCESS in 10m 10s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/3/check/swift-tox-func-s3api/93913b9/ : SUCCESS in 9m 15s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/3/check/swift-tox-func-s3api-ceph-s3tests-tempauth/3d86cf1/ : SUCCESS in 13m 17s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/3/check/swift-probetests-centos-7/c1e3adf/ : SUCCESS in 32m 20s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/3/check/swift-dsvm-functional/4166c1e/ : SUCCESS in 23m 58s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/3/check/swift-dsvm-functional-ipv6/ee8b7f5/ : SUCCESS in 32m 53s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/3/check/swift-tox-lower-constraints/4197a4e/ : SUCCESS in 11m 18s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/3/check/openstack-tox-pep8/05773f6/ : SUCCESS in 4m 35s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/3/check/swift-multinode-rolling-upgrade/80656b6/ : SUCCESS in 16m 24s","accounts_in_message":[],"_revision_number":3},{"id":"0c32844dc30a5efe7a785eb77d961c874a41d729","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-02-01 10:47:31.000000000","message":"Patch Set 3: Code-Review+1\n\n(3 comments)\n\nonly went through middleware code, but not tests yet. left a few nits.","accounts_in_message":[],"_revision_number":3},{"id":"447317f0789e5db66c5d264c15d05028bb90be88","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-02-01 22:19:45.000000000","message":"Patch Set 3:\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"7c675d5f2f6be8b785be3a2e61a1d3c66de352de","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-02-01 22:20:02.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"22b00ee4b80bcd0028b1c255bc66b1f74458f08c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-02-01 22:59:55.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/4/check/openstack-tox-docs/8786342/html/ : SUCCESS in 4m 25s\n- swift-tox-py27 http://logs.openstack.org/94/633094/4/check/swift-tox-py27/a466542/ : SUCCESS in 10m 16s\n- swift-tox-py35 http://logs.openstack.org/94/633094/4/check/swift-tox-py35/1da15b3/ : SUCCESS in 5m 50s\n- swift-tox-py36 http://logs.openstack.org/94/633094/4/check/swift-tox-py36/6796aad/ : SUCCESS in 5m 26s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/4/check/swift-tox-func/2bbf885/ : SUCCESS in 9m 31s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/4/check/swift-tox-func-encryption/31334e1/ : SUCCESS in 9m 49s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/4/check/swift-tox-func-domain-remap-staticweb/9416091/ : SUCCESS in 10m 16s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/4/check/swift-tox-func-ec/6f09e90/ : SUCCESS in 9m 18s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/4/check/swift-tox-func-s3api/d0f041a/ : SUCCESS in 19m 07s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/4/check/swift-tox-func-s3api-ceph-s3tests-tempauth/62907f4/ : SUCCESS in 13m 39s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/4/check/swift-probetests-centos-7/e0cc662/ : SUCCESS in 33m 24s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/4/check/swift-dsvm-functional/fb98f41/ : SUCCESS in 20m 32s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/4/check/swift-dsvm-functional-ipv6/dc3aef7/ : SUCCESS in 35m 56s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/4/check/swift-tox-lower-constraints/884822f/ : SUCCESS in 10m 03s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/4/check/openstack-tox-pep8/7ed5dba/ : SUCCESS in 4m 55s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/4/check/swift-multinode-rolling-upgrade/b5facea/ : SUCCESS in 17m 18s","accounts_in_message":[],"_revision_number":4},{"id":"a02bddee7bb3c7120f3479c08fc5bb3d3e20016d","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-03-25 21:34:55.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"2efc9b351e561f3292d0074d65b835dff46c7d23","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-03-25 23:12:29.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- openstack-tox-docs http://logs.openstack.org/94/633094/5/check/openstack-tox-docs/5255c14/html/ : SUCCESS in 4m 44s\n- swift-tox-py27 http://logs.openstack.org/94/633094/5/check/swift-tox-py27/69126a3/ : SUCCESS in 12m 02s\n- swift-tox-py35 http://logs.openstack.org/94/633094/5/check/swift-tox-py35/4e19e2f/ : SUCCESS in 9m 42s\n- swift-tox-py36 http://logs.openstack.org/94/633094/5/check/swift-tox-py36/0d8b599/ : SUCCESS in 8m 59s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/5/check/swift-tox-py37/3be650d/ : SUCCESS in 9m 27s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/5/check/swift-tox-func/cd348ec/ : FAILURE in 12m 12s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/5/check/swift-tox-func-encryption/5b210cd/ : FAILURE in 10m 06s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/5/check/swift-tox-func-domain-remap-staticweb/d1dcc7c/ : FAILURE in 9m 00s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/5/check/swift-tox-func-ec/632ff4a/ : FAILURE in 14m 14s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/5/check/swift-tox-func-s3api/7f50df1/ : FAILURE in 11m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/5/check/swift-tox-func-s3api-ceph-s3tests-tempauth/1273c6e/ : SUCCESS in 11m 38s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/5/check/swift-probetests-centos-7/092dd99/ : SUCCESS in 36m 41s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/5/check/swift-dsvm-functional/28f0684/ : FAILURE in 23m 31s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/5/check/swift-dsvm-functional-ipv6/72a79f4/ : FAILURE in 22m 56s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/5/check/swift-tox-lower-constraints/22a2b67/ : SUCCESS in 12m 18s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/5/check/openstack-tox-pep8/e233dde/ : SUCCESS in 5m 57s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/5/check/swift-multinode-rolling-upgrade/137a2da/ : SUCCESS in 19m 17s","accounts_in_message":[],"_revision_number":5},{"id":"2d245a3b024d5db40e0bc8891ed52b70a6a154d9","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-03-25 23:21:32.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"943c29d09a92158ed9a258f765732f4b5af35930","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-03-26 16:05:00.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"4f6cff2d7c1f96b90afb2e1bff0458c97db18c78","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-03-26 18:45:09.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- openstack-tox-docs http://logs.openstack.org/94/633094/6/check/openstack-tox-docs/83c67b0/html/ : SUCCESS in 6m 05s\n- swift-tox-py27 http://logs.openstack.org/94/633094/6/check/swift-tox-py27/7e052ca/ : SUCCESS in 13m 11s\n- swift-tox-py35 http://logs.openstack.org/94/633094/6/check/swift-tox-py35/ee01a13/ : SUCCESS in 11m 06s\n- swift-tox-py36 http://logs.openstack.org/94/633094/6/check/swift-tox-py36/5347914/ : SUCCESS in 9m 05s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/6/check/swift-tox-py37/5bac460/ : SUCCESS in 10m 43s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/6/check/swift-tox-func/ab2c749/ : SUCCESS in 9m 43s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/6/check/swift-tox-func-encryption/049c65e/ : SUCCESS in 11m 19s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/6/check/swift-tox-func-domain-remap-staticweb/2f5ef0e/ : SUCCESS in 13m 25s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/6/check/swift-tox-func-ec/79521b0/ : SUCCESS in 16m 23s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/6/check/swift-tox-func-s3api/bdb8e23/ : SUCCESS in 10m 46s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/6/check/swift-tox-func-s3api-ceph-s3tests-tempauth/d134d25/ : SUCCESS in 15m 46s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/6/check/swift-probetests-centos-7/172103d/ : FAILURE in 34m 50s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/6/check/swift-dsvm-functional/b3e3d02/ : SUCCESS in 32m 26s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/6/check/swift-dsvm-functional-ipv6/6d55483/ : SUCCESS in 32m 26s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/6/check/swift-tox-lower-constraints/44b2e26/ : SUCCESS in 12m 52s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/6/check/openstack-tox-pep8/662c1f7/ : SUCCESS in 6m 37s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/6/check/swift-multinode-rolling-upgrade/3b82c92/ : SUCCESS in 18m 46s","accounts_in_message":[],"_revision_number":6},{"id":"fc8d8d4af2b727f98390d3e0807e8e1ee2901f64","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-03-27 14:00:10.000000000","message":"Patch Set 7: Commit message was updated.","accounts_in_message":[],"_revision_number":7},{"id":"45899e303ce42f5a5c2bd49cfc88f68eec443433","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-03-27 14:49:11.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/7/check/openstack-tox-docs/6699e68/html/ : SUCCESS in 4m 36s\n- swift-tox-py27 http://logs.openstack.org/94/633094/7/check/swift-tox-py27/0a6a93f/ : SUCCESS in 11m 29s\n- swift-tox-py35 http://logs.openstack.org/94/633094/7/check/swift-tox-py35/edb74df/ : SUCCESS in 9m 44s\n- swift-tox-py36 http://logs.openstack.org/94/633094/7/check/swift-tox-py36/5eea3ca/ : SUCCESS in 8m 56s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/7/check/swift-tox-py37/91f7553/ : SUCCESS in 9m 23s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/7/check/swift-tox-func/56dd119/ : SUCCESS in 9m 57s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/7/check/swift-tox-func-encryption/a2a459e/ : SUCCESS in 10m 44s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/7/check/swift-tox-func-domain-remap-staticweb/ca787a6/ : SUCCESS in 9m 35s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/7/check/swift-tox-func-ec/e73770d/ : SUCCESS in 10m 23s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/7/check/swift-tox-func-s3api/3a26781/ : SUCCESS in 10m 32s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/7/check/swift-tox-func-s3api-ceph-s3tests-tempauth/38f068d/ : SUCCESS in 13m 20s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/7/check/swift-probetests-centos-7/2708d09/ : SUCCESS in 30m 34s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/7/check/swift-dsvm-functional/9c3cfe5/ : SUCCESS in 25m 36s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/7/check/swift-dsvm-functional-ipv6/4907922/ : SUCCESS in 33m 38s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/7/check/swift-tox-lower-constraints/212a1cd/ : SUCCESS in 11m 10s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/7/check/openstack-tox-pep8/da235e8/ : SUCCESS in 5m 51s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/7/check/swift-multinode-rolling-upgrade/ee249e8/ : SUCCESS in 18m 06s","accounts_in_message":[],"_revision_number":7},{"id":"c161211474a71c76e7712df0cf1606b5de5c9c38","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-03-27 17:53:57.000000000","message":"Patch Set 7: Code-Review-1\n\n(3 comments)\n\nneed another functest and some doc tweeks and maybe change the container listing etag keys","accounts_in_message":[],"_revision_number":7},{"id":"eec1d3244d4b9069fe5b1ef17f78e1fd2d42a0a2","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-03-28 15:28:53.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"2225737e4174fda13c75c9a64ac3b91ca22a94e1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-03-28 17:01:51.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/8/check/openstack-tox-docs/ef81b8a/html/ : SUCCESS in 4m 34s\n- swift-tox-py27 http://logs.openstack.org/94/633094/8/check/swift-tox-py27/559d20d/ : SUCCESS in 13m 29s\n- swift-tox-py35 http://logs.openstack.org/94/633094/8/check/swift-tox-py35/1a03e3c/ : SUCCESS in 8m 55s\n- swift-tox-py36 http://logs.openstack.org/94/633094/8/check/swift-tox-py36/6e44890/ : SUCCESS in 8m 23s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/8/check/swift-tox-py37/bf4befd/ : SUCCESS in 8m 48s (non-voting)\n- swift-tox-func http://logs.openstack.org/94/633094/8/check/swift-tox-func/db400a8/ : SUCCESS in 10m 05s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/8/check/swift-tox-func-encryption/2058893/ : SUCCESS in 10m 19s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/8/check/swift-tox-func-domain-remap-staticweb/6739ad1/ : SUCCESS in 10m 37s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/8/check/swift-tox-func-ec/0f8270e/ : SUCCESS in 9m 06s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/8/check/swift-tox-func-s3api/ffaa117/ : SUCCESS in 10m 54s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/8/check/swift-tox-func-s3api-ceph-s3tests-tempauth/b7dea8e/ : SUCCESS in 14m 37s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/8/check/swift-probetests-centos-7/e82a6ad/ : SUCCESS in 29m 15s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/8/check/swift-dsvm-functional/de4b8b4/ : SUCCESS in 27m 31s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/8/check/swift-dsvm-functional-ipv6/bbea78e/ : SUCCESS in 29m 16s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/8/check/swift-tox-lower-constraints/fa283b0/ : SUCCESS in 12m 08s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/8/check/openstack-tox-pep8/9a66a2f/ : SUCCESS in 6m 04s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/8/check/swift-multinode-rolling-upgrade/60e4de3/ : SUCCESS in 18m 32s","accounts_in_message":[],"_revision_number":8},{"id":"d5e13bd8ada22daa9d11c745a9f4373690db781a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-04-10 19:53:56.000000000","message":"Patch Set 8: Code-Review-1 Workflow-1\n\nin addition to the merge conflict I need to think about (or at least test) etag handling of hard links to symlinks","accounts_in_message":[],"_revision_number":8},{"id":"2604b25f6643ec23465a7a4b2f6e1004dc50daab","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-06-14 17:42:02.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"ad9dd97a62559034ea9641ee97e28b8a9cee5cbb","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-06-14 17:42:15.000000000","message":"Patch Set 9:\n\nrebase!","accounts_in_message":[],"_revision_number":9},{"id":"d5292031b1ff979fb4793cdb83ac53134b4a3c7f","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-06-14 17:43:01.000000000","message":"Patch Set 9: Code-Review-1\n\nstill need to think about etag chaining on hardlinks to symlinks","accounts_in_message":[],"_revision_number":9},{"id":"b95f4f1bbd0975c5e7a51e99dbc5d90c195f01a7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-15 04:03:02.000000000","message":"Patch Set 9: 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- openstack-tox-docs http://logs.openstack.org/94/633094/9/check/openstack-tox-docs/a02846a/html/ : SUCCESS in 4m 14s\n- swift-build-image http://logs.openstack.org/94/633094/9/check/swift-build-image/2decb65/ : SUCCESS in 8m 04s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/9/check/swift-tox-py27/edc3ea8/ : SUCCESS in 10m 34s\n- swift-tox-py36 http://logs.openstack.org/94/633094/9/check/swift-tox-py36/a09041e/ : SUCCESS in 13m 37s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/9/check/swift-tox-py37/147fdde/ : SUCCESS in 11m 25s\n- swift-tox-func http://logs.openstack.org/94/633094/9/check/swift-tox-func/488dd09/ : SUCCESS in 8m 51s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/9/check/swift-tox-func-py37/5294098/ : FAILURE in 9m 40s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/9/check/swift-tox-func-encryption/913caed/ : SUCCESS in 8m 56s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/9/check/swift-tox-func-domain-remap-staticweb/c4582f7/ : SUCCESS in 9m 07s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/9/check/swift-tox-func-ec/800f165/ : SUCCESS in 10m 28s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/9/check/swift-tox-func-s3api/0f3299c/ : SUCCESS in 12m 28s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/9/check/swift-tox-func-s3api-ceph-s3tests-tempauth/6b6e792/ : SUCCESS in 13m 26s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/9/check/swift-probetests-centos-7/002f4f6/ : FAILURE in 35m 42s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/9/check/swift-dsvm-functional/0cf22dd/ : SUCCESS in 26m 49s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/9/check/swift-dsvm-functional-ipv6/86bc14c/ : SUCCESS in 26m 58s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/9/check/swift-tox-lower-constraints/cd14a51/ : SUCCESS in 11m 48s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/9/check/openstack-tox-pep8/7bbfadf/ : SUCCESS in 5m 28s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/9/check/swift-multinode-rolling-upgrade/cce6b0f/ : FAILURE in 9m 47s (non-voting)","accounts_in_message":[],"_revision_number":9},{"id":"8409d1c8ea1a72dc69cd39b7af988eb5a00c75cc","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-06-17 15:18:30.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"2236983073a04025f8cc5441d251d33268bc39d4","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-06-17 15:20:00.000000000","message":"Patch Set 10: Code-Review-1\n\nJust fixing up the func test failures. Clay\u0027s right that we still need to think more about how to handle chaining to a \"soft\" symlink.","accounts_in_message":[],"_revision_number":10},{"id":"b07f633cb64ae894bc1d2e5a3118fc4e6760ff8a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-17 19:34:25.000000000","message":"Patch Set 10: 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- openstack-tox-docs http://logs.openstack.org/94/633094/10/check/openstack-tox-docs/bfc04e1/html/ : SUCCESS in 4m 00s\n- swift-build-image http://logs.openstack.org/94/633094/10/check/swift-build-image/79a64df/ : SUCCESS in 8m 32s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/10/check/swift-tox-py27/6ec7ec3/ : SUCCESS in 12m 47s\n- swift-tox-py36 http://logs.openstack.org/94/633094/10/check/swift-tox-py36/f6b1ece/ : SUCCESS in 15m 18s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/10/check/swift-tox-py37/9b53cc4/ : SUCCESS in 11m 17s\n- swift-tox-func http://logs.openstack.org/94/633094/10/check/swift-tox-func/b18bc97/ : SUCCESS in 10m 09s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/10/check/swift-tox-func-py37/0bf1f92/ : SUCCESS in 8m 50s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/10/check/swift-tox-func-encryption/42510d0/ : SUCCESS in 10m 34s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/10/check/swift-tox-func-domain-remap-staticweb/65fde62/ : SUCCESS in 16m 27s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/10/check/swift-tox-func-ec/9d7b390/ : SUCCESS in 9m 25s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/10/check/swift-tox-func-s3api/bb3cad4/ : TIMED_OUT in 41m 00s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/10/check/swift-tox-func-s3api-ceph-s3tests-tempauth/8faeb54/ : SUCCESS in 18m 27s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/10/check/swift-probetests-centos-7/f805b21/ : SUCCESS in 42m 33s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/10/check/swift-dsvm-functional/495736a/ : SUCCESS in 27m 09s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/10/check/swift-dsvm-functional-ipv6/73b3d41/ : SUCCESS in 35m 34s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/10/check/swift-tox-lower-constraints/b26ea6b/ : SUCCESS in 15m 13s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/10/check/openstack-tox-pep8/f4d3a9e/ : SUCCESS in 6m 02s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/10/check/swift-multinode-rolling-upgrade/b162be2/ : FAILURE in 9m 13s (non-voting)","accounts_in_message":[],"_revision_number":10},{"id":"d34a87148d2cbf1f4af1351eafc97003d5c9ae68","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-06-18 20:43:20.000000000","message":"Patch Set 10:\n\nrecheck","accounts_in_message":[],"_revision_number":10},{"id":"6262cb0dee8018fa9902ea3cb0349042e4654dca","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-19 04:58:25.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/10/check/openstack-tox-docs/86e9102/html/ : SUCCESS in 5m 04s\n- swift-build-image http://logs.openstack.org/94/633094/10/check/swift-build-image/1ef1d3e/ : SUCCESS in 7m 56s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/10/check/swift-tox-py27/746b663/ : SUCCESS in 14m 58s\n- swift-tox-py36 http://logs.openstack.org/94/633094/10/check/swift-tox-py36/d864589/ : SUCCESS in 12m 55s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/10/check/swift-tox-py37/aa11fa8/ : SUCCESS in 12m 44s\n- swift-tox-func http://logs.openstack.org/94/633094/10/check/swift-tox-func/c332415/ : SUCCESS in 8m 38s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/10/check/swift-tox-func-py37/8267801/ : SUCCESS in 9m 11s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/10/check/swift-tox-func-encryption/2aa662b/ : SUCCESS in 9m 23s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/10/check/swift-tox-func-domain-remap-staticweb/10d9dd0/ : SUCCESS in 8m 42s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/10/check/swift-tox-func-ec/d361594/ : SUCCESS in 13m 17s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/10/check/swift-tox-func-s3api/d2d3939/ : SUCCESS in 13m 45s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/10/check/swift-tox-func-s3api-ceph-s3tests-tempauth/a440d68/ : SUCCESS in 13m 18s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/10/check/swift-probetests-centos-7/aef6da6/ : SUCCESS in 30m 49s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/10/check/swift-dsvm-functional/e2439e5/ : SUCCESS in 27m 22s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/10/check/swift-dsvm-functional-ipv6/69b5603/ : SUCCESS in 31m 58s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/10/check/swift-tox-lower-constraints/fd704d5/ : SUCCESS in 11m 06s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/10/check/openstack-tox-pep8/7564c79/ : SUCCESS in 5m 47s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/10/check/swift-multinode-rolling-upgrade/1626675/ : FAILURE in 9m 17s (non-voting)","accounts_in_message":[],"_revision_number":10},{"id":"3a468508adf77c4a98bba83cb135ef8a71aabce2","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-06-19 13:21:30.000000000","message":"Patch Set 10: Code-Review-1\n\n(5 comments)","accounts_in_message":[],"_revision_number":10},{"id":"a96ac2dff9d15689565d09051699d8bac641039e","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-08 23:33:44.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"dcdf8a8c7c9fad21c8e766cad022046b5a1e7b75","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-09 01:00:47.000000000","message":"Patch Set 11: 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- openstack-tox-docs http://logs.openstack.org/94/633094/11/check/openstack-tox-docs/49b22ba/html/ : SUCCESS in 4m 50s\n- swift-build-image http://logs.openstack.org/94/633094/11/check/swift-build-image/80cb802/ : SUCCESS in 8m 10s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/11/check/swift-tox-py27/9ac93e9/ : SUCCESS in 9m 32s\n- swift-tox-py36 http://logs.openstack.org/94/633094/11/check/swift-tox-py36/a17ee5c/ : SUCCESS in 13m 31s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/11/check/swift-tox-py37/6bbbd0c/ : SUCCESS in 10m 57s\n- swift-tox-func http://logs.openstack.org/94/633094/11/check/swift-tox-func/c464cf0/ : SUCCESS in 11m 45s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/11/check/swift-tox-func-py37/e0f7fe6/ : FAILURE in 9m 33s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/11/check/swift-tox-func-encryption/416db99/ : SUCCESS in 9m 11s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/11/check/swift-tox-func-domain-remap-staticweb/0223d21/ : SUCCESS in 9m 10s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/11/check/swift-tox-func-ec/5456f54/ : SUCCESS in 10m 03s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/11/check/swift-tox-func-s3api/1b24356/ : SUCCESS in 11m 44s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/11/check/swift-tox-func-s3api-ceph-s3tests-tempauth/bad0e14/ : SUCCESS in 18m 20s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/11/check/swift-probetests-centos-7/118516b/ : SUCCESS in 35m 32s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/11/check/swift-dsvm-functional/bdd3b88/ : SUCCESS in 28m 25s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/11/check/swift-dsvm-functional-ipv6/53ae1fd/ : SUCCESS in 27m 32s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/11/check/swift-tox-lower-constraints/b2a90b1/ : SUCCESS in 10m 54s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/11/check/openstack-tox-pep8/6768ff2/ : SUCCESS in 6m 33s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/11/check/swift-multinode-rolling-upgrade/b5e302e/ : FAILURE in 11m 28s (non-voting)","accounts_in_message":[],"_revision_number":11},{"id":"42ff2e83ced8d44647b8139cfc0963e265b2cfa5","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-09 12:47:40.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"f6044f2f0668992a2e02b72603bb82f68a150fa3","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-09 16:02:12.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/12/check/openstack-tox-docs/bdfcf53/html/ : SUCCESS in 4m 13s\n- swift-build-image http://logs.openstack.org/94/633094/12/check/swift-build-image/d132fe9/ : SUCCESS in 8m 16s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/12/check/swift-tox-py27/221339d/ : SUCCESS in 10m 38s\n- swift-tox-py36 http://logs.openstack.org/94/633094/12/check/swift-tox-py36/394edc8/ : SUCCESS in 14m 13s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/12/check/swift-tox-py37/26558a9/ : SUCCESS in 15m 38s\n- swift-tox-func http://logs.openstack.org/94/633094/12/check/swift-tox-func/802b5c1/ : SUCCESS in 11m 05s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/12/check/swift-tox-func-py37/3055d73/ : SUCCESS in 13m 42s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/12/check/swift-tox-func-encryption/2a8fdd7/ : SUCCESS in 10m 05s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/12/check/swift-tox-func-domain-remap-staticweb/3cfe7d9/ : SUCCESS in 9m 00s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/12/check/swift-tox-func-ec/7964f51/ : SUCCESS in 10m 34s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/12/check/swift-tox-func-s3api/7235860/ : SUCCESS in 13m 21s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/12/check/swift-tox-func-s3api-ceph-s3tests-tempauth/47849e0/ : SUCCESS in 13m 37s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/12/check/swift-probetests-centos-7/af2cd97/ : SUCCESS in 33m 48s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/12/check/swift-dsvm-functional/bfa4eba/ : SUCCESS in 30m 28s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/12/check/swift-dsvm-functional-ipv6/c82183a/ : SUCCESS in 28m 20s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/12/check/swift-tox-lower-constraints/cb76e8a/ : SUCCESS in 10m 04s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/12/check/openstack-tox-pep8/3e3f5c1/ : SUCCESS in 5m 49s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/12/check/swift-multinode-rolling-upgrade/e8175a1/ : FAILURE in 10m 16s (non-voting)","accounts_in_message":[],"_revision_number":12},{"id":"a8f76c37648654bd3028483d0a19c646a42a5ed3","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-07-12 22:31:42.000000000","message":"Patch Set 12: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":12},{"id":"f50e1a15b56029afbf5b06809061ccfa59abdc12","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-15 15:53:32.000000000","message":"Patch Set 12: Code-Review-1\n\nHaha yes!  I was just looking at some versioned writes tests that were doing hardlinks to slo manifests and came here to look for exactly that.  Great catch!","accounts_in_message":[],"_revision_number":12},{"id":"1dba9d2bc6c1d375d916ac581653c0a463d5330f","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-15 18:56:10.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"704c030839b6247a7591431508c396ea39d9c3e4","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 20:00:29.000000000","message":"Patch Set 13: 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- openstack-tox-docs http://logs.openstack.org/94/633094/13/check/openstack-tox-docs/2f8acda/html/ : SUCCESS in 6m 42s\n- swift-build-image http://logs.openstack.org/94/633094/13/check/swift-build-image/3f6bb74/ : SUCCESS in 8m 04s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/13/check/swift-tox-py27/8ba6d39/ : SUCCESS in 13m 24s\n- swift-tox-py36 http://logs.openstack.org/94/633094/13/check/swift-tox-py36/928ee0e/ : SUCCESS in 11m 24s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/13/check/swift-tox-py37/18286b9/ : SUCCESS in 11m 28s\n- swift-tox-func http://logs.openstack.org/94/633094/13/check/swift-tox-func/de4e154/ : FAILURE in 8m 30s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/13/check/swift-tox-func-py37/c68098b/ : FAILURE in 9m 20s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/13/check/swift-tox-func-encryption/5969163/ : FAILURE in 13m 27s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/13/check/swift-tox-func-domain-remap-staticweb/1b74cff/ : FAILURE in 12m 45s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/13/check/swift-tox-func-ec/5edbb86/ : FAILURE in 9m 12s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/13/check/swift-tox-func-s3api/70280af/ : FAILURE in 15m 16s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/13/check/swift-tox-func-domain-remap-staticweb-py37/5ae118a/ : FAILURE in 7m 32s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/13/check/swift-tox-func-s3api-ceph-s3tests-tempauth/bcd257f/ : SUCCESS in 13m 15s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/13/check/swift-probetests-centos-7/53551f4/ : SUCCESS in 33m 40s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/13/check/swift-dsvm-functional/698e97a/ : FAILURE in 24m 34s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/13/check/swift-dsvm-functional-py3/ade8084/ : FAILURE in 41m 14s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/13/check/swift-dsvm-functional-ipv6/ba245b9/ : FAILURE in 23m 58s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/13/check/swift-tox-lower-constraints/19609b0/ : SUCCESS in 11m 21s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/13/check/openstack-tox-pep8/2a6c910/ : SUCCESS in 7m 54s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/13/check/swift-multinode-rolling-upgrade/df2d0e9/ : SUCCESS in 27m 07s (non-voting)","accounts_in_message":[],"_revision_number":13},{"id":"27d0d029114e79a41f4a001bcf0b093d3fe1ed64","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-15 20:20:25.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"85c2a418289b404f4a83aeaac5310e2235411d80","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-15 21:30:24.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/14/check/openstack-tox-docs/d39059b/html/ : SUCCESS in 5m 11s\n- swift-build-image http://logs.openstack.org/94/633094/14/check/swift-build-image/39a2233/ : SUCCESS in 8m 47s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/14/check/swift-tox-py27/e2518ed/ : SUCCESS in 10m 57s\n- swift-tox-py36 http://logs.openstack.org/94/633094/14/check/swift-tox-py36/c8a3cf4/ : SUCCESS in 10m 33s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/14/check/swift-tox-py37/775e926/ : SUCCESS in 11m 58s\n- swift-tox-func http://logs.openstack.org/94/633094/14/check/swift-tox-func/10db493/ : SUCCESS in 9m 20s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/14/check/swift-tox-func-py37/0b44c3e/ : SUCCESS in 10m 08s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/14/check/swift-tox-func-encryption/3799fab/ : SUCCESS in 11m 36s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/14/check/swift-tox-func-domain-remap-staticweb/a0bf13a/ : SUCCESS in 9m 05s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/14/check/swift-tox-func-ec/69963a5/ : SUCCESS in 11m 50s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/14/check/swift-tox-func-s3api/c89d4d4/ : SUCCESS in 14m 16s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/14/check/swift-tox-func-domain-remap-staticweb-py37/6e41ca6/ : SUCCESS in 10m 29s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/14/check/swift-tox-func-s3api-ceph-s3tests-tempauth/873ec11/ : SUCCESS in 15m 39s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/14/check/swift-probetests-centos-7/887b534/ : SUCCESS in 32m 19s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/14/check/swift-dsvm-functional/b6b9702/ : SUCCESS in 29m 14s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/14/check/swift-dsvm-functional-py3/a532e20/ : SUCCESS in 34m 32s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/14/check/swift-dsvm-functional-ipv6/329432b/ : SUCCESS in 32m 43s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/14/check/swift-tox-lower-constraints/dd3ad0e/ : SUCCESS in 12m 03s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/14/check/openstack-tox-pep8/8f888a8/ : SUCCESS in 7m 02s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/14/check/swift-multinode-rolling-upgrade/c6d7805/ : SUCCESS in 18m 58s (non-voting)","accounts_in_message":[],"_revision_number":14},{"id":"7bf6fe9d380a1ca2d55628d743ba86e1f09a8c6c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-18 01:37:27.000000000","message":"Patch Set 14:\n\n(7 comments)\n\nI\u0027ll find some time to play around with this manually tomorrow.","accounts_in_message":[],"_revision_number":14},{"id":"babf1091c59d53e8f4b0a0e0c6ff7fec04f33c3a","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-07-18 15:48:36.000000000","message":"Patch Set 14: Code-Review+1\n\n(8 comments)\n\ngetting there, but left a few question and a suggestion to change one of the errors currently being returned to api users.","accounts_in_message":[],"_revision_number":14},{"id":"cb646c373b38f8d57a2b4b8e5191a85020ea5d08","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-18 16:17:15.000000000","message":"Patch Set 14: Code-Review-1\n\n(5 comments)\n\nYeah, we need to keep thinking about SLOs - I\u0027m open to ideas!\n\n  vagrant@saio:~$ sqlite3 /srv/node2/sdb2/containers/28/afd/7089ab48d955ab0851fc51cc17a34afd/7089ab48d955ab0851fc51cc17a34afd.db -line \"select * from object\"\n                 ROWID \u003d 1\n                  name \u003d big.test\n            created_at \u003d 1563466109.86485\n                  size \u003d 2694\n          content_type \u003d application/octet-stream;swift_bytes\u003d10485760\n                  etag \u003d bb353c41ceb7c0c49b7b5596c57116c4; slo_etag\u003d71e938d37c1d06dc634dd24660255a88\n               deleted \u003d 0\n  storage_policy_index \u003d 0\n\n                 ROWID \u003d 2\n                  name \u003d link\n            created_at \u003d 1563466394.48807\n                  size \u003d 0\n          content_type \u003d application/octet-stream\n                  etag \u003d d41d8cd98f00b204e9800998ecf8427e; symlink_target\u003dtest/big.test; symlink_target_etag\u003d\"71e938d37c1d06dc634dd24660255a88\"; symlink_target_bytes\u003d2694\n               deleted \u003d 0\n  storage_policy_index \u003d 0\n  vagrant@saio:~$ swift list test --json\n  [\n    {\n      \"bytes\": 10485760, \n      \"content_type\": \"application/octet-stream\", \n      \"hash\": \"bb353c41ceb7c0c49b7b5596c57116c4\", \n      \"last_modified\": \"2019-07-18T16:08:29.864850\", \n      \"name\": \"big.test\", \n      \"slo_etag\": \"\\\"71e938d37c1d06dc634dd24660255a88\\\"\"\n    }, \n    {\n      \"bytes\": 0, \n      \"content_type\": \"application/octet-stream\", \n      \"hash\": \"d41d8cd98f00b204e9800998ecf8427e\", \n      \"last_modified\": \"2019-07-18T16:13:14.488070\", \n      \"name\": \"link\", \n      \"symlink_bytes\": 2694, \n      \"symlink_etag\": \"71e938d37c1d06dc634dd24660255a88\", \n      \"symlink_path\": \"/v1/AUTH_test/test/big.test\"\n    }\n  ]","accounts_in_message":[],"_revision_number":14},{"id":"cb6730319b13cf32021ed99594c116ceeba2e0a9","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-18 16:44:30.000000000","message":"Patch Set 14:\n\n(7 comments)\n\nThanks!","accounts_in_message":[],"_revision_number":14},{"id":"5514807dcaba0f0cefa10660d59ee167e0e7aa00","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-07-18 17:26:08.000000000","message":"Patch Set 14:\n\n(3 comments)","accounts_in_message":[],"_revision_number":14},{"id":"a4d519538a50c16da554aa0b22521b01cbb61ec5","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-18 17:37:02.000000000","message":"Patch Set 14:\n\n(3 comments)\n\nwell i can at least add the content-type checking to the functest...\n\nwe can make a decision on the tracking/exposing target-bytes\n\nNot sure what we need to do on the content-type\n\ni\u0027m still investigating the slo etag handling","accounts_in_message":[],"_revision_number":14},{"id":"d4099ac74eac7e4959072ac25dec1280e2ceeeaf","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-18 18:58:30.000000000","message":"Patch Set 14:\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"40a27bb0a831cd873063c5ef00d50cd436bcfcf6","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-19 20:44:54.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"48ff860ff88b8c47d1f0546cd44691428efd4e8c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-19 21:34:32.000000000","message":"Patch Set 15: 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- openstack-tox-docs http://logs.openstack.org/94/633094/15/check/openstack-tox-docs/6c3ce44/html/ : SUCCESS in 5m 06s\n- swift-build-image http://logs.openstack.org/94/633094/15/check/swift-build-image/9791d27/ : SUCCESS in 10m 27s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/15/check/swift-tox-py27/e0556c9/ : SUCCESS in 12m 06s\n- swift-tox-py36 http://logs.openstack.org/94/633094/15/check/swift-tox-py36/d78625d/ : SUCCESS in 12m 26s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/15/check/swift-tox-py37/400637e/ : SUCCESS in 10m 15s\n- swift-tox-func http://logs.openstack.org/94/633094/15/check/swift-tox-func/26fc91e/ : FAILURE in 8m 36s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/15/check/swift-tox-func-encryption/fd0a111/ : FAILURE in 11m 15s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/15/check/swift-tox-func-domain-remap-staticweb/c2893c0/ : FAILURE in 9m 28s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/15/check/swift-tox-func-ec/95073bd/ : FAILURE in 12m 42s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/15/check/swift-tox-func-s3api/ae84f26/ : FAILURE in 13m 54s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/15/check/swift-tox-func-py37/e1a82ae/ : FAILURE in 11m 32s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/15/check/swift-tox-func-domain-remap-staticweb-py37/27c3b99/ : FAILURE in 9m 48s\n- swift-tox-func-ec-py37 http://logs.openstack.org/94/633094/15/check/swift-tox-func-ec-py37/a8069fd/ : FAILURE in 9m 55s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/15/check/swift-tox-func-s3api-ceph-s3tests-tempauth/cda5ce7/ : SUCCESS in 13m 58s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/15/check/swift-probetests-centos-7/b2aaf36/ : SUCCESS in 30m 40s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/15/check/swift-dsvm-functional/43a5d5e/ : FAILURE in 22m 03s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/15/check/swift-dsvm-functional-py3/b61d644/ : FAILURE in 20m 50s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/15/check/swift-dsvm-functional-ipv6/dddaeae/ : FAILURE in 23m 20s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/15/check/swift-tox-lower-constraints/4dcc646/ : SUCCESS in 10m 31s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/15/check/openstack-tox-pep8/3adf269/ : SUCCESS in 6m 16s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/15/check/swift-multinode-rolling-upgrade/276b02f/ : SUCCESS in 18m 17s (non-voting)","accounts_in_message":[],"_revision_number":15},{"id":"762963f5f173f114c5486ce20e64d3a6c2a6f6ac","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-21 21:02:49.000000000","message":"Patch Set 15: Code-Review-1 Workflow-1\n\nLOL!  What did I *do*!?","accounts_in_message":[],"_revision_number":15},{"id":"a247269ba666ad31ceb71fb36cf1661f0c4e1349","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-22 14:07:07.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"238c86f8fea3fcb811717f70428688b45773c309","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-22 15:35:47.000000000","message":"Patch Set 16: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/16/check/openstack-tox-docs/be3863f/html/ : SUCCESS in 5m 14s\n- swift-build-image http://logs.openstack.org/94/633094/16/check/swift-build-image/cde32d1/ : SUCCESS in 9m 03s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/16/check/swift-tox-py27/31bef22/ : SUCCESS in 14m 39s\n- swift-tox-py36 http://logs.openstack.org/94/633094/16/check/swift-tox-py36/dec3dd3/ : SUCCESS in 16m 04s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/94/633094/16/check/swift-tox-py37/5c3526e/ : SUCCESS in 10m 51s\n- swift-tox-func http://logs.openstack.org/94/633094/16/check/swift-tox-func/41dd24c/ : SUCCESS in 9m 10s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/16/check/swift-tox-func-encryption/4a4baf0/ : SUCCESS in 9m 48s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/16/check/swift-tox-func-domain-remap-staticweb/8028bd3/ : SUCCESS in 10m 36s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/16/check/swift-tox-func-ec/5d00a11/ : SUCCESS in 11m 37s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/16/check/swift-tox-func-s3api/5bedd6e/ : SUCCESS in 13m 38s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/16/check/swift-tox-func-py37/70b1a66/ : SUCCESS in 11m 28s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/16/check/swift-tox-func-domain-remap-staticweb-py37/351ac34/ : SUCCESS in 9m 18s\n- swift-tox-func-ec-py37 http://logs.openstack.org/94/633094/16/check/swift-tox-func-ec-py37/32d868f/ : SUCCESS in 11m 36s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/16/check/swift-tox-func-s3api-ceph-s3tests-tempauth/1383cdf/ : SUCCESS in 19m 44s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/16/check/swift-probetests-centos-7/ae36904/ : SUCCESS in 41m 52s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/16/check/swift-dsvm-functional/bddba2e/ : SUCCESS in 28m 31s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/16/check/swift-dsvm-functional-py3/d50c340/ : SUCCESS in 31m 37s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/16/check/swift-dsvm-functional-ipv6/7436862/ : SUCCESS in 30m 17s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/16/check/swift-tox-lower-constraints/2006f61/ : SUCCESS in 12m 09s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/16/check/openstack-tox-pep8/b12425b/ : SUCCESS in 7m 03s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/16/check/swift-multinode-rolling-upgrade/423923a/ : SUCCESS in 16m 04s (non-voting)","accounts_in_message":[],"_revision_number":16},{"id":"d87389f9b5ed3c3ebeac9d3c34725de107ada1f5","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-25 20:23:02.000000000","message":"Uploaded patch set 17.","accounts_in_message":[],"_revision_number":17},{"id":"7e19cdcb44cf40fb4f3c232120b7bb61c25c8347","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-25 21:05:20.000000000","message":"Patch Set 17: 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- openstack-tox-docs http://logs.openstack.org/94/633094/17/check/openstack-tox-docs/00aca36/html/ : SUCCESS in 6m 00s\n- swift-build-image http://logs.openstack.org/94/633094/17/check/swift-build-image/84e63e9/ : SUCCESS in 9m 27s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/17/check/swift-tox-py27/f687908/ : SUCCESS in 11m 14s\n- swift-tox-py36 http://logs.openstack.org/94/633094/17/check/swift-tox-py36/42feca9/ : SUCCESS in 12m 12s\n- swift-tox-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-py37/9a5224e/ : SUCCESS in 10m 53s\n- swift-tox-func http://logs.openstack.org/94/633094/17/check/swift-tox-func/560176c/ : SUCCESS in 9m 18s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/17/check/swift-tox-func-encryption/345a81c/ : SUCCESS in 10m 09s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/17/check/swift-tox-func-domain-remap-staticweb/822ab1d/ : SUCCESS in 10m 18s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/17/check/swift-tox-func-ec/701b628/ : SUCCESS in 10m 45s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/17/check/swift-tox-func-s3api/8a2c4b0/ : SUCCESS in 17m 59s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-func-py37/500c8c1/ : SUCCESS in 10m 45s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-func-domain-remap-staticweb-py37/f1fb2b1/ : SUCCESS in 11m 57s\n- swift-tox-func-ec-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-func-ec-py37/ed3c4a7/ : SUCCESS in 9m 06s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/17/check/swift-tox-func-s3api-ceph-s3tests-tempauth/60a4361/ : SUCCESS in 20m 03s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/17/check/swift-probetests-centos-7/cf86f1c/ : SUCCESS in 30m 05s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/17/check/swift-dsvm-functional/0b67681/ : SUCCESS in 26m 46s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/17/check/swift-dsvm-functional-py3/453dfd0/ : SUCCESS in 36m 11s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/17/check/swift-dsvm-functional-ipv6/017d1ca/ : SUCCESS in 38m 41s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/17/check/swift-tox-lower-constraints/c4f7dc7/ : SUCCESS in 12m 18s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/17/check/openstack-tox-pep8/4eee1eb/ : SUCCESS in 5m 38s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/17/check/swift-multinode-rolling-upgrade/b85d5b8/ : FAILURE in 25m 40s","accounts_in_message":[],"_revision_number":17},{"id":"bb7327333fb4328f3e34d7d8b26113b77dce6646","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-25 22:31:14.000000000","message":"Patch Set 17:\n\nrecheck\n\nThat rolling upgrade failure *seems like* it could be a stale read caused by a slow gate?","accounts_in_message":[],"_revision_number":17},{"id":"91a9290a66a49e3327fec961a055f2ce6fc6ce43","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-25 23:07:01.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/94/633094/17/check/openstack-tox-docs/5833eee/html/ : SUCCESS in 5m 08s\n- swift-build-image http://logs.openstack.org/94/633094/17/check/swift-build-image/ebddc43/ : SUCCESS in 7m 32s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/17/check/swift-tox-py27/7f9bef5/ : SUCCESS in 10m 20s\n- swift-tox-py36 http://logs.openstack.org/94/633094/17/check/swift-tox-py36/95deb64/ : SUCCESS in 10m 21s\n- swift-tox-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-py37/65dfac3/ : SUCCESS in 10m 37s\n- swift-tox-func http://logs.openstack.org/94/633094/17/check/swift-tox-func/7d46685/ : SUCCESS in 8m 24s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/17/check/swift-tox-func-encryption/f75e854/ : SUCCESS in 8m 59s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/17/check/swift-tox-func-domain-remap-staticweb/b876b40/ : SUCCESS in 8m 53s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/17/check/swift-tox-func-ec/4155b68/ : SUCCESS in 10m 00s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/17/check/swift-tox-func-s3api/a75a57e/ : SUCCESS in 15m 40s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-func-py37/6177865/ : SUCCESS in 10m 26s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-func-domain-remap-staticweb-py37/de0989f/ : SUCCESS in 7m 41s\n- swift-tox-func-ec-py37 http://logs.openstack.org/94/633094/17/check/swift-tox-func-ec-py37/54a7778/ : SUCCESS in 7m 46s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/17/check/swift-tox-func-s3api-ceph-s3tests-tempauth/e9706ed/ : SUCCESS in 13m 37s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/17/check/swift-probetests-centos-7/2c158a5/ : SUCCESS in 31m 07s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/17/check/swift-dsvm-functional/08dcc7c/ : SUCCESS in 26m 08s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/17/check/swift-dsvm-functional-py3/a5ed8d3/ : SUCCESS in 28m 04s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/17/check/swift-dsvm-functional-ipv6/c3d5a0f/ : SUCCESS in 28m 33s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/17/check/swift-tox-lower-constraints/bbbf0d6/ : SUCCESS in 11m 13s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/17/check/openstack-tox-pep8/cb607a5/ : SUCCESS in 5m 16s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/17/check/swift-multinode-rolling-upgrade/52832d4/ : SUCCESS in 15m 03s","accounts_in_message":[],"_revision_number":17},{"id":"aa1fbe8bce690a4e81f3ec17089e93672374a5ee","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-07-26 17:35:20.000000000","message":"Patch Set 17: Code-Review+2\n\n(2 comments)\n\nlgtm. From the conversations on IRC I understand the choices made regarding using the manifest etag for *LO objects.","accounts_in_message":[],"_revision_number":17},{"id":"3db53aaf0e1ac13b07f02b3044c4142358fdc3ec","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-26 17:45:01.000000000","message":"Patch Set 17: Code-Review+2\n\n(1 comment)\n\nRight, the idea is that for DLO hardlinks to \"work\" they can\u0027t really validate the quoted etag (which changes when the DLO changes) - so it seemed easiest to explain if hardlinks to any manifest/symlink object just have it\u0027s target-etag be the real md5 of the real (sometimes zero byte) body of the target.\n\nHopefully that ends up being the right call over the long haul.","accounts_in_message":[],"_revision_number":17},{"id":"d535861d74b4b9beeaa44f7af4c2c6d73bbfc547","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-26 21:37:38.000000000","message":"Patch Set 17:\n\n(11 comments)\n\nI\u0027ve got this feeling like I oughta see what symlink-backed versioned_writes is looking like these days before voting ;-)\n\nThanks so much for picking this up! The code and API have come a long way (and in a good direction!) from where I left it :D","accounts_in_message":[],"_revision_number":17},{"id":"fe710aebb0927b90a4c2877780f06d47d44ffe57","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-27 00:45:17.000000000","message":"Patch Set 17:\n\n(2 comments)","accounts_in_message":[],"_revision_number":17},{"id":"0b1481eddbf61371d31c01e73f6ccf5d21c75e93","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-27 04:55:24.000000000","message":"Patch Set 17:\n\n(2 comments)\n\nSorry for the slow trickle of comments...","accounts_in_message":[],"_revision_number":17},{"id":"4765b6a852a45562b7e3c2285fa1bba40a1f204c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-27 05:36:51.000000000","message":"Patch Set 14:\n\n(4 comments)\n\nLooking back at some of my old comments...","accounts_in_message":[],"_revision_number":14},{"id":"b3c20dab3c86d098d7e82bc27474ffada791b1d7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-27 06:37:49.000000000","message":"Patch Set 17:\n\nAll right, I proposed a few patches to sand down some symlink rough-edges, but none of them are blockers:\n\n- https://review.opendev.org/#/c/673121/\n- https://review.opendev.org/#/c/673122/\n- https://review.opendev.org/#/c/673123/\n\nI also revived my pipeline-ordering patch; this *might* be a blocker; I\u0027m curious about y\u0027all\u0027s opinion:\n\n- https://review.opendev.org/#/c/635040/\n\nI\u0027m still debating about the wisdom of writing down symlink_bytes for a hardlink-to-a-symlink. (And it doesn\u0027t really help that we only have those bytes for display purposes.) If we drop that, I wonder whether we ought to halt validation at the symlink (which may well be pointing at a name that doesn\u0027t exist yet, possibly even *intentionally*).\n\nAlso still debating about whether we ought to be tracking bytes in sysmeta vs. just the container override... I guess, better to have it an drop it later than deal with not having it when we realize it was a good idea? It feels like it\u0027s just a hack to help us get the size we found in _validate_etag_and_update_sysmeta() out to the override header in handle_put(), though...\n\nI think I like how my _validate_etag_and_update_sysmeta() delta turned out? Minus the extra knowledge of SLO that we need, of course.\n\nI\u0027d be fine with adding the found etag as a header in the 409-on-PUT later.\n\nThe strip(\u0027\"\u0027) is a little weird, but could also be addressed later.","accounts_in_message":[],"_revision_number":17},{"id":"09b980090770437cfa09e613ab4149605a1fef79","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-07-29 21:17:21.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"bf0245cca1d620fdb4f51502104984fd2f10bd8a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-31 16:40:25.000000000","message":"Patch Set 17: Code-Review-1 Workflow-1\n\n(14 comments)\n\n\u003e All right, I proposed a few patches to sand down some symlink\n \u003e rough-edges, but none of them are blockers:\n \u003e \n \u003e - https://review.opendev.org/#/c/673121/\n \u003e - https://review.opendev.org/#/c/673122/\n \u003e - https://review.opendev.org/#/c/673123/\n \u003e \n\nI\u0027m going to have to respin.  I\u0027d like to pull in at least p 673121 since it addresses a defect [1].  Thank you.\n\n \u003e I also revived my pipeline-ordering patch; this *might* be a\n \u003e blocker; I\u0027m curious about y\u0027all\u0027s opinion:\n \u003e \n \u003e - https://review.opendev.org/#/c/635040/\n \u003e \n\nI left my comments over there.\n\n \u003e I\u0027m still debating about the wisdom of writing down symlink_bytes\n \u003e for a hardlink-to-a-symlink. (And it doesn\u0027t really help that we\n \u003e only have those bytes for display purposes.) If we drop that, I\n \u003e wonder whether we ought to halt validation at the symlink (which\n \u003e may well be pointing at a name that doesn\u0027t exist yet, possibly\n \u003e even *intentionally*).\n \u003e \n\nAgreed symlinks break the hardlink chain, and their etag/bytes tracking/validation can\u0027t realistically extend past them.  I\u0027m going to start working on tests to fully specify the behavior in that scenario.  Thanks for finding that - very helpful.\n\n \u003e Also still debating about whether we ought to be tracking bytes in\n \u003e sysmeta vs. just the container override... I guess, better to have\n \u003e it an drop it later than deal with not having it when we realize it\n \u003e was a good idea? \n\nI agree it\u0027s better to have it an not need it.\n\n \u003e It feels like it\u0027s just a hack to help us get the\n \u003e size we found in _validate_etag_and_update_sysmeta() out to the\n \u003e override header in handle_put(), though...\n \u003e \n\nThe use of headers (could have been environ keys?) as a data exchange mechanism was a conscious decision to address the (self imposed?) requirement that other middleware\u0027s be able to to provide the hardlink information and bypass the validation HEAD request.  But it doesn\u0027t hurt my feelings at all to call this approach a hack - all my code is a hack.  If you see a better way - I\u0027m all ears!\n\n \u003e I think I like how my _validate_etag_and_update_sysmeta() delta\n \u003e turned out? Minus the extra knowledge of SLO that we need, of\n \u003e course.\n \u003e \n\nI managed to get the diff applied.  I\u0027ve got some more tests to write, I\u0027ll see what they think about it...\n\n \u003e I\u0027d be fine with adding the found etag as a header in the\n \u003e 409-on-PUT later.\n \u003e \n\nagreed\n\n \u003e The strip(\u0027\"\u0027) is a little weird, but could also be addressed\n \u003e later.\n\nPretty sure it\u0027s just cruft - i have it on my list to fix up.  Good eye.\n\n1. If it\u0027s a *regression* I think it\u0027s only correct to squash, if it\u0027s addressing an existing issue it should have a bug report and we should rebase this one on THAT.","accounts_in_message":[],"_revision_number":17},{"id":"9db98c7d6a23a5e5fc1cdaca57dcd9a109c1c15f","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-31 20:38:42.000000000","message":"Uploaded patch set 18.","accounts_in_message":[],"_revision_number":18},{"id":"021ccfdeec2f1879717ba5f8d3d95e6ede1ca8e5","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-07-31 20:47:15.000000000","message":"Patch Set 18: Workflow-1\n\n(5 comments)\n\nTim, I wanted to make sure we\u0027re on the same page with the desired behavior before I started trying to *fix* these tests?","accounts_in_message":[],"_revision_number":18},{"id":"8f8faba25ab94204ec7ddeceff0fe3cf6939b19f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-31 22:38:31.000000000","message":"Patch Set 18: 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- openstack-tox-docs http://logs.openstack.org/94/633094/18/check/openstack-tox-docs/d6c5230/html/ : SUCCESS in 4m 24s\n- grenade-py3 http://logs.openstack.org/94/633094/18/check/grenade-py3/d687d45/ : SUCCESS in 58m 21s\n- tempest-integrated-object-storage http://logs.openstack.org/94/633094/18/check/tempest-integrated-object-storage/298546b/ : SUCCESS in 54m 50s\n- swift-build-image http://logs.openstack.org/94/633094/18/check/swift-build-image/ef74b45/ : SUCCESS in 9m 17s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/94/633094/18/check/swift-tox-py27/7c2c2ca/ : SUCCESS in 11m 28s\n- swift-tox-py36 http://logs.openstack.org/94/633094/18/check/swift-tox-py36/7f31b13/ : SUCCESS in 13m 33s\n- swift-tox-py37 http://logs.openstack.org/94/633094/18/check/swift-tox-py37/7e225a6/ : SUCCESS in 14m 43s\n- swift-tox-func http://logs.openstack.org/94/633094/18/check/swift-tox-func/893e3df/ : FAILURE in 11m 14s\n- swift-tox-func-encryption http://logs.openstack.org/94/633094/18/check/swift-tox-func-encryption/5a89d68/ : FAILURE in 9m 12s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/94/633094/18/check/swift-tox-func-domain-remap-staticweb/c4b82ac/ : FAILURE in 8m 43s\n- swift-tox-func-ec http://logs.openstack.org/94/633094/18/check/swift-tox-func-ec/836ac68/ : FAILURE in 11m 08s\n- swift-tox-func-s3api http://logs.openstack.org/94/633094/18/check/swift-tox-func-s3api/0fa0c78/ : FAILURE in 13m 05s\n- swift-tox-func-py37 http://logs.openstack.org/94/633094/18/check/swift-tox-func-py37/d156084/ : FAILURE in 10m 33s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/94/633094/18/check/swift-tox-func-domain-remap-staticweb-py37/8380092/ : FAILURE in 7m 51s\n- swift-tox-func-ec-py37 http://logs.openstack.org/94/633094/18/check/swift-tox-func-ec-py37/b78960d/ : FAILURE in 9m 40s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/94/633094/18/check/swift-tox-func-s3api-ceph-s3tests-tempauth/5e4aeba/ : SUCCESS in 14m 28s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/94/633094/18/check/swift-probetests-centos-7/0206b0b/ : SUCCESS in 36m 47s\n- swift-dsvm-functional http://logs.openstack.org/94/633094/18/check/swift-dsvm-functional/cc98eb8/ : FAILURE in 22m 38s\n- swift-dsvm-functional-py3 http://logs.openstack.org/94/633094/18/check/swift-dsvm-functional-py3/288ef96/ : FAILURE in 23m 49s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/94/633094/18/check/swift-dsvm-functional-ipv6/356ed5e/ : FAILURE in 20m 48s\n- swift-tox-lower-constraints http://logs.openstack.org/94/633094/18/check/swift-tox-lower-constraints/cdffaef/ : SUCCESS in 17m 58s\n- openstack-tox-pep8 http://logs.openstack.org/94/633094/18/check/openstack-tox-pep8/f172d29/ : SUCCESS in 6m 32s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/94/633094/18/check/swift-multinode-rolling-upgrade/60cddc1/ : SUCCESS in 18m 35s","accounts_in_message":[],"_revision_number":18},{"id":"f9f98e87fc5f15c57107ac0f2f9ffbd8f4ed7ddd","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-01 14:28:47.000000000","message":"Patch Set 18:\n\n(2 comments)\n\nStill hoping to nail down our desired behavior before the next revision","accounts_in_message":[],"_revision_number":18},{"id":"777c4674447646b9f178f02eed4570d24083b5ef","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-01 22:22:59.000000000","message":"Patch Set 18:\n\n(4 comments)","accounts_in_message":[],"_revision_number":18},{"id":"fcd7e96dd768513b3c4f7df0ce1ca084f134efef","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-02 16:59:01.000000000","message":"Uploaded patch set 19.","accounts_in_message":[],"_revision_number":19},{"id":"3fcae8aa1bbf9281d7a4ff06e7a8c49ef73d6220","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-02 17:30:56.000000000","message":"Patch Set 19: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":19},{"id":"c1f329996ecff9d141ad13a8409e84984f98f938","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-02 18:01:21.000000000","message":"Patch Set 19: 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- openstack-tox-docs https://logs.opendev.org/94/633094/19/check/openstack-tox-docs/580cf55/html/ : SUCCESS in 4m 31s\n- grenade-py3 https://logs.opendev.org/94/633094/19/check/grenade-py3/f4356a8/ : SUCCESS in 58m 47s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/19/check/tempest-integrated-object-storage/f3950d3/ : SUCCESS in 53m 35s\n- swift-build-image https://logs.opendev.org/94/633094/19/check/swift-build-image/6ddd854/ : SUCCESS in 9m 18s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/19/check/swift-tox-py27/2facdcc/ : SUCCESS in 12m 48s\n- swift-tox-py36 https://logs.opendev.org/94/633094/19/check/swift-tox-py36/69293f8/ : SUCCESS in 11m 33s\n- swift-tox-py37 https://logs.opendev.org/94/633094/19/check/swift-tox-py37/37e108f/ : SUCCESS in 11m 13s\n- swift-tox-func https://logs.opendev.org/94/633094/19/check/swift-tox-func/0fc81f3/ : SUCCESS in 10m 29s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/19/check/swift-tox-func-encryption/dd0f55b/ : SUCCESS in 9m 25s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/19/check/swift-tox-func-domain-remap-staticweb/8dc47d3/ : SUCCESS in 9m 25s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/19/check/swift-tox-func-ec/cf20c91/ : SUCCESS in 10m 24s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/19/check/swift-tox-func-s3api/09585c7/ : SUCCESS in 12m 20s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/19/check/swift-tox-func-py37/9692243/ : SUCCESS in 9m 27s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/19/check/swift-tox-func-domain-remap-staticweb-py37/d06c415/ : SUCCESS in 8m 40s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/19/check/swift-tox-func-ec-py37/e208235/ : SUCCESS in 8m 48s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/19/check/swift-tox-func-s3api-ceph-s3tests-tempauth/3e7ec6a/ : SUCCESS in 14m 57s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/19/check/swift-probetests-centos-7/bf68d87/ : SUCCESS in 31m 40s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/19/check/swift-dsvm-functional/6437b11/ : FAILURE in 21m 44s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/19/check/swift-dsvm-functional-py3/096c8fa/ : FAILURE in 25m 04s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/19/check/swift-dsvm-functional-ipv6/02a3107/ : FAILURE in 22m 06s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/19/check/swift-tox-lower-constraints/4af4ace/ : SUCCESS in 12m 18s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/19/check/openstack-tox-pep8/e7d0e1d/ : SUCCESS in 5m 45s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/19/check/swift-multinode-rolling-upgrade/b7cb319/ : SUCCESS in 17m 59s","accounts_in_message":[],"_revision_number":19},{"id":"8a96c2da39fc088ae58fc5ab27b2758cbf32f6bf","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-02 19:05:15.000000000","message":"Uploaded patch set 20.","accounts_in_message":[],"_revision_number":20},{"id":"52ae84d07fe742f4d2b7c1223ab809adfb4882eb","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-02 19:46:35.000000000","message":"Patch Set 20: Code-Review-1\n\n(2 comments)\n\nI\u0027m still playing with this to see if there\u0027s anything we want to try and do with content-type \u0026 swift_bytes\n\n\tdiff --git a/test/unit/common/middleware/test_symlink.py b/test/unit/common/middleware/test_symlink.py\n\tindex cd40bbd7e..34feec9fc 100644\n\t--- a/test/unit/common/middleware/test_symlink.py\n\t+++ b/test/unit/common/middleware/test_symlink.py\n\t@@ -214,7 +214,8 @@ class TestSymlinkMiddleware(TestSymlinkMiddlewareBase):\n\t\t\t\t\t \u0027X-Symlink-Target-Etag\u0027: \u0027not-tgt-etag\u0027,\n\t\t\t\t     }, body\u003d\u0027\u0027)\n\t\t status, headers, body \u003d self.call_sym(req)\n\t-        self.assertEqual(status, \u0027404 Not Found\u0027)\n\t+        self.assertEqual(status, \u0027409 Conflict\u0027)\n\t+        self.assertIn(\u0027does not exist\u0027, body)\n\t \n\t     def test_symlink_put_with_prevalidated_etag(self):\n\t\t self.app.register(\u0027PUT\u0027, \u0027/v1/a/c/symlink\u0027, swob.HTTPCreated, {})","accounts_in_message":[],"_revision_number":20},{"id":"df4ac23d49633da81ce534db4f75295030ad9e1c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-02 20:17:46.000000000","message":"Patch Set 20: 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- openstack-tox-docs https://logs.opendev.org/94/633094/20/check/openstack-tox-docs/c90ccd0/html/ : SUCCESS in 3m 41s\n- grenade-py3 https://logs.opendev.org/94/633094/20/check/grenade-py3/6d321ce/ : SUCCESS in 1h 01m 25s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/20/check/tempest-integrated-object-storage/82c6f0f/ : SUCCESS in 56m 23s\n- swift-build-image https://logs.opendev.org/94/633094/20/check/swift-build-image/98a299a/ : SUCCESS in 8m 41s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/20/check/swift-tox-py27/5fde0c6/ : FAILURE in 10m 33s\n- swift-tox-py36 https://logs.opendev.org/94/633094/20/check/swift-tox-py36/1732d8d/ : FAILURE in 10m 48s\n- swift-tox-py37 https://logs.opendev.org/94/633094/20/check/swift-tox-py37/4310507/ : FAILURE in 10m 20s\n- swift-tox-func https://logs.opendev.org/94/633094/20/check/swift-tox-func/e99f8be/ : SUCCESS in 10m 00s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/20/check/swift-tox-func-encryption/d00f55d/ : SUCCESS in 9m 06s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/20/check/swift-tox-func-domain-remap-staticweb/ce7e4fa/ : SUCCESS in 8m 20s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/20/check/swift-tox-func-ec/64c5823/ : SUCCESS in 9m 19s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/20/check/swift-tox-func-s3api/4648e36/ : SUCCESS in 13m 43s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/20/check/swift-tox-func-py37/89b0769/ : SUCCESS in 10m 28s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/20/check/swift-tox-func-domain-remap-staticweb-py37/7334e02/ : SUCCESS in 7m 38s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/20/check/swift-tox-func-ec-py37/469c985/ : SUCCESS in 9m 07s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/20/check/swift-tox-func-s3api-ceph-s3tests-tempauth/84f7d45/ : SUCCESS in 15m 29s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/20/check/swift-probetests-centos-7/d25bd94/ : SUCCESS in 32m 10s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/20/check/swift-dsvm-functional/90bd498/ : SUCCESS in 29m 27s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/20/check/swift-dsvm-functional-py3/942fde2/ : SUCCESS in 28m 24s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/20/check/swift-dsvm-functional-ipv6/af52d22/ : SUCCESS in 28m 11s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/20/check/swift-tox-lower-constraints/b229ddb/ : FAILURE in 12m 11s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/20/check/openstack-tox-pep8/1344280/ : SUCCESS in 5m 41s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/20/check/swift-multinode-rolling-upgrade/9dd6a4a/ : SUCCESS in 15m 49s","accounts_in_message":[],"_revision_number":20},{"id":"b79d0516ab071fd109fbe44e50eb01dca638d9ea","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-02 20:46:37.000000000","message":"Uploaded patch set 21.","accounts_in_message":[],"_revision_number":21},{"id":"0b1a5213fbb500d0c6a4dba7eac0db445ed20b2e","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-02 20:55:05.000000000","message":"Patch Set 21: Code-Review-1\n\nfor some reason when I run just the SloSymlink tests I get an error:\n\n\t$ nosetests swift/test/functional/test_symlink.py:TestSymlinkSlo\n\tE.E..E.\n\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\tERROR: test_hardlink_target_slo_manifest (test.functional.test_symlink.TestSymlinkSlo)\n\t----------------------------------------------------------------------\n\tTraceback (most recent call last):\n\t  File \"/home/vagrant/swift/test/functional/test_symlink.py\", line 1481, in test_hardlink_target_slo_manifest\n\t    tf.parsed[0].path.split(\u0027/\u0027, 2)[2],\n\tAttributeError: \u0027NoneType\u0027 object has no attribute \u0027path\u0027\n\nUsing self.env.container.conn.storage_path.rsplit(\u0027/\u0027, 1)[-1] worked better...\n\nI believe the justification for container servers to overwrite the bytes field in listings and throw away the manifest size is because something like \"no one cares\"\n\nEven though it\u0027s obvious to me that having a separate key for \"slo_size\" w/o information loss would have been better - it\u0027s less clear if hardlinks to manifests should track\n\n1) their size\n2) the size of the target\n3) the size of the thing the target references\n\nWe have to track #1 in the bytes field for account stats reporting, #3 was deemed the most-useful piece of information and versioned writes and s3api need to carry the SLO size value forward for listings\n\nI have a diff that drops swift_bytes/content-type handling for SLOs in favor of just writing the symlink_bytes down as the slo-size - I\u0027m going to rebase versioned writes on it and consider the implications","accounts_in_message":[],"_revision_number":21},{"id":"a1166cc82deb31144b8562a42ef15ca859203ee4","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-02 21:18:33.000000000","message":"Patch Set 21:\n\nI thought *you* were the one saying symlink_bytes should go with the symlink_etag ;-)\n\nMeanwhile, I\u0027m starting to debate about going all-in on the content-type mangling -- what if we *just* did that, with no symlink_bytes listing key at all? Then we let the symlink_path be the indication to clients that those bytes aren\u0027t \"real\"...","accounts_in_message":[],"_revision_number":21},{"id":"8fb5dd5228917c417262ad5c04dfa5ac430009d8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-02 21:45:44.000000000","message":"Patch Set 21: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://logs.opendev.org/94/633094/21/check/openstack-tox-docs/c67df6a/html/ : SUCCESS in 4m 10s\n- grenade-py3 https://logs.opendev.org/94/633094/21/check/grenade-py3/e2441ca/ : SUCCESS in 57m 19s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/21/check/tempest-integrated-object-storage/853cd01/ : SUCCESS in 48m 17s\n- swift-build-image https://logs.opendev.org/94/633094/21/check/swift-build-image/2610045/ : SUCCESS in 7m 59s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/21/check/swift-tox-py27/6244341/ : SUCCESS in 13m 35s\n- swift-tox-py36 https://logs.opendev.org/94/633094/21/check/swift-tox-py36/9873d24/ : SUCCESS in 13m 00s\n- swift-tox-py37 https://logs.opendev.org/94/633094/21/check/swift-tox-py37/6253b29/ : SUCCESS in 13m 11s\n- swift-tox-func https://logs.opendev.org/94/633094/21/check/swift-tox-func/31b674b/ : SUCCESS in 11m 06s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/21/check/swift-tox-func-encryption/e5fa42c/ : SUCCESS in 11m 12s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/21/check/swift-tox-func-domain-remap-staticweb/b270464/ : SUCCESS in 10m 41s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/21/check/swift-tox-func-ec/59c7a58/ : SUCCESS in 11m 42s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/21/check/swift-tox-func-s3api/9660b7e/ : SUCCESS in 15m 42s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/21/check/swift-tox-func-py37/7fd0e56/ : SUCCESS in 11m 08s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/21/check/swift-tox-func-domain-remap-staticweb-py37/5e7501c/ : SUCCESS in 7m 37s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/21/check/swift-tox-func-ec-py37/5a880a1/ : SUCCESS in 7m 42s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/21/check/swift-tox-func-s3api-ceph-s3tests-tempauth/b0b769d/ : SUCCESS in 12m 15s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/21/check/swift-probetests-centos-7/ec18407/ : SUCCESS in 34m 03s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/21/check/swift-dsvm-functional/7bdcbf6/ : SUCCESS in 27m 47s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/21/check/swift-dsvm-functional-py3/fe01a49/ : SUCCESS in 28m 35s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/21/check/swift-dsvm-functional-ipv6/eab8a3e/ : SUCCESS in 26m 19s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/21/check/swift-tox-lower-constraints/0493840/ : SUCCESS in 14m 01s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/21/check/openstack-tox-pep8/c58fedd/ : SUCCESS in 5m 14s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/21/check/swift-multinode-rolling-upgrade/96fa9a0/ : SUCCESS in 18m 56s","accounts_in_message":[],"_revision_number":21},{"id":"7cb84b9956c84ec96555f90f78964af12f996006","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-02 22:31:56.000000000","message":"Uploaded patch set 22.","accounts_in_message":[],"_revision_number":22},{"id":"d26c73962383108fc1c7c1274aa2c9dd640f0061","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-02 22:54:41.000000000","message":"Patch Set 22:\n\n(2 comments)\n\nShould we have any sort of a note about SLOs created before https://github.com/openstack/swift/commit/2d25fe6 ? Legacy data\u0027s such a headache...","accounts_in_message":[],"_revision_number":22},{"id":"cc66dbf79352f2ee136d22fe79e4271218e33a75","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-02 23:33:13.000000000","message":"Patch Set 22: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://logs.opendev.org/94/633094/22/check/openstack-tox-docs/249de44/html/ : SUCCESS in 4m 10s\n- grenade-py3 https://logs.opendev.org/94/633094/22/check/grenade-py3/9e382c8/ : SUCCESS in 49m 30s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/22/check/tempest-integrated-object-storage/8834276/ : SUCCESS in 48m 07s\n- swift-build-image https://logs.opendev.org/94/633094/22/check/swift-build-image/b22766d/ : SUCCESS in 9m 22s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/22/check/swift-tox-py27/6c94e92/ : SUCCESS in 14m 35s\n- swift-tox-py36 https://logs.opendev.org/94/633094/22/check/swift-tox-py36/afaca83/ : SUCCESS in 17m 13s\n- swift-tox-py37 https://logs.opendev.org/94/633094/22/check/swift-tox-py37/fe318bd/ : SUCCESS in 24m 45s\n- swift-tox-func https://logs.opendev.org/94/633094/22/check/swift-tox-func/a56bbc0/ : SUCCESS in 13m 34s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/22/check/swift-tox-func-encryption/291f915/ : SUCCESS in 24m 55s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/22/check/swift-tox-func-domain-remap-staticweb/4573a9c/ : SUCCESS in 10m 30s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/22/check/swift-tox-func-ec/aff7946/ : SUCCESS in 10m 29s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/22/check/swift-tox-func-s3api/fa74922/ : SUCCESS in 28m 01s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/22/check/swift-tox-func-py37/99209fb/ : SUCCESS in 11m 26s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/22/check/swift-tox-func-domain-remap-staticweb-py37/dd8eea2/ : SUCCESS in 12m 19s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/22/check/swift-tox-func-ec-py37/a79ff07/ : SUCCESS in 19m 00s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/22/check/swift-tox-func-s3api-ceph-s3tests-tempauth/cffd5a4/ : SUCCESS in 20m 18s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/22/check/swift-probetests-centos-7/39988b6/ : SUCCESS in 39m 48s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/22/check/swift-dsvm-functional/3f7be23/ : SUCCESS in 32m 55s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/22/check/swift-dsvm-functional-py3/26ecb61/ : SUCCESS in 29m 02s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/22/check/swift-dsvm-functional-ipv6/a0c24d3/ : SUCCESS in 35m 40s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/22/check/swift-tox-lower-constraints/b5ee67f/ : SUCCESS in 12m 33s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/22/check/openstack-tox-pep8/aeab332/ : SUCCESS in 6m 20s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/22/check/swift-multinode-rolling-upgrade/edc1869/ : SUCCESS in 16m 41s","accounts_in_message":[],"_revision_number":22},{"id":"5e6b3fe5507118c0fe1a46f98926309812775112","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-05 14:22:04.000000000","message":"Patch Set 22:\n\n(5 comments)","accounts_in_message":[],"_revision_number":22},{"id":"ed7abcefa7c729a9194653d1206c5dac892a96ab","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-05 19:37:22.000000000","message":"Patch Set 22:\n\n(10 comments)\n\nThanks for all the feedback, I think I\u0027ll have a couple of things cleaned up for the next revision.\n\nI\u0027m not entirely sure what to do about legacy SLOs that are missing some of the expected sysmeta tho - that\u0027s a real mess!","accounts_in_message":[],"_revision_number":22},{"id":"65f75adfa56ef614da0ed45f1bda415c53821c1a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-05 21:41:42.000000000","message":"Uploaded patch set 23.","accounts_in_message":[],"_revision_number":23},{"id":"ae795e1061a4d6006553e7e3f00f9890a50a6c4c","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-05 21:45:57.000000000","message":"Patch Set 23: Workflow-1\n\n(1 comment)\n\nI think we may be overreaching what we hope to get out of hardlinks and might need to back off - but it\u0027d be nice to have some agreement before rolling back","accounts_in_message":[],"_revision_number":23},{"id":"dc54259965f81e0b908231594a24ce2b0f530328","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-05 22:50:09.000000000","message":"Patch Set 23: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://logs.opendev.org/94/633094/23/check/openstack-tox-docs/e8eb8e5/html/ : SUCCESS in 4m 43s\n- grenade-py3 https://logs.opendev.org/94/633094/23/check/grenade-py3/1d0b8f4/ : SUCCESS in 1h 02m 12s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/23/check/tempest-integrated-object-storage/b89fca4/ : SUCCESS in 1h 00m 11s\n- swift-build-image https://logs.opendev.org/94/633094/23/check/swift-build-image/4d3dd91/ : SUCCESS in 13m 52s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/23/check/swift-tox-py27/516692f/ : SUCCESS in 11m 27s\n- swift-tox-py36 https://logs.opendev.org/94/633094/23/check/swift-tox-py36/4ff0a5d/ : SUCCESS in 14m 11s\n- swift-tox-py37 https://logs.opendev.org/94/633094/23/check/swift-tox-py37/84b4de0/ : SUCCESS in 13m 23s\n- swift-tox-func https://logs.opendev.org/94/633094/23/check/swift-tox-func/59faf14/ : SUCCESS in 7m 52s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/23/check/swift-tox-func-encryption/c243ea9/ : SUCCESS in 9m 25s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/23/check/swift-tox-func-domain-remap-staticweb/5c0914a/ : SUCCESS in 9m 18s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/23/check/swift-tox-func-ec/4df1c10/ : SUCCESS in 9m 18s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/23/check/swift-tox-func-s3api/d5697d2/ : SUCCESS in 11m 55s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/23/check/swift-tox-func-py37/167678c/ : SUCCESS in 11m 13s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/23/check/swift-tox-func-domain-remap-staticweb-py37/56ea7b6/ : SUCCESS in 8m 12s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/23/check/swift-tox-func-ec-py37/7620fc3/ : SUCCESS in 8m 27s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/23/check/swift-tox-func-s3api-ceph-s3tests-tempauth/b6749b6/ : SUCCESS in 13m 31s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/23/check/swift-probetests-centos-7/4604525/ : SUCCESS in 29m 37s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/23/check/swift-dsvm-functional/44a04d3/ : SUCCESS in 29m 37s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/23/check/swift-dsvm-functional-py3/010da85/ : SUCCESS in 30m 38s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/23/check/swift-dsvm-functional-ipv6/5124d93/ : SUCCESS in 31m 27s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/23/check/swift-tox-lower-constraints/e621c45/ : SUCCESS in 12m 12s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/23/check/openstack-tox-pep8/aee3c8a/ : SUCCESS in 6m 03s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/23/check/swift-multinode-rolling-upgrade/67db425/ : SUCCESS in 17m 29s","accounts_in_message":[],"_revision_number":23},{"id":"fa32387fd3b875733de1523bf74c88307fd318d6","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-07 21:20:02.000000000","message":"Uploaded patch set 24.","accounts_in_message":[],"_revision_number":24},{"id":"9110763c883d5938aa562997defe423486a696ba","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-07 22:28:26.000000000","message":"Patch Set 24: 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- openstack-tox-docs https://logs.opendev.org/94/633094/24/check/openstack-tox-docs/c3d0380/html/ : SUCCESS in 5m 18s\n- grenade-py3 https://logs.opendev.org/94/633094/24/check/grenade-py3/1603e76/ : SUCCESS in 1h 01m 56s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/24/check/tempest-integrated-object-storage/4987e97/ : SUCCESS in 49m 03s\n- swift-build-image https://logs.opendev.org/94/633094/24/check/swift-build-image/1a28547/ : SUCCESS in 9m 49s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/24/check/swift-tox-py27/aa44d10/ : SUCCESS in 11m 11s\n- swift-tox-py36 https://logs.opendev.org/94/633094/24/check/swift-tox-py36/20ff468/ : SUCCESS in 11m 48s\n- swift-tox-py37 https://logs.opendev.org/94/633094/24/check/swift-tox-py37/96aa4c2/ : SUCCESS in 11m 48s\n- swift-tox-func https://logs.opendev.org/94/633094/24/check/swift-tox-func/733bc51/ : SUCCESS in 10m 00s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/24/check/swift-tox-func-encryption/4846b58/ : POST_FAILURE in 10m 03s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/24/check/swift-tox-func-domain-remap-staticweb/df0d046/ : SUCCESS in 9m 44s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/24/check/swift-tox-func-ec/0ae8684/ : SUCCESS in 10m 34s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/24/check/swift-tox-func-s3api/293b614/ : SUCCESS in 15m 34s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/24/check/swift-tox-func-py37/dc46c20/ : SUCCESS in 15m 37s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/24/check/swift-tox-func-domain-remap-staticweb-py37/3121b8d/ : SUCCESS in 12m 56s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/24/check/swift-tox-func-ec-py37/acf9e24/ : SUCCESS in 13m 58s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/24/check/swift-tox-func-s3api-ceph-s3tests-tempauth/cd31d27/ : SUCCESS in 14m 34s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/24/check/swift-probetests-centos-7/93a36cb/ : SUCCESS in 31m 54s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/24/check/swift-dsvm-functional/82cb53a/ : SUCCESS in 30m 35s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/24/check/swift-dsvm-functional-py3/077c092/ : SUCCESS in 31m 50s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/24/check/swift-dsvm-functional-ipv6/a1dbf51/ : SUCCESS in 32m 49s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/24/check/swift-tox-lower-constraints/fedaa12/ : SUCCESS in 11m 52s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/24/check/openstack-tox-pep8/5b4b0d3/ : SUCCESS in 5m 47s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/24/check/swift-multinode-rolling-upgrade/fbdfefc/ : SUCCESS in 20m 50s","accounts_in_message":[],"_revision_number":24},{"id":"9de3fb75aa7c99a41a76322cf290b14cd579e11e","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-08 07:17:59.000000000","message":"Patch Set 24: Code-Review-1\n\n(5 comments)\n\nI\u0027ve had a read through the docs and a first pass of the code. Next some testing.","accounts_in_message":[],"_revision_number":24},{"id":"c0d1f8851fc4d51666cee55d3b177b30ba697a0a","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-08 16:49:23.000000000","message":"Patch Set 24: Workflow-1\n\n(4 comments)\n\nWould anyone be against just calling a spade a spade and naming Symlinks and Hardlinks (i.e. symlinks w/ X-Symlink-Target-Etag header) different (but very similar) things?\n\nI think it would clarify the docs some...","accounts_in_message":[],"_revision_number":24},{"id":"71d22bb58a502b0cd3c9b653db31980ac8ca3b1c","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-09 16:43:38.000000000","message":"Uploaded patch set 25.","accounts_in_message":[],"_revision_number":25},{"id":"cc904ad109c22663f531e981f4b583060a418190","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-09 22:13:02.000000000","message":"Patch Set 25: Code-Review+1\n\n(13 comments)\n\nI still need to read through the new docs and think about all the func tests. But I think I\u0027m happy?\n\nI oughta check that the validation on PUT can\u0027t be used to probe for whether objects of a certain name exist in other accounts, though...","accounts_in_message":[],"_revision_number":25},{"id":"0f8c8e3720675e39e90f784bc6fbe7a2139b0f94","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-09 23:34:26.000000000","message":"Patch Set 25: 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- openstack-tox-docs https://logs.opendev.org/94/633094/25/check/openstack-tox-docs/123c61a/html/ : SUCCESS in 4m 49s\n- grenade-py3 https://logs.opendev.org/94/633094/25/check/grenade-py3/775c021/ : SUCCESS in 1h 03m 27s\n- tempest-integrated-object-storage https://logs.opendev.org/94/633094/25/check/tempest-integrated-object-storage/6dc3542/ : SUCCESS in 54m 40s\n- swift-build-image https://logs.opendev.org/94/633094/25/check/swift-build-image/287f974/ : SUCCESS in 9m 56s (non-voting)\n- swift-tox-py27 https://logs.opendev.org/94/633094/25/check/swift-tox-py27/95b8c24/ : SUCCESS in 11m 27s\n- swift-tox-py36 https://logs.opendev.org/94/633094/25/check/swift-tox-py36/47dbeee/ : SUCCESS in 10m 28s\n- swift-tox-py37 https://logs.opendev.org/94/633094/25/check/swift-tox-py37/ab8fabe/ : SUCCESS in 15m 39s\n- swift-tox-func https://logs.opendev.org/94/633094/25/check/swift-tox-func/308a477/ : SUCCESS in 12m 34s\n- swift-tox-func-encryption https://logs.opendev.org/94/633094/25/check/swift-tox-func-encryption/4e07f74/ : SUCCESS in 12m 43s\n- swift-tox-func-domain-remap-staticweb https://logs.opendev.org/94/633094/25/check/swift-tox-func-domain-remap-staticweb/5b8b565/ : SUCCESS in 12m 57s\n- swift-tox-func-ec https://logs.opendev.org/94/633094/25/check/swift-tox-func-ec/c5f840b/ : SUCCESS in 11m 14s\n- swift-tox-func-s3api https://logs.opendev.org/94/633094/25/check/swift-tox-func-s3api/c44bfa1/ : SUCCESS in 16m 04s\n- swift-tox-func-py37 https://logs.opendev.org/94/633094/25/check/swift-tox-func-py37/0c6db7b/ : SUCCESS in 14m 57s\n- swift-tox-func-encryption-py37 https://logs.opendev.org/94/633094/25/check/swift-tox-func-encryption-py37/bd63e59/ : SUCCESS in 9m 38s\n- swift-tox-func-domain-remap-staticweb-py37 https://logs.opendev.org/94/633094/25/check/swift-tox-func-domain-remap-staticweb-py37/b938ace/ : SUCCESS in 9m 20s\n- swift-tox-func-ec-py37 https://logs.opendev.org/94/633094/25/check/swift-tox-func-ec-py37/4cad6a6/ : SUCCESS in 8m 15s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://logs.opendev.org/94/633094/25/check/swift-tox-func-s3api-ceph-s3tests-tempauth/b79b322/ : SUCCESS in 18m 55s (non-voting)\n- swift-probetests-centos-7 https://logs.opendev.org/94/633094/25/check/swift-probetests-centos-7/c8c8326/ : FAILURE in 30m 54s\n- swift-dsvm-functional https://logs.opendev.org/94/633094/25/check/swift-dsvm-functional/1497830/ : SUCCESS in 31m 00s\n- swift-dsvm-functional-py3 https://logs.opendev.org/94/633094/25/check/swift-dsvm-functional-py3/24a06ca/ : SUCCESS in 28m 12s\n- swift-dsvm-functional-ipv6 https://logs.opendev.org/94/633094/25/check/swift-dsvm-functional-ipv6/681737b/ : SUCCESS in 28m 01s\n- swift-tox-lower-constraints https://logs.opendev.org/94/633094/25/check/swift-tox-lower-constraints/bf1494b/ : SUCCESS in 15m 01s\n- openstack-tox-pep8 https://logs.opendev.org/94/633094/25/check/openstack-tox-pep8/b37e4c7/ : SUCCESS in 9m 11s\n- swift-multinode-rolling-upgrade https://logs.opendev.org/94/633094/25/check/swift-multinode-rolling-upgrade/17c82da/ : SUCCESS in 17m 15s","accounts_in_message":[],"_revision_number":25},{"id":"0eb97d129749b357beb630016090af15f52ac95f","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-10 00:05:32.000000000","message":"Patch Set 25:\n\n(14 comments)\n\nrecheck\n\nThere\u0027s a bunch of general clean-up here that could be addressed in a follow-up.","accounts_in_message":[],"_revision_number":25},{"id":"2063c2d7a35046494d43ff6e79cfa3a827e436b7","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-12 13:04:04.000000000","message":"Patch Set 25:\n\nrecheck","accounts_in_message":[],"_revision_number":25},{"id":"7b829ecaef841056e3425c19307a809daff23452","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-12 15:48:04.000000000","message":"Patch Set 25: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5c32a6313ee54839a4373fb6f6b324b3 : SUCCESS in 4m 21s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/618030ae9e16406c8d084463941b7ac1 : SUCCESS in 1h 07m 58s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/e5aab5670efb4f37ba0bedee7ef9b472 : SUCCESS in 47m 17s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5c49204aa3fd41508ca6b78ce131b901 : SUCCESS in 10m 38s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/18a2bed6e4b146abb7e9f31fcafbd9d0 : SUCCESS in 13m 49s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/a2eb866b806944bd9e502611afa56cc4 : SUCCESS in 12m 50s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5dc4e674f8af4389809c8eb7e3081b6e : SUCCESS in 15m 01s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/20ffeee523e74bda8d2ad102f3c7f6ce : SUCCESS in 10m 53s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/55c1909f1d5d4ee3b66ba6a7f590a557 : SUCCESS in 11m 52s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/11f5a9e4e2a8432d843556cdb49f2f8a : SUCCESS in 10m 44s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/d3cf4d7863124d149a54a2a380c8229b : SUCCESS in 12m 08s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/ac11c387b65849729f135d7d6b61a007 : SUCCESS in 12m 20s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/64bc5491aa2e4b50a34905f3f7df94f9 : SUCCESS in 14m 24s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/c8ecd8e843064053a772fad12204b5d2 : SUCCESS in 11m 27s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/51ca65f88b514e01b9123bd6ffc64502 : SUCCESS in 12m 40s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/8ca76eea987a4f6091f0f29c891aef68 : SUCCESS in 12m 22s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b353d6e89ad449d4af9e3e37b0af68ca : SUCCESS in 11m 57s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/887e738a2b38438493ab99fe7196b173 : SUCCESS in 46m 07s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/471b58f0828b4f55bab1319abeed7624 : SUCCESS in 44m 34s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/12e129392bb1426a8c9234bdad3eef21 : SUCCESS in 40m 11s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5ba12c620b394acca89a334b88e4fbae : SUCCESS in 27m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0e50345cb71348b3b18b85bee5cc1394 : SUCCESS in 14m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b58e0132770045499f63f16b0d7aec00 : SUCCESS in 6m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0fed39c80ae74912a852d1e6a3ace1ae : SUCCESS in 24m 35s","accounts_in_message":[],"_revision_number":25},{"id":"5f78fc880e2de0aa4b7394193756987c5cfd1d77","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-12 16:50:49.000000000","message":"Patch Set 25:\n\n(4 comments)\n\n@Clay, patch looks good and I think it is ready to go, my comments are really just nit picks to clean up a bit, but it\u0027s mostly subjective changes.","accounts_in_message":[],"_revision_number":25},{"id":"27ba1b4a29b501a4957ea8b8ea570a4735b38ad9","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-12 18:30:15.000000000","message":"Patch Set 25:\n\n(29 comments)\n\nok, I have a good diff going and a half-a-page of todo\n\nI\u0027ll have a new rev up after a bit","accounts_in_message":[],"_revision_number":25},{"id":"823a1a36557c650b8f50ff47a825f08a4fdbdf69","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-12 23:03:17.000000000","message":"Uploaded patch set 26.","accounts_in_message":[],"_revision_number":26},{"id":"697c538a8d1a34c974e866590331ff675efaea36","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-12 23:06:10.000000000","message":"Patch Set 26:\n\nI think besides the branch name there\u0027s no more references to hardlinks!  Static Symlinks FTW!\n\nI think I mostly addressed all the comments, there was a little bit of churn - hopefully I didn\u0027t break anything!\n\nOne unaddressed comment was Tim\u0027s very good idea to throw something in /info - I\u0027m going to do that as follow-up incase we need to waffle on the name a bit or catch any other features that deserve similar treatment.  Look for that tomorrow after I get the symlink_versions functests passing with use_symlinks \u003d True/False","accounts_in_message":[],"_revision_number":26},{"id":"3a78feae615201aa9be2a0c92c79adaf7cdcfb3d","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-13 00:07:36.000000000","message":"Patch Set 26: 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- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6381b949cb6442e5a9133ba8f54e7508 : SUCCESS in 3m 54s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/b5bdca2ddb6c4cd2a2f72deaca00320c : SUCCESS in 58m 24s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ed04fdfff9874ee1a48f09a919242453 : SUCCESS in 54m 55s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e348ec6e56364f699679e452953042e0 : SUCCESS in 8m 09s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/a2d960a943e84df383dd1e972edbbeb5 : SUCCESS in 11m 52s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/58c05e3c3f6c462da555d51b4835b309 : FAILURE in 10m 04s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e8dd1168baba406d9e544239f292ad5e : FAILURE in 11m 29s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/12b8e30bc3be402980faa30ba91bc393 : FAILURE in 8m 55s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/1be5ddc03c0f4a7d9fe053635258e81a : FAILURE in 10m 00s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/3e0e1734cd494728b4f51aabbf0d831a : FAILURE in 9m 03s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/3c617d88a3ce41a99089c614962f78b1 : FAILURE in 10m 21s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/05f8951e79e64abcae2c62356a6f7b79 : FAILURE in 11m 28s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/3cafb36f24b14665b92f050269bb2118 : FAILURE in 9m 42s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/3e7cd9f108224af78dcea57f6742fab3 : FAILURE in 8m 39s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/dd1affa413084554a424990faa085aab : FAILURE in 8m 02s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/ab95d635bde7478c9b443141e0ef64a3 : FAILURE in 8m 23s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/dc65719b6546412dbc68e238ba0160c1 : SUCCESS in 12m 49s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/6704f60399754499b58ab66be6c60467 : SUCCESS in 32m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/04e07701ea854a7485d8e62ae197ca52 : FAILURE in 22m 48s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/7cfb790971714e968b4533f5ebe29776 : FAILURE in 21m 55s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7ce4e7e2762c4ed396f7caae5b485617 : FAILURE in 23m 37s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/588b0535ee394b02afc372eaa0b012ba : SUCCESS in 10m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f479cfbc435d4e3b99a39b51374f9fa3 : SUCCESS in 5m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a87d6fc7d4354f64b91f5affe4bba858 : SUCCESS in 16m 58s","accounts_in_message":[],"_revision_number":26},{"id":"d1130aca6623393f4b7761dfc04d2b4b41abd7d8","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-13 18:04:20.000000000","message":"Patch Set 26: Workflow-1\n\ngah, quite a few issues here - not sure I got \u0027em all","accounts_in_message":[],"_revision_number":26},{"id":"36a1d507de89b70ff3994f45039112be33580afb","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-13 18:04:41.000000000","message":"Uploaded patch set 27.","accounts_in_message":[],"_revision_number":27},{"id":"9c522d214a0bc083fbe21aee00127ddf1a4d93e1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-13 20:14:13.000000000","message":"Patch Set 27: 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- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9245fabc99b14c75a854275a7d2c1a54 : SUCCESS in 4m 18s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/81967c19ed7d45fe807f3738b74c0874 : SUCCESS in 1h 11m 55s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f0381ac64d2e4654af3575d4ff4abd3c : SUCCESS in 58m 58s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7ffd1963bed5442f91ed02fdb99eef9a : SUCCESS in 8m 18s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/30772a0093a7487e868e4ce788a16604 : SUCCESS in 13m 59s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/cb9a1e15393443e186f909aa4957fde8 : SUCCESS in 11m 05s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/eb3e9b8010054b058a9b80d1ae3ce569 : SUCCESS in 13m 04s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/53cecfebc1124419bcad563d303f7fe0 : SUCCESS in 7m 56s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/36fce8f0403248149a80bb9641910d8e : SUCCESS in 9m 23s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/66641337a11f40809a8f19f82003b7f2 : SUCCESS in 12m 20s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/bb68908968aa43e3b2650c31e0d2ef90 : SUCCESS in 9m 40s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/a4ea0e78937a409c82f88a0895f213d6 : SUCCESS in 12m 48s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/34f000d2d6f946dca092e1012977f664 : SUCCESS in 13m 15s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/28009ad0ed7147849619bc479c947a3c : SUCCESS in 11m 13s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/50fe4cd0cfd94ce494a5723008184680 : SUCCESS in 9m 03s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/00a28022322b40f78c187ecc36c20732 : SUCCESS in 10m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/fbab887e9f174f3d87cf7d5b45d3abae : SUCCESS in 20m 14s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/6538a59f153b4356a0a77155b40932b1 : FAILURE in 36m 35s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5c4bbdba9d834dff9cb7aadbfc4982f9 : SUCCESS in 32m 57s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/d1efee4c1b2a4e8293e58a3450781694 : SUCCESS in 34m 19s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/3a8b6257c4be4f29bf04d2762fe47d55 : SUCCESS in 24m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/72e55f9bbe774e31a77df90b0e82edf6 : SUCCESS in 11m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7de9bd4519934801867524d74b85d44a : SUCCESS in 6m 11s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3a25419b32a042f38ba98f329497e7e3 : SUCCESS in 16m 46s","accounts_in_message":[],"_revision_number":27},{"id":"683294984f9dcc2da2210e729971c7909b6cb5b7","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-14 07:23:35.000000000","message":"Patch Set 27:\n\nrecheck","accounts_in_message":[],"_revision_number":27},{"id":"292758fa7f3372c627f414195ccbb7c0a4f2be02","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-14 07:24:05.000000000","message":"Patch Set 26:\n\n(1 comment)","accounts_in_message":[],"_revision_number":26},{"id":"8dc7e9084c517b20ab7b73754c0b41afad00fe42","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-14 08:43:32.000000000","message":"Patch Set 27: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8d65e8ecd55d431ab40a5e73a7bfd52c : SUCCESS in 6m 00s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/0020404b31c34015ab559f1fe6a86f08 : SUCCESS in 1h 04m 27s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f22dfb7fe9d640a79bfc945e7c856410 : SUCCESS in 58m 25s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d9307dacbc1d4f2595db029eb7b2e5b9 : SUCCESS in 8m 37s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/cf7f9c2a0b4e46ee807dd5eb1f0ab3a1 : SUCCESS in 15m 24s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/3e0f11aaabb848bdbd56730e67c876b0 : SUCCESS in 11m 20s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4371dbdfe983468e9d75adba69e2f6a2 : SUCCESS in 11m 08s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/88ca63367f2d4927ab889296f5e06a60 : SUCCESS in 9m 25s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/57fa14cf927048bc9d8aec9a896532d4 : SUCCESS in 8m 32s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/c2c98ced39b64af3845d4667ff3535ae : SUCCESS in 8m 58s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/cddb26c50d3f4b938aa192381cabfc69 : SUCCESS in 9m 18s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/d31e100ef4214f11ba9531264c642cea : SUCCESS in 16m 10s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/a00b7cc7701b4adc80ca44fa29e3d032 : SUCCESS in 12m 51s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/8b10920a12014ef29f601488ebad4873 : SUCCESS in 9m 10s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/a3b9063892914bce8a0c7727597f1d4c : SUCCESS in 8m 33s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/5f991cdb1457492498dceac2fab08365 : SUCCESS in 8m 14s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/13eeb09f00e54316b0ed4902e369bb1a : SUCCESS in 13m 39s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/02e90f25634247e39d94d63866a601c0 : SUCCESS in 37m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f53e6c81a38e466ebfc7281e83cbc405 : SUCCESS in 30m 34s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/03880f8e8f0449dea5a74bbc2bbf2db3 : SUCCESS in 31m 26s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b98e658672a74189a29d46011f5e2efd : SUCCESS in 32m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e32e820ba2584328a7f37edf6e4413fd : SUCCESS in 11m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6edd4b8290a849eda29f8d7b075e09e2 : SUCCESS in 5m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0bcadd9fdc674154a775dd2e846ab08a : SUCCESS in 17m 07s","accounts_in_message":[],"_revision_number":27},{"id":"512eb9cf8c4d5887dc81f3d09a9968a433e91ad2","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-14 10:12:09.000000000","message":"Patch Set 27: Code-Review+1\n\n(1 comment)\n\nI think this is good to go, just waiting on the /info topic.","accounts_in_message":[],"_revision_number":27},{"id":"84ca26eb8a43fce8d7da95e38bcc1ed7354a2a6d","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-08-15 07:14:28.000000000","message":"Patch Set 27: Code-Review+1\n\n(2 comments)\n\nOK, I\u0027ve reviewed the latest code. and even ran some tests on my SAIO. I really like it.\n\nI do like Thiago\u0027s /info suggestion. So once that\u0027s in I\u0027m happy to give it my +2.","accounts_in_message":[],"_revision_number":27},{"id":"652d0a9afb02bfaedbfd395f6e878569c7571616","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-15 20:23:04.000000000","message":"Uploaded patch set 28: Patch Set 27 was rebased.","accounts_in_message":[],"_revision_number":28},{"id":"231f23fd1904b5334a3c48cdecf8d781a7f31f4f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-15 21:32:49.000000000","message":"Patch Set 28: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fe72b085968f45f290c15750a7f468fc : SUCCESS in 6m 01s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/09b399363f8c49b2b2566679fa1a7e00 : SUCCESS in 1h 04m 32s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9260e21bad3048e39aeb08033fce4356 : SUCCESS in 55m 23s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/af9c6001b615492abe2e70ac0784a910 : SUCCESS in 11m 27s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/d9e5ae944d314b4f89de7832e8c1fc34 : SUCCESS in 13m 13s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/2a6459caf7d741c5837e50755202ac93 : SUCCESS in 11m 56s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8837f539bb1b427f812746a57c52e573 : SUCCESS in 16m 11s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/2d083bf3d30d4c0f9d5d97a82e044d2e : SUCCESS in 10m 55s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/d2a8dbef8a4d405bba02f47494874d64 : SUCCESS in 15m 50s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/7a80abd1ff4040dca162b6dc64fefcff : SUCCESS in 11m 20s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/e39e877ac19a4e77ac121a0c06d46600 : SUCCESS in 13m 25s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/05953829b5f146d8b8304f541057c0a8 : SUCCESS in 16m 48s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/a02c9026d0c84dd4a1113de462b7c1bc : SUCCESS in 13m 00s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/df19b328843745038bf80743763f3cea : SUCCESS in 15m 57s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/d9a3ff005fcf4f86a231df6d1b16d27a : SUCCESS in 14m 52s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/73bd4abc70e24a1299bdf618b04ffb41 : SUCCESS in 13m 10s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/5ed934db0c914e42b7ebe59395474840 : SUCCESS in 17m 55s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7d33912d31854e1e86b444b423d49b78 : SUCCESS in 19m 57s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/1ebf7676083d400bbe9e734aa0056772 : SUCCESS in 35m 41s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2b352ca5a1e24668bb1ae427d8c0ae59 : SUCCESS in 34m 59s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/11c35fd359454950acadc230bb1641f3 : SUCCESS in 33m 10s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a2884372373c40ceb189c7dea00123e7 : SUCCESS in 29m 15s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/37a219f9171d489e9ac1c39a44ff3beb : SUCCESS in 13m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4b56437937284212962b816b79b9f7be : SUCCESS in 6m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a49cf9794e004639982a82683dab4893 : SUCCESS in 21m 26s","accounts_in_message":[],"_revision_number":28},{"id":"3fcd5911329cfaef5f9b671e99ba65e2fba05059","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-16 16:22:46.000000000","message":"Uploaded patch set 29.","accounts_in_message":[],"_revision_number":29},{"id":"5fba3c75affc7401e05933cf8a6cb5a21c216105","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 17:36:13.000000000","message":"Patch Set 29: 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- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aa4b26fb58e3474886c0b07f2c900d78 : SUCCESS in 5m 27s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/85f942e1b313419c8888000c98517c88 : SUCCESS in 1h 09m 25s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c3e98fd7f2f340559917c5b826c41470 : SUCCESS in 48m 24s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/19a99f01819d4e4489bdca6a74ef7cd6 : SUCCESS in 8m 56s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/23bfb7050a014ea58de98c559aef3b15 : SUCCESS in 12m 27s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/898e410ca36e4113be1fd5f8ce74d52e : SUCCESS in 12m 16s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a03fc18ce8274ca79979262f2ec3adbb : SUCCESS in 12m 57s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/d5710122158e402f802f5f59295219b4 : SUCCESS in 10m 56s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/a9a915d412ee4f9381eb3a25e3c5e589 : SUCCESS in 11m 04s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/2732be229fcf4c9cbf8f6e5ceaf11fed : SUCCESS in 9m 59s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/34ea36659c2f4bb2a20260ba6d91f0c2 : SUCCESS in 10m 41s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/04e415746d81411fa115e2f764053226 : SUCCESS in 13m 31s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/58f0de6ee1534b0885ec08828bbc8e96 : SUCCESS in 14m 19s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/fa41412388a14efa9cb25fb56b330085 : SUCCESS in 11m 42s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/c809f744df7640dca8369a059db852f1 : SUCCESS in 11m 21s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f458803f6fed4c49b2d6fd4e443e24f8 : SUCCESS in 11m 45s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/55a59e345dad489ba699c997af773593 : SUCCESS in 11m 25s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2115c9e2675f4432ad7c1524fccc7cf5 : SUCCESS in 16m 23s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/03cdedd5a9d24434a25e8391a0e698d4 : FAILURE in 32m 04s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/43229df71fb14bd5b4ade64fd383f299 : SUCCESS in 28m 19s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/a8e4d0ef2fb944d59bfd5dd384617ed3 : SUCCESS in 29m 20s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a0de8c478c924223a5cb730dc02ec92a : SUCCESS in 31m 15s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f05f81e72be14d1282a23033a93133b0 : SUCCESS in 13m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4e046349bd1a4a47b1af145e6f71685b : SUCCESS in 6m 35s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a22cd888c6e5451c90de8823b201ec75 : SUCCESS in 18m 41s","accounts_in_message":[],"_revision_number":29},{"id":"0c54b7984cd979416f4584bc816251bbaec55645","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-16 21:49:53.000000000","message":"Patch Set 29:\n\nrecheck","accounts_in_message":[],"_revision_number":29},{"id":"d3e814115bee27a18bd7dcba35585d9bb86c4b88","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-16 22:21:47.000000000","message":"Patch Set 29: Code-Review+2\n\n(8 comments)\n\nI ought to still look through the updated func tests -- but the fact that they\u0027re half the line count seems like a good sign! I don\u0027t see any show-stoppers, but as long as we\u0027ve got Matt and Thiago\u0027s attentions, I may as well give them a chance to look at the new changes.","accounts_in_message":[],"_revision_number":29},{"id":"ad7e48c4e7ff3210d475e50eff547f7d8c254bd4","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 22:55:08.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9ed71eca8fbc449baa344ee830f81fc9 : SUCCESS in 5m 27s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/8cf1d5f2a86540e5a2dc77374b8fdf0b : SUCCESS in 1h 01m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a4a505f5dcd942b79149d64b41b192f2 : SUCCESS in 56m 11s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f5ad05a93ee6420cabe36822e0bb346b : SUCCESS in 9m 08s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/0ae9c994d5524abaa3317e088a09c71e : SUCCESS in 12m 52s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6ec42d6ad1f942b483e1e14291eba572 : SUCCESS in 13m 11s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/14866368b0204d9da44aa9218a80868f : SUCCESS in 12m 10s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/9999b679b4db4cdf9a62f6fbb0c6dbb2 : SUCCESS in 10m 15s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/e52ec2765c6d44d086340cb58758ddd2 : SUCCESS in 10m 21s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/8f711449e3ae443a90746e13b8e97ee0 : SUCCESS in 10m 37s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/4f9cd759cf9f47d58842287e720c452e : SUCCESS in 11m 02s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/29a4c503e6854d3a874a23e44ba9a00c : SUCCESS in 14m 14s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/8cec94cde12945c9b32aaa04403b5d3d : SUCCESS in 13m 30s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/380808eade504f6cbe87153d636d5e89 : SUCCESS in 10m 12s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/88b6f1aa9ee04a498a118609762b132c : SUCCESS in 8m 47s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/c52cbd10bf6d4fee93f4782f4416a5e1 : SUCCESS in 15m 19s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/05f113ccf4e7452497316e0cc760afea : SUCCESS in 24m 03s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/0149ed9e14c44d5ea69253d4ecc2e431 : SUCCESS in 23m 54s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/88dae15790164a16a528dd0bc377ced1 : SUCCESS in 32m 11s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a0c449fc8ee54b9db2342736d5238924 : SUCCESS in 30m 00s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/01c4b6199bb645e3bde97660e2173c4e : SUCCESS in 30m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/38e3ec90bafe49528e2ab9187748b9b4 : SUCCESS in 28m 22s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/894384d42a3c4a21843e92616a00d12a : SUCCESS in 18m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6f2e692ea700489f97b8c36a69eb0b5d : SUCCESS in 6m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/618a05fe83ec404fb42fe576684738bd : SUCCESS in 19m 18s","accounts_in_message":[],"_revision_number":29},{"id":"e1ccbe5cb78d4b6e72e514baad849a4178a544fa","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-19 13:26:00.000000000","message":"Patch Set 29: Code-Review+2\n\nlgtm, I think we can merge and smaller changes can be submitted as separate patches.","accounts_in_message":[],"_revision_number":29},{"id":"0648786f53f1240491fd32da3637e75853517760","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-19 16:07:25.000000000","message":"Patch Set 29: Workflow+1","accounts_in_message":[],"_revision_number":29},{"id":"efab3f36198d3e114edc549640f3c65da565dd91","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-19 16:08:04.000000000","message":"Patch Set 29: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":29},{"id":"2cd8b169fe90f3b8ec4b5bdf3d4727f20dd636d0","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2019-08-19 16:08:27.000000000","message":"Patch Set 29:\n\n(3 comments)\n\nthanks for another round of looks!","accounts_in_message":[],"_revision_number":29},{"id":"062bbb59e22e5989849fd29dfad97996401949f3","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-19 19:11:35.000000000","message":"Patch Set 29: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f311d2a8056845c4913300b25771d95b : SUCCESS in 6m 28s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/571646df02974b62af216ea972094d19 : SUCCESS in 1h 00m 50s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a8790604340341bf9ca7bb3741f6d97e : SUCCESS in 53m 03s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/3f4e94ae085f4677940f21e2e567e449 : SUCCESS in 11m 25s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/d62f4ecba2c14cf5b36489efe2cb3254 : SUCCESS in 12m 25s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/32b476adc8cf46598bdaa1f8cadb1eaf : SUCCESS in 10m 50s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/dc4f8e34fe8c4a2aa77585228fe0a38b : SUCCESS in 35m 59s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/c92339d283044cb99b0b66c168550020 : SUCCESS in 39m 24s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/8e8d8f6f63fe43a9a6a464733128c76f : SUCCESS in 18m 08s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/2e569264c5f1419795b66b90a8070029 : SUCCESS in 24m 32s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/fc00d89cc2b549f39035de5cf0efbb93 : SUCCESS in 40m 47s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/ce4efb9198fe4bc7aa6faea082273d7c : TIMED_OUT in 41m 35s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/ba0243c51e3f415ba3dfd060cb7592d0 : TIMED_OUT in 42m 20s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/0afd9bd1214f4e95a2b9f4e96522c174 : SUCCESS in 13m 06s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/a8c94728bcad4255a9f2e7f7bbdb240f : TIMED_OUT in 41m 44s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/15eb4360065c44a9a60e83b5781f4598 : SUCCESS in 16m 55s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/8a840e7a29824700b1301926fe430c39 : SUCCESS in 39m 17s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9949cb1cc2bd424691b95e91039f2684 : SUCCESS in 34m 44s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/d387298910e740ab855259e643fa4844 : SUCCESS in 35m 55s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7c4175b18fd44480bb068f86fa1e50d8 : SUCCESS in 35m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/140e3b54ed784d088d8db1cee5faa598 : SUCCESS in 13m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e39fdb99b8b140c6ac7f4b54daa1757c : SUCCESS in 7m 18s","accounts_in_message":[],"_revision_number":29},{"id":"6e71f8a043bde64c022678b6c7af709bca15bdd8","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-08-19 19:42:37.000000000","message":"Patch Set 29:\n\nrecheck","accounts_in_message":[],"_revision_number":29},{"id":"81668cfe6c2a7897117a3fac90254fdfd87ddc46","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-19 22:20:16.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4e73ec72a447451b8df5f6915e3e8748 : SUCCESS in 5m 06s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/077ed15bbf364745ba9867543c3f662d : SUCCESS in 1h 01m 24s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/effd8d80270a4f7d96aefc684e182bb8 : SUCCESS in 55m 15s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d796e149110c4a348ac24ea728e9c0c1 : SUCCESS in 9m 44s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/ddfd254f7af2423093751a7f01fc1ecc : SUCCESS in 11m 18s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/5b021a083b1e45c3a88cc56912b82b8b : SUCCESS in 15m 08s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/47ef3bd2e35b47449baf16c5c56a0a37 : SUCCESS in 32m 02s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/698ba8d01df449a0ab6a50d92d2d9668 : SUCCESS in 14m 02s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/a8905e38651242b38fd596ab8838165c : SUCCESS in 14m 45s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/3f876c6031294d05ad8aa20413df299b : SUCCESS in 11m 16s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/89e004aee93241279d6e9eb0705932c9 : SUCCESS in 9m 14s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/1e1da50a7a63478c83f293bc29a6148b : SUCCESS in 15m 46s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/58386a2316234a36a85c0eb98a3bf031 : SUCCESS in 11m 59s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/7aaf62365b3045058b3850467fda77e1 : SUCCESS in 13m 16s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/6402c91e598a4278b43fdc7ca97f7067 : SUCCESS in 13m 24s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/e3f3bedb2c744ae9a5f86a747abcca44 : SUCCESS in 13m 58s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/273672d962884ff5ab9c60225abda8cf : SUCCESS in 12m 02s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/bf5b0c039d5e44919ef382d1770b5fa0 : SUCCESS in 16m 38s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/f59337a6f2db47578a890e8b1f1e89cc : SUCCESS in 32m 48s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/76b4b164ba7d42769ba5cce4168064ab : SUCCESS in 30m 06s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/39ee755b4e1d4c32a44fe814190c3ee7 : SUCCESS in 29m 27s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a001665bf0e2470c82b99b650cdb1a75 : SUCCESS in 27m 54s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5e094cda3f244e64a48bf7b33ad40a15 : SUCCESS in 14m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/161e2e698fbb4a41866e8e1d12cc8710 : SUCCESS in 6m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7d899a0f72c44a8d817c2266eedad802 : SUCCESS in 20m 41s","accounts_in_message":[],"_revision_number":29},{"id":"d731463bc697ae418712f8c3505def9e77fa0c5f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-19 22:20:44.000000000","message":"Patch Set 29: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":29},{"id":"916bd32fc65f0fcea16794814161e36f825bc18c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 00:46:21.000000000","message":"Patch Set 29: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/818beeaa43ad4c1e998d7f554b91a9dd : SUCCESS in 6m 38s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/b1f45acbb38b41debfb5c26c0f6103e6 : SUCCESS in 1h 02m 51s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9fcc1e7c00bc4975b1cac24835e50d6c : SUCCESS in 56m 12s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/163d01b961c04a5a9d7e65fd54223184 : SUCCESS in 10m 13s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/505c5ac3f3f342a2975889996f177bca : SUCCESS in 13m 00s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/3e17af2f19d34d53863b343181dde6d9 : SUCCESS in 16m 12s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c38eefbfdfe54b448664f34bd1ebabf5 : SUCCESS in 12m 22s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/7c0608f0a8cc4ba8a0c2a8cb4e96719a : SUCCESS in 10m 36s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/52009466b8124d1ba01e0c0e3c8ebf45 : SUCCESS in 10m 12s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/7aa783e33b3146e38bc26eb2f8fc65e5 : SUCCESS in 9m 45s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/d7c86b1e1fe44d12b945e59923a9a0a4 : SUCCESS in 10m 43s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/cf4b8d9ad7f443cc8c3466bb5a0bcb5a : TIMED_OUT in 41m 51s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/3e8068aa227c44e3af1fc2b0109a46f9 : SUCCESS in 13m 37s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/6922a5b160254f7585741adbac2deab2 : SUCCESS in 11m 04s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/3588b7ee590744919bbc0d4c6353b089 : SUCCESS in 12m 07s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/b3ea5473119c4474a4a002cb27b645e8 : SUCCESS in 12m 40s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/50f7c96567d84d27bafcfc6948ab9600 : SUCCESS in 33m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e4016ac94ed644dc8120adc5426a23db : SUCCESS in 30m 56s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/8cab2eba350246db8c1fc819a840808c : SUCCESS in 30m 36s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/175c2813c72b4a939255449cbfb8e112 : SUCCESS in 29m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6e2daa8a8f6d4aefaf5e095dc172b6d9 : SUCCESS in 15m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5f00d1f105134066a6e9b1dd8ca6f5db : SUCCESS in 8m 08s","accounts_in_message":[],"_revision_number":29},{"id":"39cbfb2195fdb2831f32e23f5a04a9fba2220c5b","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-08-20 03:20:59.000000000","message":"Patch Set 29:\n\nrecheck","accounts_in_message":[],"_revision_number":29},{"id":"8d4f3f55552e0e2836a2278962dc2df4430ad238","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 04:33:21.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aadfe2f0ef4649b7b5fb23b8397ed79c : SUCCESS in 5m 13s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/d04957b58bdf45caa5f04c421208da17 : SUCCESS in 57m 41s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/e2c3678308a1493b832698a37c102626 : SUCCESS in 52m 54s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/aaf07997261f47c194870fb4c0fb5efa : SUCCESS in 9m 34s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/e4e14a5f86c44c5ca77f601c8c5d4113 : SUCCESS in 13m 46s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/17ea31bebd64412fb86a315fe604c61f : SUCCESS in 17m 04s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/502aa6e9aac64c49a029c3d30c379a4a : SUCCESS in 16m 55s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/50f636c6c27f43ef9378261e38a344d9 : SUCCESS in 11m 04s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/6ca5522a06d643f1a194ac136d1b7ddb : SUCCESS in 16m 14s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/9fc716235a504364855b8ba90a6429bc : SUCCESS in 11m 21s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/83d941c275e84f97a6baba067e8e073c : SUCCESS in 17m 40s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/b3d938eb0b3f44eda515083bb3350adb : SUCCESS in 13m 39s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/e7a0b39368a94f38be1b0262d130291c : SUCCESS in 19m 16s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/39464d2c7e8f4211aec07cf3d68b3110 : SUCCESS in 17m 06s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/9c687f84371742f3a683e73f937ba544 : SUCCESS in 11m 44s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/584ec92e7e574bfabd3031c171909afb : SUCCESS in 12m 57s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/ca253b471b544b3b91048ad1ca654b2e : SUCCESS in 11m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a23a3c8e397e45ae85c18afd97f07c67 : SUCCESS in 19m 05s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/7b01aaa736fb478ea6b565b8910f42df : SUCCESS in 33m 15s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5ca6f1688fbe4dc98693bae897f2fb89 : SUCCESS in 29m 23s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/6880375a9e174375a29343debda563a0 : SUCCESS in 33m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/cd9eb60a69db4ab4ac721e5b3e9756be : SUCCESS in 28m 37s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fc01e1a1418b464c832b736602ae6e9b : SUCCESS in 15m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/96039a36bdee4cc2b17fe39270db2eb8 : SUCCESS in 7m 07s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/26063562f6c04e369b77e681af6e1abc : SUCCESS in 16m 52s","accounts_in_message":[],"_revision_number":29},{"id":"58fcfe9ac010ca0c81fde4bf98531fde12e52cd2","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 04:33:43.000000000","message":"Patch Set 29: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":29},{"id":"792da3a03ac9784d623cffd66911bff6a199dabe","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 06:20:15.000000000","message":"Patch Set 29: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f8bf6ebd64044f73a3305ec038d99bca : SUCCESS in 5m 17s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/f00cfcd79ebf4cc7993a20b8060fd94b : SUCCESS in 1h 09m 33s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/63ecfd37f95c4f0bb7318510db3caa0b : SUCCESS in 1h 02m 42s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/d4d8608e7b97472ca1112b9f0e294f38 : SUCCESS in 10m 16s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/e63b74c5d4514b47958c197176241267 : SUCCESS in 17m 05s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/aa795fa6ed454ad49ca57a3535797282 : SUCCESS in 11m 09s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2747b500996a479eb90f1787c8c6426f : SUCCESS in 14m 32s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/503942ddae764927aab5c0de3a3b01b9 : SUCCESS in 9m 40s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/cedd2dbecfd3433d8f5af5efa129bab0 : SUCCESS in 10m 20s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/fbfceb6bd7d448d4bddb0d4be9cb6b1f : SUCCESS in 13m 00s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/c8d8ac5f090147ac9e5e1812b0f95f2c : SUCCESS in 10m 09s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/385df71b0e034e7d84ade976621e0902 : SUCCESS in 12m 30s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/c2df84fe384540da85376bfc766b5f7a : SUCCESS in 12m 09s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/02c64127ae814fab8ed94c889de867b2 : SUCCESS in 10m 04s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/6353a76a54734a1fb7db9e394327b458 : SUCCESS in 9m 50s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/687b7e17f0374d398f4ecdbe90e46788 : SUCCESS in 11m 31s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/2005d2018b2042d7a448aefeb045a595 : SUCCESS in 31m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6718571d3a8b4a8b97867b78f8fab01c : SUCCESS in 31m 50s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/fbb3b7887f96447da5393e3b576742d5 : SUCCESS in 27m 00s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5b07260d964341e8b71b08741564757e : SUCCESS in 31m 18s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6cfabea66b734ff9aca992bcc1171c42 : SUCCESS in 12m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/58f12d6d8b444ea69ed906e8a9ded273 : SUCCESS in 6m 34s","accounts_in_message":[],"_revision_number":29},{"id":"a5e98555e05b8151b0ca192f2b134f7b73785c8f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 06:20:15.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":29},{"id":"664e2de3d527c31059413236bbf2c34632a466e0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-20 06:21:49.000000000","message":"Patch Set 29:\n\nBuild succeeded (promote pipeline).\n\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/4c6cc6b3dd2a41519e1b9ec5e71e61da : SUCCESS in 1m 06s (non-voting)","accounts_in_message":[],"_revision_number":29}],"current_revision_number":29,"current_revision":"1abc9c4f9d4c2f9d8ac996cca489b0ec65660a05","revisions":{"10e102995a67d263e6747b849e819490cbe07cc6":{"kind":"REWORK","_number":1,"created":"2019-01-25 01:14:54.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/1"}}},"commit":{"parents":[{"commit":"700fcc735336a904d19554da053fb77209f7073e","subject":"Remove duplicate statement","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/700fcc735336a904d19554da053fb77209f7073e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-25 01:05:47.000000000","tz":-480},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding some `If-Match: \u003cetag\u003e` semantics in the symlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 412 Precondition Failed error will be\nreturned to the client. If multiple symlinks are chained together, each\nsymlink must either use the same X-Symlink-Target-Etag or omit the\nheader.\n\nNote that, similar to other symlink behavior, no validation is done at\nPUT time, only during GET.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of source.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/10e102995a67d263e6747b849e819490cbe07cc6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/10e102995a67d263e6747b849e819490cbe07cc6"}]},"branch":"refs/heads/master"},"c831e51342870b3b884edc7765e858b4dee12844":{"kind":"REWORK","_number":2,"created":"2019-01-25 21:25:43.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/2"}}},"commit":{"parents":[{"commit":"700fcc735336a904d19554da053fb77209f7073e","subject":"Remove duplicate statement","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/700fcc735336a904d19554da053fb77209f7073e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-25 21:15:56.000000000","tz":0},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding some `If-Match: \u003cetag\u003e` semantics in the symlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 412 Precondition Failed error will be\nreturned to the client. If multiple symlinks are chained together, each\nsymlink must either use the same X-Symlink-Target-Etag or omit the\nheader.\n\nNote that, similar to other symlink behavior, no validation is done at\nPUT time, only during GET.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of source.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c831e51342870b3b884edc7765e858b4dee12844"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c831e51342870b3b884edc7765e858b4dee12844"}]},"branch":"refs/heads/master"},"8c2cbe5044ed7f4776c46002c2ff3a3a1d228a25":{"kind":"REWORK","_number":3,"created":"2019-01-31 23:48:56.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/3"}}},"commit":{"parents":[{"commit":"0c316a134fd44f7254a9561796f088d9b7f9a9c3","subject":"Merge \"Quiet down a unittest\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0c316a134fd44f7254a9561796f088d9b7f9a9c3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-31 23:47:56.000000000","tz":-480},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, similar to other symlink behavior, no validation is done at\nPUT time, only during GET.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8c2cbe5044ed7f4776c46002c2ff3a3a1d228a25"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8c2cbe5044ed7f4776c46002c2ff3a3a1d228a25"}]},"branch":"refs/heads/master"},"2bdc20c38b66fe9b351cce78d0fb945ed5d2e67c":{"kind":"REWORK","_number":4,"created":"2019-02-01 22:20:02.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/4"}}},"commit":{"parents":[{"commit":"0c316a134fd44f7254a9561796f088d9b7f9a9c3","subject":"Merge \"Quiet down a unittest\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0c316a134fd44f7254a9561796f088d9b7f9a9c3"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-02-01 22:19:52.000000000","tz":-480},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, similar to other symlink behavior, no validation is done at\nPUT time, only during GET.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2bdc20c38b66fe9b351cce78d0fb945ed5d2e67c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2bdc20c38b66fe9b351cce78d0fb945ed5d2e67c"}]},"branch":"refs/heads/master"},"573ad41a9eadae9480b4a0405b92e6d031a8ced9":{"kind":"REWORK","_number":5,"created":"2019-03-25 21:34:55.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/5"}}},"commit":{"parents":[{"commit":"9e91b81a4ded171f648939d1f6075c894ea4532e","subject":"Make symlink work with Unicode account names","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9e91b81a4ded171f648939d1f6075c894ea4532e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-03-25 21:34:26.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, unlink \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the content-length along to the container listing as\nwell.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/573ad41a9eadae9480b4a0405b92e6d031a8ced9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/573ad41a9eadae9480b4a0405b92e6d031a8ced9"}]},"branch":"refs/heads/master"},"0115765889d4b262ec7393fcf33ae1421afa2cf4":{"kind":"REWORK","_number":6,"created":"2019-03-26 16:05:00.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/6"}}},"commit":{"parents":[{"commit":"9e91b81a4ded171f648939d1f6075c894ea4532e","subject":"Make symlink work with Unicode account names","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9e91b81a4ded171f648939d1f6075c894ea4532e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-03-26 16:04:36.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, unlink \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the content-length along to the container listing as\nwell.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0115765889d4b262ec7393fcf33ae1421afa2cf4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0115765889d4b262ec7393fcf33ae1421afa2cf4"}]},"branch":"refs/heads/master"},"450d9c98cc520519d3ac870ab3a61fdd2229cf72":{"kind":"NO_CODE_CHANGE","_number":7,"created":"2019-03-27 14:00:10.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/7"}}},"commit":{"parents":[{"commit":"9e91b81a4ded171f648939d1f6075c894ea4532e","subject":"Make symlink work with Unicode account names","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9e91b81a4ded171f648939d1f6075c894ea4532e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-03-27 14:00:04.000000000","tz":0},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the content-length along to the container listing as\nwell.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/450d9c98cc520519d3ac870ab3a61fdd2229cf72"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/450d9c98cc520519d3ac870ab3a61fdd2229cf72"}]},"branch":"refs/heads/master"},"953bf011233db3aeaead02ba3c7f0d7dc9343f00":{"kind":"REWORK","_number":8,"created":"2019-03-28 15:28:53.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/8"}}},"commit":{"parents":[{"commit":"9e91b81a4ded171f648939d1f6075c894ea4532e","subject":"Make symlink work with Unicode account names","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9e91b81a4ded171f648939d1f6075c894ea4532e"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-03-27 22:03:11.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the content-length along to the container listing as\nwell.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/953bf011233db3aeaead02ba3c7f0d7dc9343f00"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/953bf011233db3aeaead02ba3c7f0d7dc9343f00"}]},"branch":"refs/heads/master"},"fad6b8b63eb3165448e4bdeef6ebbf579cec3e90":{"kind":"REWORK","_number":9,"created":"2019-06-14 17:42:02.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/9"}}},"commit":{"parents":[{"commit":"aa2f1db1b71c1b2bf746b72515e3efd15598b6aa","subject":"Ensure get_*_info keys are native strings","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aa2f1db1b71c1b2bf746b72515e3efd15598b6aa"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-06-14 17:41:55.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the content-length along to the container listing as\nwell.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fad6b8b63eb3165448e4bdeef6ebbf579cec3e90"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fad6b8b63eb3165448e4bdeef6ebbf579cec3e90"}]},"branch":"refs/heads/master"},"1e1a9d0967c1357aeecbb098543cef39c30552ca":{"kind":"REWORK","_number":10,"created":"2019-06-17 15:18:30.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/10"}}},"commit":{"parents":[{"commit":"aa2f1db1b71c1b2bf746b72515e3efd15598b6aa","subject":"Ensure get_*_info keys are native strings","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aa2f1db1b71c1b2bf746b72515e3efd15598b6aa"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-06-17 15:18:20.000000000","tz":-420},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client. If multiple symlinks are chained together, each symlink must\neither use the same X-Symlink-Target-Etag or omit the header.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the content-length along to the container listing as\nwell.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e1a9d0967c1357aeecbb098543cef39c30552ca"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e1a9d0967c1357aeecbb098543cef39c30552ca"}]},"branch":"refs/heads/master"},"3996dc3370bcad007b8ada47b7dd41a5c0f615ce":{"kind":"REWORK","_number":11,"created":"2019-07-08 23:33:44.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/11"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-08 23:12:55.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the etag \u0026 content-length along to the container\nlisting as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3996dc3370bcad007b8ada47b7dd41a5c0f615ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3996dc3370bcad007b8ada47b7dd41a5c0f615ce"}]},"branch":"refs/heads/master"},"50ab20d8f7b91f7f2ddf722ddae4a3ffe51e475f":{"kind":"REWORK","_number":12,"created":"2019-07-09 12:47:40.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/12"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-09 12:47:33.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the etag \u0026 content-length along to the container\nlisting as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/50ab20d8f7b91f7f2ddf722ddae4a3ffe51e475f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/50ab20d8f7b91f7f2ddf722ddae4a3ffe51e475f"}]},"branch":"refs/heads/master"},"7cdf9d76fb8c1faa9bd8a067df73337c611bf0ad":{"kind":"REWORK","_number":13,"created":"2019-07-15 18:56:10.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/13"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-15 18:55:59.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the etag \u0026 content-length along to the container\nlisting as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7cdf9d76fb8c1faa9bd8a067df73337c611bf0ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7cdf9d76fb8c1faa9bd8a067df73337c611bf0ad"}]},"branch":"refs/heads/master"},"5311ab490d04ae24d2899f94be28dc77df1561a0":{"kind":"REWORK","_number":14,"created":"2019-07-15 20:20:25.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/14"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-15 20:19:34.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also force the content-type\nto match and send the etag \u0026 content-length along to the container\nlisting as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5311ab490d04ae24d2899f94be28dc77df1561a0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5311ab490d04ae24d2899f94be28dc77df1561a0"}]},"branch":"refs/heads/master"},"9a0770ac7c88475882dc675b91e3a9cace4cf55e":{"kind":"REWORK","_number":15,"created":"2019-07-19 20:44:54.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/15"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-19 20:44:35.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9a0770ac7c88475882dc675b91e3a9cace4cf55e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9a0770ac7c88475882dc675b91e3a9cace4cf55e"}]},"branch":"refs/heads/master"},"dfa8baad96c6668751eef7c264edea6ca0ce5a90":{"kind":"REWORK","_number":16,"created":"2019-07-22 14:07:07.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/16"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-22 14:06:52.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dfa8baad96c6668751eef7c264edea6ca0ce5a90"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dfa8baad96c6668751eef7c264edea6ca0ce5a90"}]},"branch":"refs/heads/master"},"a0c5197a26008069e210e5a02e071986e3aa4676":{"kind":"REWORK","_number":17,"created":"2019-07-25 20:23:02.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/17"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-25 20:14:22.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a0c5197a26008069e210e5a02e071986e3aa4676"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a0c5197a26008069e210e5a02e071986e3aa4676"}]},"branch":"refs/heads/master"},"4bfd3dcee0b7b8f54c026dbfe668e6bd3c47fa70":{"kind":"REWORK","_number":18,"created":"2019-07-31 20:38:42.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/18"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-07-31 20:38:34.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4bfd3dcee0b7b8f54c026dbfe668e6bd3c47fa70"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4bfd3dcee0b7b8f54c026dbfe668e6bd3c47fa70"}]},"branch":"refs/heads/master"},"a83a7692af11c49ecda4152e0bf857cc19b8832a":{"kind":"REWORK","_number":19,"created":"2019-08-02 16:59:01.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/19"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-08-02 16:58:48.000000000","tz":-420},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a83a7692af11c49ecda4152e0bf857cc19b8832a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a83a7692af11c49ecda4152e0bf857cc19b8832a"}]},"branch":"refs/heads/master"},"80f59e3d42c6844b6d5e193aa0fadb620c626d58":{"kind":"REWORK","_number":20,"created":"2019-08-02 19:05:15.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/20"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-08-02 19:04:53.000000000","tz":-420},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80f59e3d42c6844b6d5e193aa0fadb620c626d58"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80f59e3d42c6844b6d5e193aa0fadb620c626d58"}]},"branch":"refs/heads/master"},"cf5ab166ebd97e8843cc917433dbcef75a71261d":{"kind":"REWORK","_number":21,"created":"2019-08-02 20:46:37.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/21"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-08-02 20:45:52.000000000","tz":-420},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf5ab166ebd97e8843cc917433dbcef75a71261d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf5ab166ebd97e8843cc917433dbcef75a71261d"}]},"branch":"refs/heads/master"},"dfbc0e8f781f9fd7cb9cfb1669826bc63225e4e7":{"kind":"REWORK","_number":22,"created":"2019-08-02 22:31:56.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/22"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-02 21:02:07.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dfbc0e8f781f9fd7cb9cfb1669826bc63225e4e7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dfbc0e8f781f9fd7cb9cfb1669826bc63225e4e7"}]},"branch":"refs/heads/master"},"c1da067a26593ba98669a5b1a702099c7f8ece53":{"kind":"REWORK","_number":23,"created":"2019-08-05 21:41:42.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/23"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-05 19:43:16.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c1da067a26593ba98669a5b1a702099c7f8ece53"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c1da067a26593ba98669a5b1a702099c7f8ece53"}]},"branch":"refs/heads/master"},"6791906ae119e734ada90becbfd98d0996df8893":{"kind":"REWORK","_number":24,"created":"2019-08-07 21:20:02.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/24"}}},"commit":{"parents":[{"commit":"345f577ff191ee01c3cb4626805338028815c2b4","subject":"s3token: fix conf option name","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/345f577ff191ee01c3cb4626805338028815c2b4"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-07 16:28:25.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6791906ae119e734ada90becbfd98d0996df8893"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6791906ae119e734ada90becbfd98d0996df8893"}]},"branch":"refs/heads/master"},"3dc775e35fbe4ffd6b7c779086036e5a27fb498a":{"kind":"REWORK","_number":25,"created":"2019-08-09 16:43:38.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/25"}}},"commit":{"parents":[{"commit":"996aa4547f5248c49e47478f186f3104e1c6c5da","subject":"Consolidate Container-Update-Override headers","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/996aa4547f5248c49e47478f186f3104e1c6c5da"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-09 16:43:26.000000000","tz":-300},"subject":"Allow \"harder\" symlinks","message":"Allow \"harder\" symlinks\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"softer\" symlink behavior, the target object must\nexist with the matching Etag for the \"hardlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dc775e35fbe4ffd6b7c779086036e5a27fb498a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dc775e35fbe4ffd6b7c779086036e5a27fb498a"}]},"branch":"refs/heads/master"},"9cb1c064b1554f46e44bf3fb5816079714c2e20d":{"kind":"REWORK","_number":26,"created":"2019-08-12 23:03:17.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/26"}}},"commit":{"parents":[{"commit":"996aa4547f5248c49e47478f186f3104e1c6c5da","subject":"Consolidate Container-Update-Override headers","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/996aa4547f5248c49e47478f186f3104e1c6c5da"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-12 22:50:43.000000000","tz":-300},"subject":"Allow \"static symlinks\"","message":"Allow \"static symlinks\"\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"dynamic symlink\" behavior, the target object must\nexist with the matching Etag for the \"static symlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n- Set dynamic symlink content type if client doesn\u0027t supply something\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9cb1c064b1554f46e44bf3fb5816079714c2e20d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9cb1c064b1554f46e44bf3fb5816079714c2e20d"}]},"branch":"refs/heads/master"},"a7857ab076671a1ef1e91fc3ec3af2ac7f845396":{"kind":"REWORK","_number":27,"created":"2019-08-13 18:04:41.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/27"}}},"commit":{"parents":[{"commit":"996aa4547f5248c49e47478f186f3104e1c6c5da","subject":"Consolidate Container-Update-Override headers","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/996aa4547f5248c49e47478f186f3104e1c6c5da"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-13 18:04:33.000000000","tz":-300},"subject":"Allow \"static symlinks\"","message":"Allow \"static symlinks\"\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"dynamic symlink\" behavior, the target object must\nexist with the matching Etag for the \"static symlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n- Set dynamic symlink content type if client doesn\u0027t supply something\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a7857ab076671a1ef1e91fc3ec3af2ac7f845396"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a7857ab076671a1ef1e91fc3ec3af2ac7f845396"}]},"branch":"refs/heads/master"},"2c685a144fadcb1971aac1a90a943b6dc78458e1":{"kind":"TRIVIAL_REBASE","_number":28,"created":"2019-08-15 20:23:04.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/94/633094/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/28"}}},"commit":{"parents":[{"commit":"a2a1ebe7a326a8fc8c448bc3e3933d8a397a9c11","subject":"Merge \"py3: fix object-replicator rsync output parsing\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a2a1ebe7a326a8fc8c448bc3e3933d8a397a9c11"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-08-15 20:15:37.000000000","tz":-420},"subject":"Allow \"static symlinks\"","message":"Allow \"static symlinks\"\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"dynamic symlink\" behavior, the target object must\nexist with the matching Etag for the \"static symlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n- Set dynamic symlink content type if client doesn\u0027t supply something\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2c685a144fadcb1971aac1a90a943b6dc78458e1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2c685a144fadcb1971aac1a90a943b6dc78458e1"}]},"branch":"refs/heads/master"},"1abc9c4f9d4c2f9d8ac996cca489b0ec65660a05":{"kind":"REWORK","_number":29,"created":"2019-08-16 16:22:46.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/94/633094/29","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/94/633094/29","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/29 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/29 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/94/633094/29 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/94/633094/29"}}},"commit":{"parents":[{"commit":"a2a1ebe7a326a8fc8c448bc3e3933d8a397a9c11","subject":"Merge \"py3: fix object-replicator rsync output parsing\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a2a1ebe7a326a8fc8c448bc3e3933d8a397a9c11"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-01-24 00:23:01.000000000","tz":0},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2019-08-16 16:22:36.000000000","tz":-300},"subject":"Allow \"static symlinks\"","message":"Allow \"static symlinks\"\n\n... by embedding something like `If-Match: \u003cetag\u003e` semantics in the\nsymlink.\n\nWhen creating a symlink, users may now specify an optional\nX-Symlink-Target-Etag header. If present, the etag of the final object\nreturned to the client will be checked; if it does not match the\nX-Symlink-Target-Etag header, a 409 Conflict error will be returned to\nthe client.\n\nNote that, unlike \"dynamic symlink\" behavior, the target object must\nexist with the matching Etag for the \"static symlink\" to be created.\n\nSince we\u0027re validating the Etag anyway, we also set the content-type of\nthe symlink to match if the client didn\u0027t otherwise specifiy and send\nthe etag \u0026 content-length along to the container listing as well.\n\nBonus goodness:\n\n- Tighten assertions on Content-Location\n- Get rid of swift.source-sniffing by making versioned_writes\n  symlink-aware (\u0027cause I\u0027m going to want to make it symlink-aware\n  later anyway)\n- Allow middlewares left of symlink to set their own\n  Container-Update-Override-Etag when creating a symlink\n- Set dynamic symlink content type if client doesn\u0027t supply something\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nChange-Id: I179ea6180d31146bb947061c69b1807c59529ac8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1abc9c4f9d4c2f9d8ac996cca489b0ec65660a05"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1abc9c4f9d4c2f9d8ac996cca489b0ec65660a05"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
