)]}'
{"id":"openstack%2Fplacement~676982","triplet_id":"openstack%2Fplacement~master~I7e24b54bfcd296f13ea4f65dbb10ba63679c05b1","project":"openstack/placement","branch":"master","topic":"request_log-middleware-last","hashtags":[],"change_id":"I7e24b54bfcd296f13ea4f65dbb10ba63679c05b1","subject":"Merge request log and request id middlewares","status":"MERGED","created":"2019-08-16 16:21:18.000000000","updated":"2019-09-03 14:21:39.000000000","submitted":"2019-09-03 14:20:07.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"676982-1567520407275-d8bf76c4","meta_rev_id":"b0c02df29fc670aff8ca06cf6dcb226419a2b9dc","_number":676982,"virtual_id_number":676982,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":2,"date":"2019-09-03 14:20:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"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":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"all":[{"value":2,"date":"2019-08-28 09:00:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":2,"date":"2019-09-03 10:54:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"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":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":1,"date":"2019-09-03 10:54:25.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-08-20 19:35:38.000000000","updated_by":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"reviewer":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"state":"REVIEWER"},{"updated":"2019-09-03 10:54:25.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2019-09-03 14:20:07.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":"7d4e2618677be31ac2f38543038555eae49e80db","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-16 16:21:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2953d4c5e784a89c7c218467b618eb4b083e78c0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 17:41:57.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/3a655513f2cf4bd99958cbd6fc2e157d : SUCCESS in 59m 14s\n- tempest-integrated-placement https://zuul.opendev.org/t/openstack/build/a6feb2564e834f4db639cd1960a99223 : SUCCESS in 1h 19m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/36e16fd880ef4ed4a04921f82a16ab10 : SUCCESS in 6m 21s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3361a3434414483d8dbc3f9349569682 : SUCCESS in 6m 55s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/82833fb6aedb45f5aaa36cb40bc2d08c : SUCCESS in 5m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e7739b38572440369cf5f227d406a4da : SUCCESS in 4m 54s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/f655885301744777b38238f114171457 : SUCCESS in 5m 01s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7c7870e8c9fc4eab82a0e11eb8f12fe9 : SUCCESS in 5m 34s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/467e553b9f044ecfa01cb5635fd078ae : SUCCESS in 7m 35s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/c4337e1aff974281a4c2c35fe61a8788 : SUCCESS in 6m 45s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/19c2a9ad195c4d8c85059af88f915ed2 : SUCCESS in 6m 54s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/1e672cab70654407a26555b80049931c : SUCCESS in 7m 03s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/f5aa23c300874ed48223f20255856e58 : SUCCESS in 14m 20s\n- placement-nested-perfload https://zuul.opendev.org/t/openstack/build/21def6f3e8354304b6d291825f597a96 : SUCCESS in 28m 04s (non-voting)\n- placement-perfload https://zuul.opendev.org/t/openstack/build/5354feab66f84f3a92dc2cee465838ab : SUCCESS in 11m 00s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b97777ea62eb468bae33e0dcc970b610 : SUCCESS in 1h 02m 24s","accounts_in_message":[],"_revision_number":1},{"id":"21ea5d65e97620a1fe22737bd9d3d6d6bcaa2d1e","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-17 10:01:28.000000000","message":"Patch Set 1:\n\nComparing logs in the tempest tests here and in something else, it looks like the first time you do a LOG it finds the current context and keeps that for the rest of time, and thus user and project info don\u0027t get in the logs.\n\nSo in the auth.py where we generate a context we probably need to figure out how to get the current one and add to it, instead of creating a new one.","accounts_in_message":[],"_revision_number":1},{"id":"1ffd9833beeaec8fa89077a7867b1b997d8ece6f","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-20 19:35:38.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)\n\nThis is working. You can track a request ID req-ab96ddab-baee-4a6a-b538-a5b713fa4c93 from the scheduler [1] back and forth to placement [2], where it does the sequence from GET /a_c through to PUT /allocations and a final GET /allocations.\n\n(Now if we could only get the nova services sending the proper *global* request_id through to each other -- as you can see from [1], it\u0027s the local request_id that\u0027s being sent down to placement.)\n\n\u003e So in the auth.py where we generate a context we probably need to figure out how to get the current one and add to it, instead of creating a new one.\n\nUse oslo_context.context.get_current() to get the RequestContext saved in threadlocal.\n\n[1] https://zuul.opendev.org/t/openstack/build/a6feb2564e834f4db639cd1960a99223/log/controller/logs/screen-n-sch.txt.gz#937\n[2] https://zuul.opendev.org/t/openstack/build/a6feb2564e834f4db639cd1960a99223/log/controller/logs/screen-placement-api.txt.gz#416","accounts_in_message":[],"_revision_number":1},{"id":"e0d722b177f64b3f048a7a91d35283fa76766d59","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-27 10:45:38.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)\n\nwill tune up the context","accounts_in_message":[],"_revision_number":1},{"id":"7bbd96fdadc82c48c63009dbbffd049cd11d1db9","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-27 11:48:20.000000000","message":"Patch Set 1: -Workflow\n\nIt seems I was wrong when I was looking at the tempest logs last week.\n\nThe stuff for a single request is correct:\n\nhttps://zuul.opendev.org/t/openstack/build/a6feb2564e834f4db639cd1960a99223/log/controller/logs/screen-placement-api.txt.gz#310-318\n\nstart with global and local req id, but no auth info, then once auth info is present start using it, with correct req ids\n\nEric, how should we integrate this with your changes? If at all? Maybe just kill yours and rebase my doc changes on this one?","accounts_in_message":[],"_revision_number":1},{"id":"255f2a3841bd9d45686f499c095e131b95a27bf8","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-28 09:00:23.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"be488a126c7c1e3fd3fcc6fcdfe73cefefae1e87","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-28 10:53:34.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/29daf71d099447b0a95207427c8ebd29 : SUCCESS in 1h 03m 44s\n- tempest-integrated-placement https://zuul.opendev.org/t/openstack/build/897774f771c240c3a5172edff486b7b3 : SUCCESS in 1h 23m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1e010b74e88848ba98679fe459ffb2a5 : SUCCESS in 4m 34s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/09273f988c68445f9d14adf093808a25 : SUCCESS in 6m 25s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/597f6ddb9f8641b6867a1fd0c1973de2 : SUCCESS in 7m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ae3277a68c3d49c38c2d2e5fe7c78742 : SUCCESS in 5m 19s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/1bff70e4a08e494d868ee3805fe78d18 : SUCCESS in 5m 53s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/1fb909ea78d442e49669a8d3b6cf9631 : SUCCESS in 5m 37s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/a78d9b58167d469580a57c331a0d6528 : SUCCESS in 6m 04s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/7a0acdab5833437599d04f9c31d23d59 : SUCCESS in 5m 37s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/07ec0a5d5ce1459285d930f1b597da6f : SUCCESS in 6m 11s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/9bc71aafbb4440ed82a2768aa62493a9 : SUCCESS in 5m 41s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/80a8cf1938694dcc93a8b712aa1f08df : SUCCESS in 15m 40s\n- placement-nested-perfload https://zuul.opendev.org/t/openstack/build/96b65421fd764f96aa0190feaabe0e90 : SUCCESS in 29m 07s (non-voting)\n- placement-perfload https://zuul.opendev.org/t/openstack/build/12c2615707da42cf9998f7e3978debf8 : SUCCESS in 13m 05s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0666027ef19045838220b7af0dbc16d5 : SUCCESS in 1h 02m 35s","accounts_in_message":[],"_revision_number":2},{"id":"8ba604d018aec2e5364d85729f9f371a7b9aef85","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-28 21:08:46.000000000","message":"Patch Set 2:\n\n\u003e Eric, how should we integrate this with your changes? If at all? Maybe just kill yours\n\nyes","accounts_in_message":[],"_revision_number":2},{"id":"4ded8a490518b3681e786192ac969973c6a67c16","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2019-09-03 10:54:25.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nThe duplication is not ideal but I have not better idea without changing oslo.middleware.\n\ngibi","accounts_in_message":[],"_revision_number":2},{"id":"ae6bd98e0e88359bd02f585997f0ccaa6a03802b","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-03 10:54:42.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b9dff34bc804e8697fa812ad8fd3df44987e9ef5","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-03 14:20:07.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"2ad3ddb7b3951f08232c0168f86b5fda42d42e4e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-03 14:20:07.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/d1c4343cada144c1a13d698282a04235 : SUCCESS in 1h 01m 57s\n- tempest-integrated-placement https://zuul.opendev.org/t/openstack/build/e6e80b88d8df4dde82029b52ca09ab3b : SUCCESS in 1h 26m 37s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bf09675cb07040739935d3172b06cc82 : SUCCESS in 5m 14s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4416c990a5984572bb50fe8ad83817b9 : SUCCESS in 6m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5651602545e34a1ba56aa74bce3649ca : SUCCESS in 6m 24s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/08a41ded3b8a4b1aab97bb7ebb8455ef : SUCCESS in 7m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/971130b579b84b2694262029bd0491bb : SUCCESS in 7m 08s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/282a6f5207ce4a8eae4317e7bc2cc2ab : SUCCESS in 6m 37s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/f1b06678b4af4a5b9b8c53eae75f6d8e : SUCCESS in 6m 31s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/1c5e1edd8d524f6c8c2ff8c1577aa405 : SUCCESS in 6m 09s\n- openstack-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/5f33b1a20af6496e82c7f556af5e6887 : SUCCESS in 7m 54s\n- placement-nova-tox-functional-py37 https://zuul.opendev.org/t/openstack/build/046e345ccef24c5e8a95dcbaa113b531 : SUCCESS in 13m 51s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/73288fa3b07247d7a7d360814ff16936 : SUCCESS in 1h 17m 58s","accounts_in_message":[],"_revision_number":2},{"id":"ace2aba0338122ce43a093d9ad6b9c55c2eb25be","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-03 14:21:39.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a29ee052735c47d39f2864d1ad87ba37 : SUCCESS in 1m 13s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"7327f2eeec5bc6c5c2518155627a2bbf6d2516a7","revisions":{"e6d46057eb5274ad62c61a46990a2b79012ae4bf":{"kind":"REWORK","_number":1,"created":"2019-08-16 16:21:18.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/82/676982/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/82/676982/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/82/676982/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/82/676982/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/82/676982/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/82/676982/1"}}},"commit":{"parents":[{"commit":"aecd0f3497c5e4f1e73bf6c76a9add3db6270e27","subject":"Avoid duplicate ProviderSummary in _merge_candidates","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/aecd0f3497c5e4f1e73bf6c76a9add3db6270e27"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-16 16:17:36.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-16 16:17:36.000000000","tz":60},"subject":"Merge request log and request id middlewares","message":"Merge request log and request id middlewares\n\nThis is done to ensure that both are in the outermost\npiece of middleware so that we generate and log the\nglobal request id (if any) as early as possible, and\nuse it, and the local request id, throughout the entire\nmiddleware stack.\n\nThis turned out to be somewhat more complex than desired\nbecause:\n\n* The request id middleware from oslo_middleware is a webob\n  wsgi app, so we need to map the request log middleware to\n  that style (meaning more changes than strictly necessary).\n\n* The __call__ in the request id middleware is not composed\n  to make calling it as a super clean, so instead of doing that\n  we are copying code. Which implies some risks for which we\n  may wish to consider workarounds.\n\nThis is an alternative to I5a80056dd88836a4e79a649fa02d36dc7e75eee4\n\nChange-Id: I7e24b54bfcd296f13ea4f65dbb10ba63679c05b1\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/e6d46057eb5274ad62c61a46990a2b79012ae4bf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/e6d46057eb5274ad62c61a46990a2b79012ae4bf"}]},"branch":"refs/heads/master"},"7327f2eeec5bc6c5c2518155627a2bbf6d2516a7":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2019-08-28 09:00:23.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/82/676982/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/82/676982/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/82/676982/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/82/676982/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/82/676982/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/82/676982/2"}}},"commit":{"parents":[{"commit":"31794c854685ed28ee5037f8f668a04f2874af87","subject":"api-ref: fix typo in aggregates note","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/31794c854685ed28ee5037f8f668a04f2874af87"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-16 16:17:36.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-28 08:50:42.000000000","tz":60},"subject":"Merge request log and request id middlewares","message":"Merge request log and request id middlewares\n\nThis is done to ensure that both are in the outermost\npiece of middleware so that we generate and log the\nglobal request id (if any) as early as possible, and\nuse it, and the local request id, throughout the entire\nmiddleware stack.\n\nThis turned out to be somewhat more complex than desired\nbecause:\n\n* The request id middleware from oslo_middleware is a webob\n  wsgi app, so we need to map the request log middleware to\n  that style (meaning more changes than strictly necessary).\n\n* The __call__ in the request id middleware is not composed\n  to make calling it as a super clean, so instead of doing that\n  we are copying code. Which implies some risks for which we\n  may wish to consider workarounds.\n\nThis is an alternative to I5a80056dd88836a4e79a649fa02d36dc7e75eee4\n\nChange-Id: I7e24b54bfcd296f13ea4f65dbb10ba63679c05b1\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/7327f2eeec5bc6c5c2518155627a2bbf6d2516a7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/7327f2eeec5bc6c5c2518155627a2bbf6d2516a7"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
