)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"1ee6b785e7bd9e823b01b0f92518dad3c10f68c1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Paulo Ewerton \u003cpauloewerton@lsd.ufcg.edu.br\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-08 14:40:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP K2K federation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current code iterates through the catalog and gets an unscoped"},{"line_number":10,"context_line":"token from all of the remote keystones and gets the projects"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"9a68dd71_e0e77f10","line":7,"updated":"2016-01-21 01:46:35.000000000","message":"Can we use Workflow-1 if this is actually WIP?","commit_id":"4e2cd578f5faa53f586f9459fb9fc5e0c5e51ae4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"1ee6b785e7bd9e823b01b0f92518dad3c10f68c1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"- Still need to handle logout token cleanup"},{"line_number":18,"context_line":"- Still need to properly handle duplicate region names in different"},{"line_number":19,"context_line":"cloud instances (current version just concatenates the sp id using a"},{"line_number":20,"context_line":"separator)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Co-Authored-By: Paulo Ewerton \u003cpauloewerton@lsd.ufcg.edu.br\u003e"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"9a68dd71_a0f187cf","line":20,"updated":"2016-01-21 01:46:35.000000000","message":"And update the commit message where appropriate?","commit_id":"4e2cd578f5faa53f586f9459fb9fc5e0c5e51ae4"}],"openstack_auth/backend.py":[{"author":{"_account_id":6162,"name":"Dan Nguyen","email":"dan.nguyens.mail@gmail.com","username":"daniel-a-nguyen"},"change_message_id":"3ed38783889b42c463aa1212c9a0cd503b88af99","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            unscoped_auth_ref.auth_token)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        # Check service catalog for remote keystone instances"},{"line_number":149,"context_line":"        for provider in scoped_auth_ref.get(\u0027service_providers\u0027) or []:"},{"line_number":150,"context_line":"            try:"},{"line_number":151,"context_line":"                self._remote_login(provider, scoped_client,"},{"line_number":152,"context_line":"                                   scoped_auth_ref.auth_token, request) "}],"source_content_type":"text/x-python","patch_set":10,"id":"3afb71cf_3d6eaa01","line":149,"updated":"2015-06-09 05:02:09.000000000","message":"nit\n\nI believe this does the same thing as:\n\nfor provider in scoped_auth_ref.get(\u0027service_providers\u0027, [])","commit_id":"62a2ebe96d0f2c20600661b9e5143f600a45a2a2"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"fccce03c2c2a58cf7c8bd7f1f03193199530db9c","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                 auth_url, domain_auth_ref\u003ddomain_auth_ref)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def _remote_login(self, request, idp_scoped_auth, provider_id):"},{"line_number":182,"context_line":"        if not request:"},{"line_number":183,"context_line":"            return"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        keystone_client_class \u003d utils.get_keystone_client().Client"}],"source_content_type":"text/x-python","patch_set":17,"id":"7af24918_bfafe828","line":182,"updated":"2016-03-03 02:58:16.000000000","message":"Question about this line:\n\nUnder what conditions would the request be blank/None here?","commit_id":"583deacedbe6d859fedf6b5c2b64ef19ed227c5a"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"ca2677be2e310803ab5d9f63ebd4846067dfb32d","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                                 auth_url, domain_auth_ref\u003ddomain_auth_ref)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def _remote_login(self, request, idp_scoped_auth, provider_id):"},{"line_number":182,"context_line":"        if not request:"},{"line_number":183,"context_line":"            return"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        keystone_client_class \u003d utils.get_keystone_client().Client"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_567a36f2","line":182,"in_reply_to":"7af24918_bfafe828","updated":"2016-05-19 17:24:32.000000000","message":"good catch! I don\u0027t think this would be necessary either, maybe it was just for debugging or something. will remove in a follow-on patch","commit_id":"583deacedbe6d859fedf6b5c2b64ef19ed227c5a"},{"author":{"_account_id":7179,"name":"Brad Pokorny","email":"brad_pokorny@symantec.com","username":"bpokorny"},"change_message_id":"fccce03c2c2a58cf7c8bd7f1f03193199530db9c","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    def _create_user(self, request, scoped_auth_ref, unscoped_auth_ref,"},{"line_number":282,"context_line":"                     auth_url, domain_auth_ref\u003dNone):"},{"line_number":283,"context_line":"        interface \u003d getattr(settings, \u0027OPENSTACK_ENDPOINT_TYPE\u0027, \u0027public\u0027)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        # We want to try to use the same region we just logged into"},{"line_number":286,"context_line":"        # which may or may not be the default depending upon the order"}],"source_content_type":"text/x-python","patch_set":17,"id":"7af24918_df8bd4c1","line":283,"updated":"2016-03-03 02:58:16.000000000","message":"This seems like unnecessary movement of this line.","commit_id":"583deacedbe6d859fedf6b5c2b64ef19ed227c5a"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"ca2677be2e310803ab5d9f63ebd4846067dfb32d","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    def _create_user(self, request, scoped_auth_ref, unscoped_auth_ref,"},{"line_number":282,"context_line":"                     auth_url, domain_auth_ref\u003dNone):"},{"line_number":283,"context_line":"        interface \u003d getattr(settings, \u0027OPENSTACK_ENDPOINT_TYPE\u0027, \u0027public\u0027)"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        # We want to try to use the same region we just logged into"},{"line_number":286,"context_line":"        # which may or may not be the default depending upon the order"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_76877ad7","line":283,"in_reply_to":"7af24918_df8bd4c1","updated":"2016-05-19 17:24:32.000000000","message":"agreed. will remove","commit_id":"583deacedbe6d859fedf6b5c2b64ef19ed227c5a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"257c246a8ed092320a78568bcda2dc584c14c820","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            utils.set_k2k_data(request, auth_url, \u0027keystone.idp\u0027,"},{"line_number":166,"context_line":"                               scoped_auth_ref, unscoped_auth_ref.auth_token)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            for provider in service_providers._service_providers:"},{"line_number":169,"context_line":"                try:"},{"line_number":170,"context_line":"                    self._remote_login(request, scoped_auth, provider.id)"},{"line_number":171,"context_line":"                except Exception as exc:"},{"line_number":172,"context_line":"                    LOG.warning(_(\u0027Could not remote login to service \u0027"},{"line_number":173,"context_line":"                                  \u0027provider. %s\u0027) % str(exc))"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # Support client caching to save on auth calls."},{"line_number":176,"context_line":"        setattr(request, KEYSTONE_CLIENT_ATTR, scoped_client)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bab6814e_01e4f138","line":173,"range":{"start_line":168,"start_character":12,"end_line":173,"end_character":61},"updated":"2016-05-19 15:36:00.000000000","message":"let\u0027s not login each time, i think that\u0027ll create a really poor experience if theres more than a handful of service providers","commit_id":"6d85c9a35aee83032c1bd1213c9c33f42c82c1df"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"ec35063492b8cf38adc632b7f83136ff7067a135","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            utils.set_k2k_data(request, auth_url, \u0027keystone.idp\u0027,"},{"line_number":166,"context_line":"                               scoped_auth_ref, unscoped_auth_ref.auth_token)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            for provider in service_providers._service_providers:"},{"line_number":169,"context_line":"                try:"},{"line_number":170,"context_line":"                    self._remote_login(request, scoped_auth, provider.id)"},{"line_number":171,"context_line":"                except Exception as exc:"},{"line_number":172,"context_line":"                    LOG.warning(_(\u0027Could not remote login to service \u0027"},{"line_number":173,"context_line":"                                  \u0027provider. %s\u0027) % str(exc))"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # Support client caching to save on auth calls."},{"line_number":176,"context_line":"        setattr(request, KEYSTONE_CLIENT_ATTR, scoped_client)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bab6814e_d5ac5f37","line":173,"range":{"start_line":168,"start_character":12,"end_line":173,"end_character":61},"in_reply_to":"bab6814e_01e4f138","updated":"2016-05-19 16:49:03.000000000","message":"Yeah, this would take a hit on the login time.\n\nWe also don\u0027t want to store all scoped token for each SP in the session, this won\u0027t work for horizon deployment that have cookie session backend.","commit_id":"6d85c9a35aee83032c1bd1213c9c33f42c82c1df"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"bc735b83ab1149ef7ed4d5dc4e08ff7330badab3","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            utils.set_k2k_data(request, auth_url, \u0027keystone.idp\u0027,"},{"line_number":166,"context_line":"                               scoped_auth_ref, unscoped_auth_ref.auth_token)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            for provider in service_providers._service_providers:"},{"line_number":169,"context_line":"                try:"},{"line_number":170,"context_line":"                    self._remote_login(request, scoped_auth, provider.id)"},{"line_number":171,"context_line":"                except Exception as exc:"},{"line_number":172,"context_line":"                    LOG.warning(_(\u0027Could not remote login to service \u0027"},{"line_number":173,"context_line":"                                  \u0027provider. %s\u0027) % str(exc))"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # Support client caching to save on auth calls."},{"line_number":176,"context_line":"        setattr(request, KEYSTONE_CLIENT_ATTR, scoped_client)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bab6814e_39ede525","line":173,"range":{"start_line":168,"start_character":12,"end_line":173,"end_character":61},"in_reply_to":"bab6814e_01e4f138","updated":"2016-05-19 17:38:51.000000000","message":"agreed. I\u0027m just not sure how we can retrieve all remote regions without having to login to each service provider","commit_id":"6d85c9a35aee83032c1bd1213c9c33f42c82c1df"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"bc735b83ab1149ef7ed4d5dc4e08ff7330badab3","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            utils.set_k2k_data(request, auth_url, \u0027keystone.idp\u0027,"},{"line_number":166,"context_line":"                               scoped_auth_ref, unscoped_auth_ref.auth_token)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            for provider in service_providers._service_providers:"},{"line_number":169,"context_line":"                try:"},{"line_number":170,"context_line":"                    self._remote_login(request, scoped_auth, provider.id)"},{"line_number":171,"context_line":"                except Exception as exc:"},{"line_number":172,"context_line":"                    LOG.warning(_(\u0027Could not remote login to service \u0027"},{"line_number":173,"context_line":"                                  \u0027provider. %s\u0027) % str(exc))"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # Support client caching to save on auth calls."},{"line_number":176,"context_line":"        setattr(request, KEYSTONE_CLIENT_ATTR, scoped_client)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bab6814e_191f4160","line":173,"range":{"start_line":168,"start_character":12,"end_line":173,"end_character":61},"in_reply_to":"bab6814e_d5ac5f37","updated":"2016-05-19 17:38:51.000000000","message":"yeah, that\u0027s a big concern. I\u0027m thinking of analysing which parts of the token should really be stored in the session.","commit_id":"6d85c9a35aee83032c1bd1213c9c33f42c82c1df"}]}
