)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e66df76eebfdbb46c6d9cdfeec1199bab8bb9a8","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     hailun.huang \u003chailun.huang@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-11-16 09:38:39 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[neutron]Update tap ip in metadata agent when metadata port ip updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update neutron-ovn-metadata-agent, add the port_binding update event"},{"line_number":10,"context_line":"of monitoring localport tpye, and judge if the neutron:cidrs field in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a8886e3_53a068ec","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"updated":"2022-11-16 10:40:10.000000000","message":"This prefix is not needed","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     hailun.huang \u003chailun.huang@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-11-16 09:38:39 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[neutron]Update tap ip in metadata agent when metadata port ip updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update neutron-ovn-metadata-agent, add the port_binding update event"},{"line_number":10,"context_line":"of monitoring localport tpye, and judge if the neutron:cidrs field in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ee951413_b4b74938","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"in_reply_to":"9a8886e3_53a068ec","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e66df76eebfdbb46c6d9cdfeec1199bab8bb9a8","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[neutron]Update tap ip in metadata agent when metadata port ip updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update neutron-ovn-metadata-agent, add the port_binding update event"},{"line_number":10,"context_line":"of monitoring localport tpye, and judge if the neutron:cidrs field in"},{"line_number":11,"context_line":"the external_ids of port_binding table has changed,"},{"line_number":12,"context_line":"then update_datapath."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8e5c7ed5_f736df39","line":9,"range":{"start_line":9,"start_character":35,"end_line":9,"end_character":42},"updated":"2022-11-16 10:40:10.000000000","message":"Catch or subscribe to","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[neutron]Update tap ip in metadata agent when metadata port ip updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update neutron-ovn-metadata-agent, add the port_binding update event"},{"line_number":10,"context_line":"of monitoring localport tpye, and judge if the neutron:cidrs field in"},{"line_number":11,"context_line":"the external_ids of port_binding table has changed,"},{"line_number":12,"context_line":"then update_datapath."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"de3fdeb2_e03c0728","line":9,"range":{"start_line":9,"start_character":35,"end_line":9,"end_character":42},"in_reply_to":"8e5c7ed5_f736df39","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e66df76eebfdbb46c6d9cdfeec1199bab8bb9a8","unresolved":true,"context_lines":[{"line_number":7,"context_line":"[neutron]Update tap ip in metadata agent when metadata port ip updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update neutron-ovn-metadata-agent, add the port_binding update event"},{"line_number":10,"context_line":"of monitoring localport tpye, and judge if the neutron:cidrs field in"},{"line_number":11,"context_line":"the external_ids of port_binding table has changed,"},{"line_number":12,"context_line":"then update_datapath."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f385bcbf_d782f58d","line":10,"range":{"start_line":10,"start_character":24,"end_line":10,"end_character":28},"updated":"2022-11-16 10:40:10.000000000","message":"type","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[neutron]Update tap ip in metadata agent when metadata port ip updated"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Update neutron-ovn-metadata-agent, add the port_binding update event"},{"line_number":10,"context_line":"of monitoring localport tpye, and judge if the neutron:cidrs field in"},{"line_number":11,"context_line":"the external_ids of port_binding table has changed,"},{"line_number":12,"context_line":"then update_datapath."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"451eeef7_4d29dfc4","line":10,"range":{"start_line":10,"start_character":24,"end_line":10,"end_character":28},"in_reply_to":"f385bcbf_d782f58d","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e66df76eebfdbb46c6d9cdfeec1199bab8bb9a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8d197222_606a2799","updated":"2022-11-16 10:40:10.000000000","message":"I\u0027ve tested manually this patch and works.\n\nYou need to add functional tests to cover this feature.\n\nYou should add:\n* A release note.\n* A doc appendix, warning about the possible issues with the VMs already spawned. Those VMs will have a route pointing to the old metadata port IP address.","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7dc23c7f68f8c32c947c19fd99a399ae9e92f6df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2144d0d3_240383d8","updated":"2022-11-16 10:20:44.000000000","message":"Overall looks good! We need to replace the free-form strings with existing constants and if possible add a unit test for this please ?","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b797198eb6597e871f997da2573851699dc11725","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0798508d_2a3c23ba","updated":"2022-11-17 09:08:50.000000000","message":"Please, add functional tests.","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"fab4e0825f125f5aede1b073c8d001f281a67028","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9bd21877_e27d6b87","in_reply_to":"0798508d_2a3c23ba","updated":"2022-11-18 02:29:31.000000000","message":"yes, I will add the functional tests.","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":28056,"name":"Liushy","email":"liuxie_11@163.com","username":"liuxie_11"},"change_message_id":"124993febda6cd2a7ea84153e67fd22983b5fc34","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8c408e16_ac260810","updated":"2022-11-22 11:50:39.000000000","message":"LGTM!!!","commit_id":"686698284b3553001398f65614c6521359bc45aa"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"d8a5bad8917af137f48f29ef790595b7320a3b83","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"47a960b8_90c5d506","updated":"2022-11-24 02:51:36.000000000","message":"recheck","commit_id":"686698284b3553001398f65614c6521359bc45aa"}],"neutron/agent/ovn/metadata/agent.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7dc23c7f68f8c32c947c19fd99a399ae9e92f6df","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        resync \u003d False"},{"line_number":83,"context_line":"        if row.type not in OVN_VIF_PORT_TYPES:"},{"line_number":84,"context_line":"            return"},{"line_number":85,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":86,"context_line":"            new_ext_ids \u003d row.external_ids"},{"line_number":87,"context_line":"            old_ext_ids \u003d old.external_ids"},{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"22cd9e98_c1c56e6d","line":85,"range":{"start_line":85,"start_character":23,"end_line":85,"end_character":34},"updated":"2022-11-16 10:20:44.000000000","message":"ovn_const.LSP_TYPE_LOCALPORT","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        resync \u003d False"},{"line_number":83,"context_line":"        if row.type not in OVN_VIF_PORT_TYPES:"},{"line_number":84,"context_line":"            return"},{"line_number":85,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":86,"context_line":"            new_ext_ids \u003d row.external_ids"},{"line_number":87,"context_line":"            old_ext_ids \u003d old.external_ids"},{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a517250_1634feee","line":85,"range":{"start_line":85,"start_character":23,"end_line":85,"end_character":34},"in_reply_to":"22cd9e98_c1c56e6d","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7dc23c7f68f8c32c947c19fd99a399ae9e92f6df","unresolved":true,"context_lines":[{"line_number":85,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":86,"context_line":"            new_ext_ids \u003d row.external_ids"},{"line_number":87,"context_line":"            old_ext_ids \u003d old.external_ids"},{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":89,"context_line":"            if not device_id.startswith(NS_PREFIX):"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            new_cidr \u003d new_ext_ids.get(\"neutron:cidrs\", \"\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"198b9cd0_f9fc36e1","line":88,"range":{"start_line":88,"start_character":46,"end_line":88,"end_character":63},"updated":"2022-11-16 10:20:44.000000000","message":"ovn_const.OVN_DEVID_EXT_ID_KEY","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":86,"context_line":"            new_ext_ids \u003d row.external_ids"},{"line_number":87,"context_line":"            old_ext_ids \u003d old.external_ids"},{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":89,"context_line":"            if not device_id.startswith(NS_PREFIX):"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            new_cidr \u003d new_ext_ids.get(\"neutron:cidrs\", \"\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"07ede981_43f61f27","line":88,"range":{"start_line":88,"start_character":46,"end_line":88,"end_character":63},"in_reply_to":"198b9cd0_f9fc36e1","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e66df76eebfdbb46c6d9cdfeec1199bab8bb9a8","unresolved":true,"context_lines":[{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":89,"context_line":"            if not device_id.startswith(NS_PREFIX):"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            new_cidr \u003d new_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":92,"context_line":"            old_cidr \u003d old_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":93,"context_line":"            # If old_cidr is \"\", it is create event, nothing needs to be done."},{"line_number":94,"context_line":"            # If old_cidr equals new_cidr, the ip does not change."}],"source_content_type":"text/x-python","patch_set":1,"id":"71d51a91_26da09ed","line":91,"range":{"start_line":91,"start_character":12,"end_line":91,"end_character":20},"updated":"2022-11-16 10:40:10.000000000","message":"nit: \"new_cidrs\", with s at the end. This string can hold several CIDRs\n\nsame for \"old_cidrs\"","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7dc23c7f68f8c32c947c19fd99a399ae9e92f6df","unresolved":true,"context_lines":[{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":89,"context_line":"            if not device_id.startswith(NS_PREFIX):"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            new_cidr \u003d new_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":92,"context_line":"            old_cidr \u003d old_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":93,"context_line":"            # If old_cidr is \"\", it is create event, nothing needs to be done."},{"line_number":94,"context_line":"            # If old_cidr equals new_cidr, the ip does not change."}],"source_content_type":"text/x-python","patch_set":1,"id":"1acaaea6_90cf3079","line":91,"range":{"start_line":91,"start_character":40,"end_line":91,"end_character":53},"updated":"2022-11-16 10:20:44.000000000","message":"ovn_const.OVN_CIDRS_EXT_ID_KEY\n\n(same below)","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":89,"context_line":"            if not device_id.startswith(NS_PREFIX):"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            new_cidr \u003d new_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":92,"context_line":"            old_cidr \u003d old_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":93,"context_line":"            # If old_cidr is \"\", it is create event, nothing needs to be done."},{"line_number":94,"context_line":"            # If old_cidr equals new_cidr, the ip does not change."}],"source_content_type":"text/x-python","patch_set":1,"id":"f20cdc66_74b54163","line":91,"range":{"start_line":91,"start_character":40,"end_line":91,"end_character":53},"in_reply_to":"1acaaea6_90cf3079","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":89,"context_line":"            if not device_id.startswith(NS_PREFIX):"},{"line_number":90,"context_line":"                return"},{"line_number":91,"context_line":"            new_cidr \u003d new_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":92,"context_line":"            old_cidr \u003d old_ext_ids.get(\"neutron:cidrs\", \"\")"},{"line_number":93,"context_line":"            # If old_cidr is \"\", it is create event, nothing needs to be done."},{"line_number":94,"context_line":"            # If old_cidr equals new_cidr, the ip does not change."}],"source_content_type":"text/x-python","patch_set":1,"id":"c1cbc088_2e4b35b1","line":91,"range":{"start_line":91,"start_character":12,"end_line":91,"end_character":20},"in_reply_to":"71d51a91_26da09ed","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7dc23c7f68f8c32c947c19fd99a399ae9e92f6df","unresolved":true,"context_lines":[{"line_number":117,"context_line":"            metadata_agent, events)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":120,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":121,"context_line":"            if hasattr(row, \u0027external_ids\u0027) and hasattr(old, \u0027external_ids\u0027):"},{"line_number":122,"context_line":"                device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":123,"context_line":"                if device_id.startswith(NS_PREFIX):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff3bb099_b336af3e","line":120,"range":{"start_line":120,"start_character":23,"end_line":120,"end_character":34},"updated":"2022-11-16 10:20:44.000000000","message":"ovn_const.LSP_TYPE_LOCALPORT","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            metadata_agent, events)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":120,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":121,"context_line":"            if hasattr(row, \u0027external_ids\u0027) and hasattr(old, \u0027external_ids\u0027):"},{"line_number":122,"context_line":"                device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":123,"context_line":"                if device_id.startswith(NS_PREFIX):"}],"source_content_type":"text/x-python","patch_set":1,"id":"187b2c77_96e42dfb","line":120,"range":{"start_line":120,"start_character":23,"end_line":120,"end_character":34},"in_reply_to":"ff3bb099_b336af3e","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7dc23c7f68f8c32c947c19fd99a399ae9e92f6df","unresolved":true,"context_lines":[{"line_number":119,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":120,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":121,"context_line":"            if hasattr(row, \u0027external_ids\u0027) and hasattr(old, \u0027external_ids\u0027):"},{"line_number":122,"context_line":"                device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":123,"context_line":"                if device_id.startswith(NS_PREFIX):"},{"line_number":124,"context_line":"                    return True"},{"line_number":125,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"4780b32c_99aba6d0","line":122,"range":{"start_line":122,"start_character":50,"end_line":122,"end_character":67},"updated":"2022-11-16 10:20:44.000000000","message":"ditto","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":120,"context_line":"        if row.type \u003d\u003d \"localport\":"},{"line_number":121,"context_line":"            if hasattr(row, \u0027external_ids\u0027) and hasattr(old, \u0027external_ids\u0027):"},{"line_number":122,"context_line":"                device_id \u003d row.external_ids.get(\"neutron:device_id\", \"\")"},{"line_number":123,"context_line":"                if device_id.startswith(NS_PREFIX):"},{"line_number":124,"context_line":"                    return True"},{"line_number":125,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"cef58a45_49671027","line":122,"range":{"start_line":122,"start_character":50,"end_line":122,"end_character":67},"in_reply_to":"4780b32c_99aba6d0","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"35ca26edbdd99339a5aedc9218d2b765331964f4"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d969efab629625b890b1d7a3cadd348026cee8ef","unresolved":true,"context_lines":[{"line_number":654,"context_line":"            dhcpv4_options, dhcpv6_options \u003d self.update_port_dhcp_options("},{"line_number":655,"context_line":"                port_info, txn\u003dtxn)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"            if self.is_metadata_port(port):"},{"line_number":658,"context_line":"                context \u003d n_context.get_admin_context()"},{"line_number":659,"context_line":"                network \u003d self._plugin.get_network(context, port[\u0027network_id\u0027])"},{"line_number":660,"context_line":"                subnet_ids \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"db02e4ed_c9eb5584","line":657,"updated":"2022-11-17 15:05:38.000000000","message":"The code to update the subnet should be added under this if(), and it should be able to take advantage of the existing calls here. You might only need to add L762-764 here (?)","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"fab4e0825f125f5aede1b073c8d001f281a67028","unresolved":true,"context_lines":[{"line_number":654,"context_line":"            dhcpv4_options, dhcpv6_options \u003d self.update_port_dhcp_options("},{"line_number":655,"context_line":"                port_info, txn\u003dtxn)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"            if self.is_metadata_port(port):"},{"line_number":658,"context_line":"                context \u003d n_context.get_admin_context()"},{"line_number":659,"context_line":"                network \u003d self._plugin.get_network(context, port[\u0027network_id\u0027])"},{"line_number":660,"context_line":"                subnet_ids \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"f86d100f_c4128f25","line":657,"in_reply_to":"db02e4ed_c9eb5584","updated":"2022-11-18 02:29:31.000000000","message":"I didn\u0027t notice that when metadata port was modified, this code already implemented the dhcp_options modification, so this part of my code is no longer needed.","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"0b987754bc707bd34643f21e1f9572e4dafea49b","unresolved":false,"context_lines":[{"line_number":654,"context_line":"            dhcpv4_options, dhcpv6_options \u003d self.update_port_dhcp_options("},{"line_number":655,"context_line":"                port_info, txn\u003dtxn)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"            if self.is_metadata_port(port):"},{"line_number":658,"context_line":"                context \u003d n_context.get_admin_context()"},{"line_number":659,"context_line":"                network \u003d self._plugin.get_network(context, port[\u0027network_id\u0027])"},{"line_number":660,"context_line":"                subnet_ids \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"36b617dc_da9d1482","line":657,"in_reply_to":"f86d100f_c4128f25","updated":"2022-11-22 02:23:58.000000000","message":"Done","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":28056,"name":"Liushy","email":"liuxie_11@163.com","username":"liuxie_11"},"change_message_id":"37018e46df1498dffdc5c8c0d6366bc0e1a365a4","unresolved":true,"context_lines":[{"line_number":752,"context_line":"                # We need to remove the old entries"},{"line_number":753,"context_line":"                self.add_txns_to_remove_port_dns_records(txn, port_object)"},{"line_number":754,"context_line":"        # If metadata port ip is modified,"},{"line_number":755,"context_line":"        # call update_subnet to update DHCP_Options classless_static_route."},{"line_number":756,"context_line":"        if port[\u0027device_id\u0027] \u003d\u003d \u0027ovnmeta-%s\u0027 % port[\u0027network_id\u0027]:"},{"line_number":757,"context_line":"            network \u003d port.get(\u0027network\u0027) or self._plugin.get_network("},{"line_number":758,"context_line":"                context, port[\u0027network_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ea35e95_72b8d95a","line":755,"range":{"start_line":755,"start_character":39,"end_line":755,"end_character":51},"updated":"2022-11-17 09:11:54.000000000","message":"dhcp_options","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"0b987754bc707bd34643f21e1f9572e4dafea49b","unresolved":false,"context_lines":[{"line_number":752,"context_line":"                # We need to remove the old entries"},{"line_number":753,"context_line":"                self.add_txns_to_remove_port_dns_records(txn, port_object)"},{"line_number":754,"context_line":"        # If metadata port ip is modified,"},{"line_number":755,"context_line":"        # call update_subnet to update DHCP_Options classless_static_route."},{"line_number":756,"context_line":"        if port[\u0027device_id\u0027] \u003d\u003d \u0027ovnmeta-%s\u0027 % port[\u0027network_id\u0027]:"},{"line_number":757,"context_line":"            network \u003d port.get(\u0027network\u0027) or self._plugin.get_network("},{"line_number":758,"context_line":"                context, port[\u0027network_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"dae21030_3d7f598e","line":755,"range":{"start_line":755,"start_character":39,"end_line":755,"end_character":51},"in_reply_to":"5ea35e95_72b8d95a","updated":"2022-11-22 02:23:58.000000000","message":"Done","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"}],"releasenotes/notes/bug-1996677-64851b476a0c5a37.yaml":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b797198eb6597e871f997da2573851699dc11725","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The VMs that has been created using the subnet with dhcp enabled,"},{"line_number":5,"context_line":"    after the ip address of metadata port of the subnet is changed, the"},{"line_number":6,"context_line":"    possible issues with those VMs already spawned."},{"line_number":7,"context_line":"    Those VMs will have a route pointing to the old metadata port IP address."},{"line_number":8,"context_line":"    Those VMs can re dhcp to update the route."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ef5be5cc_ad8f9f1c","line":8,"range":{"start_line":4,"start_character":4,"end_line":8,"end_character":46},"updated":"2022-11-17 09:08:50.000000000","message":"This is not an issue anymore. It should not be here. Only \"fixes\" section should be populated.","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The VMs that has been created using the subnet with dhcp enabled,"},{"line_number":5,"context_line":"    after the ip address of metadata port of the subnet is changed, the"},{"line_number":6,"context_line":"    possible issues with those VMs already spawned."},{"line_number":7,"context_line":"    Those VMs will have a route pointing to the old metadata port IP address."},{"line_number":8,"context_line":"    Those VMs can re dhcp to update the route."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"391229ee_f6772625","line":8,"range":{"start_line":4,"start_character":4,"end_line":8,"end_character":46},"in_reply_to":"ef5be5cc_ad8f9f1c","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b797198eb6597e871f997da2573851699dc11725","unresolved":true,"context_lines":[{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    `1996677 \u003chttps://bugs.launchpad.net/neutron/+bug/1996677\u003e`_"},{"line_number":13,"context_line":"    When the fixed_ips of metadata port is modified, the ip address of"},{"line_number":14,"context_line":"    tap device in metadata agent should be modified."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a92a2d21_7290fb2b","line":14,"range":{"start_line":14,"start_character":33,"end_line":14,"end_character":42},"updated":"2022-11-17 09:08:50.000000000","message":"\"is modified\", this has been changed and now the TAP device is actually modified.","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"},{"author":{"_account_id":34125,"name":"huanghailun","display_name":"huanghailun","email":"hailun.huang@easystack.cn","username":"lnun"},"change_message_id":"6e83a6a59bec0f4af08f4047bfd0bb896b55a97e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    `1996677 \u003chttps://bugs.launchpad.net/neutron/+bug/1996677\u003e`_"},{"line_number":13,"context_line":"    When the fixed_ips of metadata port is modified, the ip address of"},{"line_number":14,"context_line":"    tap device in metadata agent should be modified."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"68815f17_85335bda","line":14,"range":{"start_line":14,"start_character":33,"end_line":14,"end_character":42},"in_reply_to":"a92a2d21_7290fb2b","updated":"2022-11-22 02:23:32.000000000","message":"Done","commit_id":"6a15606438b16d1f503d48616bd73cc31f258c69"}]}
