)]}'
{"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"03abbf62d3d9254b13ac52dff8dfccc8018cef55","unresolved":false,"context_lines":[{"line_number":551,"context_line":"        self.assertTrue(len(fake_notifier.VERSIONED_NOTIFICATIONS) \u003e\u003d 2,"},{"line_number":552,"context_line":"                        \u0027Unexpected number of versioned notifications. \u0027"},{"line_number":553,"context_line":"                        \u0027Expected at least 2, got: %s\u0027 %"},{"line_number":554,"context_line":"                        len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":555,"context_line":"        self._verify_notification("},{"line_number":556,"context_line":"            \u0027instance-volume_swap-start\u0027,"},{"line_number":557,"context_line":"            replacements\u003d{"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_4a6c43d0","line":554,"updated":"2016-11-09 15:56:00.000000000","message":"I\u0027m inclined to say this assertion is redundant, tbh, as if there are less than 2 we\u0027ll fail below anyway. I guess it\u0027s slightly cleaner to fail like this instead.","commit_id":"b99ff9b0a06e374aebdce0a08420b12b60856bb9"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"c3b12e05cba12c2f0ff0cd2e41ad4753aebc56ac","unresolved":false,"context_lines":[{"line_number":561,"context_line":"                                 self.cinder.SWAP_ERR_NEW_VOL)"},{"line_number":562,"context_line":"        self._wait_until_swap_volume_error()"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"        # Five versioned notifications are generated. We only rely on the"},{"line_number":565,"context_line":"        # first four because _wait_until_swap_volume_error will return True"},{"line_number":566,"context_line":"        # after volume_api.unreserve is called on the cinder fixture, and that"},{"line_number":567,"context_line":"        # happens before the instance fault is handled in the compute manager"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_4031e3a1","line":564,"range":{"start_line":564,"start_character":10,"end_line":564,"end_character":14},"updated":"2016-12-13 09:49:54.000000000","message":"Also this comment even relies on an exact number.","commit_id":"2e32ed122b415009722456716c47d8374e9d449c"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"4a414c8d47a61dd7750338d0663e044a1062c98f","unresolved":false,"context_lines":[{"line_number":562,"context_line":"        self._wait_until_swap_volume_error()"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"        # Five versioned notifications are generated. We only rely on the"},{"line_number":565,"context_line":"        # first four because _wait_until_swap_volume_error will return True"},{"line_number":566,"context_line":"        # after volume_api.unreserve is called on the cinder fixture, and that"},{"line_number":567,"context_line":"        # happens before the instance fault is handled in the compute manager"},{"line_number":568,"context_line":"        # which generates the 5th notification (compute.exception)."}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_208f8724","line":565,"range":{"start_line":565,"start_character":10,"end_line":565,"end_character":20},"updated":"2016-12-13 09:51:57.000000000","message":"This one too","commit_id":"2e32ed122b415009722456716c47d8374e9d449c"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"c3b12e05cba12c2f0ff0cd2e41ad4753aebc56ac","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        # first four because _wait_until_swap_volume_error will return True"},{"line_number":566,"context_line":"        # after volume_api.unreserve is called on the cinder fixture, and that"},{"line_number":567,"context_line":"        # happens before the instance fault is handled in the compute manager"},{"line_number":568,"context_line":"        # which generates the 5th notification (compute.exception)."},{"line_number":569,"context_line":"        # 0. instance-create-start"},{"line_number":570,"context_line":"        # 1. instance-create-start"},{"line_number":571,"context_line":"        # 2. instance-volume_swap-start"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_6026df69","line":568,"range":{"start_line":568,"start_character":30,"end_line":568,"end_character":33},"updated":"2016-12-13 09:49:54.000000000","message":"This one too","commit_id":"2e32ed122b415009722456716c47d8374e9d449c"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"d46cf7ef7a5387a710f10a8cb76b3434a5f1c6e1","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        # happens before the instance fault is handled in the compute manager"},{"line_number":568,"context_line":"        # which generates the 5th notification (compute.exception)."},{"line_number":569,"context_line":"        # 0. instance-create-start"},{"line_number":570,"context_line":"        # 1. instance-create-start"},{"line_number":571,"context_line":"        # 2. instance-volume_swap-start"},{"line_number":572,"context_line":"        # 3. instance-volume_swap-error"},{"line_number":573,"context_line":"        # 4. compute.exception"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_0c300701","line":570,"range":{"start_line":570,"start_character":29,"end_line":570,"end_character":34},"updated":"2016-12-13 09:43:57.000000000","message":"you should have fixed that also.","commit_id":"2e32ed122b415009722456716c47d8374e9d449c"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"566121ff67b6a27bdf2b940e5ed6f64250cef412","unresolved":false,"context_lines":[{"line_number":582,"context_line":"                \u0027old_volume_id\u0027: self.cinder.SWAP_ERR_OLD_VOL,"},{"line_number":583,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":584,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":585,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":586,"context_line":"        self._verify_notification("},{"line_number":587,"context_line":"            \u0027instance-volume_swap-error\u0027,"},{"line_number":588,"context_line":"            replacements\u003d{"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_00e52b36","line":585,"range":{"start_line":585,"start_character":57,"end_line":585,"end_character":58},"updated":"2016-12-13 09:47:27.000000000","message":"This is the reason why I think that new assert is not as good as the previous one was. (As you rely on an index..)","commit_id":"2e32ed122b415009722456716c47d8374e9d449c"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"566121ff67b6a27bdf2b940e5ed6f64250cef412","unresolved":false,"context_lines":[{"line_number":588,"context_line":"            replacements\u003d{"},{"line_number":589,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":590,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":591,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[3])"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_c0da5378","line":591,"range":{"start_line":591,"start_character":57,"end_line":591,"end_character":58},"updated":"2016-12-13 09:47:27.000000000","message":"This is the reason why I think that new assert is not as good as the previous one was. (As you rely on an index..)","commit_id":"2e32ed122b415009722456716c47d8374e9d449c"}]}
