)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"59e77638_be8e6b80","updated":"2023-05-31 17:06:29.000000000","message":"I still need to review the tests","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7b017c5ca29f3d4642c08321181aa952e34be42f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7f8883c8_204514f5","updated":"2023-05-26 07:13:06.000000000","message":"recheck - post failure in UT job","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ec171a1fba75614b60b900d1b3ecbff64a36983a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"bed39302_2c9c9995","updated":"2023-06-22 07:52:46.000000000","message":"Waiting for the CI","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6258b75e70304daf83313decb71ab50fe8af784a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c6f9a95c_25a980f8","updated":"2023-06-26 09:28:59.000000000","message":"functional failure with db migration tests is related (https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_bfb/883246/12/check/neutron-functional-with-uwsgi/bfbcc77/testr_results.html","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5f516fdfb9a567a806e9619cfbbb182d2092d49a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"d1242f91_870c5a58","updated":"2023-06-30 13:33:31.000000000","message":"Good patch! Thanks","commit_id":"0e739c7d7de28e8718eaef9f2e6cf2903247c45d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0c27084b3d64c613dbd0e8633abdaf5a1108b49b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"5a623226_d88066ba","updated":"2023-07-07 12:34:34.000000000","message":"Looks ok, and works in my local env","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f81bc7de0853b98c28e949ee36cebf8db8dcac55","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"ba6490b9_84e88cd1","updated":"2023-07-07 12:35:25.000000000","message":"recheck\nneutron-fullstack-with-uwsgi timeout (tests were green)","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7586d7c54632c8818444ebbccdc01ad00c075413","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"5f035621_61e07d6d","updated":"2023-07-24 07:16:43.000000000","message":"recheck - keystone related failure in grenade job","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"16e95d46d1a7ec88d5053d620ef2f0878fee1c68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"b788611d_c6cb2c99","updated":"2023-07-20 06:22:11.000000000","message":"recheck - problem with downloading ubuntu image in devstack","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3452570440db661ebaa4121862c41c5e1cfa82eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"73308623_a5e0e4b7","updated":"2023-07-19 13:09:21.000000000","message":"recheck - seems like some image related errors in devstack","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1cc2d5bf1b62953fa0134fdd40aa9cb0425272f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"b3d978ea_ad6e6d5f","updated":"2023-07-18 13:35:28.000000000","message":"recheck - timeout on request to nova api","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6c1226a7e219e2810ba3910059f4bea218a70e41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"e5ac9a51_21c78ae3","updated":"2023-07-22 11:51:44.000000000","message":"recheck - unrelated connection failure in one test","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"10d52c5ad06a2d72d2018134e2e865ef4c97fd8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"31ccac9c_9e66f21b","updated":"2023-07-18 08:16:49.000000000","message":"recheck - unrelated failures","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c17fb310bfa9b0ba07a3177f06b62ba3e6cda98b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2c1720ae_dbe2a451","updated":"2023-07-17 10:43:25.000000000","message":"recheck - unrelated timeout","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"df1e6923ca4d696f6c6adec079bbdd7d8c04fa6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"aa15a34a_3a403a18","updated":"2023-07-13 07:57:34.000000000","message":"recheck neutron-fullstack-with-uwsgi","commit_id":"e41fae522bdee1a27bac49376360c6293f2c53e2"}],"neutron/conf/policies/default_security_group_rules.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            },"},{"line_number":38,"context_line":"        ],"},{"line_number":39,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":40,"context_line":"            name\u003d\u0027create_default_security_group_rule\u0027,"},{"line_number":41,"context_line":"            check_str\u003dneutron_policy.RULE_ADMIN_ONLY,"},{"line_number":42,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":43,"context_line":"            deprecated_since\u003d\u00272023.2\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"36e14c8f_53aaad60","line":40,"range":{"start_line":40,"start_character":18,"end_line":40,"end_character":52},"updated":"2023-05-31 17:06:29.000000000","message":"I think I\u0027ve made this question before. This is a new policy, why do we have a deprecation rule here?","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            },"},{"line_number":38,"context_line":"        ],"},{"line_number":39,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":40,"context_line":"            name\u003d\u0027create_default_security_group_rule\u0027,"},{"line_number":41,"context_line":"            check_str\u003dneutron_policy.RULE_ADMIN_ONLY,"},{"line_number":42,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":43,"context_line":"            deprecated_since\u003d\u00272023.2\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7886bf_192a52d1","line":40,"range":{"start_line":40,"start_character":18,"end_line":40,"end_character":52},"in_reply_to":"36e14c8f_53aaad60","updated":"2023-06-01 07:48:33.000000000","message":"This is new API and not everyone will be using new policies so I did also those \"old style\" policies to make it working with old policies enabled as well.","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"07d122f293c64ca90ba777d5660cc65ba2bd0776","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            },"},{"line_number":38,"context_line":"        ],"},{"line_number":39,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":40,"context_line":"            name\u003d\u0027create_default_security_group_rule\u0027,"},{"line_number":41,"context_line":"            check_str\u003dneutron_policy.RULE_ADMIN_ONLY,"},{"line_number":42,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":43,"context_line":"            deprecated_since\u003d\u00272023.2\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"f7fbd11b_7afdcaf0","line":40,"range":{"start_line":40,"start_character":18,"end_line":40,"end_character":52},"in_reply_to":"fa7886bf_192a52d1","updated":"2023-06-30 13:33:41.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"}],"neutron/db/migration/alembic_migrations/versions/2023.2/expand/c33da356b165_security_group_default_rules.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    sg_templates_table \u003d op.create_table("},{"line_number":96,"context_line":"        table_name,"},{"line_number":97,"context_line":"        sa.Column(\u0027id\u0027, sa.String(length\u003d36), nullable\u003dFalse,"},{"line_number":98,"context_line":"                  primary_key\u003dTrue),"},{"line_number":99,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":100,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"8afd1a7d_80c1e13b","line":97,"range":{"start_line":97,"start_character":46,"end_line":97,"end_character":61},"updated":"2023-05-31 17:06:29.000000000","message":"all primary keys are nullable\u003dFalse","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    sg_templates_table \u003d op.create_table("},{"line_number":96,"context_line":"        table_name,"},{"line_number":97,"context_line":"        sa.Column(\u0027id\u0027, sa.String(length\u003d36), nullable\u003dFalse,"},{"line_number":98,"context_line":"                  primary_key\u003dTrue),"},{"line_number":99,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":100,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"2fca7d6d_90236628","line":97,"range":{"start_line":97,"start_character":46,"end_line":97,"end_character":61},"in_reply_to":"8afd1a7d_80c1e13b","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":99,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":100,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":101,"context_line":"                  nullable\u003dFalse),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36), nullable\u003dTrue),"},{"line_number":103,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36),"},{"line_number":104,"context_line":"                  nullable\u003dTrue),"},{"line_number":105,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum, nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"92ddf186_26d32cf8","line":102,"range":{"start_line":102,"start_character":59,"end_line":102,"end_character":72},"updated":"2023-05-31 17:06:29.000000000","message":"true by default, not needed","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":100,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":101,"context_line":"                  nullable\u003dFalse),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36), nullable\u003dTrue),"},{"line_number":103,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36),"},{"line_number":104,"context_line":"                  nullable\u003dTrue),"},{"line_number":105,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum, nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"f1ca4788_9b118137","line":102,"range":{"start_line":102,"start_character":59,"end_line":102,"end_character":72},"in_reply_to":"92ddf186_26d32cf8","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":101,"context_line":"                  nullable\u003dFalse),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36), nullable\u003dTrue),"},{"line_number":103,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36),"},{"line_number":104,"context_line":"                  nullable\u003dTrue),"},{"line_number":105,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum, nullable\u003dTrue),"},{"line_number":106,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40), nullable\u003dTrue),"},{"line_number":107,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"07074726_2bed3293","line":104,"range":{"start_line":104,"start_character":18,"end_line":104,"end_character":26},"updated":"2023-05-31 17:06:29.000000000","message":"ditto, and the other fields","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                  nullable\u003dFalse),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36), nullable\u003dTrue),"},{"line_number":103,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36),"},{"line_number":104,"context_line":"                  nullable\u003dTrue),"},{"line_number":105,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum, nullable\u003dTrue),"},{"line_number":106,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40), nullable\u003dTrue),"},{"line_number":107,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"721fcda3_bb848d55","line":104,"range":{"start_line":104,"start_character":18,"end_line":104,"end_character":26},"in_reply_to":"07074726_2bed3293","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":108,"context_line":"        sa.Column(\u0027port_range_min\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":109,"context_line":"        sa.Column(\u0027port_range_max\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":110,"context_line":"        sa.Column(\u0027remote_ip_prefix\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":111,"context_line":"        sa.Column(\u0027used_in_default_sg\u0027, sa.Boolean(),"},{"line_number":112,"context_line":"                  server_default\u003dsa.sql.false()),"},{"line_number":113,"context_line":"        sa.Column(\u0027used_in_non_default_sg\u0027, sa.Boolean(),"},{"line_number":114,"context_line":"                  server_default\u003dsa.sql.true()),"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a537a2b_4533f67a","line":111,"range":{"start_line":111,"start_character":19,"end_line":111,"end_character":37},"updated":"2023-05-31 17:06:29.000000000","message":"nullable\u003dFalse","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        sa.Column(\u0027port_range_min\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":109,"context_line":"        sa.Column(\u0027port_range_max\u0027, sa.Integer(), nullable\u003dTrue),"},{"line_number":110,"context_line":"        sa.Column(\u0027remote_ip_prefix\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":111,"context_line":"        sa.Column(\u0027used_in_default_sg\u0027, sa.Boolean(),"},{"line_number":112,"context_line":"                  server_default\u003dsa.sql.false()),"},{"line_number":113,"context_line":"        sa.Column(\u0027used_in_non_default_sg\u0027, sa.Boolean(),"},{"line_number":114,"context_line":"                  server_default\u003dsa.sql.true()),"}],"source_content_type":"text/x-python","patch_set":9,"id":"2fa9391e_b6b92034","line":111,"range":{"start_line":111,"start_character":19,"end_line":111,"end_character":37},"in_reply_to":"5a537a2b_4533f67a","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        sa.Column(\u0027remote_ip_prefix\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":111,"context_line":"        sa.Column(\u0027used_in_default_sg\u0027, sa.Boolean(),"},{"line_number":112,"context_line":"                  server_default\u003dsa.sql.false()),"},{"line_number":113,"context_line":"        sa.Column(\u0027used_in_non_default_sg\u0027, sa.Boolean(),"},{"line_number":114,"context_line":"                  server_default\u003dsa.sql.true()),"},{"line_number":115,"context_line":"        sa.UniqueConstraint(\u0027standard_attr_id\u0027))"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"2de8a4ee_4c004549","line":113,"range":{"start_line":113,"start_character":19,"end_line":113,"end_character":41},"updated":"2023-05-31 17:06:29.000000000","message":"nullable\u003dFalse","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        sa.Column(\u0027remote_ip_prefix\u0027, sa.String(length\u003d255), nullable\u003dTrue),"},{"line_number":111,"context_line":"        sa.Column(\u0027used_in_default_sg\u0027, sa.Boolean(),"},{"line_number":112,"context_line":"                  server_default\u003dsa.sql.false()),"},{"line_number":113,"context_line":"        sa.Column(\u0027used_in_non_default_sg\u0027, sa.Boolean(),"},{"line_number":114,"context_line":"                  server_default\u003dsa.sql.true()),"},{"line_number":115,"context_line":"        sa.UniqueConstraint(\u0027standard_attr_id\u0027))"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"4a752703_cb1d869e","line":113,"range":{"start_line":113,"start_character":19,"end_line":113,"end_character":41},"in_reply_to":"2de8a4ee_4c004549","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6258b75e70304daf83313decb71ab50fe8af784a","unresolved":true,"context_lines":[{"line_number":37,"context_line":"table_name \u003d \u0027securitygroupdefaultrules\u0027"},{"line_number":38,"context_line":"rule_direction_enum \u003d sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":39,"context_line":"                              constants.EGRESS_DIRECTION,"},{"line_number":40,"context_line":"                              name\u003d\u0027defaultsecuritygrouprules_direction\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"default_template_rules \u003d ["},{"line_number":43,"context_line":"    {"}],"source_content_type":"text/x-python","patch_set":12,"id":"6bf455b5_5315a496","line":40,"range":{"start_line":40,"start_character":36,"end_line":40,"end_character":71},"updated":"2023-06-26 09:28:59.000000000","message":"if I understand well the funtional migration test fails because of this name, and I was able to reproduce it locally","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a1e3b692daa8bf9925104ea917e944259cb9dcf0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"table_name \u003d \u0027securitygroupdefaultrules\u0027"},{"line_number":38,"context_line":"rule_direction_enum \u003d sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":39,"context_line":"                              constants.EGRESS_DIRECTION,"},{"line_number":40,"context_line":"                              name\u003d\u0027defaultsecuritygrouprules_direction\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"default_template_rules \u003d ["},{"line_number":43,"context_line":"    {"}],"source_content_type":"text/x-python","patch_set":12,"id":"a7f3edad_205df613","line":40,"range":{"start_line":40,"start_character":36,"end_line":40,"end_character":71},"in_reply_to":"6bf455b5_5315a496","updated":"2023-06-26 14:55:59.000000000","message":"Done","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"531426634f7621a20a0c6f7fc17a138b14667225","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":99,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":100,"context_line":"                  nullable\u003dFalse),"},{"line_number":101,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":103,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum),"},{"line_number":104,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40)),"},{"line_number":105,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40)),"}],"source_content_type":"text/x-python","patch_set":12,"id":"6b80bacf_ed9d7ead","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":67},"updated":"2023-06-23 15:24:39.000000000","message":"can use UUID_FIELD_SIZE constant here","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"294467cb8766f1cf295f0335d3a2871c5ed25f66","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":99,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":100,"context_line":"                  nullable\u003dFalse),"},{"line_number":101,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":103,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum),"},{"line_number":104,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40)),"},{"line_number":105,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40)),"}],"source_content_type":"text/x-python","patch_set":12,"id":"70eceff9_f788e1a5","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":67},"in_reply_to":"0975bfdc_540e048d","updated":"2023-06-26 14:51:55.000000000","message":"Done","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6258b75e70304daf83313decb71ab50fe8af784a","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":99,"context_line":"                  sa.ForeignKey(\u0027standardattributes.id\u0027, ondelete\u003d\u0027CASCADE\u0027),"},{"line_number":100,"context_line":"                  nullable\u003dFalse),"},{"line_number":101,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":103,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum),"},{"line_number":104,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40)),"},{"line_number":105,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40)),"}],"source_content_type":"text/x-python","patch_set":12,"id":"0975bfdc_540e048d","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":67},"in_reply_to":"6b80bacf_ed9d7ead","updated":"2023-06-26 09:28:59.000000000","message":"+1","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"531426634f7621a20a0c6f7fc17a138b14667225","unresolved":true,"context_lines":[{"line_number":100,"context_line":"                  nullable\u003dFalse),"},{"line_number":101,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":103,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum),"},{"line_number":104,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40)),"},{"line_number":105,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40)),"},{"line_number":106,"context_line":"        sa.Column(\u0027port_range_min\u0027, sa.Integer()),"}],"source_content_type":"text/x-python","patch_set":12,"id":"8ab36040_f3704fae","line":103,"range":{"start_line":103,"start_character":8,"end_line":103,"end_character":10},"updated":"2023-06-23 15:24:39.000000000","message":"nullable\u003dFalse","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"294467cb8766f1cf295f0335d3a2871c5ed25f66","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                  nullable\u003dFalse),"},{"line_number":101,"context_line":"        sa.Column(\u0027remote_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":102,"context_line":"        sa.Column(\u0027remote_address_group_id\u0027, sa.String(length\u003d36)),"},{"line_number":103,"context_line":"        sa.Column(\u0027direction\u0027, rule_direction_enum),"},{"line_number":104,"context_line":"        sa.Column(\u0027ethertype\u0027, sa.String(length\u003d40)),"},{"line_number":105,"context_line":"        sa.Column(\u0027protocol\u0027, sa.String(length\u003d40)),"},{"line_number":106,"context_line":"        sa.Column(\u0027port_range_min\u0027, sa.Integer()),"}],"source_content_type":"text/x-python","patch_set":12,"id":"728eb4cc_3a2bd1bf","line":103,"range":{"start_line":103,"start_character":8,"end_line":103,"end_character":10},"in_reply_to":"8ab36040_f3704fae","updated":"2023-06-26 14:51:55.000000000","message":"Done","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"}],"neutron/db/models/securitygroup_default_rules.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":24,"context_line":"                               model_base.HasId):"},{"line_number":25,"context_line":"    \"\"\"Represents a template of the default neutron security group rules.\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    direction \u003d sa.Column(sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":28,"context_line":"                                  constants.EGRESS_DIRECTION,"},{"line_number":29,"context_line":"                                  name\u003d\u0027defaultsecuritygrouprules_direction\u0027))"},{"line_number":30,"context_line":"    ethertype \u003d sa.Column(sa.String(40))"}],"source_content_type":"text/x-python","patch_set":9,"id":"fbc9f6d3_6727ef25","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":13},"updated":"2023-05-31 17:06:29.000000000","message":"nullable\u003dFalse","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                               model_base.HasId):"},{"line_number":25,"context_line":"    \"\"\"Represents a template of the default neutron security group rules.\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    direction \u003d sa.Column(sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":28,"context_line":"                                  constants.EGRESS_DIRECTION,"},{"line_number":29,"context_line":"                                  name\u003d\u0027defaultsecuritygrouprules_direction\u0027))"},{"line_number":30,"context_line":"    ethertype \u003d sa.Column(sa.String(40))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5af02c5b_cbcb0c10","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":13},"in_reply_to":"fbc9f6d3_6727ef25","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":27,"context_line":"    direction \u003d sa.Column(sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":28,"context_line":"                                  constants.EGRESS_DIRECTION,"},{"line_number":29,"context_line":"                                  name\u003d\u0027defaultsecuritygrouprules_direction\u0027))"},{"line_number":30,"context_line":"    ethertype \u003d sa.Column(sa.String(40))"},{"line_number":31,"context_line":"    remote_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":32,"context_line":"                                nullable\u003dTrue)"},{"line_number":33,"context_line":"    protocol \u003d sa.Column(sa.String(40))"}],"source_content_type":"text/x-python","patch_set":9,"id":"a1adf332_34964524","line":30,"range":{"start_line":30,"start_character":36,"end_line":30,"end_character":38},"updated":"2023-05-31 17:06:29.000000000","message":"small nit: we need to make a constant for this as is used too in other places.","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5f516fdfb9a567a806e9619cfbbb182d2092d49a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    direction \u003d sa.Column(sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":28,"context_line":"                                  constants.EGRESS_DIRECTION,"},{"line_number":29,"context_line":"                                  name\u003d\u0027defaultsecuritygrouprules_direction\u0027))"},{"line_number":30,"context_line":"    ethertype \u003d sa.Column(sa.String(40))"},{"line_number":31,"context_line":"    remote_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":32,"context_line":"                                nullable\u003dTrue)"},{"line_number":33,"context_line":"    protocol \u003d sa.Column(sa.String(40))"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a99d43d_08721232","line":30,"range":{"start_line":30,"start_character":36,"end_line":30,"end_character":38},"in_reply_to":"09d144cf_0532a15a","updated":"2023-06-30 13:33:31.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":true,"context_lines":[{"line_number":27,"context_line":"    direction \u003d sa.Column(sa.Enum(constants.INGRESS_DIRECTION,"},{"line_number":28,"context_line":"                                  constants.EGRESS_DIRECTION,"},{"line_number":29,"context_line":"                                  name\u003d\u0027defaultsecuritygrouprules_direction\u0027))"},{"line_number":30,"context_line":"    ethertype \u003d sa.Column(sa.String(40))"},{"line_number":31,"context_line":"    remote_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":32,"context_line":"                                nullable\u003dTrue)"},{"line_number":33,"context_line":"    protocol \u003d sa.Column(sa.String(40))"}],"source_content_type":"text/x-python","patch_set":9,"id":"09d144cf_0532a15a","line":30,"range":{"start_line":30,"start_character":36,"end_line":30,"end_character":38},"in_reply_to":"a1adf332_34964524","updated":"2023-06-01 07:48:33.000000000","message":"yeah, but I think this can go to the follow up patch","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    port_range_min \u003d sa.Column(sa.Integer)"},{"line_number":35,"context_line":"    port_range_max \u003d sa.Column(sa.Integer)"},{"line_number":36,"context_line":"    remote_ip_prefix \u003d sa.Column(sa.String(255))"},{"line_number":37,"context_line":"    remote_address_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"b7a3026c_e4d7c277","line":38,"range":{"start_line":37,"start_character":4,"end_line":38,"end_character":54},"updated":"2023-05-31 17:06:29.000000000","message":"I know we can\u0027t make dependant of a foreign key (sa.ForeignKey(\"address_groups.id\")), but this could be a problem if the ID introduced is wrong.","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":35,"context_line":"    port_range_max \u003d sa.Column(sa.Integer)"},{"line_number":36,"context_line":"    remote_ip_prefix \u003d sa.Column(sa.String(255))"},{"line_number":37,"context_line":"    remote_address_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"41b98a8c_843bc0c7","line":38,"range":{"start_line":38,"start_character":40,"end_line":38,"end_character":53},"updated":"2023-05-31 17:06:29.000000000","message":"all columns are nullable by default, unless they are primary key","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5f516fdfb9a567a806e9619cfbbb182d2092d49a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    port_range_max \u003d sa.Column(sa.Integer)"},{"line_number":36,"context_line":"    remote_ip_prefix \u003d sa.Column(sa.String(255))"},{"line_number":37,"context_line":"    remote_address_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"77589d38_3f34b98e","line":38,"range":{"start_line":38,"start_character":40,"end_line":38,"end_character":53},"in_reply_to":"41b98a8c_843bc0c7","updated":"2023-06-30 13:33:31.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    port_range_min \u003d sa.Column(sa.Integer)"},{"line_number":35,"context_line":"    port_range_max \u003d sa.Column(sa.Integer)"},{"line_number":36,"context_line":"    remote_ip_prefix \u003d sa.Column(sa.String(255))"},{"line_number":37,"context_line":"    remote_address_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dc4b2e62_e44c24e6","line":38,"range":{"start_line":37,"start_character":4,"end_line":38,"end_character":54},"in_reply_to":"b7a3026c_e4d7c277","updated":"2023-06-01 07:48:33.000000000","message":"yes, that\u0027s the risk here but we can\u0027t really check it here. We will maybe need to document that if those fields will be set with some wrong values, it may cause problems with SG creation later.","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5f516fdfb9a567a806e9619cfbbb182d2092d49a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    port_range_min \u003d sa.Column(sa.Integer)"},{"line_number":35,"context_line":"    port_range_max \u003d sa.Column(sa.Integer)"},{"line_number":36,"context_line":"    remote_ip_prefix \u003d sa.Column(sa.String(255))"},{"line_number":37,"context_line":"    remote_address_group_id \u003d sa.Column(sa.String(db_const.UUID_FIELD_SIZE),"},{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9470a12b_ce7837d7","line":38,"range":{"start_line":37,"start_character":4,"end_line":38,"end_character":54},"in_reply_to":"dc4b2e62_e44c24e6","updated":"2023-06-30 13:33:31.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"},{"line_number":42,"context_line":"    used_in_non_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":43,"context_line":"                                       server_default\u003dsa.sql.true(),"},{"line_number":44,"context_line":"                                       default\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"f09a5720_c677a66f","line":41,"range":{"start_line":41,"start_character":35,"end_line":41,"end_character":48},"updated":"2023-05-31 17:06:29.000000000","message":"nullable\u003dFalse","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                                        nullable\u003dTrue)"},{"line_number":39,"context_line":"    used_in_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":40,"context_line":"                                   server_default\u003dsa.sql.false(),"},{"line_number":41,"context_line":"                                   default\u003dFalse)"},{"line_number":42,"context_line":"    used_in_non_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":43,"context_line":"                                       server_default\u003dsa.sql.true(),"},{"line_number":44,"context_line":"                                       default\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7134db1e_c4b1cbe5","line":41,"range":{"start_line":41,"start_character":35,"end_line":41,"end_character":48},"in_reply_to":"f09a5720_c677a66f","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":41,"context_line":"                                   default\u003dFalse)"},{"line_number":42,"context_line":"    used_in_non_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":43,"context_line":"                                       server_default\u003dsa.sql.true(),"},{"line_number":44,"context_line":"                                       default\u003dTrue)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    api_collections \u003d [security_groups_default_rules.COLLECTION_NAME]"}],"source_content_type":"text/x-python","patch_set":9,"id":"03c8c486_2f2f8396","line":44,"updated":"2023-05-31 17:06:29.000000000","message":"nullable\u003dFalse","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                   default\u003dFalse)"},{"line_number":42,"context_line":"    used_in_non_default_sg \u003d sa.Column(sa.Boolean(),"},{"line_number":43,"context_line":"                                       server_default\u003dsa.sql.true(),"},{"line_number":44,"context_line":"                                       default\u003dTrue)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    api_collections \u003d [security_groups_default_rules.COLLECTION_NAME]"}],"source_content_type":"text/x-python","patch_set":9,"id":"d44d1b8a_f523c72b","line":44,"in_reply_to":"03c8c486_2f2f8396","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"}],"neutron/db/securitygroups_db.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        return res_rule_dict"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def _validate_default_security_group_rule(self, rule):"},{"line_number":491,"context_line":"        self._make_canonical_ipv6_icmp_protocol(rule)"},{"line_number":492,"context_line":"        self._make_canonical_port_range(rule)"},{"line_number":493,"context_line":"        self._validate_port_range(rule)"}],"source_content_type":"text/x-python","patch_set":9,"id":"06b4a41a_b577c4df","line":490,"range":{"start_line":490,"start_character":8,"end_line":490,"end_character":45},"updated":"2023-05-31 17:06:29.000000000","message":"This method is duplicating the upper half of \"_validate_security_group_rule\", except for the SG validations. I think you can re-use \"_validate_security_group_rule\" adding an input parameter, something like \"validate_sg\u003dTrue\"","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":true,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        return res_rule_dict"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def _validate_default_security_group_rule(self, rule):"},{"line_number":491,"context_line":"        self._make_canonical_ipv6_icmp_protocol(rule)"},{"line_number":492,"context_line":"        self._make_canonical_port_range(rule)"},{"line_number":493,"context_line":"        self._validate_port_range(rule)"}],"source_content_type":"text/x-python","patch_set":9,"id":"e881c286_bf6986ec","line":490,"range":{"start_line":490,"start_character":8,"end_line":490,"end_character":45},"in_reply_to":"06b4a41a_b577c4df","updated":"2023-06-01 07:48:33.000000000","message":"I was thinkning of it initially but TBH I think that this would make code less readable with such \"ifs\" there. I would prefer to keep it like it\u0027s now as I think that calling same subset of helper methods in 2 places isn\u0027t that bad. I moved part which validates remote entities to separate method and reused that in both places to not repeat that code.","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"294467cb8766f1cf295f0335d3a2871c5ed25f66","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        return res_rule_dict"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def _validate_default_security_group_rule(self, rule):"},{"line_number":491,"context_line":"        self._make_canonical_ipv6_icmp_protocol(rule)"},{"line_number":492,"context_line":"        self._make_canonical_port_range(rule)"},{"line_number":493,"context_line":"        self._validate_port_range(rule)"}],"source_content_type":"text/x-python","patch_set":9,"id":"c93cff0a_473a9b10","line":490,"range":{"start_line":490,"start_character":8,"end_line":490,"end_character":45},"in_reply_to":"d264b9d6_a6f1f887","updated":"2023-06-26 14:51:55.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"531426634f7621a20a0c6f7fc17a138b14667225","unresolved":true,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        return res_rule_dict"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def _validate_default_security_group_rule(self, rule):"},{"line_number":491,"context_line":"        self._make_canonical_ipv6_icmp_protocol(rule)"},{"line_number":492,"context_line":"        self._make_canonical_port_range(rule)"},{"line_number":493,"context_line":"        self._validate_port_range(rule)"}],"source_content_type":"text/x-python","patch_set":9,"id":"d264b9d6_a6f1f887","line":490,"range":{"start_line":490,"start_character":8,"end_line":490,"end_character":45},"in_reply_to":"e881c286_bf6986ec","updated":"2023-06-23 15:24:39.000000000","message":"_validate_default_security_group_rule can be called from _validate_security_group_rule now to avoid duplicating these, no?","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":520,"context_line":"        }"},{"line_number":521,"context_line":"        return db_utils.resource_fields(res, fields)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def _get_default_security_group_rule(self, context, id):"},{"line_number":524,"context_line":"        rule_obj \u003d sg_default_rules_obj.SecurityGroupDefaultRule.get_object("},{"line_number":525,"context_line":"            context, id\u003did)"},{"line_number":526,"context_line":"        if rule_obj is None:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bee83261_18ef9f2a","line":523,"range":{"start_line":523,"start_character":56,"end_line":523,"end_character":58},"updated":"2023-05-31 17:06:29.000000000","message":"please, don\u0027t use a built-in variable","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":520,"context_line":"        }"},{"line_number":521,"context_line":"        return db_utils.resource_fields(res, fields)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def _get_default_security_group_rule(self, context, id):"},{"line_number":524,"context_line":"        rule_obj \u003d sg_default_rules_obj.SecurityGroupDefaultRule.get_object("},{"line_number":525,"context_line":"            context, id\u003did)"},{"line_number":526,"context_line":"        if rule_obj is None:"}],"source_content_type":"text/x-python","patch_set":9,"id":"815c9e75_4cccb52c","line":523,"range":{"start_line":523,"start_character":56,"end_line":523,"end_character":58},"in_reply_to":"bee83261_18ef9f2a","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":611,"context_line":"        if port_range_max is not None:"},{"line_number":612,"context_line":"            args[\u0027port_range_max\u0027] \u003d port_range_max"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"        default_sg_rule_obj \u003d sg_default_rules_obj.SecurityGroupDefaultRule("},{"line_number":615,"context_line":"            context, **args)"},{"line_number":616,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":617,"context_line":"            default_sg_rule_obj.create()"},{"line_number":618,"context_line":"        return self._make_default_security_group_rule_dict(default_sg_rule_obj)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5c40eef9_09ca5345","line":615,"range":{"start_line":614,"start_character":8,"end_line":615,"end_character":28},"updated":"2023-05-31 17:06:29.000000000","message":"Move this inside the writer context.","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":611,"context_line":"        if port_range_max is not None:"},{"line_number":612,"context_line":"            args[\u0027port_range_max\u0027] \u003d port_range_max"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"        default_sg_rule_obj \u003d sg_default_rules_obj.SecurityGroupDefaultRule("},{"line_number":615,"context_line":"            context, **args)"},{"line_number":616,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":617,"context_line":"            default_sg_rule_obj.create()"},{"line_number":618,"context_line":"        return self._make_default_security_group_rule_dict(default_sg_rule_obj)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dd5ba650_a778ce65","line":615,"range":{"start_line":614,"start_character":8,"end_line":615,"end_character":28},"in_reply_to":"5c40eef9_09ca5345","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":627,"context_line":""},{"line_number":628,"context_line":"        :returns: None"},{"line_number":629,"context_line":"        \"\"\""},{"line_number":630,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":631,"context_line":"            default_sg_rule_obj \u003d ("},{"line_number":632,"context_line":"                sg_default_rules_obj.SecurityGroupDefaultRule(context))"},{"line_number":633,"context_line":"            default_sg_rule_obj.id \u003d id"}],"source_content_type":"text/x-python","patch_set":9,"id":"bec94f14_281b62bf","line":630,"range":{"start_line":630,"start_character":8,"end_line":630,"end_character":50},"updated":"2023-05-31 17:06:29.000000000","message":"nit: you can decorate the method instead of using the context generator","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":627,"context_line":""},{"line_number":628,"context_line":"        :returns: None"},{"line_number":629,"context_line":"        \"\"\""},{"line_number":630,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":631,"context_line":"            default_sg_rule_obj \u003d ("},{"line_number":632,"context_line":"                sg_default_rules_obj.SecurityGroupDefaultRule(context))"},{"line_number":633,"context_line":"            default_sg_rule_obj.id \u003d id"}],"source_content_type":"text/x-python","patch_set":9,"id":"77885db8_48fc590b","line":630,"range":{"start_line":630,"start_character":8,"end_line":630,"end_character":50},"in_reply_to":"bec94f14_281b62bf","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ec171a1fba75614b60b900d1b3ecbff64a36983a","unresolved":true,"context_lines":[{"line_number":621,"context_line":"        return self._make_default_security_group_rule_dict(default_sg_rule_obj)"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"    @db_api.CONTEXT_WRITER"},{"line_number":624,"context_line":"    def delete_default_security_group_rule(self, context, id):"},{"line_number":625,"context_line":"        \"\"\"Delete a default security rule template."},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        :param context: neutron api request context"}],"source_content_type":"text/x-python","patch_set":12,"id":"fc84f130_dee3e11f","line":624,"range":{"start_line":624,"start_character":58,"end_line":624,"end_character":60},"updated":"2023-06-22 07:52:46.000000000","message":"ditto, built-in variable","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"294467cb8766f1cf295f0335d3a2871c5ed25f66","unresolved":false,"context_lines":[{"line_number":621,"context_line":"        return self._make_default_security_group_rule_dict(default_sg_rule_obj)"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"    @db_api.CONTEXT_WRITER"},{"line_number":624,"context_line":"    def delete_default_security_group_rule(self, context, id):"},{"line_number":625,"context_line":"        \"\"\"Delete a default security rule template."},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        :param context: neutron api request context"}],"source_content_type":"text/x-python","patch_set":12,"id":"f93b114b_e3fd736c","line":624,"range":{"start_line":624,"start_character":58,"end_line":624,"end_character":60},"in_reply_to":"fc84f130_dee3e11f","updated":"2023-06-26 14:51:55.000000000","message":"Done","commit_id":"0ce263afab836efb5eefd19ee786102b05ece07d"}],"neutron/extensions/security_groups_default_rules.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":62,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":63,"context_line":"            \u0027is_sort_key\u0027: True,"},{"line_number":64,"context_line":"            \u0027primary_key\u0027: True},"},{"line_number":65,"context_line":"        \u0027tenant_id\u0027: {"},{"line_number":66,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":67,"context_line":"            \u0027required_by_policy\u0027: True,"},{"line_number":68,"context_line":"            \u0027is_sort_key\u0027: False,"}],"source_content_type":"text/x-python","patch_set":9,"id":"0a990d31_0497e14d","line":65,"range":{"start_line":65,"start_character":9,"end_line":65,"end_character":18},"updated":"2023-05-31 17:06:29.000000000","message":"1) The default SGs don\u0027t have a project, why is that needed?\n2) Tenant? Instead of project? If needed, please use \"project_id\"","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":true,"context_lines":[{"line_number":62,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":63,"context_line":"            \u0027is_sort_key\u0027: True,"},{"line_number":64,"context_line":"            \u0027primary_key\u0027: True},"},{"line_number":65,"context_line":"        \u0027tenant_id\u0027: {"},{"line_number":66,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":67,"context_line":"            \u0027required_by_policy\u0027: True,"},{"line_number":68,"context_line":"            \u0027is_sort_key\u0027: False,"}],"source_content_type":"text/x-python","patch_set":9,"id":"c30819ea_fc2a68b4","line":65,"range":{"start_line":65,"start_character":9,"end_line":65,"end_character":18},"in_reply_to":"0a990d31_0497e14d","updated":"2023-06-01 07:48:33.000000000","message":"it\u0027s required by some API policies check. Without that it\u0027s failing. It\u0027s the same like e.g. for flavors: https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/definitions/flavors.py\n\nIt was failing for me with error like \"unknown attribute \u0027tenant_id\u0027\" without that.\n\nI just opened new LP to investigate that and maybe fix it for both cases later: https://bugs.launchpad.net/neutron/+bug/2022043","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5f516fdfb9a567a806e9619cfbbb182d2092d49a","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            \u0027is_filter\u0027: True,"},{"line_number":63,"context_line":"            \u0027is_sort_key\u0027: True,"},{"line_number":64,"context_line":"            \u0027primary_key\u0027: True},"},{"line_number":65,"context_line":"        \u0027tenant_id\u0027: {"},{"line_number":66,"context_line":"            \u0027allow_post\u0027: True, \u0027allow_put\u0027: False,"},{"line_number":67,"context_line":"            \u0027required_by_policy\u0027: True,"},{"line_number":68,"context_line":"            \u0027is_sort_key\u0027: False,"}],"source_content_type":"text/x-python","patch_set":9,"id":"509d4998_77fc126d","line":65,"range":{"start_line":65,"start_character":9,"end_line":65,"end_character":18},"in_reply_to":"c30819ea_fc2a68b4","updated":"2023-06-30 13:33:31.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"}],"neutron/objects/securitygroup_default_rules.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":35,"context_line":"        \u0027port_range_max\u0027: common_types.PortRangeWith0Field(nullable\u003dTrue),"},{"line_number":36,"context_line":"        \u0027remote_ip_prefix\u0027: common_types.IPNetworkField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027remote_address_group_id\u0027: common_types.UUIDField(nullable\u003dTrue),"},{"line_number":38,"context_line":"        \u0027used_in_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":39,"context_line":"        \u0027used_in_non_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"94e99b06_9dd7e2e0","line":38,"range":{"start_line":38,"start_character":54,"end_line":38,"end_character":68},"updated":"2023-05-31 17:06:29.000000000","message":"nullable\u003dFalse by default","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \u0027port_range_max\u0027: common_types.PortRangeWith0Field(nullable\u003dTrue),"},{"line_number":36,"context_line":"        \u0027remote_ip_prefix\u0027: common_types.IPNetworkField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027remote_address_group_id\u0027: common_types.UUIDField(nullable\u003dTrue),"},{"line_number":38,"context_line":"        \u0027used_in_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":39,"context_line":"        \u0027used_in_non_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7e3d60b6_c823cb4a","line":38,"range":{"start_line":38,"start_character":54,"end_line":38,"end_character":68},"in_reply_to":"94e99b06_9dd7e2e0","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb72b01a85d7a5a60d424c9b71d3362f2539b19a","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        \u0027remote_ip_prefix\u0027: common_types.IPNetworkField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027remote_address_group_id\u0027: common_types.UUIDField(nullable\u003dTrue),"},{"line_number":38,"context_line":"        \u0027used_in_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":39,"context_line":"        \u0027used_in_non_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"6be2a576_9ad00565","line":39,"range":{"start_line":39,"start_character":58,"end_line":39,"end_character":72},"updated":"2023-05-31 17:06:29.000000000","message":"ditto","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec696d59b00c53d5f10d7ec8f18a63658d4e1100","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        \u0027remote_ip_prefix\u0027: common_types.IPNetworkField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027remote_address_group_id\u0027: common_types.UUIDField(nullable\u003dTrue),"},{"line_number":38,"context_line":"        \u0027used_in_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":39,"context_line":"        \u0027used_in_non_default_sg\u0027: obj_fields.BooleanField(nullable\u003dFalse),"},{"line_number":40,"context_line":"    }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"59e1e629_26f499a3","line":39,"range":{"start_line":39,"start_character":58,"end_line":39,"end_character":72},"in_reply_to":"6be2a576_9ad00565","updated":"2023-06-01 07:48:33.000000000","message":"Done","commit_id":"2775f7b1a253845933f0fd39c41414db72f68e82"}]}
