)]}'
{"keystoneclient/tests/functional/base.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5383624fcf400ef0403b99e6d0eeac706f602d48","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            cloud_config \u003d os_client_config.get_config("},{"line_number":37,"context_line":"                cloud\u003dcloud, identity_api_version\u003dversion)"},{"line_number":38,"context_line":"            return cloud_config.get_legacy_client(service_key\u003dIDENTITY_CLIENT,"},{"line_number":39,"context_line":"                                                  constructor\u003dclient.Client)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        except os_client_config.exceptions.OpenStackConfigException:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afc51ec_5ee9b113","line":38,"range":{"start_line":38,"start_character":32,"end_line":38,"end_character":49},"updated":"2016-03-14 15:34:08.000000000","message":"why legacy client?","commit_id":"0c4b0b2a345f66215da3c813189ea896fa50013a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5383624fcf400ef0403b99e6d0eeac706f602d48","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            access_info \u003d self.client.session.auth.get_auth_ref("},{"line_number":59,"context_line":"                self.client.session)"},{"line_number":60,"context_line":"            if access_info.project_scoped:"},{"line_number":61,"context_line":"                self.domain_id \u003d access_info.project_domain_id"},{"line_number":62,"context_line":"                self.project_id \u003d access_info.project_id"},{"line_number":63,"context_line":"            else:"},{"line_number":64,"context_line":"                raise Exception(\"Could not run functional tests, which are \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afc51ec_def4a1f3","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":30},"updated":"2016-03-14 15:34:08.000000000","message":"consider saving this as: self.project_domain_id","commit_id":"0c4b0b2a345f66215da3c813189ea896fa50013a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"6b8ed8ec334f6b6567d60433da1d40edeba2d704","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            cloud_config \u003d os_client_config.get_config("},{"line_number":37,"context_line":"                cloud\u003dcloud, identity_api_version\u003dversion)"},{"line_number":38,"context_line":"            return cloud_config.get_legacy_client(service_key\u003dIDENTITY_CLIENT,"},{"line_number":39,"context_line":"                                                  constructor\u003dclient.Client)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        except os_client_config.exceptions.OpenStackConfigException:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_bee1d500","line":38,"range":{"start_line":38,"start_character":32,"end_line":38,"end_character":49},"updated":"2016-03-14 15:36:23.000000000","message":"why legacy client?","commit_id":"bc8f4f60340cfe12c0f179547b0bec2e9ab61e1a"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7ff508de221a13cb272ebd7f74f222f97f389f8f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            cloud_config \u003d os_client_config.get_config("},{"line_number":37,"context_line":"                cloud\u003dcloud, identity_api_version\u003dversion)"},{"line_number":38,"context_line":"            return cloud_config.get_legacy_client(service_key\u003dIDENTITY_CLIENT,"},{"line_number":39,"context_line":"                                                  constructor\u003dclient.Client)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        except os_client_config.exceptions.OpenStackConfigException:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_c2a03f46","line":38,"range":{"start_line":38,"start_character":32,"end_line":38,"end_character":49},"in_reply_to":"3afc51ec_bee1d500","updated":"2016-03-14 17:27:18.000000000","message":"I think it\u0027s called get_legacy_client because it was designed to work with shade, which is a client library for a whole cloud. so getting an individual client is treated as legacy in os-client-config","commit_id":"bc8f4f60340cfe12c0f179547b0bec2e9ab61e1a"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dca66074c0d7f80ef08758223693658ddb3932d0","unresolved":false,"context_lines":[{"line_number":19,"context_line":"OPENSTACK_CLOUDS \u003d (\u0027functional_admin\u0027, \u0027devstack-admin\u0027, \u0027envvars\u0027)"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def get_client(version):"},{"line_number":23,"context_line":"    \"\"\"Creates a keystoneclient instance to run functional tests"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"        The client is instantiated via os-client-config either based on a"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_f368f4bc","line":22,"updated":"2016-03-15 20:59:19.000000000","message":"I don\u0027t see the point of passing in a version. We should be using v3 for now.","commit_id":"620bf3db5ffe9b7cc6590d840a3afdb04769d260"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dca66074c0d7f80ef08758223693658ddb3932d0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    for cloud in OPENSTACK_CLOUDS:"},{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            cloud_config \u003d os_client_config.get_config("},{"line_number":37,"context_line":"                cloud\u003dcloud, identity_api_version\u003dversion)"},{"line_number":38,"context_line":"            return cloud_config.get_legacy_client(service_key\u003dIDENTITY_CLIENT,"},{"line_number":39,"context_line":"                                                  constructor\u003dclient.Client)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_f3963493","line":37,"updated":"2016-03-15 20:59:19.000000000","message":"the cloud_config should be able to be cached so this code doesn\u0027t have to loop every time.","commit_id":"620bf3db5ffe9b7cc6590d840a3afdb04769d260"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a59eefab84745ef006c51d5790c2db2b3726749a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def setUp(self):"},{"line_number":52,"context_line":"        super(ClientTestCase, self).setUp()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        if not self.auth_ref.project_scoped:"},{"line_number":55,"context_line":"            raise Exception(\"Could not run functional tests, which are \""},{"line_number":56,"context_line":"                            \"run based on the scope provided for \""},{"line_number":57,"context_line":"                            \"authentication. Please provide a project \""}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_0f99156f","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":44},"updated":"2016-03-15 12:37:56.000000000","message":"so if I\u0027m using a \"v3 like\" policy, where I can only modify projects with a domain scope, I won\u0027t be able to run this kind of tests?","commit_id":"620bf3db5ffe9b7cc6590d840a3afdb04769d260"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dca66074c0d7f80ef08758223693658ddb3932d0","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        if not self.auth_ref.project_scoped:"},{"line_number":55,"context_line":"            raise Exception(\"Could not run functional tests, which are \""},{"line_number":56,"context_line":"                            \"run based on the scope provided for \""},{"line_number":57,"context_line":"                            \"authentication. Please provide a project \""},{"line_number":58,"context_line":"                            \"scope information.\")"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_73d06454","line":57,"range":{"start_line":57,"start_character":60,"end_line":57,"end_character":61},"updated":"2016-03-15 20:59:19.000000000","message":"remove \"a\"\n\nAlso, this needs to say how to provide project scope information since I wouldn\u0027t have any idea.","commit_id":"620bf3db5ffe9b7cc6590d840a3afdb04769d260"}]}
