)]}'
{"doc/notification_samples/instance-soft_delete-start.json":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4e001c2341b5176466aa1be1570c9caa4392d6ca","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"ramdisk_id\":\"\","},{"line_number":37,"context_line":"            \"reservation_id\":\"r-npxv0e40\","},{"line_number":38,"context_line":"            \"state\":\"active\","},{"line_number":39,"context_line":"            \"task_state\": \"soft-deleting\","},{"line_number":40,"context_line":"            \"power_state\":\"running\","},{"line_number":41,"context_line":"            \"tenant_id\":\"6f70656e737461636b20342065766572\","},{"line_number":42,"context_line":"            \"terminated_at\":null,"}],"source_content_type":"application/json","patch_set":5,"id":"df140735_75bf3ad0","line":39,"range":{"start_line":39,"start_character":25,"end_line":39,"end_character":26},"updated":"2017-05-31 13:14:34.000000000","message":"quick q - how come some of these have spaces and some don\u0027t? I assume it doesn\u0027t matter?","commit_id":"73f5299b4f32bb1b7f9c1616beab998094da0222"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"5f6e0e012fe1894cc94451df2f60a2f3cd578e35","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \"ramdisk_id\":\"\","},{"line_number":37,"context_line":"            \"reservation_id\":\"r-npxv0e40\","},{"line_number":38,"context_line":"            \"state\":\"active\","},{"line_number":39,"context_line":"            \"task_state\": \"soft-deleting\","},{"line_number":40,"context_line":"            \"power_state\":\"running\","},{"line_number":41,"context_line":"            \"tenant_id\":\"6f70656e737461636b20342065766572\","},{"line_number":42,"context_line":"            \"terminated_at\":null,"}],"source_content_type":"application/json","patch_set":5,"id":"df140735_78a4cfb9","line":39,"range":{"start_line":39,"start_character":25,"end_line":39,"end_character":26},"in_reply_to":"df140735_75bf3ad0","updated":"2017-05-31 13:38:09.000000000","message":"Hey,\n\nIt does not really matter in this case. Currently, there are several patches which will solve this problem (see at [1] and [2]) and they will modify all of the current notification sample, so I think it doesn\u0027t matter right now. \n\n[1]: https://review.openstack.org/#/c/452818\n[2]: https://review.openstack.org/#/c/443677","commit_id":"73f5299b4f32bb1b7f9c1616beab998094da0222"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6af7576bd37d0ca80b46e19e017fe8cd2ae3ea9c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \"nova_object.version\":\"1.2\""},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \"priority\":\"INFO\","},{"line_number":74,"context_line":"    \"publisher_id\":\"nova-compute:compute\""},{"line_number":75,"context_line":"}"}],"source_content_type":"application/json","patch_set":8,"id":"5f201791_d7aad717","line":74,"range":{"start_line":74,"start_character":33,"end_line":74,"end_character":40},"updated":"2017-06-20 18:26:36.000000000","message":"The API can also be sending compute.instance.soft_delete.start/end notifications here:\n\nhttps://github.com/openstack/nova/blob/6dabf1081554abb4100eb8befe9b2916434d61cb/nova/compute/api.py#L1982\n\nand here:\n\nhttps://github.com/openstack/nova/blob/6dabf1081554abb4100eb8befe9b2916434d61cb/nova/compute/api.py#L1986\n\nThat\u0027s when _delete is called via the soft_delete method, the delete_type value is \u0027soft_delete\u0027. So do we plan on also converting those to versioned notifications?\n\nI know Dan Smith and I had a conversation with gibi about whether it even makes sense to send soft delete notifications from the API when doing a \u0027local\u0027 delete (local to the API either because the instance is shelved offloaded or the compute host it\u0027s running on is down). In the local delete case, there is no soft delete, the instance is hard deleted.\n\nMaybe that\u0027s unimportant to this change which is the compute-side notification in the \u0027normal\u0027 case where the instance is running on a host and the delete happens from the compute service.","commit_id":"53bcae7f697bab0af90b2a7630c9eb3d85abe0a7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e17ea88ef1a72209ba7580b0f8dfb90cdb6a20da","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \"nova_object.version\":\"1.2\""},{"line_number":72,"context_line":"    },"},{"line_number":73,"context_line":"    \"priority\":\"INFO\","},{"line_number":74,"context_line":"    \"publisher_id\":\"nova-compute:compute\""},{"line_number":75,"context_line":"}"}],"source_content_type":"application/json","patch_set":8,"id":"5f201791_02a8fd1c","line":74,"range":{"start_line":74,"start_character":33,"end_line":74,"end_character":40},"in_reply_to":"5f201791_d7aad717","updated":"2017-06-21 07:37:00.000000000","message":"@Matt: We discussed this extensively as part of [1] . The agreement and the implementation was to not send soft_delete in the local delete case. The patch [1] sends legacy delete in case of local delete and sends legacy soft_delete in the compute-side case. The subsequent patch [2] that is on top of [1] adds the sending of versioned delete in case of local delete. I think this covers your comment. \n\n[1] https://review.openstack.org/#/c/443764/6/nova/compute/api.py","commit_id":"53bcae7f697bab0af90b2a7630c9eb3d85abe0a7"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"1a617c6c17b95c781ce6c3dca753465b11d96e9b","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":795,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":796,"context_line":"        # Leave instance in normal, active state"},{"line_number":797,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027restore\u0027: {}})"}],"source_content_type":"text/x-python","patch_set":3,"id":"5ff73747_2783fa58","line":797,"updated":"2017-05-03 09:36:25.000000000","message":"Looks a little bit strange when we make restore here.\nI see it\u0027s for test_instance_action, but for me setUp, tearDown would be a better approach.","commit_id":"5f295ac2189e5d9be72bf68b1d7618f3167c2f46"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"6f57840bfbee1d0ef1b1f69cdb85a9171275f431","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":795,"context_line":"        self.flags(reclaim_instance_interval\u003d0)"},{"line_number":796,"context_line":"        # Leave instance in normal, active state"},{"line_number":797,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027restore\u0027: {}})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_a72228ff","line":797,"in_reply_to":"5ff73747_2783fa58","updated":"2017-05-08 15:30:24.000000000","message":"setUp and tearDown should run before and after every test, but we would like to run only before and after this test (lots of test would require their own setUp and tearDown method, and implementing them in  lots of separate and small methods would end in a real messy code). So I think personally this is a better way to do this. \n\nAnd it is required because of [1]. We check after every test, if instance in active state, so the tests are not rely on each other (as they should not).\n\n[1]: https://review.openstack.org/#/c/448655/","commit_id":"5f295ac2189e5d9be72bf68b1d7618f3167c2f46"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"1a617c6c17b95c781ce6c3dca753465b11d96e9b","unresolved":false,"context_lines":[{"line_number":3445,"context_line":"            mock.patch.object(self.compute, \u0027_notify_about_instance_usage\u0027),"},{"line_number":3446,"context_line":"            mock.patch.object(objects.Instance, \u0027save\u0027),"},{"line_number":3447,"context_line":"            mock.patch.object(self.compute.driver, \u0027soft_delete\u0027)"},{"line_number":3448,"context_line":"        ) as (fake_notify, fake_notify_usage, fake_save, fake_soft_delete):"},{"line_number":3449,"context_line":"            self.compute.soft_delete_instance(self.context, inst_obj, [])"},{"line_number":3450,"context_line":"            fake_notify.assert_has_calls(["},{"line_number":3451,"context_line":"                mock.call(self.context, inst_obj, \u0027fake-mini\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5ff73747_87d88e7f","line":3448,"updated":"2017-05-03 09:36:25.000000000","message":"nit: a more flat structure with decorators would look simpler in this case","commit_id":"5f295ac2189e5d9be72bf68b1d7618f3167c2f46"}]}
