)]}'
{"id":"openstack%2Fpython-keystoneclient~172155","triplet_id":"openstack%2Fpython-keystoneclient~master~I91d95e3e2a5079d27575a66177c132ef20e00d63","project":"openstack/python-keystoneclient","branch":"master","topic":"bp/k2k-auth-plugin","hashtags":[],"change_id":"I91d95e3e2a5079d27575a66177c132ef20e00d63","subject":"Add Keystone2KeystoneAuthPlugin for K2K federation","status":"ABANDONED","created":"2015-04-09 17:40:33.000000000","updated":"2015-06-04 20:42:19.000000000","total_comment_count":26,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"57019ac1d4ac50a96dd73090bba4ac25c071a1e2","_number":172155,"virtual_id_number":172155,"owner":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":1,"date":"2015-05-22 19:17:41.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"date":"2015-05-22 22:22:05.000000000","_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"date":"2015-05-22 21:05:07.000000000","_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},{"date":"2015-05-22 19:34:39.000000000","_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"}],"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":{"disliked":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"all":[{"value":-1,"date":"2015-06-02 10:54:06.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"}],"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"rejected":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"all":[{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},{"value":-1,"date":"2015-06-01 21:00:28.000000000","permitted_voting_range":{"min":-1,"max":0},"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"}],"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":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-04-09 18:22:01.000000000","updated_by":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"reviewer":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"state":"REVIEWER"},{"updated":"2015-04-09 18:39:34.000000000","updated_by":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"reviewer":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"state":"REVIEWER"},{"updated":"2015-04-11 18:28:41.000000000","updated_by":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"reviewer":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"state":"REVIEWER"},{"updated":"2015-04-14 22:37:54.000000000","updated_by":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"reviewer":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"state":"REVIEWER"},{"updated":"2015-05-07 16:10:37.000000000","updated_by":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"reviewer":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"state":"REVIEWER"},{"updated":"2015-05-22 19:17:41.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2015-05-22 21:05:07.000000000","updated_by":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"reviewer":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"state":"REVIEWER"},{"updated":"2015-05-22 22:22:05.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":"2015-06-02 10:54:06.000000000","updated_by":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"reviewer":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"state":"REVIEWER"}],"messages":[{"id":"4171d85470fa5a7b921b425b1b54c5f74f42d5f7","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-09 17:40:33.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"53116ae8f10da088a3b9c96e7467ed3d8f6224d8","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-04-09 17:42:53.000000000","message":"Patch Set 1:\n\ndo we need to update https://github.com/openstack/python-keystoneclient/blob/master/setup.cfg#L30-L39 too?","accounts_in_message":[],"_revision_number":1},{"id":"1c1c052c082bffc2f2c27c88bb0c7094f91ade38","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-09 17:58:14.000000000","message":"Patch Set 1:\n\ngood question :)","accounts_in_message":[],"_revision_number":1},{"id":"8801894846eb78bb1d17caf829fb133161051742","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-09 19:04:59.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/55/172155/1/check/gate-python-keystoneclient-python26/860d036/ : SUCCESS in 3m 11s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/55/172155/1/check/gate-python-keystoneclient-pep8/ca1754e/ : SUCCESS in 4m 07s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/55/172155/1/check/gate-python-keystoneclient-docs/b03246d//doc/build/html/ : SUCCESS in 2m 35s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/55/172155/1/check/gate-python-keystoneclient-python27/eda1481/ : SUCCESS in 2m 37s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/55/172155/1/check/gate-python-keystoneclient-python34/fd4f681/ : SUCCESS in 4m 55s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient-juno http://logs.openstack.org/55/172155/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient-juno/cb71d0d/ : SUCCESS in 56m 28s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/55/172155/1/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/3562465/ : SUCCESS in 59m 50s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/55/172155/1/check/check-keystoneclient-dsvm-functional/c5450c8/ : SUCCESS in 21m 48s","accounts_in_message":[],"_revision_number":1},{"id":"e3aa0f8714be9d52e3af0826a93c11ab4fb2fc4c","author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"date":"2015-04-11 18:28:41.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"751c73c2e4278ee2de73458c58fa5b90ce4a9f35","author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"date":"2015-04-13 02:30:32.000000000","message":"Patch Set 1: Code-Review-1\n\n1) This looks like a limited version of auth plugins we already have in ksc. What it does it simply sends ECP wrapped assertions to the SP. Since this looks like a auth plugin (not submodule of a bigger plugin). So I imagine i am going to use it as follows:\n\n# openstack --auth-plugin\u003d\u0027k2k\u0027 [some params]\n\nThis plugin will not allow me to actually fetch assertion from my local Keystone. The news class could be probably used as a sub module doing part of the complex authN.\n\n2) I feel we should add it to python-keystoneclient-federation repo.","accounts_in_message":[],"_revision_number":1},{"id":"fa0fb53f4e26f57204dbd3a1cc97a831b03a6c1a","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 03:45:57.000000000","message":"Patch Set 1:\n\nThanks for the comments Marek:\n\n1) since it is a plugin that should be \"inside\" the client itself, I couldn\u0027t find any good way to just receive the service_provider id and fetch everything else (which was my first idea)\n\n2) the -federation repo won\u0027t have a release and it is being discussed rename it to -saml (major refactoring is needed there, btw - like use the FederationBase class). Since we do not perform any lxml handling in the K2K plugin, KSC is actually a good fit for it.","accounts_in_message":[],"_revision_number":1},{"id":"b448e247d769c2852fd451de72dec9679650bd07","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 03:46:33.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a4a03ecf5a69d1b3a12e08512b8da31b1cf5f0a0","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-04-13 04:42:17.000000000","message":"Patch Set 1: Code-Review-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"0b9e07cf347ebb198915adc0cd324e73a134a2f2","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 12:36:37.000000000","message":"Patch Set 1:\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"07fff252620c53c05360a079883a1e6fbeed0eea","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 12:38:35.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"a74e6735d4fb534913120554c1f17e6f79ead919","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 12:39:19.000000000","message":"Patch Set 2: Code-Review-1\n\nWaiting on replies from patch set 1","accounts_in_message":[],"_revision_number":2},{"id":"bd3b7f10efbf52fbf7ab419cf1508efdee92f608","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-13 13:30:07.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/55/172155/2/check/gate-python-keystoneclient-python26/adc7bdb/ : FAILURE in 2m 21s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/55/172155/2/check/gate-python-keystoneclient-pep8/4734f46/ : SUCCESS in 2m 20s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/55/172155/2/check/gate-python-keystoneclient-docs/64e70a0//doc/build/html/ : SUCCESS in 2m 57s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/55/172155/2/check/gate-python-keystoneclient-python27/124dabe/ : FAILURE in 2m 42s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/55/172155/2/check/gate-python-keystoneclient-python34/bc2e928/ : FAILURE in 4m 30s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/55/172155/2/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/e0b65b8/ : SUCCESS in 51m 24s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/55/172155/2/check/check-keystoneclient-dsvm-functional/0fa797c/ : SUCCESS in 20m 06s","accounts_in_message":[],"_revision_number":2},{"id":"4af5ae555526f5994e423a785795cb2195b435bc","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 14:11:16.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"e7b64723be739ed5912b43d1ea19f86efc39bfbc","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-13 14:11:40.000000000","message":"Patch Set 3:\n\nWaiting on replies from patch set 1","accounts_in_message":[],"_revision_number":3},{"id":"c6329f7a3fbc640aad7d67722cfc53381fd328b5","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-04-13 15:31:46.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/55/172155/3/check/gate-python-keystoneclient-python26/6cfca14/ : SUCCESS in 2m 07s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/55/172155/3/check/gate-python-keystoneclient-pep8/2a9df3a/ : SUCCESS in 2m 32s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/55/172155/3/check/gate-python-keystoneclient-docs/516b5b3//doc/build/html/ : SUCCESS in 3m 01s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/55/172155/3/check/gate-python-keystoneclient-python27/d6e6a84/ : SUCCESS in 2m 33s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/55/172155/3/check/gate-python-keystoneclient-python34/be8c2d8/ : SUCCESS in 3m 32s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/55/172155/3/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/683fc2f/ : SUCCESS in 55m 54s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/55/172155/3/check/check-keystoneclient-dsvm-functional/9f0bca2/ : SUCCESS in 18m 44s","accounts_in_message":[],"_revision_number":3},{"id":"59ce5dfb84fb54022aa428864188483bbbd0df3b","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-04-14 01:43:49.000000000","message":"Patch Set 3: Code-Review-1\n\n(2 comments)\n\nSo i don\u0027t have a problem with the code here, but i would like to see some examples of how it\u0027s used in practice. Do we expect that a user is going to deal with an ECP assertion? How does the plugin get this assertion from keystone? How do you authenticate to keystone to get the assertion? \n\nI\u0027m alright if (like saml) we need to have like sub plugins that handle multiple steps - but do you have even a pastebin somewhere with how this would look in user code?","accounts_in_message":[],"_revision_number":3},{"id":"fdf2314a850fb7fc7929f5aefdab487efe465237","author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"date":"2015-04-14 04:38:52.000000000","message":"Patch Set 3: Code-Review-1\n\nJamie, Rodrigo,\n\nMy point was that we should add a complex plugin that can handle all steps, including authn with a local cloud.\nThis patch can land somehow if you add this class as a subclass that later will be used in a top level plugin. Of course naming etc should be changed.\nAlso, I don\u0027t really support idea of putting it here (instead of python-keystoneclient-federation) just because it doesn\u0027t use lxml. To me, a much stronger factor is to put it there as it deals with OS-FEDERATION somehow.","accounts_in_message":[],"_revision_number":3},{"id":"1051413819cebca2d07dfbaa007a2321b9cd027e","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-14 19:19:12.000000000","message":"Patch Set 3:\n\nMarek, I\u0027m for the idea to have all steps being handled in the plugin, but I don\u0027t see \"how\" we can implement? Since a plugin is a client parameter, not the other way around...\n\nRegarding the repo, since -federation won\u0027t have releases is a good reason to avoid putting there","accounts_in_message":[],"_revision_number":3},{"id":"e557301ee3f790a89ec3461ce1301f39880461c5","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2015-04-14 22:37:54.000000000","message":"Patch Set 3: Code-Review-1\n\n(1 comment)\n\nI think the workflow is very similar to how we do re-scoping today.\n\n1. get a scope Keystone (uuid) token from IdP Keystone\n2. *rescope* the token to a given project for a given SP (if the project is known ahead of time). Otherwise, rescope the token to an unscoped token from SP.\n\nStep 2 is consisted multiple steps to be handled by the K2K auth plugin.\n\n1. get a SAML2 token from IdP Keystone for the given SP\n2. authenticate to the SP for an unscoped token\n3. rescoped the token to a given project if needed","accounts_in_message":[],"_revision_number":3},{"id":"f88408a92806b5fe9daeee139504ee58c28822ad","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-15 16:29:27.000000000","message":"Patch Set 3:\n\nGuang, agree with your points. And as I said in previous comments, the first idea was to have a plugin that could receive the sp_id and perform the whole workflow: exchange a token for an assertion and so on...\n\nAs I understood correctly, the current ksc design has a \"client\" that contains a \"plugin\". To perform the full k2k workflow we\u0027d need the plugin to have a client, so maybe using the current design is the wrong approach? What I mean is... we need a layer that uses the client, not a layer used by the client.","accounts_in_message":[],"_revision_number":3},{"id":"838d62112960d0fd19aff79eb11dab70c93dadc9","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-04-16 00:07:03.000000000","message":"Patch Set 3:\n\nit depends, you could have a client return you a plugin like: \n\nksc.k2k.get_new_auth(sp_url\u003d\u0027\u0027, )\n\ni don\u0027t know. But forgetting the review for the moment i\u0027d like to know what workflow your aiming for. What do you think is a good user interaction for getting a k2k token?","accounts_in_message":[],"_revision_number":3},{"id":"079006e2a25388f82fb4e5e4ad8f8e9550fd714b","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-16 13:07:55.000000000","message":"Patch Set 3:\n\nhmm... was thinking in a workflow like:\n\n1. create a client object authenticated against the Keystone IdP\n2. create a k2k plugin passing the sp_id I\u0027m aiming to use\n3. pass the plugin to the client\n4. get a token from the sp\n   4.1. plugin goes to my keystone IdP and asks a SAML assertion for the keystone SP\n   4.2. plugin goes to my keystone IdP and do a get_sp(sp_id) to get information like sp_url and sp_auth_url\n   4.3. plugin sends SAML assertion to keystone sp (sp_url)\n   4.4. plugin gets the unscoped token from keystone sp (sp_auth_url)","accounts_in_message":[],"_revision_number":3},{"id":"110d4b16dd28149be78eb8dade67d5c648befda0","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-16 13:12:16.000000000","message":"Patch Set 3:\n\nfor steps like getting the SAML assertion was thinking about using ksc itself: client.federation.saml.create_ecp_assertion(). Instead of making the call using the \"session\" object that is passed in the get_auth_ref() method.\n\nDoes this workflow make sense? What do you think?","accounts_in_message":[],"_revision_number":3},{"id":"645270577b4ff31fb31077bf8b1ec3c447660032","author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"date":"2015-04-21 14:06:20.000000000","message":"Patch Set 3:\n\nSo you want e.g openstackclient to cover and handle using two authentication plugins:\n\n1) retrieving and samlizing a token\n2) bursting into remote clued with my samlized assertion?","accounts_in_message":[],"_revision_number":3},{"id":"83b50ac86c573d9d08b084a8f66d5bdc212a6c59","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-04-21 15:19:41.000000000","message":"Patch Set 3:\n\nno... in the way the plugin is written right now, we would need to perform like you said, in two actions. in the previous comments i described the idea of having a client that would enable the possibility to have it done in a single step in OSC.","accounts_in_message":[],"_revision_number":3},{"id":"b6d12ce8767511f6090104c2aca56e333d977415","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2015-04-21 17:05:17.000000000","message":"Patch Set 3:\n\nThose two steps are equivalent to \"rescope\" if you really look at it at the macro level, rescoping a token from one cloud to another.\n\nWhat we don\u0027t have at the moment, is an aggregated view of the resources. In other words, how do we represent resources across clouds and present them to user at a comprehensive way. But conceptually, the workflow, at the micro level, should be similar to what we have now.\n\nI think the Cisco folks are working on the idea of aggregator in which we\u0027ll need to take a closer look at the summit.","accounts_in_message":[],"_revision_number":3},{"id":"e5936b5f659ec51cb58a304d590b102bf74c9fe2","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-05-02 00:47:46.000000000","message":"Patch Set 3:\n\ngyee: It\u0027s like rescoping but actually its possibly 2 rescopes and it requires us to figure out how to ask for a normal plugin and then a rescoped plugin, \n\nWe need to figure out how to specify all this information in one go, so that for example OSC can have all the parameters it needs up front. \n\nI\u0027m guessing it will have to be something like: \n\n--os-auth-plugin k2k --os-inner-plugin password --os-auth-url XXX .... --os-service-provider XXX --whatever\n\nThen we need to consider how that could possibly clash with existing plugins, like what happens if the --os-inner-plugin is a federation plugin? \n\nWe also need to figure out how this will work in relation to keystoneauth. From what i can see it\u0027s going to rely on CRUD from keystoneclient so it will probalby have to continue living here.","accounts_in_message":[],"_revision_number":3},{"id":"5e48c727b64a84b2d907edb8d73ce1f9aca31478","author":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"date":"2015-05-07 13:02:09.000000000","message":"Patch Set 3: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"a995b9a3e54cc1b345023851bb5b6f37ec0e67be","author":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"date":"2015-05-07 15:59:52.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"ce550d27f24396bdfe7440264cdafa0449f38034","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-05-07 16:10:37.000000000","message":"Patch Set 4:\n\nthanks doug","accounts_in_message":[],"_revision_number":4},{"id":"1e46456a2ac20d8e0790f2e6e7b5a87b1a5bee4d","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2015-05-07 16:50:58.000000000","message":"Patch Set 4: Code-Review-1\n\n(6 comments)","accounts_in_message":[],"_revision_number":4},{"id":"ddeba191334559e4697e201e80afd217526795c3","author":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"date":"2015-05-07 16:58:16.000000000","message":"Patch Set 4:\n\nhey Steve - sure, I\u0027m happy to help.\n\nInsightful comments!\n\nI have a sample of what usage I intend for this in django_openstack_auth\nhttps://review.openstack.org/#/c/160851/","accounts_in_message":[],"_revision_number":4},{"id":"e33954b3bce740b089859afcaa5eb22fabb92682","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-05-07 17:07:09.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/55/172155/4/check/gate-python-keystoneclient-python26/ec61f37/ : SUCCESS in 2m 41s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/55/172155/4/check/gate-python-keystoneclient-pep8/73dd28d/ : SUCCESS in 2m 00s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/55/172155/4/check/gate-python-keystoneclient-docs/cd798d1//doc/build/html/ : SUCCESS in 2m 47s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/55/172155/4/check/gate-python-keystoneclient-python27/16b790d/ : SUCCESS in 2m 34s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/55/172155/4/check/gate-python-keystoneclient-python34/d85e1b7/ : SUCCESS in 3m 32s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/55/172155/4/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/771acaf/ : SUCCESS in 58m 28s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/55/172155/4/check/check-keystoneclient-dsvm-functional/273b8d1/ : SUCCESS in 28m 26s","accounts_in_message":[],"_revision_number":4},{"id":"26e7c60f1a543af57f0094fb5bc662a0a54c297f","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-05-22 18:18:12.000000000","message":"Patch Set 4:\n\n(6 comments)","accounts_in_message":[],"_revision_number":4},{"id":"101cc6edb1649042d30dc73757422f05c5729ace","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-05-22 18:19:40.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"e9382f30ab548d6630e1d8aba034337a431ad76b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-05-22 19:17:41.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-keystoneclient-python26 http://logs.openstack.org/55/172155/5/check/gate-python-keystoneclient-python26/5dcf38a/ : SUCCESS in 2m 04s\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/55/172155/5/check/gate-python-keystoneclient-pep8/7cd2695/ : SUCCESS in 2m 34s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/55/172155/5/check/gate-python-keystoneclient-docs/69e8841//doc/build/html/ : SUCCESS in 2m 55s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/55/172155/5/check/gate-python-keystoneclient-python27/dbac6c9/ : SUCCESS in 1m 58s\n- gate-python-keystoneclient-python34 http://logs.openstack.org/55/172155/5/check/gate-python-keystoneclient-python34/79d4be9/ : SUCCESS in 2m 19s\n- gate-tempest-dsvm-neutron-src-python-keystoneclient http://logs.openstack.org/55/172155/5/check/gate-tempest-dsvm-neutron-src-python-keystoneclient/8c27e44/ : SUCCESS in 57m 48s\n- check-keystoneclient-dsvm-functional http://logs.openstack.org/55/172155/5/check/check-keystoneclient-dsvm-functional/55547e4/ : SUCCESS in 22m 52s","accounts_in_message":[],"_revision_number":5},{"id":"8168c2799e63ceed12c4fa3125e486d89bb8ccc8","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-05-22 19:34:39.000000000","message":"Patch Set 5:\n\nShould we move this plugin to a different file?","accounts_in_message":[],"_revision_number":5},{"id":"8f3cd273bdf382b2b3c536a681126bf771615b81","author":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"date":"2015-05-22 21:05:07.000000000","message":"Patch Set 5:\n\nWhat\u0027s the motivation for moving it? I don\u0027t have a strong opinion about filenames but curious about the reasoning.","accounts_in_message":[],"_revision_number":5},{"id":"aeeade2301b410a48fcafb3e42734f09d70a2207","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-05-22 21:20:47.000000000","message":"Patch Set 5:\n\nmaybe is more organized to have its own file (we might have more than one k2k plugin as well)","accounts_in_message":[],"_revision_number":5},{"id":"76ef37092385cef49160c9567584f0c292c2c9b1","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2015-05-22 22:22:05.000000000","message":"Patch Set 5:\n\nhttp://paste.openstack.org/show/232313/","accounts_in_message":[],"_revision_number":5},{"id":"e970791f5658138f0e908b4dd31e0587dbfd36ab","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-06-01 21:00:28.000000000","message":"Patch Set 5: Workflow-1\n\nWIP: need to refactor the plugin with Jamie\u0027s suggetions","accounts_in_message":[],"_revision_number":5},{"id":"9446a68c2a3909ac7c1c69d55df376e08e3697bb","author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"date":"2015-06-02 10:54:06.000000000","message":"Patch Set 5: Code-Review-1\n\nThis should be commited in the keystoneauth repository.","accounts_in_message":[],"_revision_number":5},{"id":"76e7ec67dc4a49114ee53052e0b88412a051705a","author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"date":"2015-06-04 20:42:19.000000000","message":"Abandoned\n\nabandon in favor of https://review.openstack.org/#/c/188581/","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"f657ec497c225d7659663db0770645d205e46bf3","revisions":{"2b697e7761579d35d26cd3d590fe5f2cc32bbd2b":{"kind":"REWORK","_number":1,"created":"2015-04-09 17:40:33.000000000","uploader":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"ref":"refs/changes/55/172155/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/55/172155/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/1"}}},"commit":{"parents":[{"commit":"eb98b0856809e5a870ea2d2d938e3e37ba209d80","subject":"Merge \"Update sample data with audit ids\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/eb98b0856809e5a870ea2d2d938e3e37ba209d80"}]}],"author":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-09 16:15:06.000000000","tz":-180},"committer":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-09 17:43:22.000000000","tz":-180},"subject":"Add Keystone2KeystoneAuthPlugin for K2K federation","message":"Add Keystone2KeystoneAuthPlugin for K2K federation\n\nImplement the auth plugin to be used for keystone to keystone\nfederation.\n\nCo-Authored-By: Doug Fish \u003cdrfish@us.ibm.com\u003e\n\nChange-Id: I91d95e3e2a5079d27575a66177c132ef20e00d63\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/2b697e7761579d35d26cd3d590fe5f2cc32bbd2b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/2b697e7761579d35d26cd3d590fe5f2cc32bbd2b"}]},"branch":"refs/heads/master"},"6b24db1095a1630d7ab8d2f3ca64d1bc5c884ad3":{"kind":"REWORK","_number":2,"created":"2015-04-13 12:38:35.000000000","uploader":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"ref":"refs/changes/55/172155/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/55/172155/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/2"}}},"commit":{"parents":[{"commit":"e79d571aa6a8f036e7d9acb2dcb104f8a9c51259","subject":"Increase minimum token life required","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/e79d571aa6a8f036e7d9acb2dcb104f8a9c51259"}]}],"author":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-13 12:28:12.000000000","tz":-180},"committer":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-13 12:41:40.000000000","tz":-180},"subject":"Add Keystone2KeystoneAuthPlugin for K2K federation","message":"Add Keystone2KeystoneAuthPlugin for K2K federation\n\nImplement the auth plugin to be used for keystone to keystone\nfederation.\n\nCo-Authored-By: Doug Fish \u003cdrfish@us.ibm.com\u003e\n\nbp k2k-auth-plugin\nChange-Id: I91d95e3e2a5079d27575a66177c132ef20e00d63\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/6b24db1095a1630d7ab8d2f3ca64d1bc5c884ad3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/6b24db1095a1630d7ab8d2f3ca64d1bc5c884ad3"}]},"branch":"refs/heads/master"},"59d0a76ba550d8c30ca64a16b7daf434826417b2":{"kind":"REWORK","_number":3,"created":"2015-04-13 14:11:16.000000000","uploader":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"ref":"refs/changes/55/172155/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/55/172155/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/3"}}},"commit":{"parents":[{"commit":"e79d571aa6a8f036e7d9acb2dcb104f8a9c51259","subject":"Increase minimum token life required","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/e79d571aa6a8f036e7d9acb2dcb104f8a9c51259"}]}],"author":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-13 12:28:12.000000000","tz":-180},"committer":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-13 14:14:56.000000000","tz":-180},"subject":"Add Keystone2KeystoneAuthPlugin for K2K federation","message":"Add Keystone2KeystoneAuthPlugin for K2K federation\n\nImplement the auth plugin to be used for keystone to keystone\nfederation.\n\nCo-Authored-By: Doug Fish \u003cdrfish@us.ibm.com\u003e\n\nbp k2k-auth-plugin\nChange-Id: I91d95e3e2a5079d27575a66177c132ef20e00d63\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/59d0a76ba550d8c30ca64a16b7daf434826417b2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/59d0a76ba550d8c30ca64a16b7daf434826417b2"}]},"branch":"refs/heads/master"},"258c2050af614c91e16cc5d543f5fb3d9dee05fd":{"kind":"REWORK","_number":4,"created":"2015-05-07 15:59:52.000000000","uploader":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"ref":"refs/changes/55/172155/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/55/172155/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/4"}}},"commit":{"parents":[{"commit":"39b7f963f595ba3517c7e5540981bce356ec0e1b","subject":"Merge \"Add endpoint and service ids to fixtures\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/39b7f963f595ba3517c7e5540981bce356ec0e1b"}]}],"author":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-13 12:28:12.000000000","tz":-180},"committer":{"name":"Doug Fish","email":"drfish@us.ibm.com","date":"2015-05-07 15:59:51.000000000","tz":-300},"subject":"Add Keystone2KeystoneAuthPlugin for K2K federation","message":"Add Keystone2KeystoneAuthPlugin for K2K federation\n\nImplement the auth plugin to be used for keystone to keystone\nfederation.\n\nCo-Authored-By: Doug Fish \u003cdrfish@us.ibm.com\u003e\n\nbp k2k-auth-plugin\nChange-Id: I91d95e3e2a5079d27575a66177c132ef20e00d63\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/258c2050af614c91e16cc5d543f5fb3d9dee05fd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/258c2050af614c91e16cc5d543f5fb3d9dee05fd"}]},"branch":"refs/heads/master"},"f657ec497c225d7659663db0770645d205e46bf3":{"kind":"REWORK","_number":5,"created":"2015-05-22 18:19:40.000000000","uploader":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"ref":"refs/changes/55/172155/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/55/172155/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/55/172155/5"}}},"commit":{"parents":[{"commit":"d3b1f637e282398b7962e658d304a6e306075b26","subject":"Merge \"Add docstrings for ``protocol`` parameter\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/d3b1f637e282398b7962e658d304a6e306075b26"}]}],"author":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-04-13 12:28:12.000000000","tz":-180},"committer":{"name":"Rodrigo Duarte Sousa","email":"rodrigods@lsd.ufcg.edu.br","date":"2015-05-22 18:15:58.000000000","tz":-180},"subject":"Add Keystone2KeystoneAuthPlugin for K2K federation","message":"Add Keystone2KeystoneAuthPlugin for K2K federation\n\nImplement the auth plugin to be used for keystone to keystone\nfederation.\n\nCo-Authored-By: Doug Fish \u003cdrfish@us.ibm.com\u003e\n\nbp k2k-auth-plugin\nChange-Id: I91d95e3e2a5079d27575a66177c132ef20e00d63\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/f657ec497c225d7659663db0770645d205e46bf3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/f657ec497c225d7659663db0770645d205e46bf3"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
