)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"4a21d8d5fa487bcef439395ff59eb3afd2cb27f0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle project_id in Neutron\u0027s Context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo.context rejects project_id in keyword args. We need to"},{"line_number":10,"context_line":"handle it in our context."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I431b90bf7eca57b798721279a034c545b23116ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a57fde8_7fb05bde","line":10,"range":{"start_line":9,"start_character":1,"end_line":10,"end_character":23},"updated":"2017-01-12 19:50:42.000000000","message":"I\u0027d be wary of special casing this in Neutron. It creates weird legacy issues. Looking at [1] I don\u0027t see project_id, and perhaps there\u0027s a good reason for it. Are we using project_id blatantly wrong in our code?\n\n[1] http://git.openstack.org/cgit/openstack/oslo.context/tree/oslo_context/context.py#n177","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"fe22a7ddeee57233eb010f757fb161a2dd5c2929","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle project_id in Neutron\u0027s Context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo.context rejects project_id in keyword args. We need to"},{"line_number":10,"context_line":"handle it in our context."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I431b90bf7eca57b798721279a034c545b23116ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a3c09a3_b7304aa0","line":10,"range":{"start_line":9,"start_character":1,"end_line":10,"end_character":23},"in_reply_to":"7a3c09a3_b1a5bab6","updated":"2017-01-12 21:57:54.000000000","message":"Well, I wrote a test case for it, but I guess it will never be used that way.","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"9d6e0b83dee8db952cb04bd7258a0ed04799c2bc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle project_id in Neutron\u0027s Context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo.context rejects project_id in keyword args. We need to"},{"line_number":10,"context_line":"handle it in our context."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I431b90bf7eca57b798721279a034c545b23116ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a57fde8_5acc8535","line":10,"range":{"start_line":9,"start_character":1,"end_line":10,"end_character":23},"in_reply_to":"9a57fde8_3a2c214a","updated":"2017-01-12 20:20:16.000000000","message":"If we pass project_id in kwargs to oslo.context then we get an error. See http://logs.openstack.org/44/394244/20/check/gate-neutron-lib-python27-ubuntu-xenial/06c99a1/console.html#_2017-01-10_20_22_27_850212","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"cd4b85df260b8c73149ebd3ca4397e3379cb76db","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle project_id in Neutron\u0027s Context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo.context rejects project_id in keyword args. We need to"},{"line_number":10,"context_line":"handle it in our context."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I431b90bf7eca57b798721279a034c545b23116ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a3c09a3_b1a5bab6","line":10,"range":{"start_line":9,"start_character":1,"end_line":10,"end_character":23},"in_reply_to":"9a57fde8_5acc8535","updated":"2017-01-12 21:14:52.000000000","message":"Then why do we pass it there? It should not be needed, passing tenant\u003d/tenant_id\u003d is totally fine, and is in line with oslo.context.","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"aa07257feb555253ae53abc99cb1ecb9f25d106e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle project_id in Neutron\u0027s Context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo.context rejects project_id in keyword args. We need to"},{"line_number":10,"context_line":"handle it in our context."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I431b90bf7eca57b798721279a034c545b23116ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a57fde8_3a2c214a","line":10,"range":{"start_line":9,"start_character":1,"end_line":10,"end_character":23},"in_reply_to":"9a57fde8_7fb05bde","updated":"2017-01-12 20:09:08.000000000","message":"Agreed.\n\nThe library itself accepts tenant\u003d that will be exposed as project_id property, among other things. I believe instead of diverting our context even further from underlying library, we should look into passing tenant\u003d directly.","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"}],"neutron/context.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"75102b10afb8e04cc4c5e8cbccd8722d4d59c79e","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class ContextProjectIdConflict(exceptions.Conflict):"},{"line_number":31,"context_line":"    \"\"\"The context project_id differs from the context tenant_id.\"\"\""},{"line_number":32,"context_line":"    message \u003d _(\"The project_id conflicts with the tenant_id in the context.\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a57fde8_15d114fc","line":31,"range":{"start_line":31,"start_character":5,"end_line":31,"end_character":68},"updated":"2017-01-12 08:50:57.000000000","message":"\u0027message\u0027 has sufficient information. Do we need the docstring? These two contains duplicated information.","commit_id":"5ff58781b8f5b3b4085e6023e829a40ba6758514"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"491b0be4a24570103d1fca91bb1f694eb4334e41","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class ContextProjectIdConflict(exceptions.Conflict):"},{"line_number":31,"context_line":"    \"\"\"The context project_id differs from the context tenant_id.\"\"\""},{"line_number":32,"context_line":"    message \u003d _(\"The project_id conflicts with the tenant_id in the context.\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a57fde8_febb7673","line":31,"range":{"start_line":31,"start_character":5,"end_line":31,"end_character":68},"in_reply_to":"9a57fde8_15d114fc","updated":"2017-01-12 17:28:23.000000000","message":"Done","commit_id":"5ff58781b8f5b3b4085e6023e829a40ba6758514"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"75102b10afb8e04cc4c5e8cbccd8722d4d59c79e","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def __init__(self, user_id\u003dNone, tenant_id\u003dNone, is_admin\u003dNone,"},{"line_number":43,"context_line":"                 timestamp\u003dNone, tenant_name\u003dNone, user_name\u003dNone,"},{"line_number":44,"context_line":"                 is_advsvc\u003dNone, project_id\u003dNone, **kwargs):"},{"line_number":45,"context_line":"        \"\"\"Object initialization."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        :param overwrite: Set to False to ensure that the greenthread local"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a57fde8_b5ba08bf","line":44,"updated":"2017-01-12 08:50:57.000000000","message":"We will replace tenant_id with project_id completely in future.\nHow about replacing \u0027tenant_id\u0027 in the second position with \u0027project_id\u0027 and adding \u0027tenant_id\u0027 to the place where \u0027project_id\u0027 is placed now? Just my two cent.","commit_id":"5ff58781b8f5b3b4085e6023e829a40ba6758514"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"491b0be4a24570103d1fca91bb1f694eb4334e41","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def __init__(self, user_id\u003dNone, tenant_id\u003dNone, is_admin\u003dNone,"},{"line_number":43,"context_line":"                 timestamp\u003dNone, tenant_name\u003dNone, user_name\u003dNone,"},{"line_number":44,"context_line":"                 is_advsvc\u003dNone, project_id\u003dNone, **kwargs):"},{"line_number":45,"context_line":"        \"\"\"Object initialization."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        :param overwrite: Set to False to ensure that the greenthread local"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a57fde8_b96ca89d","line":44,"in_reply_to":"9a57fde8_b5ba08bf","updated":"2017-01-12 17:28:23.000000000","message":"Context is called from many places with positional arguments. What you suggest *should* work since in those calls will then populate project_id instead of tenant_id but they are now treated as interchangeable. I\u0027ll make the change in the next PS and let\u0027s see if anything breaks.","commit_id":"5ff58781b8f5b3b4085e6023e829a40ba6758514"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"75102b10afb8e04cc4c5e8cbccd8722d4d59c79e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                if project_id !\u003d tenant_id:"},{"line_number":56,"context_line":"                    raise ContextProjectIdConflict()"},{"line_number":57,"context_line":"            else:"},{"line_number":58,"context_line":"                tenant_id \u003d project_id"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # NOTE(jamielennox): We maintain these arguments in order for tests"},{"line_number":61,"context_line":"        # that pass arguments positionally."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a57fde8_157cb41f","line":58,"updated":"2017-01-12 08:50:57.000000000","message":"This patch looks good.\n\nLooking at the oslo.context code, it seems that oslo.context expects that project_id is stored in \u0027tenant\u0027 and user_id is stored in \u0027user\u0027 argument. We currently do not use \u0027tenant\u0027 and \u0027user\u0027 attribute of oslo_context.Context. This is another topic and we can update it in a separate patch.","commit_id":"5ff58781b8f5b3b4085e6023e829a40ba6758514"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"aa07257feb555253ae53abc99cb1ecb9f25d106e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                 is_advsvc\u003dNone, tenant_id\u003dNone, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Object initialization."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :param kwargs: Extra arguments that might be present, but we ignore"},{"line_number":47,"context_line":"            because they possibly came in from older rpc messages."},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # If project_id is given then it should either be the same as"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a57fde8_fae7f93d","line":47,"range":{"start_line":46,"start_character":23,"end_line":47,"end_character":66},"updated":"2017-01-12 20:09:08.000000000","message":"huh? we pass them into super().__init__() in line 63","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"7b6c5c4eabb2f540ef662a72ee0ebde53c374c08","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                 is_advsvc\u003dNone, tenant_id\u003dNone, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Object initialization."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :param kwargs: Extra arguments that might be present, but we ignore"},{"line_number":47,"context_line":"            because they possibly came in from older rpc messages."},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # If project_id is given then it should either be the same as"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a3c09a3_51581657","line":47,"range":{"start_line":46,"start_character":23,"end_line":47,"end_character":66},"in_reply_to":"7a3c09a3_511ad618","updated":"2017-01-12 21:27:40.000000000","message":"when I sync-ed changes down to neutron-lib, I didn\u0027t touch the docstrings, I wonder where these come from!","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"93d900f6d87611a357d3f73e48e7d2db4a575eb2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                 is_advsvc\u003dNone, tenant_id\u003dNone, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Object initialization."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :param kwargs: Extra arguments that might be present, but we ignore"},{"line_number":47,"context_line":"            because they possibly came in from older rpc messages."},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # If project_id is given then it should either be the same as"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a3c09a3_511ad618","line":47,"range":{"start_line":46,"start_character":23,"end_line":47,"end_character":66},"in_reply_to":"9a57fde8_ba6d7134","updated":"2017-01-12 21:13:29.000000000","message":"Ok, I sent https://review.openstack.org/419651 to fix the wrong.","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"9d6e0b83dee8db952cb04bd7258a0ed04799c2bc","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                 is_advsvc\u003dNone, tenant_id\u003dNone, **kwargs):"},{"line_number":44,"context_line":"        \"\"\"Object initialization."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :param kwargs: Extra arguments that might be present, but we ignore"},{"line_number":47,"context_line":"            because they possibly came in from older rpc messages."},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # If project_id is given then it should either be the same as"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a57fde8_ba6d7134","line":47,"range":{"start_line":46,"start_character":23,"end_line":47,"end_character":66},"in_reply_to":"9a57fde8_fae7f93d","updated":"2017-01-12 20:20:16.000000000","message":"Ha! I copied this from https://review.openstack.org/387747 which you just approved.","commit_id":"2868f51abc4788bde248969dc87324318434c0eb"}],"neutron/tests/unit/test_context.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"5f5f11b423a1fdaf0dd8b71848330274e721d54c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            \u0027domain\u0027: \u0027domain\u0027,"},{"line_number":154,"context_line":"            \u0027user_domain\u0027: \u0027user_domain\u0027,"},{"line_number":155,"context_line":"            \u0027project_domain\u0027: \u0027project_domain\u0027,"},{"line_number":156,"context_line":"            \u0027user_name\u0027: \u0027user_name\u0027,"},{"line_number":157,"context_line":"        }"},{"line_number":158,"context_line":"        additional_values \u003d {"},{"line_number":159,"context_line":"            \u0027user\u0027: \u0027user_id\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a57fde8_393b58ed","side":"PARENT","line":156,"updated":"2017-01-12 17:36:40.000000000","message":"I was getting a pep8 error here because \u0027user_name\u0027 is already at line 152.","commit_id":"e4f791669099b929553ca59a25cf52d1655df120"}]}
