)]}'
{"id":"openstack%2Fswift~748883","triplet_id":"openstack%2Fswift~stable%2Ftrain~I00c6693c42c1a0220b64d8016d380d5985339658","project":"openstack/swift","branch":"stable/train","topic":"bug/1888037-stable/train","hashtags":[],"change_id":"I00c6693c42c1a0220b64d8016d380d5985339658","subject":"py3: Work with proper native string paths in crypto meta","status":"MERGED","created":"2020-08-30 17:25:45.000000000","updated":"2020-09-02 02:58:49.000000000","submitted":"2020-09-02 02:57:29.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":"748883-1599015449048-9d651cf1","meta_rev_id":"a8daa4645486d8461fc651471906f01dedcbe7fe","_number":748883,"virtual_id_number":748883,"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-02 02:57:28.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-02 00:42:04.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-02 00:42:04.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-02 02:57:28.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":"7f543bcc08cb4ce2f96609f30ebbd892777093e7","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-08-30 17:25:45.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"63628de22929d185652dce544549beff76ca63eb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-08-30 18:41:06.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7f0ec10ecb77411b8835b63ab1a02fe3 : SUCCESS in 4m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/4fb7e1b590fd48aabdc0fc96492711e8 : SUCCESS in 59m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5697d5dd9bd54fdbbe8dd71097b7ec51 : SUCCESS in 43m 52s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/dda19015e31245b7b32cb955fddd21cd : SUCCESS in 8m 10s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/ab8691cbd3e24499bb713881cc5bdcde : SUCCESS in 10m 58s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/fc3ee420c5764000802986cd6f280191 : SUCCESS in 11m 51s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/59d46ed614f64d25afe10c625c99666e : SUCCESS in 12m 38s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/4088e49720a443bcaa7ec14b8ac23098 : SUCCESS in 11m 26s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/4236d17f9658467e8218600f92db929f : SUCCESS in 10m 50s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/dba4dbc0a62e4ec2ad5754089dbd1460 : SUCCESS in 8m 53s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/9ca7254dd16c4385aba726e2fb46d533 : SUCCESS in 12m 36s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/06b07aafeac9495c8eab0fee71e23c2e : SUCCESS in 10m 42s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/74f43ff00dc84d7b819bb902048b3f1d : SUCCESS in 9m 14s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/b235509ed7b94d419b21ad58f7426c7d : SUCCESS in 8m 08s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/3b8e1ced2c804adb8aaea69bc92fd59e : SUCCESS in 8m 04s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/d1405a7e348e4743ba355526a3fb68ec : SUCCESS in 11m 03s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/18ab99ed6c7e4f479f5a789536945721 : SUCCESS in 10m 40s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5e1e5893615046689a2a1e24111fc57f : SUCCESS in 17m 04s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/fa214bf57aed4d84a58fd07486c4c099 : SUCCESS in 29m 48s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c6607c726735449a8077991e62ddef69 : SUCCESS in 21m 49s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/5f119bbc0c1640f6b118dade52ef771c : SUCCESS in 29m 43s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/fbc0b38d9acf4784820d6cbcfdc786c0 : SUCCESS in 21m 21s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/83b9c05b00da42a88eab831a8f61afce : SUCCESS in 8m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/70ed93a378d240659ae0616ef4eb4a46 : SUCCESS in 5m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b00da0ef5f854cabadb8e17215da2b68 : SUCCESS in 16m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c12e2f37b97e47edb935094e81660dee : SUCCESS in 1h 03m 37s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/84405417e76a453c9000f16083f4337d : SUCCESS in 1h 08m 37s","accounts_in_message":[],"_revision_number":1},{"id":"37ac2a7f9886d0cd9ea33047ecb9450182b80c7a","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-09-02 00:42:04.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"26e377c0e0469f79f4139839712b2c6a29407cd0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 00:42:19.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"5a2c5e0d95bbd06ced3b80a90f4ea870a62ac471","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 02:57:28.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7b54af272bbe444caf7eeb995bb321e0 : SUCCESS in 6m 41s\n- grenade https://zuul.opendev.org/t/openstack/build/df375522b7d74ec0b38fb8365ea0a100 : SUCCESS in 1h 06m 09s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8dfc02656c7d4c08bf39dc64b4278922 : SUCCESS in 32m 55s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/0a67de6cfe814ef69b1046d482914705 : SUCCESS in 12m 33s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/80b609c09f7d4da5972b96a4990d9401 : SUCCESS in 17m 20s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/bacad50c8ae042f1b3c88ae64239ef73 : SUCCESS in 18m 00s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a0c4816c99434b5dbbe3d8c7d079074c : SUCCESS in 11m 48s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/77844d627b7d4de3bb1a1e412d34427f : SUCCESS in 10m 17s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/2907f330cf854a488761536b04ed9d9c : SUCCESS in 11m 13s\n- swift-tox-func-domain-remap-staticweb-py27 https://zuul.opendev.org/t/openstack/build/6c0c610a1b424fe9bded71d1ba6e521e : SUCCESS in 25m 35s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/1753cc8e87f64c53aaba395c08cc061d : SUCCESS in 9m 35s\n- swift-tox-func-s3api-py27 https://zuul.opendev.org/t/openstack/build/6f541a277b0a4825b88fd92ac9dc257a : SUCCESS in 12m 11s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/c01a48d85f9f4111bd740780cab6f00b : SUCCESS in 11m 23s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/0f70aa17f3d840fb83b939f70fddc1c0 : SUCCESS in 9m 23s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/ce2ae8ac003c4e38bef43a22db8c7ad9 : SUCCESS in 11m 58s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/9c4d61aeb7cf42d58c20402040ffa506 : SUCCESS in 13m 30s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/8dee1fb30a5b4a65b5be807813945400 : SUCCESS in 28m 17s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a58bbb9e7b1142e5a9a0af327c660643 : SUCCESS in 29m 37s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/da5fc75bb8d74758a89bda6a8a77b5d2 : SUCCESS in 31m 59s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4c9ed52030704eb5b8416d1569fa153f : SUCCESS in 29m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/22459833d67d42adb7f4cb4ba1d2b920 : SUCCESS in 10m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6b4840ac91604e3ba1ab2f11a0694eae : SUCCESS in 5m 20s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b2a486b0a1e646e28ead4f28314cbcb3 : SUCCESS in 54m 59s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/47ec7dd3900b45cb9475ed46cce64afc : SUCCESS in 1h 08m 03s","accounts_in_message":[],"_revision_number":1},{"id":"5fc6b946cd5d2f902e763075b6c30bb4e779a088","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 02:57:29.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"79302b301626c6c0fd65e4fc4aa3a77328a306e1","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-09-02 02:58:49.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/02e978a777074365b9d6d13755719d36 : SUCCESS in 59s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/9147d85670974a759952447ae8cb29da : SUCCESS in 38s (non-voting)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"eef87ee21229c8f8cc794b29e0f9abc159fc98e7","revisions":{"eef87ee21229c8f8cc794b29e0f9abc159fc98e7":{"kind":"REWORK","_number":1,"created":"2020-08-30 17:25:45.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/83/748883/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/83/748883/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/83/748883/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/83/748883/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/83/748883/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/83/748883/1"}}},"commit":{"parents":[{"commit":"69225ada606c00e5a68d82c297c7c5c100bf33ab","subject":"Stop syncing empty suffixes list","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/69225ada606c00e5a68d82c297c7c5c100bf33ab"}]}],"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-08-30 17:25: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/eef87ee21229c8f8cc794b29e0f9abc159fc98e7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eef87ee21229c8f8cc794b29e0f9abc159fc98e7"}]},"branch":"refs/heads/stable/train"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
