)]}'
{"neutron/tests/functional/agent/l3/test_ha_router.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"59fd6c15ad3b66facaa26ac867ba772f833c666d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        common_utils.wait_until_true(lambda: router.ha_state \u003d\u003d \u0027backup\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        common_utils.wait_until_true(lambda:"},{"line_number":49,"context_line":"            (enqueue_mock.call_count \u003d\u003d 3 or enqueue_mock.call_count \u003d\u003d 4))"},{"line_number":50,"context_line":"        calls \u003d [args[0] for args in enqueue_mock.call_args_list]"},{"line_number":51,"context_line":"        self.assertEqual((router.router_id, \u0027backup\u0027), calls[0])"},{"line_number":52,"context_line":"        self.assertEqual((router.router_id, \u0027master\u0027), calls[1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_e81e72b9","line":49,"updated":"2019-07-16 16:16:26.000000000","message":"So just one question.  If this is a case where 4 calls are required to happen, won\u0027t this possibly exit early and the below assert will fail?  I just don\u0027t want to trade one race condition for another.  Or maybe I\u0027m over thinking it.","commit_id":"7bb1bbba365ad1358d6e66f88a8a48b7261c024e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1d0ee6484b9ec1a2c2fcf808a3d209fb7213fbb7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        common_utils.wait_until_true(lambda: router.ha_state \u003d\u003d \u0027backup\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        common_utils.wait_until_true(lambda:"},{"line_number":49,"context_line":"            (enqueue_mock.call_count \u003d\u003d 3 or enqueue_mock.call_count \u003d\u003d 4))"},{"line_number":50,"context_line":"        calls \u003d [args[0] for args in enqueue_mock.call_args_list]"},{"line_number":51,"context_line":"        self.assertEqual((router.router_id, \u0027backup\u0027), calls[0])"},{"line_number":52,"context_line":"        self.assertEqual((router.router_id, \u0027master\u0027), calls[1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_34c4e390","line":49,"in_reply_to":"7faddb67_638063c0","updated":"2019-07-16 19:51:50.000000000","message":"I was thinking there was some asynchronous nature to the testing is all, but L46 is making sure this router is \u0027backup\u0027 now, so that\u0027s not a factor since the calls would have already happened.","commit_id":"7bb1bbba365ad1358d6e66f88a8a48b7261c024e"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"35164366ff6ee76e0bb6f90278a5126583037359","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        common_utils.wait_until_true(lambda: router.ha_state \u003d\u003d \u0027backup\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        common_utils.wait_until_true(lambda:"},{"line_number":49,"context_line":"            (enqueue_mock.call_count \u003d\u003d 3 or enqueue_mock.call_count \u003d\u003d 4))"},{"line_number":50,"context_line":"        calls \u003d [args[0] for args in enqueue_mock.call_args_list]"},{"line_number":51,"context_line":"        self.assertEqual((router.router_id, \u0027backup\u0027), calls[0])"},{"line_number":52,"context_line":"        self.assertEqual((router.router_id, \u0027master\u0027), calls[1])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_638063c0","line":49,"in_reply_to":"7faddb67_e81e72b9","updated":"2019-07-16 17:01:31.000000000","message":"It\u0027s not that there are 3 or 4 calls required in specific cases. It is like both 3 or 4 calls are fine in this test because number of calls may be different depending of how fast keepalived will start.","commit_id":"7bb1bbba365ad1358d6e66f88a8a48b7261c024e"}]}
