)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c810970a33c9605d89308bad9d88ff7f84c24414","unresolved":false,"context_lines":[{"line_number":10,"context_line":"are transformed to the versioned framework."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id6cbf8a794b4297f9d52bb0e7e0cd19119bae212"},{"line_number":13,"context_line":"Implements: bp versioned-notification-transformation-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"fa31d9ce_2492a04c","line":13,"updated":"2017-02-15 11:44:44.000000000","message":"if you have to respin the patch then please change this to versioned-notification-transformation-pike","commit_id":"334a9a48c7d0631c684729b8487c31c7bd94b477"}],"nova/objects/fields.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"81318da821e6e24195ce3568ddec89fcbb88a53e","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"    ALL \u003d (UPDATE, EXCEPTION, DELETE, PAUSE, UNPAUSE, RESIZE, VOLUME_SWAP,"},{"line_number":522,"context_line":"           SUSPEND, POWER_ON, REBOOT, SHUTDOWN, SNAPSHOT, ADD_FIXED_IP,"},{"line_number":523,"context_line":"           POWER_OFF, SHELVE, RESUME, RESTORE, SOFT_DELETE)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"# TODO(rlrossit): These should be changed over to be a StateMachine enum from"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_b1443db7","line":523,"updated":"2016-10-14 10:23:23.000000000","message":"This causes that the EvenType needs a version bump","commit_id":"9837e9f197feb012cd6dc5a0fb6b463fa22c1129"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f6c4fe705ce06d2107ebd33294cd624bd2bf474e","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"    ALL \u003d (UPDATE, EXCEPTION, DELETE, PAUSE, UNPAUSE, RESIZE, VOLUME_SWAP,"},{"line_number":522,"context_line":"           SUSPEND, POWER_ON, REBOOT, SHUTDOWN, SNAPSHOT, ADD_FIXED_IP,"},{"line_number":523,"context_line":"           POWER_OFF, SHELVE, RESUME, RESTORE, SOFT_DELETE)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"# TODO(rlrossit): These should be changed over to be a StateMachine enum from"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_87052c12","line":523,"in_reply_to":"fa6399be_b1443db7","updated":"2016-10-14 15:16:26.000000000","message":"I made a change where I pre-added the needed NotificationAction values so that we avoid merge conflict with each other bumping the version. Please rebase your change top of https://review.openstack.org/#/c/386659/","commit_id":"9837e9f197feb012cd6dc5a0fb6b463fa22c1129"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"81318da821e6e24195ce3568ddec89fcbb88a53e","unresolved":false,"context_lines":[{"line_number":400,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":401,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def _test_soft_delete_server(self, server):"},{"line_number":404,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":405,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027soft_delete\u0027: {}})"},{"line_number":406,"context_line":"        self._wait_for_state_change(self.api, server, \u0027SOFT_DELETED\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_b1ed1db9","line":403,"updated":"2016-10-14 10:23:23.000000000","message":"You have to include this function into the list of functions in L57-64 to make it part of the test execution","commit_id":"9837e9f197feb012cd6dc5a0fb6b463fa22c1129"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c7b6c9000a5c8593ee4966424a340edd47a306a1","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            self._test_suspend_server,"},{"line_number":66,"context_line":"            self._test_pause_server,"},{"line_number":67,"context_line":"            self._test_shelve_server,"},{"line_number":68,"context_line":"            self._test_resize_server,"},{"line_number":69,"context_line":"        ]"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        for action in actions:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6895a0_df14aa45","line":68,"updated":"2016-10-25 14:34:55.000000000","message":"\u0027self._test_soft_delete_server\u0027 should be added here.","commit_id":"fc06de061779f8302427f1717e5e9afd9a8597a1"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c7b6c9000a5c8593ee4966424a340edd47a306a1","unresolved":false,"context_lines":[{"line_number":371,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def _attach_volume_to_server(self, server, volume_id):"},{"line_number":376,"context_line":"        self.api.post_server_volume("},{"line_number":377,"context_line":"            server[\u0027id\u0027], {\"volumeAttachment\": {\"volumeId\": volume_id}})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6895a0_7c1c8c77","line":374,"updated":"2016-10-25 14:34:55.000000000","message":"Here.","commit_id":"fc06de061779f8302427f1717e5e9afd9a8597a1"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c7b6c9000a5c8593ee4966424a340edd47a306a1","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":437,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def _test_soft_delete_server(self, server):"},{"line_number":440,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":441,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027soft_delete\u0027: {}})"},{"line_number":442,"context_line":"        self._wait_for_state_change(self.api, server, \u0027SOFT_DELETED\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6895a0_1c31d005","line":439,"updated":"2016-10-25 14:34:55.000000000","message":"This method should be moved to just after \u0027 _test_restore_server\u0027.","commit_id":"fc06de061779f8302427f1717e5e9afd9a8597a1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c9d339cf6ab7787818f0e3f594dc57452f1a4dc","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self._test_shelve_server,"},{"line_number":68,"context_line":"            self._test_shelve_offload_server,"},{"line_number":69,"context_line":"            self._test_resize_server,"},{"line_number":70,"context_line":"           # self._test_soft_delete_server,"},{"line_number":71,"context_line":"        ]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        for action in actions:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_0859d35a","line":70,"updated":"2016-10-27 12:35:24.000000000","message":"you need to enable it eventually","commit_id":"30c0cae99c3a8eae6669b3ea26e44591a51082e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c9d339cf6ab7787818f0e3f594dc57452f1a4dc","unresolved":false,"context_lines":[{"line_number":498,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":499,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":500,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":501,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_a89e2754","line":501,"updated":"2016-10-27 12:35:24.000000000","message":"pep8 fails due to this extra line. Could you please remove it?","commit_id":"30c0cae99c3a8eae6669b3ea26e44591a51082e3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c521f3425e1dc813ee5af7620a7990b36d4c9937","unresolved":false,"context_lines":[{"line_number":474,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":475,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _test_restore_server(self, server):"},{"line_number":478,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":479,"context_line":"        self.api.delete_server(server[\u0027id\u0027])"},{"line_number":480,"context_line":"        self._wait_for_state_change(self.api, server, \u0027SOFT_DELETED\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5da102_7efe9739","line":477,"updated":"2016-11-04 15:21:37.000000000","message":"This part of the test fails as it also calls soft delete and now you patch emits a notification here as well.\n\nEither you have to adapt this test step with the extra notification or you have to combine the soft_delete and restore steps into one.","commit_id":"e34303854c185bfba9ce1292662b7e6fc78b1a59"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"2a3109e744fd676cf92c1478caf433db259671e1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            self._test_shelve_offload_server,"},{"line_number":71,"context_line":"            self._test_unshelve_server,"},{"line_number":72,"context_line":"            self._test_resize_server,"},{"line_number":73,"context_line":"            self._test_soft_delete_server,"},{"line_number":74,"context_line":"        ]"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        for action in actions:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a629dbe_ebde7e3c","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":42},"updated":"2016-11-14 15:45:23.000000000","message":"Move this function call before self._test_restore_server.  That way we are preserving the original logic of soft_deleting the test instance before restoring it back.","commit_id":"f9866df73b785302c4c887f9e16b2e41c45178b6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"be435fdfe2a9d7f98dc0636cf604328b8babdb17","unresolved":false,"context_lines":[{"line_number":474,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":475,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _test_restore_server(self, server):"},{"line_number":478,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":479,"context_line":"        self.api.delete_server(server[\u0027id\u0027])"},{"line_number":480,"context_line":"        self._wait_for_state_change(self.api, server, \u0027SOFT_DELETED\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a629dbe_0c621e0a","line":477,"updated":"2016-11-11 02:21:35.000000000","message":"In patch 5, Balazs\u0027 comment suggested that you dont need to create the _test_soft_delete_server function.  So you need to do the following:\n\n- delete _test_soft_delete_server and remove the call to this function in line 73.\n\n- rename  this function \u0027_test_restore_server\u0027 to \u0027_test_soft_del_n_restore_srvr\u0027 to denote that \u0027soft delete\u0027 and \u0027restore\u0027 notifications are tested within this same function.","commit_id":"f9866df73b785302c4c887f9e16b2e41c45178b6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"6c61554b60498a283cb5e9826cc74226eb7d4820","unresolved":false,"context_lines":[{"line_number":482,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":485,"context_line":"        self._verify_notification("},{"line_number":486,"context_line":"            \u0027instance-soft_delete-start\u0027,"},{"line_number":487,"context_line":"            replacements\u003d{"},{"line_number":488,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":489,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":490,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":491,"context_line":"        self._verify_notification("},{"line_number":492,"context_line":"            \u0027instance-soft_delete-end\u0027,"},{"line_number":493,"context_line":"            replacements\u003d{"},{"line_number":494,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":495,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":496,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":497,"context_line":"        self._verify_notification("},{"line_number":498,"context_line":"            \u0027instance-restore-start\u0027,"},{"line_number":499,"context_line":"            replacements\u003d{"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a629dbe_e099547a","line":496,"range":{"start_line":485,"start_character":0,"end_line":496,"end_character":60},"updated":"2016-11-11 16:36:49.000000000","message":"Just wanted to add clarification to my previous comment that the reason we don\u0027t need the _test_soft_delete_server function anymore is because the soft_delete notification test is already being done right here.","commit_id":"f9866df73b785302c4c887f9e16b2e41c45178b6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"2a3109e744fd676cf92c1478caf433db259671e1","unresolved":false,"context_lines":[{"line_number":482,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":485,"context_line":"        self._verify_notification("},{"line_number":486,"context_line":"            \u0027instance-soft_delete-start\u0027,"},{"line_number":487,"context_line":"            replacements\u003d{"},{"line_number":488,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":489,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":490,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":491,"context_line":"        self._verify_notification("},{"line_number":492,"context_line":"            \u0027instance-soft_delete-end\u0027,"},{"line_number":493,"context_line":"            replacements\u003d{"},{"line_number":494,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":495,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":496,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":497,"context_line":"        self._verify_notification("},{"line_number":498,"context_line":"            \u0027instance-restore-start\u0027,"},{"line_number":499,"context_line":"            replacements\u003d{"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a629dbe_8bd5021d","line":496,"range":{"start_line":485,"start_character":0,"end_line":496,"end_character":60},"in_reply_to":"9a629dbe_e099547a","updated":"2016-11-14 15:45:23.000000000","message":"Revert the \"_test_restore_server\"  function to its original code (see base version).   \n\nThen remove the first three lines from this function as we are moving \u0027soft_delete\" operation to the new \u0027_test_soft_delete_server\u0027 function.","commit_id":"f9866df73b785302c4c887f9e16b2e41c45178b6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"6c61554b60498a283cb5e9826cc74226eb7d4820","unresolved":false,"context_lines":[{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def _test_soft_delete_server(self, server):"},{"line_number":513,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":514,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027soft_delete\u0027: {}})"},{"line_number":515,"context_line":"        self._wait_for_state_change(self.api, server, \u0027SOFT_DELETED\u0027)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        self.assertEqual(2, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":518,"context_line":"        self._verify_notification("},{"line_number":519,"context_line":"            \u0027instance-soft_delete-start\u0027,"},{"line_number":520,"context_line":"            replacements\u003d{"},{"line_number":521,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":522,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":523,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":524,"context_line":"        self._verify_notification("},{"line_number":525,"context_line":"            \u0027instance-soft_delete-end\u0027,"},{"line_number":526,"context_line":"            replacements\u003d{"},{"line_number":527,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":528,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":529,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":530,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027restore\u0027: {}})"},{"line_number":531,"context_line":"        self._wait_for_state_change(self.admin_api, server, \u0027ACTIVE\u0027)"},{"line_number":532,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    def _attach_volume_to_server(self, server, volume_id):"},{"line_number":535,"context_line":"        self.api.post_server_volume("},{"line_number":536,"context_line":"            server[\u0027id\u0027], {\"volumeAttachment\": {\"volumeId\": volume_id}})"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a629dbe_20950c32","line":533,"range":{"start_line":512,"start_character":0,"end_line":533,"end_character":0},"updated":"2016-11-11 16:36:49.000000000","message":"you can remove these lines based on previous comments.","commit_id":"f9866df73b785302c4c887f9e16b2e41c45178b6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"2a3109e744fd676cf92c1478caf433db259671e1","unresolved":false,"context_lines":[{"line_number":509,"context_line":""},{"line_number":510,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def _test_soft_delete_server(self, server):"},{"line_number":513,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":514,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027soft_delete\u0027: {}})"},{"line_number":515,"context_line":"        self._wait_for_state_change(self.api, server, \u0027SOFT_DELETED\u0027)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        self.assertEqual(2, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":518,"context_line":"        self._verify_notification("},{"line_number":519,"context_line":"            \u0027instance-soft_delete-start\u0027,"},{"line_number":520,"context_line":"            replacements\u003d{"},{"line_number":521,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":522,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":523,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":524,"context_line":"        self._verify_notification("},{"line_number":525,"context_line":"            \u0027instance-soft_delete-end\u0027,"},{"line_number":526,"context_line":"            replacements\u003d{"},{"line_number":527,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":528,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":529,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":530,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027restore\u0027: {}})"},{"line_number":531,"context_line":"        self._wait_for_state_change(self.admin_api, server, \u0027ACTIVE\u0027)"},{"line_number":532,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    def _attach_volume_to_server(self, server, volume_id):"},{"line_number":535,"context_line":"        self.api.post_server_volume("},{"line_number":536,"context_line":"            server[\u0027id\u0027], {\"volumeAttachment\": {\"volumeId\": volume_id}})"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a629dbe_ebcbdea1","line":533,"range":{"start_line":512,"start_character":0,"end_line":533,"end_character":0},"in_reply_to":"9a629dbe_20950c32","updated":"2016-11-14 15:45:23.000000000","message":"Replace line 514 with the following:\n\n             self.api.delete_server(server[\u0027id\u0027])\n\nThe self.api.delete_server will trigger \"soft_delete\" action since reclaim_instance_interval value is greater than 0","commit_id":"f9866df73b785302c4c887f9e16b2e41c45178b6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"c4398f46b92273c8c1446957515a763838d8d1a2","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _test_restore_server(self, server):"},{"line_number":478,"context_line":"        self.flags(reclaim_instance_interval\u003d30)"},{"line_number":479,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027restore\u0027: {}})"},{"line_number":480,"context_line":"        self._wait_for_state_change(self.api, server, \u0027ACTIVE\u0027)"},{"line_number":481,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_4a1da30e","line":478,"range":{"start_line":478,"start_character":1,"end_line":478,"end_character":48},"updated":"2016-11-14 20:44:04.000000000","message":"Remove this line per my comment in patch 8.  We only set this flag when doing soft delete, not for restore.","commit_id":"7ba7d66f03de45ab42713c84485b7ddf94ce8959"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7c9d339cf6ab7787818f0e3f594dc57452f1a4dc","unresolved":false,"context_lines":[{"line_number":3310,"context_line":"            mock.patch.object(objects.Instance, \u0027save\u0027),"},{"line_number":3311,"context_line":"            mock.patch.object(self.compute.driver, \u0027soft_delete\u0027)"},{"line_number":3312,"context_line":"        ) as (fake_notify, fake_notify_usage, fake_save, fake_soft_delete):"},{"line_number":3313,"context_line":"            self.compute.soft_delete_instance(self.context, inst_obj)"},{"line_number":3314,"context_line":"            fake_notify.assert_has_calls(["},{"line_number":3315,"context_line":"                mock.call(self.context, inst_obj, \u0027fake-mini\u0027,"},{"line_number":3316,"context_line":"                          action\u003d\u0027soft_delete\u0027, phase\u003d\u0027start\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_a373a8b0","line":3313,"updated":"2016-10-27 12:35:24.000000000","message":"There is a 3rd parameter \u0027reservations\u0027 that is missing from here.","commit_id":"30c0cae99c3a8eae6669b3ea26e44591a51082e3"},{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"ff21cc64dc2f811af927dffc47bbcf705a2a0a5d","unresolved":false,"context_lines":[{"line_number":3348,"context_line":"    def test_instance_soft_delete_notification(self):"},{"line_number":3349,"context_line":"        inst_obj \u003d fake_instance.fake_instance_obj(self.context,"},{"line_number":3350,"context_line":"            vm_state\u003dvm_states.ACTIVE)"},{"line_number":3351,"context_line":"        with test.nested("},{"line_number":3352,"context_line":"            mock.patch.object(nova.compute.utils,"},{"line_number":3353,"context_line":"                              \u0027notify_about_instance_action\u0027),"},{"line_number":3354,"context_line":"            mock.patch.object(self.compute, \u0027_notify_about_instance_usage\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_5f6da5ca","line":3351,"updated":"2017-01-06 17:30:00.000000000","message":"Is there any reason why this is preferred over adding mock.patch to the test definition.","commit_id":"334a9a48c7d0631c684729b8487c31c7bd94b477"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"af11c1b125ba0f239c6b5dfcd03602a18d55070d","unresolved":false,"context_lines":[{"line_number":3348,"context_line":"    def test_instance_soft_delete_notification(self):"},{"line_number":3349,"context_line":"        inst_obj \u003d fake_instance.fake_instance_obj(self.context,"},{"line_number":3350,"context_line":"            vm_state\u003dvm_states.ACTIVE)"},{"line_number":3351,"context_line":"        with test.nested("},{"line_number":3352,"context_line":"            mock.patch.object(nova.compute.utils,"},{"line_number":3353,"context_line":"                              \u0027notify_about_instance_action\u0027),"},{"line_number":3354,"context_line":"            mock.patch.object(self.compute, \u0027_notify_about_instance_usage\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_5619e421","line":3351,"in_reply_to":"ba5201f7_5f6da5ca","updated":"2017-01-09 10:06:35.000000000","message":"I think it is matter of taste here. For me it is more readable with decorators but it is good as is.","commit_id":"334a9a48c7d0631c684729b8487c31c7bd94b477"}]}
