)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7245d0c4be67e28e580af288c802ac1b7a1557cb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"This change highlights several previously incorrect uses of"},{"line_number":21,"context_line":"wait_for_versioned_notifications which were always timing out."},{"line_number":22,"context_line":"Additionally,"},{"line_number":23,"context_line":"TestServicesAPI.test_compute_service_delete_ensure_related_cleanup"},{"line_number":24,"context_line":"highlighted a problem in compute.API: we are only emitting an"},{"line_number":25,"context_line":"unversioned notification for a local delete. Until this is fixed, to"},{"line_number":26,"context_line":"ensure this test is correct we must wait for a legacy notification"},{"line_number":27,"context_line":"instead."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: I017d1a31139c9300642dd706eadc265f7c954ca8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_f09a606d","line":27,"range":{"start_line":23,"start_character":1,"end_line":27,"end_character":8},"updated":"2018-09-26 07:44:22.000000000","message":"This is expected to be solved in https://review.openstack.org/#/c/410297","commit_id":"198c20b2ba366f5a813aca243c85e0cc1d040271"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"e305c64d7ec80ec0b14caca6a75b6b2ba4685cd3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"This change highlights several previously incorrect uses of"},{"line_number":21,"context_line":"wait_for_versioned_notifications which were always timing out."},{"line_number":22,"context_line":"Additionally,"},{"line_number":23,"context_line":"TestServicesAPI.test_compute_service_delete_ensure_related_cleanup"},{"line_number":24,"context_line":"highlighted a problem in compute.API: we are only emitting an"},{"line_number":25,"context_line":"unversioned notification for a local delete. Until this is fixed, to"},{"line_number":26,"context_line":"ensure this test is correct we must wait for a legacy notification"},{"line_number":27,"context_line":"instead."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: I017d1a31139c9300642dd706eadc265f7c954ca8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_c9c8c557","line":27,"range":{"start_line":23,"start_character":1,"end_line":27,"end_character":8},"in_reply_to":"3f79a3b5_f09a606d","updated":"2018-09-27 10:26:47.000000000","message":"...now merged. Rebased on top of it and removed the workaround in the latest patch.","commit_id":"198c20b2ba366f5a813aca243c85e0cc1d040271"}],"nova/tests/functional/integrated_helpers.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"20e82bc6a72a5b07b931a995ac5a9d6d0e8d17b2","unresolved":false,"context_lines":[{"line_number":619,"context_line":""},{"line_number":620,"context_line":"        n \u003d fake_notifier.wait_for_versioned_notifications("},{"line_number":621,"context_line":"                \u0027instance.delete.end\u0027)"},{"line_number":622,"context_line":"        self.assertIsNotNone(n, \u0027Notification not received\u0027)"},{"line_number":623,"context_line":""},{"line_number":624,"context_line":"        for rp_uuid in [self._get_provider_uuid_by_host(hostname)"},{"line_number":625,"context_line":"                        for hostname in self.computes.keys()]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_77798d80","line":622,"updated":"2018-09-24 18:24:03.000000000","message":"Are these really okay if the notifications timed out (i.e. if n is not None, but is [])?","commit_id":"d8a639ec39f6484b9ec51ca07b6590d7530c502a"}],"nova/tests/functional/notification_sample_tests/notification_sample_base.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7f6b233c7f6abeae3d7bac9358bfa3fb07f22c77","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                                timeout\u003d10.0):"},{"line_number":246,"context_line":"        notifications \u003d fake_notifier.wait_for_versioned_notifications("},{"line_number":247,"context_line":"                event_type, n_events\u003dexpected_count, timeout\u003dtimeout)"},{"line_number":248,"context_line":"        msg \u003d \u0027\u0027.join(\u0027\\n%s\u0027 % notif for notif in notifications)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        self.assertEqual(expected_count, len(notifications),"},{"line_number":251,"context_line":"                         \u0027Unexpected number of %s notifications \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c499bf6d","line":248,"updated":"2018-09-25 13:41:30.000000000","message":"ditto","commit_id":"af477adf932457a05d770f8cf3af9686c6c6f0a5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"88d762f39de22c40fa570f4ea8e8299ec92f5e6b","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                    if notification[\u0027event_type\u0027] \u003d\u003d event_type]"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    def _wait_for_notification(self, event_type, timeout\u003d10.0):"},{"line_number":238,"context_line":"        # NOTE(mdbooth): wait_for_versioned_notifications raises an exception"},{"line_number":239,"context_line":"        # if it times out since change I017d1a31. Consider removing this"},{"line_number":240,"context_line":"        # method."},{"line_number":241,"context_line":"        fake_notifier.wait_for_versioned_notifications("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_79696d8a","line":238,"updated":"2018-10-01 18:33:05.000000000","message":"f man, just do it","commit_id":"06edf40412969f20d161a23e752f926e0fc7c6f8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"88d762f39de22c40fa570f4ea8e8299ec92f5e6b","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        fake_notifier.wait_for_versioned_notifications("},{"line_number":242,"context_line":"            event_type, timeout\u003dtimeout)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _wait_for_notifications(self, event_type, expected_count,"},{"line_number":245,"context_line":"                                timeout\u003d10.0):"},{"line_number":246,"context_line":"        notifications \u003d fake_notifier.wait_for_versioned_notifications("},{"line_number":247,"context_line":"                event_type, n_events\u003dexpected_count, timeout\u003dtimeout)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_5906f1cf","line":244,"range":{"start_line":244,"start_character":8,"end_line":244,"end_character":31},"updated":"2018-10-01 18:33:05.000000000","message":"and this one","commit_id":"06edf40412969f20d161a23e752f926e0fc7c6f8"}],"nova/tests/unit/fake_notifier.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"564551696d0ab6beb15259dfcc96b4e99bfcfd5e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def wait_n(self, n, event, timeout):"},{"line_number":42,"context_line":"        \"\"\"Wait until at least n notifications have been received, and return"},{"line_number":43,"context_line":"        them. May return less than n notifications if timeout is reached."},{"line_number":44,"context_line":"        \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        with timeutils.StopWatch(timeout) as timer:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_2f3fb686","line":43,"range":{"start_line":43,"start_character":14,"end_line":43,"end_character":73},"updated":"2018-10-01 09:33:01.000000000","message":"This is not true any more as the code raises AssertionError instead of returning a partial result.\n\nActually your unit test code (thanks for that!) show that the opposite is true. This function might return _more_ than n notifications if there are more in the queue when the wait_n() call is made.","commit_id":"c333e7e12ea9b49bad8c62591996bffeacca2f47"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"564551696d0ab6beb15259dfcc96b4e99bfcfd5e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                                                       None)))"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"def wait_for_versioned_notifications(event_type, n_events\u003d1, timeout\u003d10.0):"},{"line_number":145,"context_line":"    return VERSIONED_SUBS[event_type].wait_n(n_events, event_type, timeout)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_ef6d3e99","line":144,"range":{"start_line":144,"start_character":69,"end_line":144,"end_character":74},"updated":"2018-10-01 09:33:01.000000000","message":"This timeout increase only increases the execution time of a failing test (or a test that wait for the AssertionError but that would be weird) so it is OK for me.","commit_id":"c333e7e12ea9b49bad8c62591996bffeacca2f47"}]}
