)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4d6929bbdb14f2ce68d2ffa2cce18723a888198b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"15fb6b9b_939d368d","updated":"2024-12-18 23:39:42.000000000","message":"All the signature-mismatch errors for s3api make me think we\u0027ll need to either\n\n- invent some `proxy_headers` middleware to take in `X-Forwarded-*` headers and make appropriate adjustments to the WSGI env, or\n- teach devstack to use haproxy or nginx or some other TLS terminator that can speak [PROXY protocol v1](https://github.com/openstack/swift/commit/661838d968c163cec716cd5c8bcce9f5c69d18d4) to backends (as I don\u0027t see any way to do that with Apache).","commit_id":"be98087c739d490cbc7f9da7bc1924a8bac252a1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6ab2b6bf8a55b214313c53cc3b3ac1640b1c0dcd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a5b1275c_a32b159d","in_reply_to":"15fb6b9b_939d368d","updated":"2025-02-20 01:29:35.000000000","message":"\u003e invent some `proxy_headers` middleware to take in `X-Forwarded-*` headers and make appropriate adjustments to the WSGI env\n\nOh, this maybe exists? https://opendev.org/openstack/oslo.middleware/src/branch/master/oslo_middleware/http_proxy_to_wsgi.py","commit_id":"be98087c739d490cbc7f9da7bc1924a8bac252a1"}],"roles/additional-keystone-users/tasks/main.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8fc3059525653752e01c33c48056bcbe05ab3fc4","unresolved":true,"context_lines":[{"line_number":3,"context_line":"    path: /etc/swift/test.conf"},{"line_number":4,"context_line":"    section: func_test"},{"line_number":5,"context_line":"    option: s3_storage_url"},{"line_number":6,"context_line":"    value: https://localhost:8080"},{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- name: Create primary S3 user"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2503f100_a1d0b19a","line":6,"updated":"2022-09-07 21:45:02.000000000","message":"Tests fail with a bunch of certificate errors like\n\n hostname \u0027localhost\u0027 doesn\u0027t match either of \u0027ubuntu-focal-iweb-mtl01-0031009802\u0027, \u0027198.72.124.45\u0027, \u00270:0:0:0:0:0:0:1\u0027, \u0027198.72.124.45\u0027\n\nMight need to spot-check that the auth_url (and storage_url coming out of keystone) are using the IP, too.","commit_id":"a6daf4d8fb4d4d0a57b36ac74452753a99b119d9"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cf01ba9c9fbd11c70d83e786b2ddb696570b69fd","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    path: /etc/swift/test.conf"},{"line_number":4,"context_line":"    section: func_test"},{"line_number":5,"context_line":"    option: s3_storage_url"},{"line_number":6,"context_line":"    value: https://localhost:8080"},{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- name: Create primary S3 user"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ce2eaa0b_9292335c","line":6,"in_reply_to":"2503f100_a1d0b19a","updated":"2025-03-04 22:56:09.000000000","message":"Done","commit_id":"a6daf4d8fb4d4d0a57b36ac74452753a99b119d9"}],"roles/dsvm-additional-middlewares/tasks/main.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"46f4583ed2271f9f39ccf6a46edfb4615b6451ef","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    replace: \"cache domain_remap etag-quoter listing_formats\""},{"line_number":6,"context_line":"  become: true"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Add http_proxy_to_wsgi to pipeline"},{"line_number":9,"context_line":"  replace:"},{"line_number":10,"context_line":"    path: \"/etc/swift/proxy-server.conf\""},{"line_number":11,"context_line":"    regexp: \"catch_errors gatekeeper\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"01e18ecd_8dcd461a","line":8,"updated":"2025-02-27 21:42:32.000000000","message":"Blerg. https://github.com/openstack/swift/blob/2.34.0/swift/common/middleware/s3api/s3request.py#L413-L420\n\nYeah, oslo.middleware ain\u0027t touchin\u0027 `environ[\u0027headers_raw\u0027]`...","commit_id":"ec017143dedc804e6a315d09b446e28fe83d5e25"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cf01ba9c9fbd11c70d83e786b2ddb696570b69fd","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    replace: \"cache domain_remap etag-quoter listing_formats\""},{"line_number":6,"context_line":"  become: true"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Add http_proxy_to_wsgi to pipeline"},{"line_number":9,"context_line":"  replace:"},{"line_number":10,"context_line":"    path: \"/etc/swift/proxy-server.conf\""},{"line_number":11,"context_line":"    regexp: \"catch_errors gatekeeper\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"d52770ca_bbec7aa1","line":8,"in_reply_to":"01e18ecd_8dcd461a","updated":"2025-03-04 22:56:09.000000000","message":"https://review.opendev.org/c/openstack/swift/+/943213","commit_id":"ec017143dedc804e6a315d09b446e28fe83d5e25"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cf01ba9c9fbd11c70d83e786b2ddb696570b69fd","unresolved":true,"context_lines":[{"line_number":81,"context_line":"    section: func_test"},{"line_number":82,"context_line":"    option: web_front_end"},{"line_number":83,"context_line":"    value: apache2"},{"line_number":84,"context_line":"  become: true"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Restart service to pick up config changes"},{"line_number":87,"context_line":"  command: systemctl restart devstack@s-{{ item }}.service"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"1726f0e9_30cb9128","line":84,"updated":"2025-03-04 22:56:09.000000000","message":"This probably isn\u0027t required; devstack should do it for us: https://github.com/openstack/devstack/blob/db5e05ac/lib/swift#L539","commit_id":"4ddfc0751570c21bd9b64b6b9d421f11854d7a98"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"5a5b9f04326e60d86add087d6b7d8afa35362833","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    section: func_test"},{"line_number":82,"context_line":"    option: web_front_end"},{"line_number":83,"context_line":"    value: apache2"},{"line_number":84,"context_line":"  become: true"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Restart service to pick up config changes"},{"line_number":87,"context_line":"  command: systemctl restart devstack@s-{{ item }}.service"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"9d146585_3c591ced","line":84,"in_reply_to":"1726f0e9_30cb9128","updated":"2025-04-09 23:43:52.000000000","message":"Done","commit_id":"4ddfc0751570c21bd9b64b6b9d421f11854d7a98"}],"test/functional/test_account.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"65402ae83b821709728d49ef8060d5d261ce06d9","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        finally:"},{"line_number":223,"context_line":"            # be sure to clear it after; otherwise, we may be left with a"},{"line_number":224,"context_line":"            # stored header that apache2 will refuse to forward to clients"},{"line_number":225,"context_line":"            headers \u003d {\u0027x-account-access-control\u0027: \u0027\u0027}"},{"line_number":226,"context_line":"            resp \u003d retry(post, headers\u003dheaders, use_account\u003d1)"},{"line_number":227,"context_line":"            resp.read()"}],"source_content_type":"text/x-python","patch_set":23,"id":"0de085d6_7363ef3a","line":224,"updated":"2025-03-06 05:01:14.000000000","message":"We should see about bumping up [`responsefieldsize` in the `ProxyPass` line](https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html) -- \u0027cause this behavior is **stupid**.","commit_id":"f61ebc99df039c3fd6cae2fa47364cc33b3c2e48"}]}
