)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"14a339bcd5d16c1547477e917a3a9deec8f83a7a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[ovn] Add PortBinding delete event for external ports"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The ports are unbound from chassis before they get deleted after VM with"},{"line_number":10,"context_line":"normal virtual ports is deleted. In case of SRIOV, we do not unbound the"},{"line_number":11,"context_line":"external SRIOV port but we delete it right away with chassis column set."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch adds DELETE event type support to the event that tears down"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f493fa4_b862a5d6","line":10,"range":{"start_line":10,"start_character":7,"end_line":10,"end_character":14},"updated":"2020-04-29 13:11:18.000000000","message":"nit: this at first confused me for a sec as we have OVN type called \u0027virtual\u0027 :) I know what you mean but as I got confused thought it was worth mentioning.","commit_id":"fe5360eb6d1b33ad39fd88f49f1e6d8dd16c96b5"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"14a339bcd5d16c1547477e917a3a9deec8f83a7a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"external SRIOV port but we delete it right away with chassis column set."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch adds DELETE event type support to the event that tears down"},{"line_number":14,"context_line":"the metadata datapath."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I17b71933b8c3a7609fcc5027c246f5b03d493ee2"},{"line_number":17,"context_line":"Closes-Bug: #1875865"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f493fa4_38a4d507","line":14,"updated":"2020-04-29 13:11:18.000000000","message":"Also logs a warning if a non external port is deleted without having been unbound before.","commit_id":"fe5360eb6d1b33ad39fd88f49f1e6d8dd16c96b5"}],"neutron/agent/ovn/metadata/agent.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"70f20f91703ad5927afdb21482c420a735ad2d90","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            return row.type \u003d\u003d \"external\" and row.chassis"},{"line_number":129,"context_line":"        except AttributeError:"},{"line_number":130,"context_line":"            return False"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_12ad7a9a","line":128,"range":{"start_line":128,"start_character":45,"end_line":128,"end_character":57},"updated":"2020-04-29 11:57:34.000000000","message":"I think we should also add \"row.chassis \u003d self.agent.chassis","commit_id":"d220b9a8db4f0335c54fd65495f030ba1aa8be87"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"64e29b45ffb1d1d077f8214af4c42f767320b772","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            return row.type \u003d\u003d \"external\" and row.chassis"},{"line_number":129,"context_line":"        except AttributeError:"},{"line_number":130,"context_line":"            return False"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_f2072ec9","line":128,"range":{"start_line":128,"start_character":19,"end_line":128,"end_character":41},"updated":"2020-04-29 11:54:24.000000000","message":"What\u0027s the benefit of doing it just for row.type \u003d\u003d \u0027external\u0027 ? Can\u0027t it be addressed generally for the case when any port gets deleted anyways? If it\u0027s not gonna happen, then it\u0027ll just safe this comparison but if it happens, at least we\u0027ll handle it (maybe also logging some WARN if it\u0027s not \u0027external\u0027.\n\nJust thinking... :)","commit_id":"d220b9a8db4f0335c54fd65495f030ba1aa8be87"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"c41e8128699dc773d112ee1bf563007f351c42c9","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            return row.type \u003d\u003d \"external\" and row.chassis"},{"line_number":129,"context_line":"        except AttributeError:"},{"line_number":130,"context_line":"            return False"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_ddd84354","line":128,"range":{"start_line":128,"start_character":19,"end_line":128,"end_character":41},"in_reply_to":"1f493fa4_92986a75","updated":"2020-04-29 12:34:45.000000000","message":"Yes, it does. I\u0027ll try to do it","commit_id":"d220b9a8db4f0335c54fd65495f030ba1aa8be87"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"81e17d2521a8b98581ceab853e5334bba8f49c84","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            return row.type \u003d\u003d \"external\" and row.chassis"},{"line_number":129,"context_line":"        except AttributeError:"},{"line_number":130,"context_line":"            return False"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_92986a75","line":128,"range":{"start_line":128,"start_character":19,"end_line":128,"end_character":41},"in_reply_to":"1f493fa4_d2c15256","updated":"2020-04-29 12:01:08.000000000","message":"But for normal VM deletion you\u0027ll filter it out with the \u0027return row.chassis\u0027 right? It\u0027ll be false so it won\u0027t match and be skipped :? I\u0027m just talking about removing \u0027row.type \u003d\u003d \"external\"\u0027 or perhaps as you say, what about just changing L68:\n\n- events \u003d (self.ROW_UPDATE,)\n+events \u003d (self.ROW_UPDATE, self.ROW_DELETE,) \n\nAlso I think that this event will be handled by all chassis which is not what we want. Unless I\u0027m missing something I think that we\u0027re not taking into account our own chassis name to see if this should be handled by this agent or not. Makes sense?","commit_id":"d220b9a8db4f0335c54fd65495f030ba1aa8be87"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"6ac9316a4310aa86c23b884a26dc0c129ab37229","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def match_fn(self, event, row, old):"},{"line_number":127,"context_line":"        try:"},{"line_number":128,"context_line":"            return row.type \u003d\u003d \"external\" and row.chassis"},{"line_number":129,"context_line":"        except AttributeError:"},{"line_number":130,"context_line":"            return False"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_d2c15256","line":128,"range":{"start_line":128,"start_character":19,"end_line":128,"end_character":41},"in_reply_to":"1f493fa4_f2072ec9","updated":"2020-04-29 11:56:25.000000000","message":"You mean replace the PortBindingChassisDeletedEvent with this one? It would mean if we unbind a port, we\u0027ll still leave resources on the chassis. If we would just remove the external limiting then we would get an event twice for each normal VM deletion. I think ...","commit_id":"d220b9a8db4f0335c54fd65495f030ba1aa8be87"}]}
