)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6ff11fde4a14a09902f0e868ffb7e927a9f96588","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-03-21 14:16:59 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix for showing port to admin users in non-tenant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id7a08ac334888c1159e27cc8b399e5171d008628"},{"line_number":10,"context_line":"Closes-Bug: #1560195"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_a1b56bce","line":8,"updated":"2016-03-21 21:59:56.000000000","message":"Can you add a couple of lines explaining what the change does? It\u0027s a pain to follow through to the launchpad bug in 3 months time when someone doesn\u0027t know what this  is about","commit_id":"23f0eccd8e422b156bb746648389205a6c58cdbc"}],"doc/source/plugins/neutron.rst":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6edc621a9a18995229079c4b8c5bc38499c832ea","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"RBAC Filters"},{"line_number":105,"context_line":"------------"},{"line_number":106,"context_line":"RBAC in searchlight neutron plugin is implemented as::"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    TENANT1(TENANT1_admin_user, TENANT1_non_admin_user)"},{"line_number":109,"context_line":"    TENANT2(TENANT2_admin_user, TENANT2_non_admin_user)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_f4c6d147","line":106,"range":{"start_line":106,"start_character":37,"end_line":106,"end_character":38},"updated":"2016-03-22 18:46:06.000000000","message":"Can this be stated more simply?\n\nNetworks are visible within a tenant OR if they are shared OR if they are external.\nSubnets are visible within a tenant OR if their network is shared (OR for admins if their network is external)\nPorts are visible within a tenant (OR for admins if their network is shared or external)\nRouters are visible within a tenant","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6c03abe516819a4383e974a57c462d14c1b8d680","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"RBAC Filters"},{"line_number":105,"context_line":"------------"},{"line_number":106,"context_line":"RBAC in searchlight neutron plugin is implemented as::"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    TENANT1(TENANT1_admin_user, TENANT1_non_admin_user)"},{"line_number":109,"context_line":"    TENANT2(TENANT2_admin_user, TENANT2_non_admin_user)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_32c0567b","line":106,"range":{"start_line":106,"start_character":37,"end_line":106,"end_character":38},"in_reply_to":"fa0719c6_f4c6d147","updated":"2016-03-22 20:47:01.000000000","message":"Yeah its better to be short.","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6edc621a9a18995229079c4b8c5bc38499c832ea","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    Access Rights(N \u003d Network, S \u003d Subnet, P \u003d Port, R \u003d Router)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user, TENANT2_admin_user(TENANT1_NETWORK1) \u003d N, S, P"},{"line_number":119,"context_line":"    TENANT2_non_admin_user(TENANT1_NETWORK1) \u003d None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user, TENANT2_admin_user(TENANT1_NETWORK2) \u003d N, S, P"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_14742566","line":118,"range":{"start_line":118,"start_character":67,"end_line":118,"end_character":83},"updated":"2016-03-22 18:46:06.000000000","message":"Is this right? If i\u0027m reading it right this says that ports on a non-shared non-external network are accessible to admins on a different tenant, which is only true with all_projects (and that\u0027s the case for all plugins)","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6c03abe516819a4383e974a57c462d14c1b8d680","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    Access Rights(N \u003d Network, S \u003d Subnet, P \u003d Port, R \u003d Router)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user, TENANT2_admin_user(TENANT1_NETWORK1) \u003d N, S, P"},{"line_number":119,"context_line":"    TENANT2_non_admin_user(TENANT1_NETWORK1) \u003d None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user, TENANT2_admin_user(TENANT1_NETWORK2) \u003d N, S, P"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_d2475a1b","line":118,"range":{"start_line":118,"start_character":67,"end_line":118,"end_character":83},"in_reply_to":"fa0719c6_14742566","updated":"2016-03-22 20:47:01.000000000","message":"Next patch corrected these while you were reviewing it.","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"77d23a22d18a3dc18796d4801142f8ebe73fc455","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user \u003d N, S, P"},{"line_number":125,"context_line":"    TENANT2_admin_user \u003d N, S, P"},{"line_number":126,"context_line":"    TENANT2_non_admin_user \u003d N, S"},{"line_number":127,"context_line":"    "},{"line_number":128,"context_line":"    TENANT1_NETWORK3"},{"line_number":129,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user \u003d N, S, P"},{"line_number":130,"context_line":"    TENANT2_admin_user \u003d N, S, P"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa0719c6_72b76ed8","line":127,"updated":"2016-03-22 20:24:18.000000000","message":"remove red","commit_id":"30ecc61bfd2fc2085f529841f7da0ee61443b6c4"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"77d23a22d18a3dc18796d4801142f8ebe73fc455","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    TENANT2_admin_user \u003d None"},{"line_number":140,"context_line":"    TENANT2_non_admin_user \u003d None"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Release Notes"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa0719c6_12c1d22e","line":142,"updated":"2016-03-22 20:24:18.000000000","message":"remove the extra lines.","commit_id":"30ecc61bfd2fc2085f529841f7da0ee61443b6c4"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":106,"context_line":"RBAC in searchlight neutron plugin is implemented as::"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Networks are visible within a tenant OR if they are shared OR if they are external."},{"line_number":109,"context_line":"Subnets are visible within a tenant OR if their network is shared (OR for admins if their network is external)"},{"line_number":110,"context_line":"Ports are visible within a tenant (OR for admins if their network is shared or external)"},{"line_number":111,"context_line":"Routers are visible within a tenant"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_20bbdc28","line":109,"range":{"start_line":109,"start_character":70,"end_line":109,"end_character":73},"updated":"2016-03-22 21:07:05.000000000","message":"line wrap","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Example::"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    TENANT1(TENANT1_admin_user, TENANT1_non_admin_user)"},{"line_number":116,"context_line":"    TENANT2(TENANT2_admin_user, TENANT2_non_admin_user)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    TENANT1_NETWORK1(Shared \u003d False, External \u003d False)"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_a07d2c70","line":115,"range":{"start_line":115,"start_character":12,"end_line":115,"end_character":30},"updated":"2016-03-22 21:07:05.000000000","message":"I\u0027m not a massive fan of listing all the cases but if it\u0027s useful to others i\u0027m ok with it","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"4349012c18a9e016119f48c258341479497e125b","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Example::"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    TENANT1(TENANT1_admin_user, TENANT1_non_admin_user)"},{"line_number":116,"context_line":"    TENANT2(TENANT2_admin_user, TENANT2_non_admin_user)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    TENANT1_NETWORK1(Shared \u003d False, External \u003d False)"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_e6fa9cbc","line":115,"range":{"start_line":115,"start_character":12,"end_line":115,"end_character":30},"in_reply_to":"fa0719c6_a07d2c70","updated":"2016-03-22 21:50:36.000000000","message":"NA","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user \u003d N, S, P"},{"line_number":132,"context_line":"    TENANT2_admin_user \u003d N, S, P"},{"line_number":133,"context_line":"    TENANT2_non_admin_user \u003d N, S"},{"line_number":134,"context_line":"    "},{"line_number":135,"context_line":"    TENANT1_NETWORK3"},{"line_number":136,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user \u003d N, S, P"},{"line_number":137,"context_line":"    TENANT2_admin_user \u003d N, S, P"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_00b6983c","line":134,"range":{"start_line":134,"start_character":0,"end_line":134,"end_character":4},"updated":"2016-03-22 21:07:05.000000000","message":"whitespace","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"4349012c18a9e016119f48c258341479497e125b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user \u003d N, S, P"},{"line_number":132,"context_line":"    TENANT2_admin_user \u003d N, S, P"},{"line_number":133,"context_line":"    TENANT2_non_admin_user \u003d N, S"},{"line_number":134,"context_line":"    "},{"line_number":135,"context_line":"    TENANT1_NETWORK3"},{"line_number":136,"context_line":"    TENANT1_admin_user, TENANT1_non_admin_user \u003d N, S, P"},{"line_number":137,"context_line":"    TENANT2_admin_user \u003d N, S, P"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_0669908b","line":134,"range":{"start_line":134,"start_character":0,"end_line":134,"end_character":4},"in_reply_to":"fa0719c6_00b6983c","updated":"2016-03-22 21:50:36.000000000","message":"Not applicable anymore.","commit_id":"586cc22f60c02849a18835c00752222c016a19be"}],"searchlight/elasticsearch/plugins/neutron/networks.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"246266b17191a2a724109385d5fcf19ee98fecf4","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        see network(s) from other tenants irrespective of"},{"line_number":78,"context_line":"        the network being shared or external"},{"line_number":79,"context_line":"        \u0027\u0027\u0027"},{"line_number":80,"context_line":"        if request_context.is_admin:"},{"line_number":81,"context_line":"            return []"},{"line_number":82,"context_line":"        else:"},{"line_number":83,"context_line":"            return [{"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_84d76e22","line":80,"range":{"start_line":80,"start_character":11,"end_line":80,"end_character":26},"updated":"2016-03-22 15:35:31.000000000","message":"See other comments. Admins can bypass these filters with all_projects.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"68f6719404f583a63c4eecb97264cf407fe1cd01","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        see network(s) from other tenants irrespective of"},{"line_number":78,"context_line":"        the network being shared or external"},{"line_number":79,"context_line":"        \u0027\u0027\u0027"},{"line_number":80,"context_line":"        if request_context.is_admin:"},{"line_number":81,"context_line":"            return []"},{"line_number":82,"context_line":"        else:"},{"line_number":83,"context_line":"            return [{"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_196aa0b3","line":80,"range":{"start_line":80,"start_character":11,"end_line":80,"end_character":26},"in_reply_to":"fa0719c6_84d76e22","updated":"2016-03-22 17:58:44.000000000","message":"I was looking at admin view on horizon which is returning all networks but as we discussed we still need to filter by project for SL.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"}],"searchlight/elasticsearch/plugins/neutron/ports.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"246266b17191a2a724109385d5fcf19ee98fecf4","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        see port(s) of network(s) from other tenants irrespective of"},{"line_number":79,"context_line":"        the network being shared or external"},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        if request_context.is_admin:"},{"line_number":82,"context_line":"            return []"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            \u0027\u0027\u0027 Users without admin role are not allowed to see the"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_64e97a14","line":81,"range":{"start_line":81,"start_character":11,"end_line":81,"end_character":26},"updated":"2016-03-22 15:35:31.000000000","message":"This isn\u0027t right. When all_projects is False (the only circumstance this function is called) the list should be restricted to those owned by the tenant, and for admins only, those belonging to shared and external networks.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"68f6719404f583a63c4eecb97264cf407fe1cd01","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        see port(s) of network(s) from other tenants irrespective of"},{"line_number":79,"context_line":"        the network being shared or external"},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        if request_context.is_admin:"},{"line_number":82,"context_line":"            return []"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            \u0027\u0027\u0027 Users without admin role are not allowed to see the"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_596418e3","line":81,"range":{"start_line":81,"start_character":11,"end_line":81,"end_character":26},"in_reply_to":"fa0719c6_64e97a14","updated":"2016-03-22 17:58:44.000000000","message":"Same as prev.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        return {\u0027tenant_id\u0027: True, \u0027project_id\u0027: False}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _get_rbac_field_filters(self, request_context):"},{"line_number":101,"context_line":"        \"\"\"lakshmiS: neutron allows users with admin role to"},{"line_number":102,"context_line":"        see ports of network(s) from other tenants even when those"},{"line_number":103,"context_line":"        networks are either shared or external."},{"line_number":104,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa0719c6_00e4d838","line":101,"range":{"start_line":101,"start_character":11,"end_line":101,"end_character":19},"updated":"2016-03-22 21:07:05.000000000","message":"Doesn\u0027t really need your name here; it\u0027s a function docstring","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"4349012c18a9e016119f48c258341479497e125b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        return {\u0027tenant_id\u0027: True, \u0027project_id\u0027: False}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _get_rbac_field_filters(self, request_context):"},{"line_number":101,"context_line":"        \"\"\"lakshmiS: neutron allows users with admin role to"},{"line_number":102,"context_line":"        see ports of network(s) from other tenants even when those"},{"line_number":103,"context_line":"        networks are either shared or external."},{"line_number":104,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa0719c6_c6c0387f","line":101,"range":{"start_line":101,"start_character":11,"end_line":101,"end_character":19},"in_reply_to":"fa0719c6_00e4d838","updated":"2016-03-22 21:50:36.000000000","message":"Wasn\u0027t supposed to be a docstring. it was only meant for admin use case. moved it below","commit_id":"586cc22f60c02849a18835c00752222c016a19be"}],"searchlight/elasticsearch/plugins/neutron/routers.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"246266b17191a2a724109385d5fcf19ee98fecf4","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\"lakshmiS: neutron allows users with admin role to"},{"line_number":108,"context_line":"        access routers from other tenants."},{"line_number":109,"context_line":"        \"\"\""},{"line_number":110,"context_line":"        if request_context.is_admin:"},{"line_number":111,"context_line":"            return []"},{"line_number":112,"context_line":"        else:"},{"line_number":113,"context_line":"            return ["}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_04f6bed6","line":110,"range":{"start_line":110,"start_character":11,"end_line":110,"end_character":26},"updated":"2016-03-22 15:35:31.000000000","message":"This is not correct. These filters are only applied when all_projects is False, and so should not be bypassing the tenant check","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"68f6719404f583a63c4eecb97264cf407fe1cd01","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\"lakshmiS: neutron allows users with admin role to"},{"line_number":108,"context_line":"        access routers from other tenants."},{"line_number":109,"context_line":"        \"\"\""},{"line_number":110,"context_line":"        if request_context.is_admin:"},{"line_number":111,"context_line":"            return []"},{"line_number":112,"context_line":"        else:"},{"line_number":113,"context_line":"            return ["}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_19b10048","line":110,"range":{"start_line":110,"start_character":11,"end_line":110,"end_character":26},"in_reply_to":"fa0719c6_04f6bed6","updated":"2016-03-22 17:58:44.000000000","message":"Same as prev.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"}],"searchlight/elasticsearch/plugins/neutron/subnets.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"246266b17191a2a724109385d5fcf19ee98fecf4","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        see subnet(s) of network(s) from other tenants irrespective of"},{"line_number":101,"context_line":"        the network being shared or external"},{"line_number":102,"context_line":"        \"\"\""},{"line_number":103,"context_line":"        if request_context.is_admin:"},{"line_number":104,"context_line":"            return []"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            \"\"\" Subnet(s) are visible to their owners or if they belong"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_c4e16600","line":103,"range":{"start_line":103,"start_character":11,"end_line":103,"end_character":26},"updated":"2016-03-22 15:35:31.000000000","message":"See other comments.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"68f6719404f583a63c4eecb97264cf407fe1cd01","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        see subnet(s) of network(s) from other tenants irrespective of"},{"line_number":101,"context_line":"        the network being shared or external"},{"line_number":102,"context_line":"        \"\"\""},{"line_number":103,"context_line":"        if request_context.is_admin:"},{"line_number":104,"context_line":"            return []"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            \"\"\" Subnet(s) are visible to their owners or if they belong"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa0719c6_39b6843d","line":103,"range":{"start_line":103,"start_character":11,"end_line":103,"end_character":26},"in_reply_to":"fa0719c6_c4e16600","updated":"2016-03-22 17:58:44.000000000","message":"Same as prev.","commit_id":"33c5a8fc7c172422889e1f649ada26e2a13ddea2"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6edc621a9a18995229079c4b8c5bc38499c832ea","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                                    \"bool\": {"},{"line_number":115,"context_line":"                                        \"should\": ["},{"line_number":116,"context_line":"                                            {\u0027term\u0027: {\u0027shared\u0027: True}},"},{"line_number":117,"context_line":"                                            {\u0027term\u0027: {\u0027router:external\u0027: True}}"},{"line_number":118,"context_line":"                                        ]"},{"line_number":119,"context_line":"                                    }"},{"line_number":120,"context_line":"                                }"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa0719c6_d9130865","line":117,"range":{"start_line":117,"start_character":55,"end_line":117,"end_character":61},"updated":"2016-03-22 18:46:06.000000000","message":"The rule looks correct, but since the only change is to the \"query\" of the has_parent query, let\u0027s put the logic there -\n\nif request_contenxt.is_admin:\n  has_parent_query \u003d {\"bool\"....}\nelse:\n  has_parent_query \u003d {\"term\"... }","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6c03abe516819a4383e974a57c462d14c1b8d680","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                                    \"bool\": {"},{"line_number":115,"context_line":"                                        \"should\": ["},{"line_number":116,"context_line":"                                            {\u0027term\u0027: {\u0027shared\u0027: True}},"},{"line_number":117,"context_line":"                                            {\u0027term\u0027: {\u0027router:external\u0027: True}}"},{"line_number":118,"context_line":"                                        ]"},{"line_number":119,"context_line":"                                    }"},{"line_number":120,"context_line":"                                }"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa0719c6_b2de263d","line":117,"range":{"start_line":117,"start_character":55,"end_line":117,"end_character":61},"in_reply_to":"fa0719c6_d9130865","updated":"2016-03-22 20:47:01.000000000","message":"Done","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return {\u0027tenant_id\u0027: True, \u0027project_id\u0027: False}"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_rbac_field_filters(self, request_context):"},{"line_number":99,"context_line":"        \"\"\"lakshmiS: neutron allows users with admin role to"},{"line_number":100,"context_line":"        see subnet(s) of network(s) from other tenants even when those"},{"line_number":101,"context_line":"        networks are either shared or external."},{"line_number":102,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa0719c6_403b709c","line":99,"range":{"start_line":99,"start_character":11,"end_line":99,"end_character":19},"updated":"2016-03-22 21:07:05.000000000","message":"Name isn\u0027t necessary","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"4349012c18a9e016119f48c258341479497e125b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        return {\u0027tenant_id\u0027: True, \u0027project_id\u0027: False}"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def _get_rbac_field_filters(self, request_context):"},{"line_number":99,"context_line":"        \"\"\"lakshmiS: neutron allows users with admin role to"},{"line_number":100,"context_line":"        see subnet(s) of network(s) from other tenants even when those"},{"line_number":101,"context_line":"        networks are either shared or external."},{"line_number":102,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa0719c6_065230dd","line":99,"range":{"start_line":99,"start_character":11,"end_line":99,"end_character":19},"in_reply_to":"fa0719c6_403b709c","updated":"2016-03-22 21:50:36.000000000","message":"Wasn\u0027t supposed to be a docstring. it was only meant for admin use case. moved it below","commit_id":"586cc22f60c02849a18835c00752222c016a19be"}],"searchlight/tests/functional/data/load/networks.json":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":28,"context_line":" \"shared\": true,"},{"line_number":29,"context_line":" \"status\": \"ACTIVE\","},{"line_number":30,"context_line":" \"subnets\": [\"23785b90-f3d1-4124-b2e9-1e62dd7c8da1\"],"},{"line_number":31,"context_line":" \"tenant_id\": \"9eaac046b2c44ab99246cb0850c7f853\""},{"line_number":32,"context_line":"},"},{"line_number":33,"context_line":" {"},{"line_number":34,"context_line":" \"admin_state_up\": true,"}],"source_content_type":"application/json","patch_set":9,"id":"fa0719c6_605f94e5","line":31,"range":{"start_line":31,"start_character":47,"end_line":31,"end_character":48},"updated":"2016-03-22 21:07:05.000000000","message":"Missing created at, updated at","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"4349012c18a9e016119f48c258341479497e125b","unresolved":false,"context_lines":[{"line_number":28,"context_line":" \"shared\": true,"},{"line_number":29,"context_line":" \"status\": \"ACTIVE\","},{"line_number":30,"context_line":" \"subnets\": [\"23785b90-f3d1-4124-b2e9-1e62dd7c8da1\"],"},{"line_number":31,"context_line":" \"tenant_id\": \"9eaac046b2c44ab99246cb0850c7f853\""},{"line_number":32,"context_line":"},"},{"line_number":33,"context_line":" {"},{"line_number":34,"context_line":" \"admin_state_up\": true,"}],"source_content_type":"application/json","patch_set":9,"id":"fa0719c6_8645a018","line":31,"range":{"start_line":31,"start_character":47,"end_line":31,"end_character":48},"in_reply_to":"fa0719c6_605f94e5","updated":"2016-03-22 21:50:36.000000000","message":"Done","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"9dea944a3026cc3d03af11afdfec568306569846","unresolved":false,"context_lines":[{"line_number":43,"context_line":" \"shared\": false,"},{"line_number":44,"context_line":" \"status\": \"ACTIVE\","},{"line_number":45,"context_line":" \"subnets\": [\"23785b90-f3d1-4124-b2e9-1e62dd7c8da2\"],"},{"line_number":46,"context_line":" \"tenant_id\": \"9eaac046b2c44ab99246cb0850c7f853\""},{"line_number":47,"context_line":"},"},{"line_number":48,"context_line":"{"},{"line_number":49,"context_line":" \"admin_state_up\": true,"}],"source_content_type":"application/json","patch_set":9,"id":"fa0719c6_a059ac00","line":46,"range":{"start_line":46,"start_character":47,"end_line":46,"end_character":48},"updated":"2016-03-22 21:07:05.000000000","message":"Missing created at, updated at","commit_id":"586cc22f60c02849a18835c00752222c016a19be"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"4349012c18a9e016119f48c258341479497e125b","unresolved":false,"context_lines":[{"line_number":43,"context_line":" \"shared\": false,"},{"line_number":44,"context_line":" \"status\": \"ACTIVE\","},{"line_number":45,"context_line":" \"subnets\": [\"23785b90-f3d1-4124-b2e9-1e62dd7c8da2\"],"},{"line_number":46,"context_line":" \"tenant_id\": \"9eaac046b2c44ab99246cb0850c7f853\""},{"line_number":47,"context_line":"},"},{"line_number":48,"context_line":"{"},{"line_number":49,"context_line":" \"admin_state_up\": true,"}],"source_content_type":"application/json","patch_set":9,"id":"fa0719c6_e64c5c44","line":46,"range":{"start_line":46,"start_character":47,"end_line":46,"end_character":48},"in_reply_to":"fa0719c6_a059ac00","updated":"2016-03-22 21:50:36.000000000","message":"Done","commit_id":"586cc22f60c02849a18835c00752222c016a19be"}],"searchlight/tests/functional/data/load/ports.json":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6edc621a9a18995229079c4b8c5bc38499c832ea","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"\t\"ports\": [{"},{"line_number":3,"context_line":"\t\t\"allowed_address_pairs\": [],"},{"line_number":4,"context_line":"\t\t\"extra_dhcp_opts\": [],"},{"line_number":5,"context_line":"\t\t\"updated_at\": \"2016-03-22T08:38:23Z\","}],"source_content_type":"application/json","patch_set":7,"id":"fa0719c6_544dfd6a","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":1},"updated":"2016-03-22 18:46:06.000000000","message":"Tabs should be spaces","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6c03abe516819a4383e974a57c462d14c1b8d680","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"\t\"ports\": [{"},{"line_number":3,"context_line":"\t\t\"allowed_address_pairs\": [],"},{"line_number":4,"context_line":"\t\t\"extra_dhcp_opts\": [],"},{"line_number":5,"context_line":"\t\t\"updated_at\": \"2016-03-22T08:38:23Z\","}],"source_content_type":"application/json","patch_set":7,"id":"fa0719c6_d2e3da03","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"fa0719c6_544dfd6a","updated":"2016-03-22 20:47:01.000000000","message":"Done","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6edc621a9a18995229079c4b8c5bc38499c832ea","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\t\t\"allowed_address_pairs\": [],"},{"line_number":4,"context_line":"\t\t\"extra_dhcp_opts\": [],"},{"line_number":5,"context_line":"\t\t\"updated_at\": \"2016-03-22T08:38:23Z\","},{"line_number":6,"context_line":"\t\t\"device_owner\": \"network:dhcp\","},{"line_number":7,"context_line":"\t\t\"port_security_enabled\": false,"},{"line_number":8,"context_line":"\t\t\"binding:profile\": {},"},{"line_number":9,"context_line":"\t\t\"fixed_ips\": [{"}],"source_content_type":"application/json","patch_set":7,"id":"fa0719c6_f46411e6","line":6,"range":{"start_line":6,"start_character":19,"end_line":6,"end_character":26},"updated":"2016-03-22 18:46:06.000000000","message":"Don\u0027t make these DHCP ports; we can\u0027t reliably index them and they\u0027ll be disabled in https://review.openstack.org/#/c/295945/. Can use router:interface or compute:None","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6c03abe516819a4383e974a57c462d14c1b8d680","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\t\t\"allowed_address_pairs\": [],"},{"line_number":4,"context_line":"\t\t\"extra_dhcp_opts\": [],"},{"line_number":5,"context_line":"\t\t\"updated_at\": \"2016-03-22T08:38:23Z\","},{"line_number":6,"context_line":"\t\t\"device_owner\": \"network:dhcp\","},{"line_number":7,"context_line":"\t\t\"port_security_enabled\": false,"},{"line_number":8,"context_line":"\t\t\"binding:profile\": {},"},{"line_number":9,"context_line":"\t\t\"fixed_ips\": [{"}],"source_content_type":"application/json","patch_set":7,"id":"fa0719c6_b2b586ef","line":6,"range":{"start_line":6,"start_character":19,"end_line":6,"end_character":26},"in_reply_to":"fa0719c6_f46411e6","updated":"2016-03-22 20:47:01.000000000","message":"Done","commit_id":"1d95f90761ddbd7a74c26ae82b4379e85bae925f"}],"searchlight/tests/unit/test_neutron_port_plugin.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6ff11fde4a14a09902f0e868ffb7e927a9f96588","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            USER1, TENANT1, \u0027/v1/search\u0027, is_admin\u003dTrue"},{"line_number":88,"context_line":"        )"},{"line_number":89,"context_line":"        rbac_terms \u003d self.plugin._get_rbac_field_filters(fake_request.context)"},{"line_number":90,"context_line":"        expected_filter\u003d[{\"or\": [{\u0027term\u0027: {\u0027tenant_id\u0027: TENANT1}},"},{"line_number":91,"context_line":"            {\u0027has_parent\u0027: {\u0027type\u0027: self.plugin.parent_plugin_type(),"},{"line_number":92,"context_line":"            \u0027query\u0027: {\u0027term\u0027: {\u0027shared\u0027: True}}}}]}]"},{"line_number":93,"context_line":"        self.assertEqual(expected_filter, rbac_terms)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_818f8722","line":90,"range":{"start_line":90,"start_character":35,"end_line":90,"end_character":39},"updated":"2016-03-21 21:59:56.000000000","message":"Minor nit about formatting if you have to make another change","commit_id":"23f0eccd8e422b156bb746648389205a6c58cdbc"}]}
