)]}'
{"networking_ovn/ovsdb/ovsdb_monitor.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b63dd896ae3d85785b1e63d578e0438c25ca02dc","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    only monitors for transitions from DOWN to UP."},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    table \u003d \u0027Port_Binding\u0027"},{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_0f04b149","line":144,"range":{"start_line":143,"start_character":0,"end_line":144,"end_character":36},"updated":"2019-09-19 13:37:03.000000000","message":"Just pointing out, nothing to do here.\n\nSomeone may notice some differences between this backport and the original code on master [0]. This is due to the use of the BaseEvent class vs row_event.RowEvent (as in master) which this event inherits from.\n\n[0] https://review.opendev.org/#/c/677603/10/networking_ovn/ovsdb/ovsdb_monitor.py","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dc4a797a709570cf6cadeacf7020719bd39cf59c","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    only monitors for transitions from DOWN to UP."},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    table \u003d \u0027Port_Binding\u0027"},{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_15e7de14","line":144,"range":{"start_line":143,"start_character":0,"end_line":144,"end_character":36},"in_reply_to":"3fa7e38b_0f04b149","updated":"2019-09-19 14:47:20.000000000","message":"Thanks for pointing that out.  This code is actually pretty different from master, so the commit message should have a\n\nConflicts:\n    networking_ovn/ovsdb/ovsdb_monitor.py\n\nAnd also, where are these ever used?  In the master change in they are in __init__ and used in the super call.","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"6238e1f641aefc4172f27de9fa7ffa1bde1acc18","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    only monitors for transitions from DOWN to UP."},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    table \u003d \u0027Port_Binding\u0027"},{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_3551ba63","line":144,"range":{"start_line":143,"start_character":0,"end_line":144,"end_character":36},"in_reply_to":"3fa7e38b_15e7de14","updated":"2019-09-19 14:59:24.000000000","message":"++ for the conflicts note","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"4ed9fa59a055f2acc903f84795cef7862c6c9378","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    only monitors for transitions from DOWN to UP."},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    table \u003d \u0027Port_Binding\u0027"},{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_9ba1bfac","line":144,"range":{"start_line":143,"start_character":0,"end_line":144,"end_character":36},"in_reply_to":"3fa7e38b_15e7de14","updated":"2019-09-19 16:19:43.000000000","message":"Yeah, it didn\u0027t actually conflict on merge--it just didn\u0027t work. I\u0027ll manually add the Conflicts line.","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dc4a797a709570cf6cadeacf7020719bd39cf59c","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"},{"line_number":148,"context_line":"        super(PortBindingChassisUpdateEvent, self).__init__()"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def match_fn(self, event, row, old\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_15d03e1f","line":147,"range":{"start_line":147,"start_character":13,"end_line":147,"end_character":19},"updated":"2019-09-19 14:47:20.000000000","message":"s/driver\n\nThere are no tests to catch this in master branch either :(","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"76819f6705f7da568d819ed414b38fc868470776","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"},{"line_number":148,"context_line":"        super(PortBindingChassisUpdateEvent, self).__init__()"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def match_fn(self, event, row, old\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_75d412be","line":147,"range":{"start_line":147,"start_character":13,"end_line":147,"end_character":19},"in_reply_to":"3fa7e38b_15d03e1f","updated":"2019-09-19 15:00:20.000000000","message":"Oh great catch!\n\nLooking at L159 that could raise a AttributeError due to this misspelling","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"4ed9fa59a055f2acc903f84795cef7862c6c9378","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"},{"line_number":148,"context_line":"        super(PortBindingChassisUpdateEvent, self).__init__()"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def match_fn(self, event, row, old\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_1bfaaf74","line":147,"range":{"start_line":147,"start_character":13,"end_line":147,"end_character":19},"in_reply_to":"3fa7e38b_15d03e1f","updated":"2019-09-19 16:19:43.000000000","message":"Oh my! I\u0027d forgotten about the changes I had to do this since it had been a few days. :-/\n\nI would love to come up with a good way to test this non-manually. Basically the tests right now ensure that we don\u0027t break existing behavior, but don\u0027t test what happens when this actually matches and runs.\n\nI can try to come up with an artificial test (as opposed to a crazy scenario test that kills a compute server and does an evacuation--which is what we really want to ensure works). It bugs me a little because if we do any refactoring, it\u0027s likely that we\u0027ll have to change the test as well since it is kind of an odd workaround-y fix to \"set port status up if it is already up and we have a new chassis\". That just doesn\u0027t sound like behavior that in-and-of-itself is what needs to always be tested.","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"4ed9fa59a055f2acc903f84795cef7862c6c9378","unresolved":false,"context_lines":[{"line_number":144,"context_line":"    events \u003d (BaseEvent.ROW_UPDATE,)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, driver):"},{"line_number":147,"context_line":"        self.drvier \u003d driver"},{"line_number":148,"context_line":"        super(PortBindingChassisUpdateEvent, self).__init__()"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def match_fn(self, event, row, old\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_fbeeb3b2","line":147,"range":{"start_line":147,"start_character":13,"end_line":147,"end_character":19},"in_reply_to":"3fa7e38b_75d412be","updated":"2019-09-19 16:19:43.000000000","message":"Right, basically the tests now just test that this event never runs. So raising an exception keeps it from running so all tests pass.","commit_id":"e4cccd0912969fb027e63ebfbeb411ad6fdf475f"}]}
