)]}'
{"glance/cmd/cache_manage.py":[{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":369,"context_line":"    parser.add_option(\u0027--os-project-id\u0027,"},{"line_number":370,"context_line":"                      dest\u003d\u0027os_project_id\u0027,"},{"line_number":371,"context_line":"                      default\u003denv(\u0027OS_PROJECT_ID\u0027),"},{"line_number":372,"context_line":"                      help\u003d\u0027Defaults to env[OS_TENANT_ID].\u0027)"},{"line_number":373,"context_line":"    parser.add_option(\u0027--os-project-name\u0027,"},{"line_number":374,"context_line":"                      dest\u003d\u0027os_project_name\u0027,"},{"line_number":375,"context_line":"                      default\u003denv(\u0027OS_PROJECT_NAME\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_cf905451","line":372,"range":{"start_line":372,"start_character":44,"end_line":372,"end_character":56},"updated":"2016-06-03 17:41:29.000000000","message":"should default to OS_PROJECT_ID","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":369,"context_line":"    parser.add_option(\u0027--os-project-id\u0027,"},{"line_number":370,"context_line":"                      dest\u003d\u0027os_project_id\u0027,"},{"line_number":371,"context_line":"                      default\u003denv(\u0027OS_PROJECT_ID\u0027),"},{"line_number":372,"context_line":"                      help\u003d\u0027Defaults to env[OS_TENANT_ID].\u0027)"},{"line_number":373,"context_line":"    parser.add_option(\u0027--os-project-name\u0027,"},{"line_number":374,"context_line":"                      dest\u003d\u0027os_project_name\u0027,"},{"line_number":375,"context_line":"                      default\u003denv(\u0027OS_PROJECT_NAME\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_f31d1163","line":372,"range":{"start_line":372,"start_character":44,"end_line":372,"end_character":56},"in_reply_to":"9abb7d3a_cf905451","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"974c933382a09b956e2ae973401e27c2131e4856","unresolved":false,"context_lines":[{"line_number":351,"context_line":"                      help\u003doptparse.SUPPRESS_HELP)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    parser.add_option(\u0027--os-user-domain-id\u0027,"},{"line_number":354,"context_line":"                      dest\u003d\u0027os_user-domain-id\u0027,"},{"line_number":355,"context_line":"                      default\u003denv(\u0027OS_USER-DOMAIN_ID\u0027))"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    parser.add_option(\u0027--os-user-domain-name\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_ede6d313","line":354,"range":{"start_line":354,"start_character":28,"end_line":354,"end_character":45},"updated":"2016-07-29 22:45:08.000000000","message":"these `dest` values look inconsistent. are you sure they\u0027re correct?","commit_id":"94d88f698df37c1bc2a4ce43e2acc4fcb4e09b58"}],"glance/common/auth.py":[{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        \"\"\""},{"line_number":96,"context_line":"        if self._token is None:"},{"line_number":97,"context_line":"            if self._session.get_project_id():"},{"line_number":98,"context_line":"                self._token \u003d self._session.get_token()"},{"line_number":99,"context_line":"            else:"},{"line_number":100,"context_line":"                required \u003d _(\u0027project_id or project_name\u0027)"},{"line_number":101,"context_line":"                raise exception.MissingCredentialError(required\u003drequired)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_8fb3ece8","line":98,"range":{"start_line":98,"start_character":30,"end_line":98,"end_character":43},"updated":"2016-06-03 17:41:29.000000000","message":"should we initialize the _session property at init?","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        \"\"\""},{"line_number":96,"context_line":"        if self._token is None:"},{"line_number":97,"context_line":"            if self._session.get_project_id():"},{"line_number":98,"context_line":"                self._token \u003d self._session.get_token()"},{"line_number":99,"context_line":"            else:"},{"line_number":100,"context_line":"                required \u003d _(\u0027project_id or project_name\u0027)"},{"line_number":101,"context_line":"                raise exception.MissingCredentialError(required\u003drequired)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_b3754999","line":98,"range":{"start_line":98,"start_character":30,"end_line":98,"end_character":43},"in_reply_to":"9abb7d3a_8fb3ece8","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        if self.creds[\u0027strategy\u0027] !\u003d \u0027keystone\u0027:"},{"line_number":111,"context_line":"            raise exception.BadAuthStrategy(expected\u003d\u0027keystone\u0027,"},{"line_number":112,"context_line":"                                            received\u003dself.creds[\u0027strategy\u0027])"},{"line_number":113,"context_line":"        # For v2.0 also check tenant is present"},{"line_number":114,"context_line":"        if self.creds[\u0027auth_url\u0027].rstrip(\u0027/\u0027).endswith(\u0027v2.0\u0027):"},{"line_number":115,"context_line":"            if self.creds.get(\"tenant\") is None:"},{"line_number":116,"context_line":"                raise exception.MissingCredentialError(required\u003d\u0027tenant\u0027)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def authenticate(self):"},{"line_number":119,"context_line":"        \"\"\"Authenticate with the Keystone service."}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_c2e2eb00","line":116,"range":{"start_line":113,"start_character":8,"end_line":116,"end_character":73},"updated":"2016-06-03 17:41:29.000000000","message":"I guess we should also do a v3 check, but I\u0027m unfamiliar with the auth flow so I don\u0027t see why we need to check the auth params after authenticating. \u003d\\","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"5a885f4c644f6f9111f81be7151ecf74f9bab9fc","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            # Guard against a redirection loop"},{"line_number":158,"context_line":"            raise exception.MaxRedirectsExceeded(redirects\u003dself.MAX_REDIRECTS)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        self.check_auth_params()"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _v1_auth(self, token_url):"},{"line_number":163,"context_line":"        creds \u003d self.creds"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_d5244061","line":160,"updated":"2016-06-07 22:38:06.000000000","message":"why do this AFTER authentication (line 141)? Isn\u0027t the same call on line 137 sufficient?","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            # Guard against a redirection loop"},{"line_number":158,"context_line":"            raise exception.MaxRedirectsExceeded(redirects\u003dself.MAX_REDIRECTS)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        self.check_auth_params()"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _v1_auth(self, token_url):"},{"line_number":163,"context_line":"        creds \u003d self.creds"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_e5f3ad9d","line":160,"in_reply_to":"7aa08908_d5244061","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"5a885f4c644f6f9111f81be7151ecf74f9bab9fc","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        insecure \u003d self.insecure"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self._session \u003d session.Session(auth\u003dauth_plugin,"},{"line_number":251,"context_line":"                                        verify\u003dnot insecure)"},{"line_number":252,"context_line":"        endpoint \u003d get_endpoint(self._session, self.creds.get(\u0027region\u0027))"},{"line_number":253,"context_line":"        self.management_url \u003d endpoint"},{"line_number":254,"context_line":"        self.auth_token \u003d self.token"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_15a6c8ad","line":251,"range":{"start_line":251,"start_character":47,"end_line":251,"end_character":59},"updated":"2016-06-07 22:38:06.000000000","message":"need to support a specified CA file as a 3rd option besides True/False","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        insecure \u003d self.insecure"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self._session \u003d session.Session(auth\u003dauth_plugin,"},{"line_number":251,"context_line":"                                        verify\u003dnot insecure)"},{"line_number":252,"context_line":"        endpoint \u003d get_endpoint(self._session, self.creds.get(\u0027region\u0027))"},{"line_number":253,"context_line":"        self.management_url \u003d endpoint"},{"line_number":254,"context_line":"        self.auth_token \u003d self.token"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_054081a4","line":251,"range":{"start_line":251,"start_character":47,"end_line":251,"end_character":59},"in_reply_to":"7aa08908_15a6c8ad","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        token were fetched when keystoneauth session was created"},{"line_number":92,"context_line":"        \"\"\""},{"line_number":93,"context_line":"        if self._token is None:"},{"line_number":94,"context_line":"            if self._session.get_project_id():"},{"line_number":95,"context_line":"                self._token \u003d self._session.get_token()"},{"line_number":96,"context_line":"            else:"},{"line_number":97,"context_line":"                required \u003d _(\u0027project_id or project_name\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_163dae8e","line":94,"range":{"start_line":94,"start_character":15,"end_line":94,"end_character":45},"updated":"2016-10-10 13:12:09.000000000","message":"this is going to blow up if/when self._session \u003d\u003d None, as it will after __init__()","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            if not auth_url.endswith(\u0027/\u0027):"},{"line_number":121,"context_line":"                auth_url +\u003d \u0027/\u0027"},{"line_number":122,"context_line":"            token_url \u003d urlparse.urljoin(auth_url, \"tokens\")"},{"line_number":123,"context_line":"            # 1. Check Keystone version"},{"line_number":124,"context_line":"            is_v2 \u003d auth_url.rstrip(\u0027/\u0027).endswith(\u0027v2.0\u0027)"},{"line_number":125,"context_line":"            is_v3 \u003d auth_url.rstrip(\u0027/\u0027).endswith(\u0027v3\u0027)"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_a1e59609","line":123,"updated":"2016-10-10 13:12:09.000000000","message":"Needs additional enhancement to do version discovery when auth_url doesn\u0027t include a version.","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            elif is_v2:"},{"line_number":130,"context_line":"                self._v2_auth()"},{"line_number":131,"context_line":"            else:"},{"line_number":132,"context_line":"                self._v1_auth(token_url)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        self.check_auth_params()"},{"line_number":135,"context_line":"        auth_url \u003d self.creds[\u0027auth_url\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_81d17a25","line":132,"updated":"2016-10-10 13:12:09.000000000","message":"is this still needed? Should it be deprecated, or flat out removed?","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"43393795ae4fdbfb17a28fcb518842a7ce7fadab","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                           \u0027password\u0027: self.creds.get(\u0027password\u0027),"},{"line_number":225,"context_line":"                           \u0027user_domain_id\u0027: self.creds.get(\u0027user_domain_id\u0027),"},{"line_number":226,"context_line":"                           \u0027user_domain_name\u0027: self.creds.get("},{"line_number":227,"context_line":"                               \u0027user_domain_name\u0027)}"},{"line_number":228,"context_line":"        token \u003d self.auth_token"},{"line_number":229,"context_line":"        if token:"},{"line_number":230,"context_line":"            loader \u003d loading.get_plugin_loader(\u0027v3token\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_0a29a389","line":227,"updated":"2016-09-20 12:25:37.000000000","message":"this still limits us to password or token authentication. The hope here is to generalize this stuff to the point where you can specify like v3kerberos and not have to add that as well. \n\nIt\u0027s still way better than the original.","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                           \u0027password\u0027: self.creds.get(\u0027password\u0027),"},{"line_number":225,"context_line":"                           \u0027user_domain_id\u0027: self.creds.get(\u0027user_domain_id\u0027),"},{"line_number":226,"context_line":"                           \u0027user_domain_name\u0027: self.creds.get("},{"line_number":227,"context_line":"                               \u0027user_domain_name\u0027)}"},{"line_number":228,"context_line":"        token \u003d self.auth_token"},{"line_number":229,"context_line":"        if token:"},{"line_number":230,"context_line":"            loader \u003d loading.get_plugin_loader(\u0027v3token\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_56b656f9","line":227,"in_reply_to":"7a8ec9b2_0a29a389","updated":"2016-10-10 13:12:09.000000000","message":"+1","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        insecure \u003d self.insecure"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        self._session \u003d session.Session(auth\u003dauth_plugin,"},{"line_number":246,"context_line":"                                        verify\u003dnot insecure)"},{"line_number":247,"context_line":"        endpoint \u003d get_endpoint(self._session, self.creds.get(\u0027region\u0027))"},{"line_number":248,"context_line":"        self.management_url \u003d endpoint"},{"line_number":249,"context_line":"        self.auth_token \u003d self.token"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_d6450643","line":246,"range":{"start_line":246,"start_character":47,"end_line":246,"end_character":59},"updated":"2016-10-10 13:12:09.000000000","message":"this is always setting verify to a boolean. Sometimes it needs to be a string that identifies a certificate file.","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"43393795ae4fdbfb17a28fcb518842a7ce7fadab","unresolved":false,"context_lines":[{"line_number":246,"context_line":"                                        verify\u003dnot insecure)"},{"line_number":247,"context_line":"        endpoint \u003d get_endpoint(self._session, self.creds.get(\u0027region\u0027))"},{"line_number":248,"context_line":"        self.management_url \u003d endpoint"},{"line_number":249,"context_line":"        self.auth_token \u003d self.token"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @property"},{"line_number":252,"context_line":"    def is_authenticated(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_3f3ea3da","line":249,"range":{"start_line":249,"start_character":31,"end_line":249,"end_character":36},"updated":"2016-09-20 12:25:37.000000000","message":"so all this is better - but the idea is to not save or expose the endpoint or token directly at all. If you construct the session with the auth plugin then just always pass that to the clients. It will handle tokens and endpoints internally.","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"def get_endpoint(session, service_type\u003d\u0027image\u0027, endpoint_region\u003dNone,"},{"line_number":277,"context_line":"                 endpoint_type\u003d\u0027public\u0027):"},{"line_number":278,"context_line":"    \"\"\""},{"line_number":279,"context_line":"    Select an endpoint from the service catalog"},{"line_number":280,"context_line":"    We search the full service catalog for services"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_bc6139d5","line":277,"range":{"start_line":277,"start_character":32,"end_line":277,"end_character":38},"updated":"2016-10-10 13:12:09.000000000","message":"I like this default better, but is it going to effect backward compatibility, or will something automatically convert publicUrl to public and vice versa as needed so that things work regardless of which was specified? This isn\u0027t named _get_endpoint, so presumably there could be outside usage, making this a concern. If not, perhaps it should be renamed _get_endpoint...","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"298e343e3f78083d030a701726c4b5d2a1fc525e","unresolved":false,"context_lines":[{"line_number":284,"context_line":"    only one -- successful match in the catalog,"},{"line_number":285,"context_line":"    otherwise we will raise an exception."},{"line_number":286,"context_line":"    \"\"\""},{"line_number":287,"context_line":"    endpoints \u003d session.get_endpoint(service_type\u003dservice_type,"},{"line_number":288,"context_line":"                                     interface\u003dendpoint_type,"},{"line_number":289,"context_line":"                                     region_name\u003dendpoint_region)"},{"line_number":290,"context_line":"    if endpoints is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_9cdb9d7b","line":287,"range":{"start_line":287,"start_character":4,"end_line":287,"end_character":13},"updated":"2016-10-10 13:12:09.000000000","message":"nit: rename this to be singular \"endpoint\"","commit_id":"2285ea08c7604f8c5c3d8e1b82685b07f990dfac"}],"glance/tests/unit/test_auth.py":[{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def test_get_endpoint_with_custom_server_type(self):"},{"line_number":320,"context_line":"        session \u003d mock.MagicMock()"},{"line_number":321,"context_line":"        session.get_endpoint. return_value \u003d ("},{"line_number":322,"context_line":"            self.service_catalog[0][\u0027endpoints\u0027][0][\u0027publicURL\u0027])"},{"line_number":323,"context_line":"        endpoint \u003d auth.get_endpoint(session,"},{"line_number":324,"context_line":"                                     service_type\u003d\u0027object-store\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_227817f2","line":321,"range":{"start_line":321,"start_character":29,"end_line":321,"end_character":31},"updated":"2016-06-03 17:41:29.000000000","message":"extra space","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def test_get_endpoint_with_custom_server_type(self):"},{"line_number":320,"context_line":"        session \u003d mock.MagicMock()"},{"line_number":321,"context_line":"        session.get_endpoint. return_value \u003d ("},{"line_number":322,"context_line":"            self.service_catalog[0][\u0027endpoints\u0027][0][\u0027publicURL\u0027])"},{"line_number":323,"context_line":"        endpoint \u003d auth.get_endpoint(session,"},{"line_number":324,"context_line":"                                     service_type\u003d\u0027object-store\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_8512b1b2","line":321,"range":{"start_line":321,"start_character":29,"end_line":321,"end_character":31},"in_reply_to":"9abb7d3a_227817f2","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    def test_get_endpoint_with_custom_server_type(self):"},{"line_number":320,"context_line":"        session \u003d mock.MagicMock()"},{"line_number":321,"context_line":"        session.get_endpoint. return_value \u003d ("},{"line_number":322,"context_line":"            self.service_catalog[0][\u0027endpoints\u0027][0][\u0027publicURL\u0027])"},{"line_number":323,"context_line":"        endpoint \u003d auth.get_endpoint(session,"},{"line_number":324,"context_line":"                                     service_type\u003d\u0027object-store\u0027)"},{"line_number":325,"context_line":"        self.assertEqual(\u0027http://publicURL/\u0027, endpoint)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_22abf71e","line":322,"range":{"start_line":322,"start_character":12,"end_line":322,"end_character":65},"updated":"2016-06-03 17:41:29.000000000","message":"if we need the auth plugin/session object just to retrieve the endpoint, maybe it wouldn\u0027t be too difficult to just mock one of those objects and then call their versions of the get_endpoint function. I\u0027m ok with how it\u0027s being done here though. :)","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    def test_get_endpoint_with_custom_server_type(self):"},{"line_number":320,"context_line":"        session \u003d mock.MagicMock()"},{"line_number":321,"context_line":"        session.get_endpoint. return_value \u003d ("},{"line_number":322,"context_line":"            self.service_catalog[0][\u0027endpoints\u0027][0][\u0027publicURL\u0027])"},{"line_number":323,"context_line":"        endpoint \u003d auth.get_endpoint(session,"},{"line_number":324,"context_line":"                                     service_type\u003d\u0027object-store\u0027)"},{"line_number":325,"context_line":"        self.assertEqual(\u0027http://publicURL/\u0027, endpoint)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_c50ca996","line":322,"range":{"start_line":322,"start_character":12,"end_line":322,"end_character":65},"in_reply_to":"9abb7d3a_22abf71e","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    @mock.patch(\u0027glance.common.auth.loading\u0027)"},{"line_number":337,"context_line":"    @mock.patch(\u0027glance.common.auth.session\u0027)"},{"line_number":338,"context_line":"    def test_autenticate_identity_v3_with_session(self, mock_loading,"},{"line_number":339,"context_line":"                                                  mock_session):"},{"line_number":340,"context_line":"        creds \u003d {\u0027username\u0027: \u0027user1\u0027,"},{"line_number":341,"context_line":"                 \u0027auth_url\u0027: \u0027http://localhost:5000/v3\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_828623d9","line":338,"range":{"start_line":338,"start_character":25,"end_line":338,"end_character":49},"updated":"2016-06-03 17:41:29.000000000","message":"I think we need to test with both token and password auth plugins.","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    @mock.patch(\u0027glance.common.auth.loading\u0027)"},{"line_number":337,"context_line":"    @mock.patch(\u0027glance.common.auth.session\u0027)"},{"line_number":338,"context_line":"    def test_autenticate_identity_v3_with_session(self, mock_loading,"},{"line_number":339,"context_line":"                                                  mock_session):"},{"line_number":340,"context_line":"        creds \u003d {\u0027username\u0027: \u0027user1\u0027,"},{"line_number":341,"context_line":"                 \u0027auth_url\u0027: \u0027http://localhost:5000/v3\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_02c07329","line":338,"range":{"start_line":338,"start_character":13,"end_line":338,"end_character":24},"updated":"2016-06-03 17:41:29.000000000","message":"authenticate","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    @mock.patch(\u0027glance.common.auth.loading\u0027)"},{"line_number":337,"context_line":"    @mock.patch(\u0027glance.common.auth.session\u0027)"},{"line_number":338,"context_line":"    def test_autenticate_identity_v3_with_session(self, mock_loading,"},{"line_number":339,"context_line":"                                                  mock_session):"},{"line_number":340,"context_line":"        creds \u003d {\u0027username\u0027: \u0027user1\u0027,"},{"line_number":341,"context_line":"                 \u0027auth_url\u0027: \u0027http://localhost:5000/v3\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_e521edfd","line":338,"range":{"start_line":338,"start_character":25,"end_line":338,"end_character":49},"in_reply_to":"9abb7d3a_828623d9","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"}],"releasenotes/notes/bug-1588356-61097aa288ea31ed.yaml":[{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":" - Support to keystoneauth session that introduced a way to attempt to"},{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9abb7d3a_e5957940","line":3,"range":{"start_line":3,"start_character":3,"end_line":3,"end_character":34},"updated":"2016-06-03 17:41:29.000000000","message":"This not really a keystoneauth sessions support, IMHO. Maybe a v3 authentication support? It\u0027s important to notice we\u0027re not using that session to process requests and things like that, but we certainly should document this work is the first step to allow that in the future.","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":" - Support to keystoneauth session that introduced a way to attempt to"},{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"dada55a8_251ca5c0","line":3,"range":{"start_line":3,"start_character":3,"end_line":3,"end_character":34},"in_reply_to":"9abb7d3a_e5957940","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":15742,"name":"Paulo Ewerton Gomes Fragoso","email":"pauloewerton@lsd.ufcg.edu.br","username":"pauloewerton"},"change_message_id":"b391252883e8bb03b98ee0be7423fcf559f9333f","unresolved":false,"context_lines":[{"line_number":3,"context_line":" - Support to keystoneauth session that introduced a way to attempt to"},{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"},{"line_number":7,"context_line":"   was deprecated in the last release."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9abb7d3a_a557f100","line":6,"range":{"start_line":6,"start_character":3,"end_line":6,"end_character":10},"updated":"2016-06-03 17:41:29.000000000","message":"What about: \"Use keystoneauth for the \u0027keystone\u0027 authentication strategy instead of keystoneclient. Support for authentication using keystonclient is deprecated as of Mitaka.\"","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b569f1526e78f928db96d9de4c117fa2c2e8e87","unresolved":false,"context_lines":[{"line_number":3,"context_line":" - Support to keystoneauth session that introduced a way to attempt to"},{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"},{"line_number":7,"context_line":"   was deprecated in the last release."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"dada55a8_857911ff","line":6,"range":{"start_line":6,"start_character":3,"end_line":6,"end_character":10},"in_reply_to":"9abb7d3a_a557f100","updated":"2016-07-25 17:56:41.000000000","message":"Done","commit_id":"d45190a7b720adae0f0b226be88742acd47ff019"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"974c933382a09b956e2ae973401e27c2131e4856","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":" - Support to keystoneauth session that introduced a way to attempt to"},{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"},{"line_number":7,"context_line":"   was deprecated in the last release."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bacf61ea_8d1477a0","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":20},"updated":"2016-07-29 22:45:08.000000000","message":"typo: and","commit_id":"94d88f698df37c1bc2a4ce43e2acc4fcb4e09b58"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"974c933382a09b956e2ae973401e27c2131e4856","unresolved":false,"context_lines":[{"line_number":3,"context_line":" - Support to keystoneauth session that introduced a way to attempt to"},{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"},{"line_number":7,"context_line":"   was deprecated in the last release."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bacf61ea_0d29a7e6","line":6,"range":{"start_line":6,"start_character":3,"end_line":6,"end_character":10},"updated":"2016-07-29 22:45:08.000000000","message":"typo: Remove","commit_id":"94d88f698df37c1bc2a4ce43e2acc4fcb4e09b58"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"974c933382a09b956e2ae973401e27c2131e4856","unresolved":false,"context_lines":[{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"},{"line_number":7,"context_line":"   was deprecated in the last release."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"fixes:"},{"line_number":10,"context_line":" - Support to Identity v3 API authentication requests."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bacf61ea_f0406636","line":7,"range":{"start_line":7,"start_character":7,"end_line":7,"end_character":17},"updated":"2016-07-29 22:45:08.000000000","message":"the deprecation note is something worthwhile of being here: http://docs.openstack.org/releasenotes/python-keystoneclient/mitaka.html#deprecation-notes","commit_id":"94d88f698df37c1bc2a4ce43e2acc4fcb4e09b58"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"974c933382a09b956e2ae973401e27c2131e4856","unresolved":false,"context_lines":[{"line_number":4,"context_line":"   bring a unified interface to every OpenStack service that share common"},{"line_number":5,"context_line":"   authentication ad request parameters;"},{"line_number":6,"context_line":" - Rremove the support to keystoneclient authentication method, since it"},{"line_number":7,"context_line":"   was deprecated in the last release."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"fixes:"},{"line_number":10,"context_line":" - Support to Identity v3 API authentication requests."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bacf61ea_4d76ff06","line":7,"range":{"start_line":7,"start_character":25,"end_line":7,"end_character":29},"updated":"2016-07-29 22:45:08.000000000","message":"wouldn\u0027t \u0027Mitaka\u0027 fit better here?","commit_id":"94d88f698df37c1bc2a4ce43e2acc4fcb4e09b58"}]}
