)]}'
{"keystoneclient_kerberos/kerberos.py":[{"author":{"_account_id":9098,"name":"Nathan Kinder","email":"nkinder@redhat.com","username":"nkinder"},"change_message_id":"695d47c6ca955fd6e24e58f3d4feda46340f15bc","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    _method_parameters \u003d []"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003dNone,"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baa201ad_52800246","line":21,"updated":"2014-10-04 02:04:36.000000000","message":"request_kwargs should default to an empty dict, otherwise the assignment at line 23 will cause an exception if request_kwargs is not passed in.","commit_id":"263148b11b4585448ec4bdea83405a407ece406a"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5f206130ca7355f57aecc0e6d46b805922708843","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"},{"line_number":25,"context_line":"        return \u0027kerberos\u0027, {}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class Kerberos(v3.AuthConstructor):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_e401b63a","line":25,"updated":"2014-10-20 08:08:22.000000000","message":"Is keystone ready for accepting \u0027kerberos\u0027 authentication method?","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"139a8629c738d56a281f695bc2f05fd37dedae81","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"},{"line_number":25,"context_line":"        return \u0027kerberos\u0027, {}"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class Kerberos(v3.AuthConstructor):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_7f9860c0","line":25,"in_reply_to":"9aa7fdbe_e401b63a","updated":"2014-10-24 10:22:43.000000000","message":"I\u0027m not sure, but i don\u0027t think it matters to landing this. It will always require some configuration and enabling on the server side. \n\nHaving this out of the regular client library makes that easier. \n\nIdeally i\u0027d like to have the server side kerberos plugin live in this repo as well.","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"}],"keystoneclient_kerberos/locale/keystoneclient.pot":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"c6214159722b5275b1ee9e86d0510657a45cb869","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Copyright (C) 2012 ORGANIZATION"},{"line_number":3,"context_line":"# This file is distributed under the same license as the"},{"line_number":4,"context_line":"# python-keystoneclient project."},{"line_number":5,"context_line":"# FIRST AUTHOR \u003cEMAIL@ADDRESS\u003e, 2012."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#, fuzzy"},{"line_number":8,"context_line":"msgid \"\""}],"source_content_type":"application/mspowerpoint","patch_set":10,"id":"baa201ad_c9c1b955","line":5,"updated":"2014-10-03 14:17:18.000000000","message":"Is it what should be here?","commit_id":"263148b11b4585448ec4bdea83405a407ece406a"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"c6214159722b5275b1ee9e86d0510657a45cb869","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"Content-Type: text/plain; charset\u003dutf-8\\n\""},{"line_number":18,"context_line":"\"Content-Transfer-Encoding: 8bit\\n\""},{"line_number":19,"context_line":"\"Generated-By: Babel 0.9.6\\n\""},{"line_number":20,"context_line":""}],"source_content_type":"application/mspowerpoint","patch_set":10,"id":"baa201ad_09b821e4","line":20,"updated":"2014-10-03 14:17:18.000000000","message":"Is this .pot file required here?","commit_id":"263148b11b4585448ec4bdea83405a407ece406a"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ec04cce101ea2f16124dfc24b3c9ace54eead385","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"Content-Type: text/plain; charset\u003dutf-8\\n\""},{"line_number":18,"context_line":"\"Content-Transfer-Encoding: 8bit\\n\""},{"line_number":19,"context_line":"\"Generated-By: Babel 0.9.6\\n\""},{"line_number":20,"context_line":""}],"source_content_type":"application/mspowerpoint","patch_set":13,"id":"9aa7fdbe_84170aa3","line":20,"updated":"2014-10-20 08:05:32.000000000","message":"there\u0027s no point in this file. Also i don\u0027t think it will do anything because this isn\u0027t python-keystoneclient","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"139a8629c738d56a281f695bc2f05fd37dedae81","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"Content-Type: text/plain; charset\u003dutf-8\\n\""},{"line_number":18,"context_line":"\"Content-Transfer-Encoding: 8bit\\n\""},{"line_number":19,"context_line":"\"Generated-By: Babel 0.9.6\\n\""},{"line_number":20,"context_line":""}],"source_content_type":"application/mspowerpoint","patch_set":13,"id":"9aa7fdbe_3ff25806","line":20,"in_reply_to":"9aa7fdbe_24fc9e3e","updated":"2014-10-24 10:22:43.000000000","message":"Done","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5f206130ca7355f57aecc0e6d46b805922708843","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\"Content-Type: text/plain; charset\u003dutf-8\\n\""},{"line_number":18,"context_line":"\"Content-Transfer-Encoding: 8bit\\n\""},{"line_number":19,"context_line":"\"Generated-By: Babel 0.9.6\\n\""},{"line_number":20,"context_line":""}],"source_content_type":"application/mspowerpoint","patch_set":13,"id":"9aa7fdbe_24fc9e3e","line":20,"in_reply_to":"9aa7fdbe_84170aa3","updated":"2014-10-20 08:08:22.000000000","message":"++","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"}],"keystoneclient_kerberos/tests/test_kerberos_auth.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ec04cce101ea2f16124dfc24b3c9ace54eead385","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    TEST_PASS \u003d \u0027password\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    TEST_SERVICE_CATALOG \u003d [{"},{"line_number":63,"context_line":"        \"endpoints\": [{"},{"line_number":64,"context_line":"            \"url\": \"http://cdn.admin-nets.local:8774/v1.0/\","},{"line_number":65,"context_line":"            \"region\": \"RegionOne\","}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_04231a06","line":62,"updated":"2014-10-20 08:05:32.000000000","message":"there\u0027s a fixture for this","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"139a8629c738d56a281f695bc2f05fd37dedae81","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    TEST_PASS \u003d \u0027password\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    TEST_SERVICE_CATALOG \u003d [{"},{"line_number":63,"context_line":"        \"endpoints\": [{"},{"line_number":64,"context_line":"            \"url\": \"http://cdn.admin-nets.local:8774/v1.0/\","},{"line_number":65,"context_line":"            \"region\": \"RegionOne\","}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_fe69b18c","line":62,"in_reply_to":"9aa7fdbe_04231a06","updated":"2014-10-24 10:22:43.000000000","message":"Done","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ec04cce101ea2f16124dfc24b3c9ace54eead385","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                \"issued_at\": \"2013-05-29T16:55:21.468960Z\","},{"line_number":167,"context_line":"                \"catalog\": self.TEST_SERVICE_CATALOG"},{"line_number":168,"context_line":"            },"},{"line_number":169,"context_line":"        }"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def stub_auth(self, subject_token\u003dNone, **kwargs):"},{"line_number":172,"context_line":"        if not subject_token:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_24201ef7","line":169,"updated":"2014-10-20 08:05:32.000000000","message":"there\u0027s a fixture for this","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"139a8629c738d56a281f695bc2f05fd37dedae81","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                \"issued_at\": \"2013-05-29T16:55:21.468960Z\","},{"line_number":167,"context_line":"                \"catalog\": self.TEST_SERVICE_CATALOG"},{"line_number":168,"context_line":"            },"},{"line_number":169,"context_line":"        }"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def stub_auth(self, subject_token\u003dNone, **kwargs):"},{"line_number":172,"context_line":"        if not subject_token:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_1e6755b8","line":169,"in_reply_to":"9aa7fdbe_24201ef7","updated":"2014-10-24 10:22:43.000000000","message":"Done","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"}],"keystoneclient_kerberos/tests/test_v3.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fadcede27cafd1b24b872a2eaa56d1763d12c3fb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d session.Session(a)"},{"line_number":58,"context_line":"        token \u003d a.get_token(s)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        req \u003d {\u0027auth\u0027: {\u0027identity\u0027: {\u0027methods\u0027: [\u0027kerberos\u0027],"},{"line_number":61,"context_line":"                                     \u0027kerberos\u0027: {}}}}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.assertEqual(req, json.loads(self.requests.last_request.body))"}],"source_content_type":"text/x-python","patch_set":17,"id":"9aa7fdbe_5808b128","line":60,"updated":"2014-10-29 00:47:36.000000000","message":"is this actually a supported auth method?","commit_id":"27883b8b2ff679f20e7a3512090a1dfe93cbbb44"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"f68a93b9ec09e347d8fbf4ebf5a61894f06c3a8c","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d session.Session(a)"},{"line_number":58,"context_line":"        token \u003d a.get_token(s)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        req \u003d {\u0027auth\u0027: {\u0027identity\u0027: {\u0027methods\u0027: [\u0027kerberos\u0027],"},{"line_number":61,"context_line":"                                     \u0027kerberos\u0027: {}}}}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.assertEqual(req, json.loads(self.requests.last_request.body))"}],"source_content_type":"text/x-python","patch_set":17,"id":"9aa7fdbe_4ecb861e","line":60,"in_reply_to":"9aa7fdbe_38f20d70","updated":"2014-10-29 09:32:59.000000000","message":"Ideally i\u0027d like to move that kerberos server side plugin over to this repo as well","commit_id":"27883b8b2ff679f20e7a3512090a1dfe93cbbb44"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"9905e131b790a2f7ac2823d19a00ab43a34016ad","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d session.Session(a)"},{"line_number":58,"context_line":"        token \u003d a.get_token(s)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        req \u003d {\u0027auth\u0027: {\u0027identity\u0027: {\u0027methods\u0027: [\u0027kerberos\u0027],"},{"line_number":61,"context_line":"                                     \u0027kerberos\u0027: {}}}}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.assertEqual(req, json.loads(self.requests.last_request.body))"}],"source_content_type":"text/x-python","patch_set":17,"id":"9aa7fdbe_aaaa1583","line":60,"in_reply_to":"9aa7fdbe_4ecb861e","updated":"2014-10-29 14:26:38.000000000","message":"That does not make sense:  the plugin is actually a generic plugin.  The \"kerberos\" method really is handled by the Web Server, not the wsgi app.  On the wsgi side, it is just a mapping plugin.","commit_id":"27883b8b2ff679f20e7a3512090a1dfe93cbbb44"},{"author":{"_account_id":9098,"name":"Nathan Kinder","email":"nkinder@redhat.com","username":"nkinder"},"change_message_id":"6b431f95b78d6a96af3633d36349c906138db004","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d session.Session(a)"},{"line_number":58,"context_line":"        token \u003d a.get_token(s)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        req \u003d {\u0027auth\u0027: {\u0027identity\u0027: {\u0027methods\u0027: [\u0027kerberos\u0027],"},{"line_number":61,"context_line":"                                     \u0027kerberos\u0027: {}}}}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.assertEqual(req, json.loads(self.requests.last_request.body))"}],"source_content_type":"text/x-python","patch_set":17,"id":"9aa7fdbe_f84405b9","line":60,"in_reply_to":"9aa7fdbe_5808b128","updated":"2014-10-29 01:54:41.000000000","message":"Sort of.  When configuring Keystone for the kerberos auth method, you do the following:\n\n  [auth]\n  methods \u003d kerberos,password,token\n  kerberos \u003d keystone.auth.plugins.external.KerberosDomain","commit_id":"27883b8b2ff679f20e7a3512090a1dfe93cbbb44"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a390d167be4c333a3dc1eb1cc9479c6be23b2efe","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        s \u003d session.Session(a)"},{"line_number":58,"context_line":"        token \u003d a.get_token(s)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        req \u003d {\u0027auth\u0027: {\u0027identity\u0027: {\u0027methods\u0027: [\u0027kerberos\u0027],"},{"line_number":61,"context_line":"                                     \u0027kerberos\u0027: {}}}}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.assertEqual(req, json.loads(self.requests.last_request.body))"}],"source_content_type":"text/x-python","patch_set":17,"id":"9aa7fdbe_38f20d70","line":60,"in_reply_to":"9aa7fdbe_f84405b9","updated":"2014-10-29 02:00:24.000000000","message":"oh, there it is, we should probably doc that somewhere.... either in docs.openstack.org/developer/keystone or maybe add it to the auth methods under for the general api","commit_id":"27883b8b2ff679f20e7a3512090a1dfe93cbbb44"}],"keystoneclient_kerberos/tests/utils.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ec04cce101ea2f16124dfc24b3c9ace54eead385","unresolved":false,"context_lines":[{"line_number":28,"context_line":"import testtools"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class TestCase(testtools.TestCase):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    TEST_DOMAIN_ID \u003d \u00271\u0027"},{"line_number":34,"context_line":"    TEST_DOMAIN_NAME \u003d \u0027aDomain\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_244e5ec2","line":31,"updated":"2014-10-20 08:05:32.000000000","message":"most of this file is unnecessary.","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"139a8629c738d56a281f695bc2f05fd37dedae81","unresolved":false,"context_lines":[{"line_number":28,"context_line":"import testtools"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class TestCase(testtools.TestCase):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    TEST_DOMAIN_ID \u003d \u00271\u0027"},{"line_number":34,"context_line":"    TEST_DOMAIN_NAME \u003d \u0027aDomain\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"9aa7fdbe_7e0dc1e7","line":31,"in_reply_to":"9aa7fdbe_244e5ec2","updated":"2014-10-24 10:22:43.000000000","message":"Done","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"}],"keystoneclient_kerberos/v3.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8ce036943d0d897125ecae982a1f9bfaf0d5e883","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003dNone,"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"},{"line_number":25,"context_line":"        return \u0027kerberos\u0027, {}"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9aa7fdbe_66988f1c","line":23,"updated":"2014-10-28 13:48:19.000000000","message":"What happens if request_kwargs is None?","commit_id":"edb96e9718a540f40b7188557116f90e947dda81"},{"author":{"_account_id":9098,"name":"Nathan Kinder","email":"nkinder@redhat.com","username":"nkinder"},"change_message_id":"7fb4f90222a1772721ebd7ed88a5fe00908d576c","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003dNone,"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"},{"line_number":25,"context_line":"        return \u0027kerberos\u0027, {}"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9aa7fdbe_342ea8fb","line":23,"in_reply_to":"9aa7fdbe_66988f1c","updated":"2014-10-28 16:42:36.000000000","message":"Good catch!  I also pointed this out in patchset 10, but missed that it wasn\u0027t fixed in later patchsets. :(\n\nThis is fixed in patchset 15.","commit_id":"edb96e9718a540f40b7188557116f90e947dda81"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"04b74fbea6575f078cb51d43f478adc2387b607d","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    _method_parameters \u003d []"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003d[],"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_54f40c5a","line":21,"updated":"2014-10-28 16:49:02.000000000","message":"that\u0027s an empty list - it will still fail. \n\nAlso you shouldn\u0027t initialize with a new object here.\n\nI\u0027m not sure any of it matters because request_kwargs is always passed and if it\u0027s not then the kerberos plugin isn\u0027t going to be able to do anything.","commit_id":"dbab64071cf83b269f251648e42224ef37db04b4"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"6d35a9e98507be759fce30ffc3f3d54cabe23c12","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    _method_parameters \u003d []"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003d[],"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_2e8bb41f","line":21,"in_reply_to":"9aa7fdbe_1f4ffd34","updated":"2014-10-28 18:00:13.000000000","message":"Mutable default args can be very bad.","commit_id":"dbab64071cf83b269f251648e42224ef37db04b4"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"6d35a9e98507be759fce30ffc3f3d54cabe23c12","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    _method_parameters \u003d []"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003d[],"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_8ead809d","line":21,"in_reply_to":"9aa7fdbe_54f40c5a","updated":"2014-10-28 18:00:13.000000000","message":"Can we just leave the default out? Having a default at all is an indicator that the param is optional.","commit_id":"dbab64071cf83b269f251648e42224ef37db04b4"},{"author":{"_account_id":9098,"name":"Nathan Kinder","email":"nkinder@redhat.com","username":"nkinder"},"change_message_id":"e45534fa011fd8021e1224d5389876c7223381f9","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    _method_parameters \u003d []"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003d[],"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_1f4ffd34","line":21,"in_reply_to":"9aa7fdbe_54f40c5a","updated":"2014-10-28 17:07:31.000000000","message":"sigh... I of course meant to use an empty dict.","commit_id":"dbab64071cf83b269f251648e42224ef37db04b4"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"78771fb7a47f12dbf141fad221e41d7d7f9acb45","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    _method_parameters \u003d []"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    def get_auth_data(self, session, auth, headers, request_kwargs\u003d[],"},{"line_number":22,"context_line":"                      **kwargs):"},{"line_number":23,"context_line":"        request_kwargs[\u0027requests_auth\u0027] \u003d requests_kerberos.HTTPKerberosAuth("},{"line_number":24,"context_line":"            mutual_authentication\u003drequests_kerberos.OPTIONAL)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_c774cbd0","line":21,"in_reply_to":"9aa7fdbe_8ead809d","updated":"2014-10-28 19:35:04.000000000","message":"Done","commit_id":"dbab64071cf83b269f251648e42224ef37db04b4"}],"requirements.txt":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fadcede27cafd1b24b872a2eaa56d1763d12c3fb","unresolved":false,"context_lines":[{"line_number":5,"context_line":"pbr\u003e\u003d0.6,!\u003d0.7,\u003c1.0"},{"line_number":6,"context_line":"Babel\u003e\u003d1.3"},{"line_number":7,"context_line":"python-keystoneclient\u003e\u003d0.11.1"},{"line_number":8,"context_line":"requests_kerberos \u003e\u003d 0.5"}],"source_content_type":"text/plain","patch_set":17,"id":"9aa7fdbe_f5017007","line":8,"updated":"2014-10-29 00:47:36.000000000","message":"shouldn\u0027t this match the text of global req? \n\nrequests-kerberos\u003e\u003d0.5 # MIT","commit_id":"27883b8b2ff679f20e7a3512090a1dfe93cbbb44"}],"setup.cfg":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ec04cce101ea2f16124dfc24b3c9ace54eead385","unresolved":false,"context_lines":[{"line_number":49,"context_line":"[entry_points]"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"keystoneclient.auth.plugin \u003d"},{"line_number":52,"context_line":"    kerberos \u003d keystoneclient_kerberos.kerberos:Kerberos"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"9aa7fdbe_84654a47","line":52,"updated":"2014-10-20 08:05:32.000000000","message":"hmm, i really want to call this v3kerberos, in the same way we have v3password and v3token. If we ever go to a v4 auth scheme this will get confusing. \n\nNote you could create a corresponding unversioned plugin and call it just kerberos in the same way as generic.Password and generic.Token in keystoneclient.","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"139a8629c738d56a281f695bc2f05fd37dedae81","unresolved":false,"context_lines":[{"line_number":49,"context_line":"[entry_points]"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"keystoneclient.auth.plugin \u003d"},{"line_number":52,"context_line":"    kerberos \u003d keystoneclient_kerberos.kerberos:Kerberos"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"9aa7fdbe_1e1595e4","line":52,"in_reply_to":"9aa7fdbe_2493befb","updated":"2014-10-24 10:22:43.000000000","message":"Done","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5f206130ca7355f57aecc0e6d46b805922708843","unresolved":false,"context_lines":[{"line_number":49,"context_line":"[entry_points]"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"keystoneclient.auth.plugin \u003d"},{"line_number":52,"context_line":"    kerberos \u003d keystoneclient_kerberos.kerberos:Kerberos"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"9aa7fdbe_2493befb","line":52,"in_reply_to":"9aa7fdbe_84654a47","updated":"2014-10-20 08:08:22.000000000","message":"++","commit_id":"c1d6d766174bd5d1c0f18ef20f2a398bb8753cfb"}]}
