)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"049fa4f7577c5c6b96203901577a04380b89869f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"allow_experimental, allow_deprecated, allow_unknown is not passed from the"},{"line_number":10,"context_line":"adapter all the way down to discovery."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I0e2e2706a00a128aab71ac8e965e33409099ce02"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a890539_6b8579ac","line":12,"updated":"2014-11-19 15:03:33.000000000","message":"Do we have a bug on this? This looks like something that needs a bug for tracking.","commit_id":"dbc92ecc8eb17b6a1950af557858d0f40432fb52"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"c13a7c6498939068c5fd2a5bfe757eedbed99465","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Endre Karlson \u003cendre.karlson@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-19 23:44:25 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow to allow for other then STABLE api version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"allow_experimental, allow_deprecated, allow_unknown is not passed from the"},{"line_number":10,"context_line":"adapter all the way down to discovery."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a890539_050fc12e","line":7,"updated":"2014-12-04 14:27:13.000000000","message":"i think the initial \"allow to\" can be dropped, the rest makes sense","commit_id":"9512135a4c832220b79f1d38a9eb57a73f208d79"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"0381f3be863877d508ade50f319db0c614fd9a49","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Endre Karlson \u003cendre.karlson@hp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-11-19 23:44:25 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow to allow for other then STABLE api version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"allow_experimental, allow_deprecated, allow_unknown is not passed from the"},{"line_number":10,"context_line":"adapter all the way down to discovery."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5a890539_ef1622a6","line":7,"updated":"2014-12-04 05:33:10.000000000","message":"please rephrase this.","commit_id":"9512135a4c832220b79f1d38a9eb57a73f208d79"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"428e6a486b4d7f22c421416255c3e97b7cb1b000","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow for other then STABLE api version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add the ability to pass down a tuple of allow\u003d(\u0027experimental\u0027) from the"},{"line_number":10,"context_line":"adapter all the way down to discovery."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I0e2e2706a00a128aab71ac8e965e33409099ce02"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3a961159_f23bd999","line":9,"updated":"2014-12-10 10:51:35.000000000","message":"allow\u003d(\u0027experimental\u0027)? What?\n\nAlso, the commit message says nothing about allow_deprecated, allow_unknown etc.","commit_id":"e33e34fe1573ccc30e4f6786446e3561f4e61e16"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"786dbf606db0c10cfc25a98fa69396d9d72ba125","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Allow for other then STABLE api version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add the ability to pass down a tuple of allow\u003d(\u0027experimental\u0027) from the"},{"line_number":10,"context_line":"adapter all the way down to discovery."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I0e2e2706a00a128aab71ac8e965e33409099ce02"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3a961159_ab47571c","line":10,"updated":"2014-12-16 22:34:25.000000000","message":"The commit message should say why this is needed.\n\nAlso, there needs to be a bug or blueprint.","commit_id":"e33e34fe1573ccc30e4f6786446e3561f4e61e16"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2cd95389feed65a89f4e71703ec1f61421dc80f4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add the ability to pass down a tuple of allow\u003d(\u0027experimental\u0027) from the"},{"line_number":10,"context_line":"adapter all the way down to discovery."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I0e2e2706a00a128aab71ac8e965e33409099ce02"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9a80dd14_a359115c","line":11,"updated":"2015-03-05 23:35:28.000000000","message":"This needs a bug or a blueprint.","commit_id":"d03c699124851d80c9fe18c6dae9915a8b070285"}],"keystoneclient/_discover.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"0b646401a13eeaa19c7aeda026350efe994c1057","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def raw_version_data(self, allow_experimental\u003dFalse,"},{"line_number":145,"context_line":"                         allow_deprecated\u003dTrue, allow_unknown\u003dFalse,"},{"line_number":146,"context_line":"                         allow\u003dNone):"},{"line_number":147,"context_line":"        \"\"\"Get raw version information from URL."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        Raw data indicates that only minimal validation processing is performed"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_e649978c","line":146,"updated":"2015-01-28 15:00:38.000000000","message":"Instead of None you can use ().","commit_id":"e33e34fe1573ccc30e4f6786446e3561f4e61e16"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"0b646401a13eeaa19c7aeda026350efe994c1057","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                  criteria."},{"line_number":161,"context_line":"        :rtype: list"},{"line_number":162,"context_line":"        \"\"\""},{"line_number":163,"context_line":"        allow \u003d allow or ()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        versions \u003d []"},{"line_number":166,"context_line":"        for v in self._data:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_6655a71c","line":163,"updated":"2015-01-28 15:00:38.000000000","message":"Then this isn\u0027t needed.","commit_id":"e33e34fe1573ccc30e4f6786446e3561f4e61e16"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"0b646401a13eeaa19c7aeda026350efe994c1057","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            if status in self.CURRENT_STATUSES:"},{"line_number":177,"context_line":"                versions.append(v)"},{"line_number":178,"context_line":"            elif status in self.DEPRECATED_STATUSES:"},{"line_number":179,"context_line":"                if \u0027deprecated\u0027 in allow or allow_deprecated:"},{"line_number":180,"context_line":"                    versions.append(v)"},{"line_number":181,"context_line":"            elif status in self.EXPERIMENTAL_STATUSES:"},{"line_number":182,"context_line":"                if \u0027experimental\u0027 in allow or allow_experimental:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_413ecdb9","line":179,"updated":"2015-01-28 15:00:38.000000000","message":"I think all three of these strings should be constants somewhere. ALLOW_DEPRECATED, ALLOW....etc","commit_id":"e33e34fe1573ccc30e4f6786446e3561f4e61e16"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1054e7591d4d7c66e3f0449186f86129c7a81a97","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        :param bool allow_deprecated: Allow deprecated version endpoints."},{"line_number":155,"context_line":"        :param bool allow_unknown: Allow endpoints with an unrecognised status."},{"line_number":156,"context_line":"        :param tuple allow: Extra filters to pass when discovering API"},{"line_number":157,"context_line":"                    versions."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        :returns: The endpoints returned from the server that match the"},{"line_number":160,"context_line":"                  criteria."}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_ece4bfe1","line":157,"updated":"2015-03-12 21:12:01.000000000","message":"nit: line \u0027versions\u0027 up under \u0027Extra\u0027?","commit_id":"d03c699124851d80c9fe18c6dae9915a8b070285"}],"keystoneclient/adapter.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"bfe3f2e7d0aeb606dee7776e34a321405c940a19","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @utils.positional()"},{"line_number":29,"context_line":"    def __init__(self, session, service_type\u003dNone, service_name\u003dNone,"},{"line_number":30,"context_line":"                 interface\u003dNone, region_name\u003dNone, endpoint_override\u003dNone,"},{"line_number":31,"context_line":"                 version\u003dNone, auth\u003dNone, user_agent\u003dNone,"},{"line_number":32,"context_line":"                 connect_retries\u003dNone):"},{"line_number":33,"context_line":"        \"\"\"Create a new adapter."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_f14be956","line":31,"updated":"2014-10-22 08:51:53.000000000","message":"you\u0027ll need to add them here, with None as default values.","commit_id":"ca73776c6c609d271ad8792f9939985e163999c5"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"bfe3f2e7d0aeb606dee7776e34a321405c940a19","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                      for this client."},{"line_number":42,"context_line":"        :param tuple version: The version that this API targets."},{"line_number":43,"context_line":"        :param auth.BaseAuthPlugin auth: An auth plugin to use instead of the"},{"line_number":44,"context_line":"                                         session one."},{"line_number":45,"context_line":"        :param str user_agent: The User-Agent string to set."},{"line_number":46,"context_line":"        :param int connect_retries: the maximum number of retries that should"},{"line_number":47,"context_line":"                                    be attempted for connection errors."}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_115ead12","line":44,"updated":"2014-10-22 08:51:53.000000000","message":"And doc strings to explain what they are for.","commit_id":"ca73776c6c609d271ad8792f9939985e163999c5"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"bfe3f2e7d0aeb606dee7776e34a321405c940a19","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            kwargs.setdefault(\u0027region_name\u0027, self.region_name)"},{"line_number":74,"context_line":"        if self.version:"},{"line_number":75,"context_line":"            kwargs.setdefault(\u0027version\u0027, self.version)"},{"line_number":76,"context_line":"        if self.allow_experimental:"},{"line_number":77,"context_line":"            kwargs.setdefault(\u0027allow_experimental\u0027, self.allow_experimental)"},{"line_number":78,"context_line":"        if self.allow_deprecated:"},{"line_number":79,"context_line":"            kwargs.setdefault(\u0027allow_deprecated\u0027, self.allow_deprecated)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_51867566","line":76,"updated":"2014-10-22 08:51:53.000000000","message":"so allow is a boolean value, so even though the default is false we would want to set the value here if it was provided. \n\nSo you want to check \n    \n    if self.allow_x is not None:","commit_id":"ca73776c6c609d271ad8792f9939985e163999c5"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"75be49058f2879dd499d747f9049c52d0c9647a6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                 interface\u003dNone, region_name\u003dNone, endpoint_override\u003dNone,"},{"line_number":31,"context_line":"                 version\u003dNone, auth\u003dNone, user_agent\u003dNone,"},{"line_number":32,"context_line":"                 connect_retries\u003dNone, allow_experimental\u003dNone,"},{"line_number":33,"context_line":"                 allow_deprecated\u003dNone, allow_unknown\u003dFalse):"},{"line_number":34,"context_line":"        \"\"\"Create a new adapter."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param Session session: The session object to wrap."}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_c08b3a66","line":33,"updated":"2014-11-14 10:01:51.000000000","message":"Why allow_unknown is False by default?","commit_id":"c01d78bca49d43abd5810527d472bb2f91c604fa"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"3fef11427615bea42d2cdc06b29aba74b341db5e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                 interface\u003dNone, region_name\u003dNone, endpoint_override\u003dNone,"},{"line_number":31,"context_line":"                 version\u003dNone, auth\u003dNone, user_agent\u003dNone,"},{"line_number":32,"context_line":"                 connect_retries\u003dNone, allow_experimental\u003dNone,"},{"line_number":33,"context_line":"                 allow_deprecated\u003dNone, allow_unknown\u003dFalse):"},{"line_number":34,"context_line":"        \"\"\"Create a new adapter."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param Session session: The session object to wrap."}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_7166872b","line":33,"in_reply_to":"5a890539_c08b3a66","updated":"2014-11-18 09:55:52.000000000","message":"Changed to None as the rest now.","commit_id":"c01d78bca49d43abd5810527d472bb2f91c604fa"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"ac58b9fb1c0d2f6faf3ef12d02a7c3cba209cb2a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                    is don\u0027t retry."},{"line_number":51,"context_line":"        :param bool allow_experimental: Allow experimental version endpoints."},{"line_number":52,"context_line":"        :param bool allow_deprecated: Allow deprecated version endpoints."},{"line_number":53,"context_line":"        :param bool allow_unknown: Allow endpoints with an unrecognised status."},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        self.session \u003d session"},{"line_number":56,"context_line":"        self.service_type \u003d service_type"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_ecce352c","line":53,"updated":"2014-12-04 01:26:11.000000000","message":"can\u0027t we do something like\n\n**extra_endpoint_filters\n\ninstead of keep adding more filter args? I am sure these won\u0027t be the last set.","commit_id":"9512135a4c832220b79f1d38a9eb57a73f208d79"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"0381f3be863877d508ade50f319db0c614fd9a49","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                    is don\u0027t retry."},{"line_number":51,"context_line":"        :param bool allow_experimental: Allow experimental version endpoints."},{"line_number":52,"context_line":"        :param bool allow_deprecated: Allow deprecated version endpoints."},{"line_number":53,"context_line":"        :param bool allow_unknown: Allow endpoints with an unrecognised status."},{"line_number":54,"context_line":"        \"\"\""},{"line_number":55,"context_line":"        self.session \u003d session"},{"line_number":56,"context_line":"        self.service_type \u003d service_type"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_8f1d9ec0","line":53,"in_reply_to":"5a890539_ecce352c","updated":"2014-12-04 05:33:10.000000000","message":"seems like it should be passes like this allow[\u0027experimental\u0027,\u0027deprecated\u0027]","commit_id":"9512135a4c832220b79f1d38a9eb57a73f208d79"}],"keystoneclient/auth/identity/base.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"75be49058f2879dd499d747f9049c52d0c9647a6","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    def get_endpoint(self, session, service_type\u003dNone, interface\u003dNone,"},{"line_number":151,"context_line":"                     region_name\u003dNone, service_name\u003dNone, version\u003dNone,"},{"line_number":152,"context_line":"                     allow_experimental\u003dFalse, allow_deprecated\u003dFalse,"},{"line_number":153,"context_line":"                     allow_unknown\u003dFalse, **kwargs):"},{"line_number":154,"context_line":"        \"\"\"Return a valid endpoint for a service."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        If a valid token is not present then a new one will be fetched using"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_e0d2f65a","line":153,"updated":"2014-11-14 10:01:51.000000000","message":"Is it intended to have these values False by default?","commit_id":"c01d78bca49d43abd5810527d472bb2f91c604fa"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"a676f9f8b497576373e83d3425865db5da30d19a","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    def get_endpoint(self, session, service_type\u003dNone, interface\u003dNone,"},{"line_number":151,"context_line":"                     region_name\u003dNone, service_name\u003dNone, version\u003dNone,"},{"line_number":152,"context_line":"                     allow_experimental\u003dNone, allow_deprecated\u003dNone,"},{"line_number":153,"context_line":"                     allow_unknown\u003dNone, **kwargs):"},{"line_number":154,"context_line":"        \"\"\"Return a valid endpoint for a service."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        If a valid token is not present then a new one will be fetched using"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_478d49d2","line":153,"updated":"2014-11-18 10:48:27.000000000","message":"When these values are set here, they get passed to url_for (lines 229-231 of modified file). After some travel they end in keystoneclient._discover:Discover.raw_version_data. There are some defaults, that get overriden by these Nones. I am not sure that this is normal and should happen. Could you please check that?","commit_id":"0bb7edfe0db6086cdaf2a3305b59e1dae15e2895"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"fd11d3aa5eb2bdaff2da435527ae59e5d43c51f0","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_f9b5b5d0","line":2,"updated":"2014-11-19 22:34:07.000000000","message":"what\u0027s happening here?","commit_id":"14a7e4814c345f2d2f7f79d43d6dfa1ed4bdfc88"}],"keystoneclient/httpclient.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1054e7591d4d7c66e3f0449186f86129c7a81a97","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                                be attempted for connection errors."},{"line_number":200,"context_line":"                                Default None - use session default which"},{"line_number":201,"context_line":"                                is don\u0027t retry. (optional)"},{"line_number":202,"context_line":"    :param tuple allow: Extra filters to pass when discovering API versions."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    \"\"\""},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_4cf6ab90","line":202,"updated":"2015-03-12 21:12:01.000000000","message":"add (optional)","commit_id":"d03c699124851d80c9fe18c6dae9915a8b070285"}],"keystoneclient/tests/unit/test_session.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"cca94b8c2b9672b7ce1578b4dca94756d651d45e","unresolved":false,"context_lines":[{"line_number":828,"context_line":""},{"line_number":829,"context_line":"        self.assertNotIn(self.TEST_URL, self.logger.output)"},{"line_number":830,"context_line":"        self.assertNotIn(response, self.logger.output)"},{"line_number":831,"context_line":" "},{"line_number":832,"context_line":"    def test_adapter_allow_deprecated(self):"},{"line_number":833,"context_line":"        auth \u003d CalledAuthPlugin()"},{"line_number":834,"context_line":"        sess \u003d client_session.Session()"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_9bc95e7b","line":831,"updated":"2015-03-31 08:34:00.000000000","message":"white space","commit_id":"b0de1eee156c0fae4cd4f21672c1aa613d4b0413"}]}
