)]}'
{"id":"openstack%2Fpython-keystoneclient~113579","triplet_id":"openstack%2Fpython-keystoneclient~master~I06389c854e83b145bb36848158a085756ab6fa46","project":"openstack/python-keystoneclient","branch":"master","topic":"bug/1349364","hashtags":[],"change_id":"I06389c854e83b145bb36848158a085756ab6fa46","subject":"Add HTTP_X_AUTH_URI variable for use by the OpenStack service","status":"ABANDONED","created":"2014-08-12 16:26:21.000000000","updated":"2014-09-27 14:46:23.000000000","total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"5749877f00d79035f611347ce630b2c70ed2f79c","_number":113579,"virtual_id_number":113579,"owner":{"_account_id":12654,"name":"Salvatore Pinto","email":"salvatore.pinto@egi.eu","username":"spinto"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2014-08-18 09:21:32.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2014-08-18 08:20:09.000000000","_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"date":"2014-08-18 14:43:13.000000000","_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":-2,"date":"2014-08-21 05:39:50.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"value":-1,"date":"2014-09-19 14:56:16.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"}],"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":{"all":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-08-18 08:20:09.000000000","updated_by":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"reviewer":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"state":"REVIEWER"},{"updated":"2014-08-18 09:21:32.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2014-08-18 14:43:13.000000000","updated_by":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"reviewer":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"state":"REVIEWER"}],"messages":[{"id":"0350691ff5773f1b353c973afa611f76801056f3","author":{"_account_id":12654,"name":"Salvatore Pinto","email":"salvatore.pinto@egi.eu","username":"spinto"},"date":"2014-08-12 16:26:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a6483bb5399be61845db2d9daad1fdd0439d385e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-12 16:26:22.000000000","message":"Patch Set 1:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"21bd43ceb480e53a20372d0cee64d6e9efec2906","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-12 19:00:41.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-pep8/71dcb82 : SUCCESS in 3m 29s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/79/113579/1/check/gate-python-keystoneclient-docs/7228314/doc/build/html/ : SUCCESS in 3m 59s\n- gate-python-keystoneclient-python26 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-python26/85e40e2 : SUCCESS in 2m 45s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-python27/f1c8e85 : SUCCESS in 2m 58s\n- check-tempest-dsvm-full http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-full/cd0014a : SUCCESS in 50m 27s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-postgres-full/7d25408 : SUCCESS in 49m 44s\n- check-tempest-dsvm-neutron http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron/ae79a95 : SUCCESS in 48m 20s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-heat-slow/dfa5e49 : SUCCESS in 20m 31s\n- check-grenade-dsvm http://logs.openstack.org/79/113579/1/check/check-grenade-dsvm/ce771a5 : SUCCESS in 46m 16s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/79/113579/1/check/gate-tempest-dsvm-large-ops/b7879e6 : SUCCESS in 18m 19s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/79/113579/1/check/gate-tempest-dsvm-neutron-large-ops/10a2cae : SUCCESS in 18m 57s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-full-havana/9d0e6ba : SUCCESS in 36m 52s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-havana/c3601ad : SUCCESS in 34m 37s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-full-icehouse/3efb917 : SUCCESS in 45m 59s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-icehouse/36e3888 : SUCCESS in 59m 41s\n- gate-python-keystoneclient-python33 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-python33/21b2b31 : SUCCESS in 5m 41s\n- check-devstack-dsvm-cells http://logs.openstack.org/79/113579/1/check/check-devstack-dsvm-cells/0c61de6 : SUCCESS in 15m 59s","accounts_in_message":[],"_revision_number":1},{"id":"74701045c61a367be2ee08646ea2ee137a2a881c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-18 08:20:09.000000000","message":"Patch Set 1: -Verified\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"7b3098b20221903a0ffa8fd1ecdf7e0c66b58358","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2014-08-18 08:20:09.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nI think what i\u0027d prefer to do here is for Middleware to define an exception \u0027Unauthenticated\u0027 or such and if the exception is caught by the middleware then have it handle creating the response. \n\nI don\u0027t want every service figuring out how to construct those messages.","accounts_in_message":[],"_revision_number":1},{"id":"74385879cbcb53a0c40456f63241f274b7186295","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2014-08-18 08:20:19.000000000","message":"Patch Set 1: Code-Review-1","accounts_in_message":[],"_revision_number":1},{"id":"1b90e34a7dfad6efac5223d5ff8d6d86ed97e8f0","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-18 09:21:32.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-pep8/d4147bb : SUCCESS in 2m 59s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/79/113579/1/check/gate-python-keystoneclient-docs/9221630/doc/build/html/ : SUCCESS in 4m 16s\n- gate-python-keystoneclient-python26 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-python26/163edda : SUCCESS in 2m 01s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-python27/700692d : SUCCESS in 3m 01s\n- check-tempest-dsvm-full http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-full/d8cf98b : SUCCESS in 47m 44s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-postgres-full/0281be2 : SUCCESS in 58m 12s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-full/adbe891 : SUCCESS in 57m 38s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-heat-slow/fef8ae3 : SUCCESS in 21m 41s\n- check-grenade-dsvm http://logs.openstack.org/79/113579/1/check/check-grenade-dsvm/7058438 : SUCCESS in 41m 57s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/79/113579/1/check/gate-tempest-dsvm-large-ops/f08e066 : SUCCESS in 23m 31s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/79/113579/1/check/gate-tempest-dsvm-neutron-large-ops/01a3055 : SUCCESS in 23m 34s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-full-havana/07c9eb6 : SUCCESS in 38m 15s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-havana/41897c1 : SUCCESS in 34m 45s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-full-icehouse/b2f8e9f : SUCCESS in 47m 31s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/79/113579/1/check/check-tempest-dsvm-neutron-icehouse/a846e2d : SUCCESS in 55m 01s\n- gate-python-keystoneclient-python33 http://logs.openstack.org/79/113579/1/check/gate-python-keystoneclient-python33/35f4439 : SUCCESS in 4m 47s\n- check-devstack-dsvm-cells http://logs.openstack.org/79/113579/1/check/check-devstack-dsvm-cells/02efafe : SUCCESS in 17m 02s","accounts_in_message":[],"_revision_number":1},{"id":"dd4802981831b49885983d90531ea67ca3a0cd4b","author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"date":"2014-08-18 14:43:13.000000000","message":"Patch Set 1:\n\n\u003e Jamie Lennox: I don\u0027t want every service figuring out how to construct those messages.\n\nFYI: Swift does this right now -- but because it does not know the auth_uri, it populates with:\n\n    Swift realm\u003d\"\u003cproject-id\u003e\"\n\ni.e., a catchall (that also works with tempurl and formpost [that don\u0027t use keystone auth])\n\nDo you have a specific mechanism in mind? Such as putting a function into the environment that constructs a 401 response?\n\nMore generally, should this change be in openstack/keystonemiddleware project ... not python-keystoneclient?","accounts_in_message":[],"_revision_number":1},{"id":"b6e00f744bcc25d5e865b26057cff375506238ce","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2014-08-21 05:39:31.000000000","message":"Patch Set 1:\n\nFirstly yes it needs to go to middleware. We are not making changes to auth_token in keystoneclient. \n\nwhen i first -1ed it i wasn\u0027t thinking of the case where auth_token may not be present. The only other thing i can come up with is, as you say, putting the function in the environment which is not great. \n\nProbably the correct solution is to pull it out into it\u0027s own middleware handler which if response_code \u003d\u003d 401 set Realm header. That might be more trouble than it\u0027s worth.","accounts_in_message":[],"_revision_number":1},{"id":"c19275d4edec730003a2a9ee0c8f114a10256a1d","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2014-08-21 05:39:50.000000000","message":"Patch Set 1: Code-Review-2\n\nNeeds to go to middleware.","accounts_in_message":[],"_revision_number":1},{"id":"f1d8781a93bcfaf65b145f8e2449751bec353d69","author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"date":"2014-09-19 14:56:16.000000000","message":"Patch Set 1: Code-Review-1\n\nLooks like https://review.openstack.org/#/c/119261 has removed the need for this.","accounts_in_message":[],"_revision_number":1},{"id":"2b8370460be9c627a1e0a0c9680a4f017faa67e1","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2014-09-27 14:46:23.000000000","message":"Abandoned\n\nMake this change in keystonemiddleware.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"781924eaf846ecab80c9d386ce2b538fb44c7ecd","revisions":{"781924eaf846ecab80c9d386ce2b538fb44c7ecd":{"kind":"REWORK","_number":1,"created":"2014-08-12 16:26:21.000000000","uploader":{"_account_id":12654,"name":"Salvatore Pinto","email":"salvatore.pinto@egi.eu","username":"spinto"},"ref":"refs/changes/79/113579/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/79/113579/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/79/113579/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/79/113579/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/79/113579/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/79/113579/1"}}},"commit":{"parents":[{"commit":"5785698d48c77d8c27189fb7e548fa72e3a1719b","subject":"Merge \"Fixes import grouping\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/5785698d48c77d8c27189fb7e548fa72e3a1719b"}]}],"author":{"name":"Salvatore Pinto","email":"salvatore.pinto@egi.eu","date":"2014-07-28 10:36:32.000000000","tz":120},"committer":{"name":"Salvatore Pinto","email":"salvatore.pinto@egi.eu","date":"2014-07-28 10:44:53.000000000","tz":120},"subject":"Add HTTP_X_AUTH_URI variable for use by the OpenStack service","message":"Add HTTP_X_AUTH_URI variable for use by the OpenStack service\n\nIf Middleware is configured to run in \u0027delay_auth_decision\u0027 mode and\nkeystone auhtentication fails (HTTP_X_IDENTITY_STATUS set to \u0027invalid\u0027),\nthe Middleware may grant or not service access according to its own\ninternal rules. If Middleware denies access, it needs the Keystone\nauth_uri to generate a proper Www-Authenticate header in the 401\nresponce.\n\nThis patch adds a HTTP_X_AUTH_URI header for the Middleware\nto build up proper 401 responce in case \u0027delay_auth_decision\u0027 is\nenabled\n\nRelated-Bug: 1349364\nChange-Id: I06389c854e83b145bb36848158a085756ab6fa46\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/781924eaf846ecab80c9d386ce2b538fb44c7ecd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/781924eaf846ecab80c9d386ce2b538fb44c7ecd"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
