)]}'
{"id":"openstack%2Fswift~749532","triplet_id":"openstack%2Fswift~stable%2Fstein~I00c6693c42c1a0220b64d8016d380d5985339658","project":"openstack/swift","branch":"stable/stein","topic":"bug/1888037-stable/stein","hashtags":[],"change_id":"I00c6693c42c1a0220b64d8016d380d5985339658","subject":"py3: Work with proper native string paths in crypto meta","status":"MERGED","created":"2020-09-02 15:10:45.000000000","updated":"2020-09-05 00:10:27.000000000","submitted":"2020-09-05 00:09:11.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"749532-1599264551355-42a114cc","meta_rev_id":"6163fe79e01a7a4759d8fe4b24cc9044f3a6b016","_number":749532,"virtual_id_number":749532,"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":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-09-05 00:09:11.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"}],"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":"2020-09-04 23:23:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2020-09-04 23:23:59.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":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":"2020-09-05 00:09:11.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":"941f1536ea45f6c9bb1abd86cfbdd161eaedac24","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-09-02 15:10:45.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"ceef86c57994a33a8d0d652a3be99fd9dcd79e91","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 19:16:57.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/93a708c46f9b45998255b7e79ba78aab : SUCCESS in 5m 54s\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/a8ca859dcda646b8a6f5a78aeb498b61 : SUCCESS in 16m 00s\n- swift-tox-py35 https://zuul.opendev.org/t/openstack/build/484205deb8d9484bab7706b518caba57 : SUCCESS in 10m 26s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/992754cf9da746bd9a4f05616ac346b4 : SUCCESS in 8m 53s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2928278db8244caeb4c5e139ff6371e4 : SUCCESS in 7m 44s (non-voting)\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/54c25f87722044679c0e65056f896738 : SUCCESS in 9m 52s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/ec7d03c36d0e47d7965a7e9466b2b3bf : SUCCESS in 9m 45s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/dcde66f27f5b49bfb1132af85ceabdcd : SUCCESS in 8m 48s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/2d65f03a5895477e9d62e23c37972d0f : SUCCESS in 14m 14s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/50a95e61f55047a79e404ff7e9f36844 : SUCCESS in 16m 38s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9b8895fac76c4707a8dff950ae71757c : FAILURE in 6m 53s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/950b6789b3564da3b08b4bcc4ccb28e9 : FAILURE in 32m 01s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4719e94fe25948f0b4193d937d1bf056 : SUCCESS in 28m 40s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6e55da7c0653461ba99ba8d6c019a44b : SUCCESS in 30m 11s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/90dcb18835d74e2b9dfe515546cd4aa5 : SUCCESS in 10m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/04e839d013da4735aef61543cfcf9c86 : SUCCESS in 5m 53s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/51f4ac145c9341199cb9efb9d0403bd3 : SUCCESS in 19m 11s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"0135aa4a91dbe806500b8090c3f2a659dd15f25a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-09-02 19:58:55.000000000","message":"Patch Set 1:\n\nrecheck","accounts_in_message":[],"_revision_number":1},{"id":"bc6393a8a4cb87c4ecb2320e55fb8a67c195ea83","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 23:03:49.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4a9bc0cf7c1e41c99684d3d48a1dd01a : SUCCESS in 5m 12s\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/61a2e9b1af8c4c028289748daa59f9bb : SUCCESS in 11m 17s\n- swift-tox-py35 https://zuul.opendev.org/t/openstack/build/9776ee65696146238860b2d7dd2d1f36 : SUCCESS in 8m 44s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/39b74d8fae0b4eb7ad01d36ed08a467d : SUCCESS in 8m 20s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/60e2ac3d3cb940b5bed09285aad0834f : SUCCESS in 10m 05s (non-voting)\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/83c68352cd5947da9c9ddf34c4de436e : SUCCESS in 9m 40s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/39a73551841a4d359a49b4ef10554cf2 : SUCCESS in 9m 10s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/990393c6dd364cb6b5456ffa6a0f6097 : SUCCESS in 9m 16s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/334eb4bb6b7942188bcd81ec8f110593 : SUCCESS in 9m 28s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/3c894b6da900406b8728a63b2f8ff982 : SUCCESS in 11m 40s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/34fcff5196bd4d8986788b545892d504 : FAILURE in 6m 32s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/b9bc06ca717749a6ab9068b0642d1626 : SUCCESS in 33m 39s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b344e98ca725419199c750f7868a8308 : SUCCESS in 28m 45s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7f073cf361c34383af85beeaf2b09f77 : SUCCESS in 33m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9639270ababa40ba82efc3448deb1b44 : SUCCESS in 10m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6319092c47154df88865ad0a9ee195db : SUCCESS in 11m 17s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fdb380e9c4454870bb547d20f8c1a618 : SUCCESS in 22m 58s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"8e015b49eb2142c321972caff0e5dc879c215e2d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-09-04 23:23:59.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"eb986ac977cb88aa0a79f237bc2731de4777f849","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-04 23:24:36.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"80a4031c21915c8e3fed8d75f36b635dba5ed6f5","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-05 00:09:11.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4aa784132a9243c3a4dcb748b34802a8 : SUCCESS in 5m 33s\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/7af8c0a7848e4930bd2416b357f37c79 : SUCCESS in 13m 19s\n- swift-tox-py35 https://zuul.opendev.org/t/openstack/build/c9c710812f6d4675b1d8e84ac24737b3 : SUCCESS in 11m 30s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/d8c8ac5b08744afe970b3362b4a01534 : SUCCESS in 11m 44s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e77fb832e7394c969c1b6fefcad41f14 : SUCCESS in 12m 34s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/3b91541c4f6948dc9e1aa06d6c960bf3 : SUCCESS in 10m 36s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d5f8181ea93d4780abad9d031dc6a3a0 : SUCCESS in 21m 29s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/570fe4be3d8f47b2bdb17aef9b346b3f : SUCCESS in 9m 28s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/99bac7faa8864ace9be1300dcd6dc110 : SUCCESS in 37m 52s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/63965bce372b4c3f98b4d40e095729bb : SUCCESS in 36m 39s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5ade80423f78498d9fbed5dda910a333 : SUCCESS in 26m 45s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a8ee3a7d860542cd90bbacdb0d5bcb6b : SUCCESS in 14m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a094a7c134094b4a93acea7a77b4b729 : SUCCESS in 5m 59s","accounts_in_message":[],"_revision_number":1},{"id":"e812eee3826c3e6a90a330b7d6c5361189e392bd","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-05 00:09:11.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"cec1038582d1bb3d12fd2ec071f7f648aded02c7","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-05 00:10:27.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b0a6964121cd40bb904993171c6dec95 : SUCCESS in 55s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"db485392fc238b32e29c8aca12d2e70dd9561004","revisions":{"db485392fc238b32e29c8aca12d2e70dd9561004":{"kind":"REWORK","_number":1,"created":"2020-09-02 15:10:45.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/32/749532/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/32/749532/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/32/749532/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/32/749532/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/32/749532/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/32/749532/1"}}},"commit":{"parents":[{"commit":"8ba5a6e536a46c4a988299ce13abc05aa82c775c","subject":"Merge \"Ensure domain stored in memcached gets utf8 decoded on py2\" into stable/stein","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8ba5a6e536a46c4a988299ce13abc05aa82c775c"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2020-07-20 21:18:33.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tburke@nvidia.com","date":"2020-09-02 15:10:45.000000000","tz":0},"subject":"py3: Work with proper native string paths in crypto meta","message":"py3: Work with proper native string paths in crypto meta\n\nPreviously, we would work with these paths as WSGI strings -- this would\nwork fine when all data were read and written on the same major version\nof Python, but fail pretty badly during and after upgrading Python.\n\nIn particular, if a py3 proxy-server tried to read existing data that\nwas written down by a py2 proxy-server, it would hit an error and\nrespond 500. Worse, if an un-upgraded py2 proxy tried to read data that\nwas freshly-written by a py3 proxy, it would serve corrupt data back to\nthe client (including a corrupt/invalid ETag and Content-Type).\n\nNow, ensure that both py2 and py3 write down paths as native strings.\nMake an effort to still work with WSGI-string metadata, though it can be\nambiguous as to whether a string is a WSGI string or not. The heuristic\nused is if\n\n * the path from metadata does not match the (native-string) request\n   path and\n * the path from metadata (when interpreted as a WSGI string) can be\n   \"un-wsgi-fied\" without any encode/decode errors and\n * the native-string path from metadata *does* match the native-string\n   request path\n\nthen trust the path from the request. By contrast, we usually prefer the\npath from metadata in case there was a pipeline misconfiguration (see\nrelated bug).\n\nAdd the ability to read and write a new, unambiguous version of metadata\nthat always has the path as a native string. To support rolling\nupgrades, a new config option is added: meta_version_to_write. This\ndefaults to 2 to support rolling upgrades without configuration changes,\nbut the default may change to 3 in a future release.\n\nUpgradeImpact\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWhen upgrading from Swift 2.20.0 or Swift 2.19.1 or earlier, set\n\n    meta_version_to_write \u003d 1\n\nin your keymaster\u0027s configuration. Regardless of prior Swift version, set\n\n    meta_version_to_write \u003d 3\n\nafter upgrading all proxy servers.\n\nWhen switching from Python 2 to Python 3, first upgrade Swift while on\nPython 2, then upgrade to Python 3.\n\nChange-Id: I00c6693c42c1a0220b64d8016d380d5985339658\nCloses-Bug: #1888037\nRelated-Bug: #1813725\n(cherry picked from commit 7d429318ddb854a23cdecfe35721b1ecbe8bcccc)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/db485392fc238b32e29c8aca12d2e70dd9561004"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/db485392fc238b32e29c8aca12d2e70dd9561004"}]},"branch":"refs/heads/stable/stein"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
