)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a5ec84d02415c777fc5dfa66494aef15c55cc36f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"662c40de_ab46d1d6","updated":"2022-01-25 08:33:46.000000000","message":"It seems for me that functional job\u0027s failures here may be related to that patch. Please check it before rechecking","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2d18121a88052abe991f696373290eef599f79e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"771b1d8c_b3ee2a2f","updated":"2022-01-24 18:43:42.000000000","message":"recheck\nLet\u0027s see if the tests with the new waiter are flipping","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f4fd0ef3f5c2715ad3b7c2595c5157a78676480c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"99c693a0_2db2bd17","updated":"2022-01-24 15:51:48.000000000","message":"recheck\nlet\u0027s see if it is failing constantly with zuul (locally it was ok for me)","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e078c17e85e0760fffb0abb76d58e7bbb908330f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6013af51_b4ccd3da","in_reply_to":"662c40de_ab46d1d6","updated":"2022-01-25 08:37:27.000000000","message":"yeah, sure, it seems the tests are flipping, I have to see if I can have the same changing result locally","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"341de83cdbce028ae44f5ce8df750632e43517cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d87dfd25_b0ba4785","updated":"2022-01-27 16:44:34.000000000","message":"-1 just for visibility ","commit_id":"e14bd5763413112af76d19a072d6e6a438555a9c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d188f3a377984706f27cf55ef5cba7b2d88a4041","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f16ffa90_93fe3f9b","updated":"2022-02-15 15:41:11.000000000","message":"good patch","commit_id":"654c3b796fb467f92ce06528f64904086b0beb17"},{"author":{"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"},"change_message_id":"b215a2d16597306db082d759ca271fe9305f348e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"8d6cac71_408bff64","updated":"2022-02-17 01:51:56.000000000","message":"recheck","commit_id":"654c3b796fb467f92ce06528f64904086b0beb17"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fa0706589624ce7ea7c4e8bba1763ac57077cc72","unresolved":true,"context_lines":[{"line_number":494,"context_line":"    def _get_max_tunid(self):"},{"line_number":495,"context_line":"        try:"},{"line_number":496,"context_line":"            return int(self.nb_ovn.nb_global.options.get(\u0027max_tunid\u0027))"},{"line_number":497,"context_line":"        except (ValueError, TypeError, StopIteration):"},{"line_number":498,"context_line":"            # max_tunid may be absent in older OVN versions, return None"},{"line_number":499,"context_line":"            pass"},{"line_number":500,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"4d904010_ed825864","line":497,"range":{"start_line":497,"start_character":39,"end_line":497,"end_character":52},"updated":"2022-01-20 16:54:48.000000000","message":"This can\u0027t happen. NB_Global table [1] \"must have exactly one row\".\n\nI guess this this is happening in the FTs because we didn\u0027t wait until we had this register in place. Instead of this, I think we should add a wait event for NB_Global in the \"TestOVNFunctionalBase\" class, at the end of the \"setUp\" method.\n\nThe wait class could be something like \"WaitForChassisPrivateCreateEvent\", but in this case waiting for any register, without any condition. The first (and only) register to be created will validate it.\n\n[1]https://man7.org/linux/man-pages/man5/ovn-nb.5.html#NB_Global_TABLE","commit_id":"219465d296c6ca50e68b9214c6b57b63c7fedc88"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"26d1530e56e3f4f977e1b263dd0d4b43f219c8d6","unresolved":true,"context_lines":[{"line_number":494,"context_line":"    def _get_max_tunid(self):"},{"line_number":495,"context_line":"        try:"},{"line_number":496,"context_line":"            return int(self.nb_ovn.nb_global.options.get(\u0027max_tunid\u0027))"},{"line_number":497,"context_line":"        except (ValueError, TypeError, StopIteration):"},{"line_number":498,"context_line":"            # max_tunid may be absent in older OVN versions, return None"},{"line_number":499,"context_line":"            pass"},{"line_number":500,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"61d43bde_4fcc9b4a","line":497,"range":{"start_line":497,"start_character":39,"end_line":497,"end_character":52},"in_reply_to":"4d904010_ed825864","updated":"2022-01-21 17:05:37.000000000","message":"thanks, I added waiter, to tell the truth in my local env I never got the event, but let\u0027s see zuul","commit_id":"219465d296c6ca50e68b9214c6b57b63c7fedc88"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6ae4d1be0c54cc468ac6ad13a9c61b6821f761bf","unresolved":false,"context_lines":[{"line_number":494,"context_line":"    def _get_max_tunid(self):"},{"line_number":495,"context_line":"        try:"},{"line_number":496,"context_line":"            return int(self.nb_ovn.nb_global.options.get(\u0027max_tunid\u0027))"},{"line_number":497,"context_line":"        except (ValueError, TypeError, StopIteration):"},{"line_number":498,"context_line":"            # max_tunid may be absent in older OVN versions, return None"},{"line_number":499,"context_line":"            pass"},{"line_number":500,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"60951c6a_8fcc410d","line":497,"range":{"start_line":497,"start_character":39,"end_line":497,"end_character":52},"in_reply_to":"61d43bde_4fcc9b4a","updated":"2022-02-07 12:21:19.000000000","message":"Done","commit_id":"219465d296c6ca50e68b9214c6b57b63c7fedc88"}],"neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovn_db_resources.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"341de83cdbce028ae44f5ce8df750632e43517cc","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        nb_gobal_event \u003d WaitForNBGlobalReadyEvent()"},{"line_number":55,"context_line":"        self.nb_api.idl.notify_handler.watch_event(nb_gobal_event)"},{"line_number":56,"context_line":"        self.assertTrue(nb_gobal_event.wait())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # FIXME(lucasagomes): Map the revision numbers properly instead"},{"line_number":59,"context_line":"    # of stripping them out. Currently, tests like test_dhcp_options()"}],"source_content_type":"text/x-python","patch_set":4,"id":"38ac2dd1_05357a30","line":56,"updated":"2022-01-27 16:44:34.000000000","message":"In one of the failing tests [1], the NB_Global creation event [2][3] happens before the northd stating method. That means before these three lines. We can\u0027t always catch this event here (or maybe at any point) because this register is created when the northd process is started.\n\nI would suggest to change the strategy here and instead of adding a waiter for an event, just create a manual loop reading the NB_Global table, looking for one single register.\n\n[1]https://0267091f5f0a77668932-172f8f1388c135568979f569022c1ad6.ssl.cf5.rackcdn.com/825530/4/check/neutron-functional-with-uwsgi/741161f/controller/logs/dsvm-functional-logs/neutron.tests.functional.plugins.ml2.drivers.ovn.mech_driver.ovsdb.test_ovn_db_resources.TestNBDbResources.test_port_dhcp_opts_add_and_remove_extra_dhcp_opts/index.html\n[2]https://paste.opendev.org/show/812406/\n[3]https://paste.opendev.org/show/812405/","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e17020d1f25340ab473f54dafca321067a2fbb5a","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        nb_gobal_event \u003d WaitForNBGlobalReadyEvent()"},{"line_number":55,"context_line":"        self.nb_api.idl.notify_handler.watch_event(nb_gobal_event)"},{"line_number":56,"context_line":"        self.assertTrue(nb_gobal_event.wait())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # FIXME(lucasagomes): Map the revision numbers properly instead"},{"line_number":59,"context_line":"    # of stripping them out. Currently, tests like test_dhcp_options()"}],"source_content_type":"text/x-python","patch_set":4,"id":"b1dc4172_8754c146","line":56,"in_reply_to":"38ac2dd1_05357a30","updated":"2022-01-27 18:32:32.000000000","message":"thanks, I just wanted to come back with a -1, as in my env it is still unstable wit the waiter as you wrote:-(","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6ae4d1be0c54cc468ac6ad13a9c61b6821f761bf","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        nb_gobal_event \u003d WaitForNBGlobalReadyEvent()"},{"line_number":55,"context_line":"        self.nb_api.idl.notify_handler.watch_event(nb_gobal_event)"},{"line_number":56,"context_line":"        self.assertTrue(nb_gobal_event.wait())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # FIXME(lucasagomes): Map the revision numbers properly instead"},{"line_number":59,"context_line":"    # of stripping them out. Currently, tests like test_dhcp_options()"}],"source_content_type":"text/x-python","patch_set":4,"id":"8b8894f1_d2b3f7aa","line":56,"in_reply_to":"b1dc4172_8754c146","updated":"2022-02-07 12:21:19.000000000","message":"Done","commit_id":"4f1a737c9e74fba8010756daa138e1deeb8e27e8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"21abed96db7c5afea930653e6060440938e2bc5d","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    _extension_drivers \u003d [\u0027dns\u0027]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _is_nb_global_ready(self):"},{"line_number":36,"context_line":"        return self.nb_api.is_table_present(\u0027NB_Global\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(TestNBDbResources, self).setUp()"}],"source_content_type":"text/x-python","patch_set":6,"id":"52023f68_26fe5683","line":36,"updated":"2022-01-31 18:02:47.000000000","message":"This will search in IDL.tables, that is just [1]. This is reading the static schema config:\n  self.tables \u003d schema.tables\n\nWe do not guarantee there is a register in this table. I was expecting something like:\n  try:\n     next(iter(self.nb_api.tables[\u0027NB_Global\u0027].rows))\n  except StopIteration:\n     return False\n  return True\n\n\n[1]https://github.com/openvswitch/ovs/blob/dadd8357f22464232a071fe813c5f6950a5c680c/python/ovs/db/idl.py#L240","commit_id":"23bc711fdcc3bf63a2ddda5d7e0ef5fae9a7625d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"68573e8f89b288d6f3b09b211b750f2ffe6f2028","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    _extension_drivers \u003d [\u0027dns\u0027]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _is_nb_global_ready(self):"},{"line_number":36,"context_line":"        return self.nb_api.is_table_present(\u0027NB_Global\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(TestNBDbResources, self).setUp()"}],"source_content_type":"text/x-python","patch_set":6,"id":"a5ebbc13_a05e2ca3","line":36,"in_reply_to":"52023f68_26fe5683","updated":"2022-02-01 13:41:11.000000000","message":"hmm, based on documetnation my idea was that if the table is present, than it has the row, but, you are right, let it keep on the safe side","commit_id":"23bc711fdcc3bf63a2ddda5d7e0ef5fae9a7625d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6ae4d1be0c54cc468ac6ad13a9c61b6821f761bf","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    _extension_drivers \u003d [\u0027dns\u0027]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _is_nb_global_ready(self):"},{"line_number":36,"context_line":"        return self.nb_api.is_table_present(\u0027NB_Global\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(TestNBDbResources, self).setUp()"}],"source_content_type":"text/x-python","patch_set":6,"id":"6866f580_5bdec9d6","line":36,"in_reply_to":"a5ebbc13_a05e2ca3","updated":"2022-02-07 12:21:19.000000000","message":"Done","commit_id":"23bc711fdcc3bf63a2ddda5d7e0ef5fae9a7625d"}]}
