)]}'
{"doc/notification_samples/instance-lock.json":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"2e77fe99c99f08b4e8260e02d0d667fc903820e4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"event_type\":\"instance.lock.start\","},{"line_number":3,"context_line":"    \"payload\":{"},{"line_number":4,"context_line":"        \"$ref\": \"common_payloads/InstanceActionPayload.json#\""},{"line_number":5,"context_line":"    },"},{"line_number":6,"context_line":"    \"priority\":\"INFO\","},{"line_number":7,"context_line":"    \"publisher_id\":\"nova-api:host\""},{"line_number":8,"context_line":"}"}],"source_content_type":"application/json","patch_set":1,"id":"5f7c97a3_fee44ce2","line":8,"range":{"start_line":1,"start_character":0,"end_line":8,"end_character":1},"updated":"2018-06-20 06:38:37.000000000","message":"must add lock field.","commit_id":"432f4aae12f35e5beddfc8c9baecd12d8285f004"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"89e608f854124ff1123eee7bc8e3b13835aba473","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"event_type\":\"instance.lock.start\","},{"line_number":3,"context_line":"    \"payload\":{"},{"line_number":4,"context_line":"        \"$ref\": \"common_payloads/InstanceActionPayload.json#\""},{"line_number":5,"context_line":"    },"},{"line_number":6,"context_line":"    \"priority\":\"INFO\","},{"line_number":7,"context_line":"    \"publisher_id\":\"nova-api:host\""},{"line_number":8,"context_line":"}"}],"source_content_type":"application/json","patch_set":1,"id":"5f7c97a3_6ffba446","line":8,"range":{"start_line":1,"start_character":0,"end_line":8,"end_character":1},"in_reply_to":"5f7c97a3_fee44ce2","updated":"2018-06-20 08:49:55.000000000","message":"Done","commit_id":"432f4aae12f35e5beddfc8c9baecd12d8285f004"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6050472fb0c33a83e106b2666dbdfe75c8685eb8","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    \"payload\":{"},{"line_number":4,"context_line":"        \"$ref\": \"common_payloads/InstanceActionPayload.json#\","},{"line_number":5,"context_line":"        \"nova_object.data\":{"},{"line_number":6,"context_line":"            \"locked\":true"},{"line_number":7,"context_line":"        }"},{"line_number":8,"context_line":"    },"},{"line_number":9,"context_line":"    \"priority\":\"INFO\","}],"source_content_type":"application/json","patch_set":5,"id":"5f7c97a3_e083e7a7","line":6,"updated":"2018-06-25 19:22:11.000000000","message":"I guess we aren\u0027t including \"locked_by\" because it\u0027s not part of the GET /servers/{id} response?","commit_id":"102cdb9315023219c582334d49d57568c8de1847"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"419daefdf702df400c55194947e07a98fa1fc0e7","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    \"payload\":{"},{"line_number":4,"context_line":"        \"$ref\": \"common_payloads/InstanceActionPayload.json#\","},{"line_number":5,"context_line":"        \"nova_object.data\":{"},{"line_number":6,"context_line":"            \"locked\":true"},{"line_number":7,"context_line":"        }"},{"line_number":8,"context_line":"    },"},{"line_number":9,"context_line":"    \"priority\":\"INFO\","}],"source_content_type":"application/json","patch_set":5,"id":"5f7c97a3_cabb61e2","line":6,"in_reply_to":"5f7c97a3_e083e7a7","updated":"2018-06-26 01:45:17.000000000","message":"Yes","commit_id":"102cdb9315023219c582334d49d57568c8de1847"}],"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":"3beadcd50fb4dacbc5c84b57d25b9113601d554d","unresolved":false,"context_lines":[{"line_number":1666,"context_line":"    def _test_lock_instance(self, server):"},{"line_number":1667,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027lock\u0027: {}})"},{"line_number":1668,"context_line":"        self._wait_for_server_parameter(self.api, server, {\u0027locked\u0027: True})"},{"line_number":1669,"context_line":"        # Four versioned notifications are generated"},{"line_number":1670,"context_line":"        # 0. instance-lock"},{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":"        self.assertEqual(1, len(fake_notifier.VERSIONED_NOTIFICATIONS))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_3eb63b40","line":1669,"range":{"start_line":1669,"start_character":10,"end_line":1669,"end_character":14},"updated":"2018-06-20 13:11:57.000000000","message":"nit: bad copy paste :)","commit_id":"932c0f0d6031efee193f0d8d7c2783bc28096e4c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7dd1974d60d1e21cc74570f71b136b65c6061187","unresolved":false,"context_lines":[{"line_number":1666,"context_line":"    def _test_lock_instance(self, server):"},{"line_number":1667,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027lock\u0027: {}})"},{"line_number":1668,"context_line":"        self._wait_for_server_parameter(self.api, server, {\u0027locked\u0027: True})"},{"line_number":1669,"context_line":"        # Four versioned notifications are generated"},{"line_number":1670,"context_line":"        # 0. instance-lock"},{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":"        self.assertEqual(1, len(fake_notifier.VERSIONED_NOTIFICATIONS))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_6e79532d","line":1669,"range":{"start_line":1669,"start_character":10,"end_line":1669,"end_character":14},"in_reply_to":"5f7c97a3_3eb63b40","updated":"2018-06-21 02:28:13.000000000","message":"oops, done~","commit_id":"932c0f0d6031efee193f0d8d7c2783bc28096e4c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3beadcd50fb4dacbc5c84b57d25b9113601d554d","unresolved":false,"context_lines":[{"line_number":1675,"context_line":"            replacements\u003d{"},{"line_number":1676,"context_line":"                \u0027reservation_id\u0027: server[\u0027reservation_id\u0027],"},{"line_number":1677,"context_line":"                \u0027uuid\u0027: server[\u0027id\u0027]},"},{"line_number":1678,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[0])"},{"line_number":1679,"context_line":""},{"line_number":1680,"context_line":""},{"line_number":1681,"context_line":"class TestInstanceNotificationSampleOldAttachFlow("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_de7067a7","line":1678,"updated":"2018-06-20 13:11:57.000000000","message":"This function does not set the state of the server back to unlocked. It does not cause any problem now as _test_lock_instance is the last test step we do on the server. This is fine as in your next patch you add the unlock action to this test step.","commit_id":"932c0f0d6031efee193f0d8d7c2783bc28096e4c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6050472fb0c33a83e106b2666dbdfe75c8685eb8","unresolved":false,"context_lines":[{"line_number":1664,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":1665,"context_line":""},{"line_number":1666,"context_line":"    def _test_lock_instance(self, server):"},{"line_number":1667,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027lock\u0027: {}})"},{"line_number":1668,"context_line":"        self._wait_for_server_parameter(self.api, server, {\u0027locked\u0027: True})"},{"line_number":1669,"context_line":"        # One versioned notification is generated"},{"line_number":1670,"context_line":"        # 0. instance-lock"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_e008c72d","line":1667,"range":{"start_line":1667,"start_character":59,"end_line":1667,"end_character":61},"updated":"2018-06-25 19:22:11.000000000","message":"nit: this could just be None (and is documented as None in the API reference sample).","commit_id":"102cdb9315023219c582334d49d57568c8de1847"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"419daefdf702df400c55194947e07a98fa1fc0e7","unresolved":false,"context_lines":[{"line_number":1664,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":1665,"context_line":""},{"line_number":1666,"context_line":"    def _test_lock_instance(self, server):"},{"line_number":1667,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027lock\u0027: {}})"},{"line_number":1668,"context_line":"        self._wait_for_server_parameter(self.api, server, {\u0027locked\u0027: True})"},{"line_number":1669,"context_line":"        # One versioned notification is generated"},{"line_number":1670,"context_line":"        # 0. instance-lock"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_6aca4d6e","line":1667,"range":{"start_line":1667,"start_character":59,"end_line":1667,"end_character":61},"in_reply_to":"5f7c97a3_e008c72d","updated":"2018-06-26 01:45:17.000000000","message":"OK, I will address this soon.","commit_id":"102cdb9315023219c582334d49d57568c8de1847"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3beadcd50fb4dacbc5c84b57d25b9113601d554d","unresolved":false,"context_lines":[{"line_number":11009,"context_line":"        mock_event.assert_called_once_with(ctxt,"},{"line_number":11010,"context_line":"                                           \u0027api_lock\u0027,"},{"line_number":11011,"context_line":"                                           CONF.host,"},{"line_number":11012,"context_line":"                                           instance.uuid)"},{"line_number":11013,"context_line":""},{"line_number":11014,"context_line":"    @mock.patch(\u0027nova.context.RequestContext.elevated\u0027)"},{"line_number":11015,"context_line":"    @mock.patch(\u0027nova.compute.api.API._record_action_start\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_fe5d23ec","line":11012,"updated":"2018-06-20 13:11:57.000000000","message":"please assert that the notify_about_instance_action() is called. (I think if you mock that then the ctxt doesn\u0027t need to be changed above)","commit_id":"932c0f0d6031efee193f0d8d7c2783bc28096e4c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7dd1974d60d1e21cc74570f71b136b65c6061187","unresolved":false,"context_lines":[{"line_number":11009,"context_line":"        mock_event.assert_called_once_with(ctxt,"},{"line_number":11010,"context_line":"                                           \u0027api_lock\u0027,"},{"line_number":11011,"context_line":"                                           CONF.host,"},{"line_number":11012,"context_line":"                                           instance.uuid)"},{"line_number":11013,"context_line":""},{"line_number":11014,"context_line":"    @mock.patch(\u0027nova.context.RequestContext.elevated\u0027)"},{"line_number":11015,"context_line":"    @mock.patch(\u0027nova.compute.api.API._record_action_start\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ee92434b","line":11012,"in_reply_to":"5f7c97a3_fe5d23ec","updated":"2018-06-21 02:28:13.000000000","message":"OK, done, the ctxt doesn\u0027t need to be changed. I will change these in next PS.","commit_id":"932c0f0d6031efee193f0d8d7c2783bc28096e4c"}]}
