)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e2ad42816f192f6a216cf7a5105f4e9ee2b4686b","unresolved":false,"context_lines":[{"line_number":3673,"context_line":"        dp_name \u003d instance.flavor.extra_specs.get(\u0027accel:device_profile\u0027)"},{"line_number":3674,"context_line":"        if dp_name:"},{"line_number":3675,"context_line":"            cyclient \u003d cyborg.get_client(context)"},{"line_number":3676,"context_line":"            accel_info \u003d cyclient.get_arqs_for_instance(instance.uuid)"},{"line_number":3677,"context_line":"        else:"},{"line_number":3678,"context_line":"            accel_info \u003d []"},{"line_number":3679,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"1fa4df85_30f0a1fe","line":3676,"updated":"2020-03-03 15:58:21.000000000","message":"AFAICT, this is not tested, as Gibi said many revisions ago.","commit_id":"359c4a1283cd443f6dc2d62f4a30c680b3791308"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"88269dfb25dc531f9c4c914de89abe1173d1c07b","unresolved":false,"context_lines":[{"line_number":3673,"context_line":"        dp_name \u003d instance.flavor.extra_specs.get(\u0027accel:device_profile\u0027)"},{"line_number":3674,"context_line":"        if dp_name:"},{"line_number":3675,"context_line":"            cyclient \u003d cyborg.get_client(context)"},{"line_number":3676,"context_line":"            accel_info \u003d cyclient.get_arqs_for_instance(instance.uuid)"},{"line_number":3677,"context_line":"        else:"},{"line_number":3678,"context_line":"            accel_info \u003d []"},{"line_number":3679,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"1fa4df85_599dfc63","line":3676,"in_reply_to":"1fa4df85_30f0a1fe","updated":"2020-03-09 01:07:15.000000000","message":"Done","commit_id":"359c4a1283cd443f6dc2d62f4a30c680b3791308"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6431c112c672e38f81a9d8e21b6ce43f7e83fc02","unresolved":false,"context_lines":[{"line_number":3722,"context_line":""},{"line_number":3723,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(context, instance)"},{"line_number":3724,"context_line":""},{"line_number":3725,"context_line":"        accel_info \u003d self._get_accel_info(context, instance)"},{"line_number":3726,"context_line":""},{"line_number":3727,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.start\")"},{"line_number":3728,"context_line":"        compute_utils.notify_about_instance_action("}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_3c7ac5b9","line":3725,"updated":"2020-03-19 13:04:48.000000000","message":"This could raise AcceleratorRequestOpFailed() that will be logged by the RPC handler as reboot RPC is a cast. I guess it is OK.","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"50724d3a5ac0a0b4d48b7efd030fe0547cf88a38","unresolved":false,"context_lines":[{"line_number":3681,"context_line":"                self.detach_volume(context, volume_id, instance)"},{"line_number":3682,"context_line":""},{"line_number":3683,"context_line":"    def _get_accel_info(self, context, instance):"},{"line_number":3684,"context_line":"        dp_name \u003d instance.flavor.extra_specs.get(\u0027accel:device_profile\u0027)"},{"line_number":3685,"context_line":"        if dp_name:"},{"line_number":3686,"context_line":"            cyclient \u003d cyborg.get_client(context)"},{"line_number":3687,"context_line":"            accel_info \u003d cyclient.get_arqs_for_instance(instance.uuid)"},{"line_number":3688,"context_line":"        else:"},{"line_number":3689,"context_line":"            accel_info \u003d []"},{"line_number":3690,"context_line":"        return accel_info"},{"line_number":3691,"context_line":""},{"line_number":3692,"context_line":"    @wrap_exception()"},{"line_number":3693,"context_line":"    @reverts_task_state"}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_3dc2b386","line":3690,"range":{"start_line":3684,"start_character":3,"end_line":3690,"end_character":25},"updated":"2020-03-23 20:00:21.000000000","message":"I would do this personally.\n\ndp_name \u003d instance.flavor.extra_specs.get(\u0027accel:device_profile\u0027)\nif not dp_name:\n    return []\ncyclient \u003d cyborg.get_client(context)\nreturn cyclient.get_arqs_for_instance(instance.uuid)\n\nBut it is the same.","commit_id":"63099c3871b7c201c8247073510904721862c9af"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0ff7b8015700829ea23c71c4870bba97000f102e","unresolved":false,"context_lines":[{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(context, instance)"},{"line_number":3725,"context_line":""},{"line_number":3726,"context_line":"        accel_info \u003d self._get_accel_info(context, instance)"},{"line_number":3727,"context_line":""},{"line_number":3728,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.start\")"},{"line_number":3729,"context_line":"        compute_utils.notify_about_instance_action("}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_71a2a49c","line":3726,"updated":"2020-03-24 01:16:00.000000000","message":"we need some error handling, like, set the instance to error if we fetch the arq failed.","commit_id":"63099c3871b7c201c8247073510904721862c9af"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cec26e7b485b8b3ea80ed5871a53c365edce514f","unresolved":false,"context_lines":[{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(context, instance)"},{"line_number":3725,"context_line":""},{"line_number":3726,"context_line":"        accel_info \u003d self._get_accel_info(context, instance)"},{"line_number":3727,"context_line":""},{"line_number":3728,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.start\")"},{"line_number":3729,"context_line":"        compute_utils.notify_about_instance_action("}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_27b27195","line":3726,"in_reply_to":"df33271e_5e915252","updated":"2020-03-26 01:08:46.000000000","message":"\u003e At this point we did not make any changes to the server yet so I\n \u003e would not put it to ERROR state. Similarly as how get_instance_nw_info\n \u003e could fail without putting the instance to ERROR state. I think the\n \u003e instance action will fail and such failure can be seen in nova\n \u003e instance-action-list\n\nThanks, this makes sense for me.","commit_id":"63099c3871b7c201c8247073510904721862c9af"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"7e01927e4d194a268e8ebfc8743c02bb3cad8a83","unresolved":false,"context_lines":[{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(context, instance)"},{"line_number":3725,"context_line":""},{"line_number":3726,"context_line":"        accel_info \u003d self._get_accel_info(context, instance)"},{"line_number":3727,"context_line":""},{"line_number":3728,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.start\")"},{"line_number":3729,"context_line":"        compute_utils.notify_about_instance_action("}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_e2cb6447","line":3726,"in_reply_to":"df33271e_5e915252","updated":"2020-03-25 14:08:14.000000000","message":"The _reboot_instance() method is called by reboot_instance(), which is decorated with \u0027@wrap_instance_fault\u0027. That takes care of error handling.\n\nFor the same reason, allied calls like _get_instance_block_device_info() and get_instance_nw_info do not have try-except blocks.","commit_id":"63099c3871b7c201c8247073510904721862c9af"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1020b89c137f5d9fcf7c88d1a28c2888dc3f71be","unresolved":false,"context_lines":[{"line_number":3723,"context_line":""},{"line_number":3724,"context_line":"        network_info \u003d self.network_api.get_instance_nw_info(context, instance)"},{"line_number":3725,"context_line":""},{"line_number":3726,"context_line":"        accel_info \u003d self._get_accel_info(context, instance)"},{"line_number":3727,"context_line":""},{"line_number":3728,"context_line":"        self._notify_about_instance_usage(context, instance, \"reboot.start\")"},{"line_number":3729,"context_line":"        compute_utils.notify_about_instance_action("}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_5e915252","line":3726,"in_reply_to":"df33271e_71a2a49c","updated":"2020-03-25 09:04:25.000000000","message":"At this point we did not make any changes to the server yet so I would not put it to ERROR state. Similarly as how get_instance_nw_info could fail without putting the instance to ERROR state. I think the instance action will fail and such failure can be seen in nova instance-action-list","commit_id":"63099c3871b7c201c8247073510904721862c9af"}],"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":"a1b607af6623dc477795cf1001a32f6b412811ba","unresolved":false,"context_lines":[{"line_number":3044,"context_line":"            \u0027args\u0027: (econtext, instance, expected_nw_info,"},{"line_number":3045,"context_line":"                     reboot_type),"},{"line_number":3046,"context_line":"            \u0027kwargs\u0027: {\u0027block_device_info\u0027: fake_block_dev_info,"},{"line_number":3047,"context_line":"                       \u0027accel_info\u0027: []}}"},{"line_number":3048,"context_line":"        fault \u003d exception.InstanceNotFound(instance_id\u003d\u0027instance-0000\u0027)"},{"line_number":3049,"context_line":""},{"line_number":3050,"context_line":"        def fake_reboot(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_cb6eb764","line":3047,"updated":"2020-02-18 12:09:51.000000000","message":"Sorry but this does not prove that the accel_info is coming from the flavor + cyborg","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e2ad42816f192f6a216cf7a5105f4e9ee2b4686b","unresolved":false,"context_lines":[{"line_number":3044,"context_line":"            \u0027args\u0027: (econtext, instance, expected_nw_info,"},{"line_number":3045,"context_line":"                     reboot_type),"},{"line_number":3046,"context_line":"            \u0027kwargs\u0027: {\u0027block_device_info\u0027: fake_block_dev_info,"},{"line_number":3047,"context_line":"                       \u0027accel_info\u0027: []}}"},{"line_number":3048,"context_line":"        fault \u003d exception.InstanceNotFound(instance_id\u003d\u0027instance-0000\u0027)"},{"line_number":3049,"context_line":""},{"line_number":3050,"context_line":"        def fake_reboot(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":18,"id":"1fa4df85_308bc16e","line":3047,"in_reply_to":"3fa7e38b_bdb6e88b","updated":"2020-03-03 15:58:21.000000000","message":"What he\u0027s saying is that you need a test case where the flavor used has a device profile and we assert that the driver is called with the result of get_arqs_for_instance() as a result of calling that manager method. You know...to make sure that code works.","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"14569311070289eddfdaed1c6630785ea58a9205","unresolved":false,"context_lines":[{"line_number":3044,"context_line":"            \u0027args\u0027: (econtext, instance, expected_nw_info,"},{"line_number":3045,"context_line":"                     reboot_type),"},{"line_number":3046,"context_line":"            \u0027kwargs\u0027: {\u0027block_device_info\u0027: fake_block_dev_info,"},{"line_number":3047,"context_line":"                       \u0027accel_info\u0027: []}}"},{"line_number":3048,"context_line":"        fault \u003d exception.InstanceNotFound(instance_id\u003d\u0027instance-0000\u0027)"},{"line_number":3049,"context_line":""},{"line_number":3050,"context_line":"        def fake_reboot(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_bdb6e88b","line":3047,"in_reply_to":"3fa7e38b_cb6eb764","updated":"2020-02-21 11:52:31.000000000","message":"The reboot() and _hard_reboot() take accel_info as parameters. Not sure what proof can be given that these parameters came from a call to Cyborg.\n\nAre you saying that this should be more than []?","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e2ad42816f192f6a216cf7a5105f4e9ee2b4686b","unresolved":false,"context_lines":[{"line_number":3044,"context_line":"            \u0027args\u0027: (econtext, instance, expected_nw_info,"},{"line_number":3045,"context_line":"                     reboot_type),"},{"line_number":3046,"context_line":"            \u0027kwargs\u0027: {\u0027block_device_info\u0027: fake_block_dev_info,"},{"line_number":3047,"context_line":"                       \u0027accel_info\u0027: []}}"},{"line_number":3048,"context_line":"        fault \u003d exception.InstanceNotFound(instance_id\u003d\u0027instance-0000\u0027)"},{"line_number":3049,"context_line":""},{"line_number":3050,"context_line":"        def fake_reboot(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1fa4df85_d07b4d78","line":3047,"updated":"2020-03-03 15:58:21.000000000","message":"Gibi\u0027s complaint about this still stands, AFAICT.","commit_id":"359c4a1283cd443f6dc2d62f4a30c680b3791308"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"88269dfb25dc531f9c4c914de89abe1173d1c07b","unresolved":false,"context_lines":[{"line_number":3044,"context_line":"            \u0027args\u0027: (econtext, instance, expected_nw_info,"},{"line_number":3045,"context_line":"                     reboot_type),"},{"line_number":3046,"context_line":"            \u0027kwargs\u0027: {\u0027block_device_info\u0027: fake_block_dev_info,"},{"line_number":3047,"context_line":"                       \u0027accel_info\u0027: []}}"},{"line_number":3048,"context_line":"        fault \u003d exception.InstanceNotFound(instance_id\u003d\u0027instance-0000\u0027)"},{"line_number":3049,"context_line":""},{"line_number":3050,"context_line":"        def fake_reboot(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1fa4df85_b992f055","line":3047,"in_reply_to":"1fa4df85_d07b4d78","updated":"2020-03-09 01:07:15.000000000","message":"Done","commit_id":"359c4a1283cd443f6dc2d62f4a30c680b3791308"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d5bbdd5a23c9f3c082f7dbc24e34ce658257da53","unresolved":false,"context_lines":[{"line_number":3175,"context_line":"             mock_get_blk, mock_get_bdms, mock_inst_save,"},{"line_number":3176,"context_line":"             extra_specs\u003dNone, accel_info\u003dNone):"},{"line_number":3177,"context_line":""},{"line_number":3178,"context_line":"        def fake_reboot(self, *args, **kwargs):"},{"line_number":3179,"context_line":"            reboot_call_info[\u0027args\u0027] \u003d args"},{"line_number":3180,"context_line":"            reboot_call_info[\u0027kwargs\u0027] \u003d kwargs"},{"line_number":3181,"context_line":"            kwargs.pop(\u0027bad_volumes_callback\u0027)  # see _test_reboot()"}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_2d272c15","line":3178,"updated":"2020-03-16 16:09:52.000000000","message":"IMHO, this really should be a mock with an assert_called_once_with() assertion. The test you\u0027re copying is ancient, long before the use of mock.","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a0b9ff554d7fea6263c17c5df8aff50ade3a6650","unresolved":false,"context_lines":[{"line_number":3175,"context_line":"             mock_get_blk, mock_get_bdms, mock_inst_save,"},{"line_number":3176,"context_line":"             extra_specs\u003dNone, accel_info\u003dNone):"},{"line_number":3177,"context_line":""},{"line_number":3178,"context_line":"        def fake_reboot(self, *args, **kwargs):"},{"line_number":3179,"context_line":"            reboot_call_info[\u0027args\u0027] \u003d args"},{"line_number":3180,"context_line":"            reboot_call_info[\u0027kwargs\u0027] \u003d kwargs"},{"line_number":3181,"context_line":"            kwargs.pop(\u0027bad_volumes_callback\u0027)  # see _test_reboot()"}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_2bbfcf61","line":3178,"in_reply_to":"1fa4df85_2d272c15","updated":"2020-03-22 01:28:48.000000000","message":"Done","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d5bbdd5a23c9f3c082f7dbc24e34ce658257da53","unresolved":false,"context_lines":[{"line_number":3178,"context_line":"        def fake_reboot(self, *args, **kwargs):"},{"line_number":3179,"context_line":"            reboot_call_info[\u0027args\u0027] \u003d args"},{"line_number":3180,"context_line":"            reboot_call_info[\u0027kwargs\u0027] \u003d kwargs"},{"line_number":3181,"context_line":"            kwargs.pop(\u0027bad_volumes_callback\u0027)  # see _test_reboot()"},{"line_number":3182,"context_line":""},{"line_number":3183,"context_line":"        reboot_call_info \u003d {}"},{"line_number":3184,"context_line":"        self.stub_out(\u0027nova.virt.fake.FakeDriver.reboot\u0027, fake_reboot)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_ad78fcf7","line":3181,"updated":"2020-03-16 16:09:52.000000000","message":"This would be resolvable with mock.ANY if you move to the above.","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a0b9ff554d7fea6263c17c5df8aff50ade3a6650","unresolved":false,"context_lines":[{"line_number":3178,"context_line":"        def fake_reboot(self, *args, **kwargs):"},{"line_number":3179,"context_line":"            reboot_call_info[\u0027args\u0027] \u003d args"},{"line_number":3180,"context_line":"            reboot_call_info[\u0027kwargs\u0027] \u003d kwargs"},{"line_number":3181,"context_line":"            kwargs.pop(\u0027bad_volumes_callback\u0027)  # see _test_reboot()"},{"line_number":3182,"context_line":""},{"line_number":3183,"context_line":"        reboot_call_info \u003d {}"},{"line_number":3184,"context_line":"        self.stub_out(\u0027nova.virt.fake.FakeDriver.reboot\u0027, fake_reboot)"}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_4bc48bf5","line":3181,"in_reply_to":"1fa4df85_ad78fcf7","updated":"2020-03-22 01:28:48.000000000","message":"Done","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a1b607af6623dc477795cf1001a32f6b412811ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3fa7e38b_cb3f9721","updated":"2020-02-18 12:09:51.000000000","message":"where do we cover that hard_reboot now passes accel_info to get_guest_xml ?","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"14569311070289eddfdaed1c6630785ea58a9205","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3fa7e38b_7ddf100b","in_reply_to":"3fa7e38b_cb3f9721","updated":"2020-02-21 11:52:31.000000000","message":"Done","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"}],"nova/virt/driver.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a1b607af6623dc477795cf1001a32f6b412811ba","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        :param reboot_type: Either a HARD or SOFT reboot"},{"line_number":431,"context_line":"        :param block_device_info: Info pertaining to attached volumes"},{"line_number":432,"context_line":"        :param bad_volumes_callback: Function to handle any bad volumes"},{"line_number":433,"context_line":"            encountered"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        raise NotImplementedError()"},{"line_number":436,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_6b31c358","line":433,"updated":"2020-02-18 12:09:51.000000000","message":"accel_info param is missing from the doc","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"14569311070289eddfdaed1c6630785ea58a9205","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        :param reboot_type: Either a HARD or SOFT reboot"},{"line_number":431,"context_line":"        :param block_device_info: Info pertaining to attached volumes"},{"line_number":432,"context_line":"        :param bad_volumes_callback: Function to handle any bad volumes"},{"line_number":433,"context_line":"            encountered"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        raise NotImplementedError()"},{"line_number":436,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_5d5d7415","line":433,"in_reply_to":"3fa7e38b_6b31c358","updated":"2020-02-21 11:52:31.000000000","message":"Done","commit_id":"9e619c0a9dc9b64c28f2c5f1ffd56ff51143cb5a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d5bbdd5a23c9f3c082f7dbc24e34ce658257da53","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        raise NotImplementedError()"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def reboot(self, context, instance, network_info, reboot_type,"},{"line_number":433,"context_line":"               block_device_info\u003dNone, accel_info\u003dNone,"},{"line_number":434,"context_line":"               bad_volumes_callback\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Reboot the specified instance."},{"line_number":436,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_adef9c85","line":433,"range":{"start_line":433,"start_character":39,"end_line":433,"end_character":55},"updated":"2020-03-16 16:09:52.000000000","message":"Once again, please add new arguments to the end of the list.","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a0b9ff554d7fea6263c17c5df8aff50ade3a6650","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        raise NotImplementedError()"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def reboot(self, context, instance, network_info, reboot_type,"},{"line_number":433,"context_line":"               block_device_info\u003dNone, accel_info\u003dNone,"},{"line_number":434,"context_line":"               bad_volumes_callback\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Reboot the specified instance."},{"line_number":436,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_ebe697b0","line":433,"range":{"start_line":433,"start_character":39,"end_line":433,"end_character":55},"in_reply_to":"1fa4df85_adef9c85","updated":"2020-03-22 01:28:48.000000000","message":"Done","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6431c112c672e38f81a9d8e21b6ce43f7e83fc02","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def reboot(self, context, instance, network_info, reboot_type,"},{"line_number":433,"context_line":"               block_device_info\u003dNone, accel_info\u003dNone,"},{"line_number":434,"context_line":"               bad_volumes_callback\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Reboot the specified instance."},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        After this is called successfully, the instance\u0027s state"}],"source_content_type":"text/x-python","patch_set":25,"id":"1fa4df85_478b2e67","line":434,"updated":"2020-03-19 13:04:48.000000000","message":"Do we need to notify out of tree drivers about the interface change? (I checked openstack-discuss but did not find such mail)","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"75c3297cab0afc55d75ca8aed8a1a47c372e0dc1","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def reboot(self, context, instance, network_info, reboot_type,"},{"line_number":433,"context_line":"               block_device_info\u003dNone, accel_info\u003dNone,"},{"line_number":434,"context_line":"               bad_volumes_callback\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Reboot the specified instance."},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        After this is called successfully, the instance\u0027s state"}],"source_content_type":"text/x-python","patch_set":25,"id":"df33271e_89fe2b03","line":434,"in_reply_to":"1fa4df85_478b2e67","updated":"2020-03-23 11:24:39.000000000","message":"I think we need something similar than [1] if it hasn\u0027t been done yet.\n\n[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-March/013507.html","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"39fa3fc2dd3ed114c174afa46802b77a8315345b","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def reboot(self, context, instance, network_info, reboot_type,"},{"line_number":433,"context_line":"               block_device_info\u003dNone, accel_info\u003dNone,"},{"line_number":434,"context_line":"               bad_volumes_callback\u003dNone):"},{"line_number":435,"context_line":"        \"\"\"Reboot the specified instance."},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        After this is called successfully, the instance\u0027s state"}],"source_content_type":"text/x-python","patch_set":25,"id":"df33271e_b119d589","line":434,"in_reply_to":"df33271e_89fe2b03","updated":"2020-03-23 16:09:21.000000000","message":"I would like to re-assert my opinion that notifying out of tree drivers is insane :)\n\nAlso, no point in sending that message until we merge this, IMHO.","commit_id":"4faa2a0b0a96b4b742c7b8d6d62ba3f84bc51e3c"}],"nova/virt/ironic/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"50724d3a5ac0a0b4d48b7efd030fe0547cf88a38","unresolved":false,"context_lines":[{"line_number":1387,"context_line":"            Ignored by this driver."},{"line_number":1388,"context_line":"        :param bad_volumes_callback: Function to handle any bad volumes"},{"line_number":1389,"context_line":"            encountered. Ignored by this driver."},{"line_number":1390,"context_line":"        :param accel_info: List of accelerator request dicts. The exact"},{"line_number":1391,"context_line":"            data struct is doc\u0027d in nova/virt/driver.py::spawn()."},{"line_number":1392,"context_line":"        \"\"\""},{"line_number":1393,"context_line":"        LOG.debug(\u0027Reboot(type %s) called for instance\u0027,"},{"line_number":1394,"context_line":"                  reboot_type, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_bd6403bb","line":1391,"range":{"start_line":1390,"start_character":62,"end_line":1391,"end_character":65},"updated":"2020-03-23 20:00:21.000000000","message":"nit i would remove this","commit_id":"63099c3871b7c201c8247073510904721862c9af"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"48a2bdf5802a496068500128afda3e6dddfdba0d","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"                destroy_disks\u003dTrue):"},{"line_number":1265,"context_line":"        # NOTE(Sundar): We don\u0027t delete accelerator requests (ARQs) here."},{"line_number":1266,"context_line":"        # This is called in hard reboot path, and there is no good way to"},{"line_number":1267,"context_line":"        # get new ARQs if the current ones are deleted."},{"line_number":1268,"context_line":"        self._destroy(instance)"},{"line_number":1269,"context_line":"        self.cleanup(context, instance, network_info, block_device_info,"},{"line_number":1270,"context_line":"                     destroy_disks)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_e08db47d","line":1267,"updated":"2020-02-03 15:11:43.000000000","message":"I think you can/should drop this. ARQs are the business of the compute manager, like network ports, and shouldn\u0027t/wouldn\u0027t be deleted by the virt driver anyway. It seems odd to have a comment here about some random thing we\u0027re not doing (nor would).","commit_id":"06baefca4b8dbddbb2e4fba434a724cd1dfd476a"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"c96c64dbbbacc8fde0f0fcd54848b18300c07cb4","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"                destroy_disks\u003dTrue):"},{"line_number":1265,"context_line":"        # NOTE(Sundar): We don\u0027t delete accelerator requests (ARQs) here."},{"line_number":1266,"context_line":"        # This is called in hard reboot path, and there is no good way to"},{"line_number":1267,"context_line":"        # get new ARQs if the current ones are deleted."},{"line_number":1268,"context_line":"        self._destroy(instance)"},{"line_number":1269,"context_line":"        self.cleanup(context, instance, network_info, block_device_info,"},{"line_number":1270,"context_line":"                     destroy_disks)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_1d44dc9e","line":1267,"in_reply_to":"3fa7e38b_e08db47d","updated":"2020-02-04 23:37:27.000000000","message":"Done","commit_id":"06baefca4b8dbddbb2e4fba434a724cd1dfd476a"}],"nova/virt/powervm/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"50724d3a5ac0a0b4d48b7efd030fe0547cf88a38","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        :param block_device_info: Info pertaining to attached volumes"},{"line_number":491,"context_line":"        :param bad_volumes_callback: Function to handle any bad volumes"},{"line_number":492,"context_line":"            encountered"},{"line_number":493,"context_line":"        :param accel_info: List of accelerator request dicts. The exact"},{"line_number":494,"context_line":"            data struct is doc\u0027d in nova/virt/driver.py::spawn()."},{"line_number":495,"context_line":"        \"\"\""},{"line_number":496,"context_line":"        self._log_operation(reboot_type + \u0027 reboot\u0027, instance)"},{"line_number":497,"context_line":"        vm.reboot(self.adapter, instance, reboot_type \u003d\u003d \u0027HARD\u0027)"}],"source_content_type":"text/x-python","patch_set":26,"id":"df33271e_fd5e8be4","line":494,"range":{"start_line":493,"start_character":61,"end_line":494,"end_character":65},"updated":"2020-03-23 20:00:21.000000000","message":"remove this","commit_id":"63099c3871b7c201c8247073510904721862c9af"}]}
