)]}'
{"oslo_context/context.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6ae75daa46b2153c2fde1c74c47363ac149722d3","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \"\"\"Initialize the RequestContext"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        :param overwrite: Set to False to ensure that the greenthread local"},{"line_number":73,"context_line":"                          copy of the index is not overwritten."},{"line_number":74,"context_line":"        \"\"\""},{"line_number":75,"context_line":"        self.auth_token \u003d auth_token"},{"line_number":76,"context_line":"        self.user \u003d user"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_43e385d9","line":73,"updated":"2016-06-29 14:27:03.000000000","message":"The new parameter should be documented.","commit_id":"b0b80e0acdc2bddfd874a2d206853b796f4d2050"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6ae75daa46b2153c2fde1c74c47363ac149722d3","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        self.user_domain \u003d user_domain"},{"line_number":80,"context_line":"        self.project_domain \u003d project_domain"},{"line_number":81,"context_line":"        self.is_admin \u003d is_admin"},{"line_number":82,"context_line":"        self.is_admin_project \u003d is_admin_project"},{"line_number":83,"context_line":"        self.read_only \u003d read_only"},{"line_number":84,"context_line":"        self.show_deleted \u003d show_deleted"},{"line_number":85,"context_line":"        self.resource_uuid \u003d resource_uuid"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_c3cf7554","line":82,"updated":"2016-06-29 14:27:03.000000000","message":"The new property should be documented.","commit_id":"b0b80e0acdc2bddfd874a2d206853b796f4d2050"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6ae75daa46b2153c2fde1c74c47363ac149722d3","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        It is expected that services will often have to override this method"},{"line_number":106,"context_line":"        with either deprecated values or additional attributes used by that"},{"line_number":107,"context_line":"        service specific policy."},{"line_number":108,"context_line":"        \"\"\""},{"line_number":109,"context_line":"        return {\u0027user_id\u0027: self.user,"},{"line_number":110,"context_line":"                \u0027user_domain_id\u0027: self.user_domain,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_a38069c0","line":107,"updated":"2016-06-29 14:27:03.000000000","message":"The return value should be documented.","commit_id":"b0b80e0acdc2bddfd874a2d206853b796f4d2050"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6ae75daa46b2153c2fde1c74c47363ac149722d3","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                \u0027request_id\u0027: self.request_id,"},{"line_number":135,"context_line":"                \u0027resource_uuid\u0027: self.resource_uuid,"},{"line_number":136,"context_line":"                \u0027roles\u0027: self.roles,"},{"line_number":137,"context_line":"                \u0027user_identity\u0027: user_idt}"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def get_logging_values(self):"},{"line_number":140,"context_line":"        \"\"\"Return a dictionary of logging specific context attributes.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_835c4d7e","line":137,"updated":"2016-06-29 14:27:03.000000000","message":"why not add here, too?","commit_id":"b0b80e0acdc2bddfd874a2d206853b796f4d2050"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6ae75daa46b2153c2fde1c74c47363ac149722d3","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                   inspect.getargspec(RequestContext.__init__).args"},{"line_number":149,"context_line":"                   if arg !\u003d \u0027self\u0027]"},{"line_number":150,"context_line":"        kwargs \u003d {k: v for (k, v) in values.items() if k in allowed}"},{"line_number":151,"context_line":"        return cls(**kwargs)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    @classmethod"},{"line_number":154,"context_line":"    def from_environ(cls, environ, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_03e05d95","line":151,"updated":"2016-06-29 14:27:03.000000000","message":"is_admin_project isn\u0027t going to be set correctly if the application does from_dict(to_dict())","commit_id":"b0b80e0acdc2bddfd874a2d206853b796f4d2050"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"6e4ff7c4dc0e233bdf7075e2de0028bd3e14ed41","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            # nothing is provided we have to assume it is the admin project to"},{"line_number":190,"context_line":"            # make old policy continue to work."},{"line_number":191,"context_line":"            is_admin_proj_str \u003d environ.get(\u0027HTTP_X_IS_ADMIN_PROJECT\u0027, \u0027true\u0027)"},{"line_number":192,"context_line":"            kwargs[\u0027is_admin_project\u0027] \u003d is_admin_proj_str.lower() \u003d\u003d \u0027true\u0027"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        return cls(**kwargs)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_17f2d706","line":192,"updated":"2016-07-08 01:28:43.000000000","message":"Use https://github.com/openstack/oslo.utils/blob/master/oslo_utils/strutils.py#L111 ?","commit_id":"12e1a6fb8aa7df820ceb4e924a5c3921117ffe62"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"c502a3d053ff7227fc234f3d0f0b14129a3bcc30","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            # nothing is provided we have to assume it is the admin project to"},{"line_number":190,"context_line":"            # make old policy continue to work."},{"line_number":191,"context_line":"            is_admin_proj_str \u003d environ.get(\u0027HTTP_X_IS_ADMIN_PROJECT\u0027, \u0027true\u0027)"},{"line_number":192,"context_line":"            kwargs[\u0027is_admin_project\u0027] \u003d is_admin_proj_str.lower() \u003d\u003d \u0027true\u0027"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        return cls(**kwargs)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_37f43386","line":192,"in_reply_to":"1aa78d24_17f2d706","updated":"2016-07-08 01:42:07.000000000","message":"so oslo.context doesn\u0027t have a dependency on oslo.utils atm. It\u0027s probably not a hard one to add however auth_token middleware is very strict in that it will set either \u0027True\u0027 or \u0027False\u0027 as the header value [1] so i don\u0027t know if we need to parse it. \n\n[1] https://github.com/openstack/keystonemiddleware/blob/29709a4aaf9f8851a11234380cc67285840f0216/keystonemiddleware/auth_token/__init__.py#L121-L125","commit_id":"12e1a6fb8aa7df820ceb4e924a5c3921117ffe62"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"462bda9b8561d99d87b5370ec1a035bde9d4b3a7","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                 resource_uuid\u003dNone, overwrite\u003dTrue, roles\u003dNone,"},{"line_number":73,"context_line":"                 user_name\u003dNone, project_name\u003dNone, domain_name\u003dNone,"},{"line_number":74,"context_line":"                 user_domain_name\u003dNone, project_domain_name\u003dNone,"},{"line_number":75,"context_line":"                 is_admin_project\u003dTrue):"},{"line_number":76,"context_line":"        \"\"\"Initialize the RequestContext"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param overwrite: Set to False to ensure that the greenthread local"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_39bb7bc6","line":75,"range":{"start_line":75,"start_character":17,"end_line":75,"end_character":38},"updated":"2016-07-18 14:53:13.000000000","message":"This is an API change which broke nova, see:\n\nhttps://review.openstack.org/#/c/343683/\n\nAnd should have also been released as 3.0.0.\n\nThis is probably going to require some kwargs bridging for awhile until nova is upgraded to using this and oslo.context\u003e\u003d3.0.0 is the minimum in global-requirements.","commit_id":"d3af1d06b4046c25c199bf1c389a9e440a634bc6"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"25ac4ce9359b0f0ffe4c4a0425808474bb98ffde","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                 resource_uuid\u003dNone, overwrite\u003dTrue, roles\u003dNone,"},{"line_number":73,"context_line":"                 user_name\u003dNone, project_name\u003dNone, domain_name\u003dNone,"},{"line_number":74,"context_line":"                 user_domain_name\u003dNone, project_domain_name\u003dNone,"},{"line_number":75,"context_line":"                 is_admin_project\u003dTrue):"},{"line_number":76,"context_line":"        \"\"\"Initialize the RequestContext"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param overwrite: Set to False to ensure that the greenthread local"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_67ba1770","line":75,"range":{"start_line":75,"start_character":17,"end_line":75,"end_character":38},"in_reply_to":"dada55a8_39bb7bc6","updated":"2016-07-19 23:44:14.000000000","message":"Adding a keyword argument with a default value is not a breaking API change. The part that broke nova is because we added it to the to_dict. That is also not a breaking API change. \n\nThis is nova enforcing in its library that an underlying library never change and something nova should fix.","commit_id":"d3af1d06b4046c25c199bf1c389a9e440a634bc6"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"e233d1ddd208542f1552b1bf465ab986424c3ee2","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                 resource_uuid\u003dNone, overwrite\u003dTrue, roles\u003dNone,"},{"line_number":73,"context_line":"                 user_name\u003dNone, project_name\u003dNone, domain_name\u003dNone,"},{"line_number":74,"context_line":"                 user_domain_name\u003dNone, project_domain_name\u003dNone,"},{"line_number":75,"context_line":"                 is_admin_project\u003dTrue):"},{"line_number":76,"context_line":"        \"\"\"Initialize the RequestContext"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param overwrite: Set to False to ensure that the greenthread local"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_07acfb32","line":75,"range":{"start_line":75,"start_character":17,"end_line":75,"end_character":38},"in_reply_to":"dada55a8_67ba1770","updated":"2016-07-19 23:44:45.000000000","message":"in its tests","commit_id":"d3af1d06b4046c25c199bf1c389a9e440a634bc6"}],"oslo_context/tests/test_context.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6ae75daa46b2153c2fde1c74c47363ac149722d3","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                                     user_domain\u003duser_domain,"},{"line_number":402,"context_line":"                                     tenant\u003dtenant,"},{"line_number":403,"context_line":"                                     project_domain\u003dproject_domain,"},{"line_number":404,"context_line":"                                     roles\u003droles)"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        self.assertEqual({\u0027user_id\u0027: user,"},{"line_number":407,"context_line":"                          \u0027user_domain_id\u0027: user_domain,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_86f57bee","line":404,"updated":"2016-06-29 14:27:03.000000000","message":"There should be tests that show that the new is_admin_project argument to the constructor can be used.","commit_id":"b0b80e0acdc2bddfd874a2d206853b796f4d2050"}]}
