)]}'
{"openstack/network/v2/security_group.py":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"110c62fcf2eb2469c40e4272ad87e0e85a7c67c3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    #: The security group name."},{"line_number":40,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":41,"context_line":"    #: The ID of the project this security group is associated with."},{"line_number":42,"context_line":"    project_id \u003d resource.Body(\u0027project_id\u0027)"},{"line_number":43,"context_line":"    #: Revision number of the security group. *Type: int*"},{"line_number":44,"context_line":"    revision_number \u003d resource.Body(\u0027revision_number\u0027, type\u003dint)"},{"line_number":45,"context_line":"    #: A list of"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_7b7e426c","line":42,"range":{"start_line":42,"start_character":4,"end_line":42,"end_character":44},"updated":"2019-06-05 15:22:31.000000000","message":"I don\u0027t think we want to make this change. The remote field is called tenant_id, no? But we want to always expose that as project_id because tenant_id should have died 7 years ago already. Or did network update this at some point and now we have to deal with sometimes getting project_id and sometimes getting tenant_id?","commit_id":"482cc7c2e2980abc36e9ae59149357e330df7c3f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"27b3d29a7940c214b8b531266352245c6a40f762","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    #: The security group name."},{"line_number":40,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":41,"context_line":"    #: The ID of the project this security group is associated with."},{"line_number":42,"context_line":"    project_id \u003d resource.Body(\u0027project_id\u0027)"},{"line_number":43,"context_line":"    #: Revision number of the security group. *Type: int*"},{"line_number":44,"context_line":"    revision_number \u003d resource.Body(\u0027revision_number\u0027, type\u003dint)"},{"line_number":45,"context_line":"    #: A list of"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_c5af097b","line":42,"range":{"start_line":42,"start_character":4,"end_line":42,"end_character":44},"in_reply_to":"9fb8cfa7_7b7e426c","updated":"2019-06-10 13:41:53.000000000","message":"In neutron You can currently use both, tenant_id and project_id but better is to use project_id","commit_id":"482cc7c2e2980abc36e9ae59149357e330df7c3f"}],"openstack/network/v2/security_group_rule.py":[{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"110c62fcf2eb2469c40e4272ad87e0e85a7c67c3","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    #: attribute. If the protocol is ICMP, this value must be an ICMP type."},{"line_number":62,"context_line":"    port_range_min \u003d resource.Body(\u0027port_range_min\u0027, type\u003dint)"},{"line_number":63,"context_line":"    #: The ID of the project this security group rule is associated with."},{"line_number":64,"context_line":"    project_id \u003d resource.Body(\u0027project_id\u0027)"},{"line_number":65,"context_line":"    #: The protocol that is matched by the security group rule."},{"line_number":66,"context_line":"    #: Valid values are ``null``, ``tcp``, ``udp``, and ``icmp``."},{"line_number":67,"context_line":"    protocol \u003d resource.Body(\u0027protocol\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_3b98cabe","line":64,"updated":"2019-06-05 15:22:31.000000000","message":"Same comment as other file.","commit_id":"482cc7c2e2980abc36e9ae59149357e330df7c3f"}],"openstack/tests/unit/cloud/test_security_groups.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"27b3d29a7940c214b8b531266352245c6a40f762","unresolved":false,"context_lines":[{"line_number":393,"context_line":"            secgroup_name_or_id\u003dneutron_grp_dict[\u0027id\u0027], ** args).to_dict("},{"line_number":394,"context_line":"                original_names\u003dTrue"},{"line_number":395,"context_line":"        )"},{"line_number":396,"context_line":"        # NOTE(slaweq): don\u0027t check location and properties in new rule"},{"line_number":397,"context_line":"        new_rule.pop(\u0027created_at\u0027)"},{"line_number":398,"context_line":"        new_rule.pop(\u0027description\u0027)"},{"line_number":399,"context_line":"        new_rule.pop(\u0027location\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_c5e4e9e2","line":396,"updated":"2019-06-10 13:41:53.000000000","message":"this comment should be updated now IMO :)","commit_id":"482cc7c2e2980abc36e9ae59149357e330df7c3f"}],"openstack/tests/unit/network/v2/test_security_group.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"27b3d29a7940c214b8b531266352245c6a40f762","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    \u0027revision_number\u0027: 3,"},{"line_number":58,"context_line":"    \u0027security_group_rules\u0027: RULES,"},{"line_number":59,"context_line":"    \u0027tenant_id\u0027: \u00274\u0027,"},{"line_number":60,"context_line":"    \u0027project_id\u0027: \u00275\u0027,"},{"line_number":61,"context_line":"    \u0027updated_at\u0027: \u00272016-10-14T12:16:57.233772\u0027,"},{"line_number":62,"context_line":"    \u0027tags\u0027: [\u00276\u0027]"},{"line_number":63,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_65d5fde4","line":60,"updated":"2019-06-10 13:41:53.000000000","message":"project_id and tenant_id should be the same as that is what will be returned from neutron","commit_id":"482cc7c2e2980abc36e9ae59149357e330df7c3f"}],"openstack/tests/unit/network/v2/test_security_group_rule.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"27b3d29a7940c214b8b531266352245c6a40f762","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \u0027revision_number\u0027: 9,"},{"line_number":30,"context_line":"    \u0027security_group_id\u0027: \u002710\u0027,"},{"line_number":31,"context_line":"    \u0027tenant_id\u0027: \u002711\u0027,"},{"line_number":32,"context_line":"    \u0027project_id\u0027: \u002712\u0027,"},{"line_number":33,"context_line":"    \u0027updated_at\u0027: \u002713\u0027"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_0508c18f","line":32,"updated":"2019-06-10 13:41:53.000000000","message":"same here","commit_id":"482cc7c2e2980abc36e9ae59149357e330df7c3f"}]}
