)]}'
{"doc/notification_samples/instance-power_off-end.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d4f1245b78f571a91be1f46fd45053f1d01b0dc3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            \"reservation_id\":\"r-npxv0e40\","},{"line_number":36,"context_line":"            \"state\":\"stopped\","},{"line_number":37,"context_line":"            \"task_state\":null,"},{"line_number":38,"context_line":"            \"power_state\":\"shutdown\","},{"line_number":39,"context_line":"            \"tenant_id\":\"6f70656e737461636b20342065766572\","},{"line_number":40,"context_line":"            \"terminated_at\":null,"},{"line_number":41,"context_line":"            \"flavor\": {"}],"source_content_type":"application/json","patch_set":11,"id":"1a95cdbc_ef38adf0","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":37},"updated":"2016-10-07 12:13:52.000000000","message":"It is \u0027running\u0027 in the test most probably because the FakeDriver used in the functional test env does not calculate the instance state properly.","commit_id":"85d5acc9aa11095f5075b8dea2e7cf38fa5a3281"}],"nova/compute/manager.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9ed61eedb2507280bde5ec245d649698f1a388ae","unresolved":false,"context_lines":[{"line_number":2406,"context_line":"            instance.save(expected_task_state\u003dexpected_task_state)"},{"line_number":2407,"context_line":"            self._notify_about_instance_usage(context, instance,"},{"line_number":2408,"context_line":"                                              \"power_off.end\")"},{"line_number":2409,"context_line":""},{"line_number":2410,"context_line":"            compute_utils.notify_about_instance_action(context, instance,"},{"line_number":2411,"context_line":"                        self.host, action\u003dfields.NotificationAction.POWER_OFF,"},{"line_number":2412,"context_line":"                        phase\u003dfields.NotificationPhase.END)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_53f27d70","line":2409,"updated":"2016-06-28 11:24:36.000000000","message":"Nit: why this extra gap here? Its tempting to group the notifications together.","commit_id":"be66a2fd96d7cd64cbf856657e8e0b1b0393d48f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d4f1245b78f571a91be1f46fd45053f1d01b0dc3","unresolved":false,"context_lines":[{"line_number":2426,"context_line":"                                              \"power_off.start\")"},{"line_number":2427,"context_line":""},{"line_number":2428,"context_line":"            compute_utils.notify_about_instance_action(context, instance,"},{"line_number":2429,"context_line":"                        self.host, action\u003dfields.NotificationAction.POWER_OFF,"},{"line_number":2430,"context_line":"                        phase\u003dfields.NotificationPhase.START)"},{"line_number":2431,"context_line":""},{"line_number":2432,"context_line":"            self._power_off_instance(context, instance, clean_shutdown)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a95cdbc_0fa879da","line":2429,"updated":"2016-10-07 12:13:52.000000000","message":"a single indent should be enough","commit_id":"85d5acc9aa11095f5075b8dea2e7cf38fa5a3281"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":20217,"name":"Anusha Unnam","email":"anusha.unnam25@gmail.com","username":"aunnam"},"change_message_id":"81c0735de4bc58473e6c6771c5b6cfb498e8b448","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def test_create_poweroff_server(self):"},{"line_number":139,"context_line":"        server \u003d self._boot_a_server()"},{"line_number":140,"context_line":"        # self.api.post_server_action(server[\u0027id\u0027], {\u0027os-stop\u0027: {}})"},{"line_number":141,"context_line":"        # self._wait_for_state_change(server, expected_status\u003d\u0027SHUTOFF\u0027)"},{"line_number":142,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027power_off\u0027: {}})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_60e43a3b","line":139,"range":{"start_line":139,"start_character":36,"end_line":139,"end_character":38},"updated":"2016-06-21 17:17:56.000000000","message":"add these parameters here then the functional tests will pass. extra_params\u003d{\u0027networks\u0027:\n                                  [{\u0027port\u0027: NeutronFixture.port_1[\u0027id\u0027]}]})","commit_id":"835ce054800dfd4a186b3775ee234e67da2bcce3"},{"author":{"_account_id":20158,"name":"Andy Hsiang","email":"yh418t@att.com","username":"yh418t"},"change_message_id":"c082fec91d354ae93921421deadd91dea9e974c9","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def test_create_poweroff_server(self):"},{"line_number":139,"context_line":"        server \u003d self._boot_a_server()"},{"line_number":140,"context_line":"        # self.api.post_server_action(server[\u0027id\u0027], {\u0027os-stop\u0027: {}})"},{"line_number":141,"context_line":"        # self._wait_for_state_change(server, expected_status\u003d\u0027SHUTOFF\u0027)"},{"line_number":142,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027power_off\u0027: {}})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_909fd802","line":139,"range":{"start_line":139,"start_character":36,"end_line":139,"end_character":38},"in_reply_to":"3aaa91ec_60e43a3b","updated":"2016-06-22 04:33:13.000000000","message":"Done","commit_id":"835ce054800dfd4a186b3775ee234e67da2bcce3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c3aeee37a1a56905a2cd38f8b417be092503c2fa","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        self._verify_instance_update_steps(delete_steps, instance_updates,"},{"line_number":213,"context_line":"                                           initial\u003dreplacements)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _test_power_on_off_server(self, server):"},{"line_number":216,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], {\u0027os-stop\u0027: {}})"},{"line_number":217,"context_line":"        self._wait_for_state_change(self.api, server,"},{"line_number":218,"context_line":"                                    expected_status\u003d\u0027SHUTOFF\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da6895a0_f1782392","line":215,"range":{"start_line":215,"start_character":8,"end_line":215,"end_character":33},"updated":"2016-10-21 02:10:01.000000000","message":"nit: please rename this to _test_power_off_on_server since that\u0027s what it does in order.","commit_id":"2e7f28edc7b51009377bf2a34cff157258e2f8f2"}]}
