)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b563d718db7c9ddad22ce2436f31604def9429db","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"While we build_instances() we should cleanup arqs if the"},{"line_number":10,"context_line":"_create_and_bind_arqs() failed. And we just need to cleanup arqs when"},{"line_number":11,"context_line":"_create_and_bind_arqs() calls failed to reeduce the number of"},{"line_number":12,"context_line":"calls to Cyborg with cyborgclient."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I44285cc89d38aa7d776e72efac00074d3ff5b5c2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f4c43b2_dec6e148","line":11,"range":{"start_line":11,"start_character":40,"end_line":11,"end_character":47},"updated":"2020-04-17 00:28:12.000000000","message":"s/reeduce/reduce","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"}],"nova/conductor/manager.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b563d718db7c9ddad22ce2436f31604def9429db","unresolved":false,"context_lines":[{"line_number":595,"context_line":"            legacy_request_spec)"},{"line_number":596,"context_line":"        self._cleanup_allocated_networks("},{"line_number":597,"context_line":"            context, instance, requested_networks)"},{"line_number":598,"context_line":"        compute_utils.delete_arqs_if_needed(context, instance)"},{"line_number":599,"context_line":""},{"line_number":600,"context_line":"    # NOTE(danms): This is never cell-targeted because it is only used for"},{"line_number":601,"context_line":"    # n-cpu reschedules which go to the cell conductor and thus are always"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_def42189","side":"PARENT","line":598,"updated":"2020-04-17 00:28:12.000000000","message":"if \"compute_utils.delete_arqs_if_needed(context, instance)\" contained in _cleanup_when_reschedule_fails() function, once we call _cleanup_when_reschedule_fails that we need to clean the arqs whether the instance is caused by _create_and_bind_arqs(), so I think while hit _create_and_bind_arqs failed then to cleanup is better.","commit_id":"e69acacf457d69777160b09df121da239fbdbc2f"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b563d718db7c9ddad22ce2436f31604def9429db","unresolved":false,"context_lines":[{"line_number":846,"context_line":"                LOG.exception(\u0027Failed to reschedule. Reason: %s\u0027, exc)"},{"line_number":847,"context_line":"                self._cleanup_when_reschedule_fails(context, instance, exc,"},{"line_number":848,"context_line":"                     legacy_request_spec, requested_networks)"},{"line_number":849,"context_line":"                compute_utils.delete_arqs_if_needed(context, instance)"},{"line_number":850,"context_line":"                continue"},{"line_number":851,"context_line":""},{"line_number":852,"context_line":"            self.compute_rpcapi.build_and_run_instance(context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_7ecced60","line":849,"updated":"2020-04-17 00:28:12.000000000","message":"We cleanup the arqs mapping of the instance in Cyborg while the instance create and/or bind arq failed. That I would like to add some comments in it, such as:\n\"Delete Cyborg ARQs if the instance has a device profile.\"","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"42cf25ad838e1641a9dc50f2ab1eb8e077824784","unresolved":false,"context_lines":[{"line_number":846,"context_line":"                LOG.exception(\u0027Failed to reschedule. Reason: %s\u0027, exc)"},{"line_number":847,"context_line":"                self._cleanup_when_reschedule_fails(context, instance, exc,"},{"line_number":848,"context_line":"                     legacy_request_spec, requested_networks)"},{"line_number":849,"context_line":"                compute_utils.delete_arqs_if_needed(context, instance)"},{"line_number":850,"context_line":"                continue"},{"line_number":851,"context_line":""},{"line_number":852,"context_line":"            self.compute_rpcapi.build_and_run_instance(context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_e178602b","line":849,"in_reply_to":"3f4c43b2_7ecced60","updated":"2020-04-17 01:58:10.000000000","message":"Done","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cf07f6ad650652512924f345453b7c261ffb98ac","unresolved":false,"context_lines":[{"line_number":847,"context_line":"                self._cleanup_when_reschedule_fails(context, instance, exc,"},{"line_number":848,"context_line":"                     legacy_request_spec, requested_networks)"},{"line_number":849,"context_line":"                # Delete Cyborg ARQs if the instance has a device profile."},{"line_number":850,"context_line":"                compute_utils.delete_arqs_if_needed(context, instance)"},{"line_number":851,"context_line":"                continue"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"            self.compute_rpcapi.build_and_run_instance(context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_956908c0","line":850,"updated":"2020-06-17 08:29:47.000000000","message":"I may missed something. Do we cleanup arqs before reschduling, I didn\u0027t find it on the nova-compute side https://github.com/openstack/nova/blob/1490a54fa92ece6d9fd676d8e4a7498460714f92/nova/compute/manager.py#L2159","commit_id":"6bb9ba6c39f08302915f691213dc5f5f02694d7b"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"23bfbd91e19ea0d9bbfb9470669b5b4a32446c57","unresolved":false,"context_lines":[{"line_number":847,"context_line":"                self._cleanup_when_reschedule_fails(context, instance, exc,"},{"line_number":848,"context_line":"                     legacy_request_spec, requested_networks)"},{"line_number":849,"context_line":"                # Delete Cyborg ARQs if the instance has a device profile."},{"line_number":850,"context_line":"                compute_utils.delete_arqs_if_needed(context, instance)"},{"line_number":851,"context_line":"                continue"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"            self.compute_rpcapi.build_and_run_instance(context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_6014744f","line":850,"in_reply_to":"bf51134e_956908c0","updated":"2020-06-17 09:56:56.000000000","message":"We just need to cleanup arqs when we create and bind arqs fail.","commit_id":"6bb9ba6c39f08302915f691213dc5f5f02694d7b"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b563d718db7c9ddad22ce2436f31604def9429db","unresolved":false,"context_lines":[{"line_number":3581,"context_line":"                       \u0027_cleanup_allocated_networks\u0027)"},{"line_number":3582,"context_line":"    @mock.patch.object(conductor_manager.ComputeTaskManager,"},{"line_number":3583,"context_line":"                       \u0027_set_vm_state_and_notify\u0027)"},{"line_number":3584,"context_line":"    @mock.patch.object(compute_utils, \u0027delete_arqs_if_needed\u0027)"},{"line_number":3585,"context_line":"    def test_cleanup_arqs_on_reschedule(self, mock_del_arqs,"},{"line_number":3586,"context_line":"            mock_set_vm, mock_clean_net):"},{"line_number":3587,"context_line":"        instance \u003d fake_instance.fake_instance_obj(self.context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_7e3a2d34","line":3584,"range":{"start_line":3584,"start_character":4,"end_line":3584,"end_character":62},"updated":"2020-04-17 00:28:12.000000000","message":"You were removed compute_utils.delete_arqs_if_needed from _cleanup_when_reschedule_fails(), so this mock can be removed from this test case.","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"42cf25ad838e1641a9dc50f2ab1eb8e077824784","unresolved":false,"context_lines":[{"line_number":3581,"context_line":"                       \u0027_cleanup_allocated_networks\u0027)"},{"line_number":3582,"context_line":"    @mock.patch.object(conductor_manager.ComputeTaskManager,"},{"line_number":3583,"context_line":"                       \u0027_set_vm_state_and_notify\u0027)"},{"line_number":3584,"context_line":"    @mock.patch.object(compute_utils, \u0027delete_arqs_if_needed\u0027)"},{"line_number":3585,"context_line":"    def test_cleanup_arqs_on_reschedule(self, mock_del_arqs,"},{"line_number":3586,"context_line":"            mock_set_vm, mock_clean_net):"},{"line_number":3587,"context_line":"        instance \u003d fake_instance.fake_instance_obj(self.context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_4188341e","line":3584,"range":{"start_line":3584,"start_character":4,"end_line":3584,"end_character":62},"in_reply_to":"3f4c43b2_7e3a2d34","updated":"2020-04-17 01:58:10.000000000","message":"Done","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b563d718db7c9ddad22ce2436f31604def9429db","unresolved":false,"context_lines":[{"line_number":3588,"context_line":"        self.conductor_manager._cleanup_when_reschedule_fails("},{"line_number":3589,"context_line":"            self.context, instance, exception\u003dNone,"},{"line_number":3590,"context_line":"            legacy_request_spec\u003dNone, requested_networks\u003dNone)"},{"line_number":3591,"context_line":"        mock_del_arqs.assert_not_called()"},{"line_number":3592,"context_line":""},{"line_number":3593,"context_line":"    def test_cleanup_allocated_networks_none_requested(self):"},{"line_number":3594,"context_line":"        # Tests that we don\u0027t deallocate networks if \u0027none\u0027 were specifically"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_be44b5b8","line":3591,"range":{"start_line":3591,"start_character":8,"end_line":3591,"end_character":41},"updated":"2020-04-17 00:28:12.000000000","message":"ditto","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"42cf25ad838e1641a9dc50f2ab1eb8e077824784","unresolved":false,"context_lines":[{"line_number":3588,"context_line":"        self.conductor_manager._cleanup_when_reschedule_fails("},{"line_number":3589,"context_line":"            self.context, instance, exception\u003dNone,"},{"line_number":3590,"context_line":"            legacy_request_spec\u003dNone, requested_networks\u003dNone)"},{"line_number":3591,"context_line":"        mock_del_arqs.assert_not_called()"},{"line_number":3592,"context_line":""},{"line_number":3593,"context_line":"    def test_cleanup_allocated_networks_none_requested(self):"},{"line_number":3594,"context_line":"        # Tests that we don\u0027t deallocate networks if \u0027none\u0027 were specifically"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_81799c30","line":3591,"range":{"start_line":3591,"start_character":8,"end_line":3591,"end_character":41},"in_reply_to":"3f4c43b2_be44b5b8","updated":"2020-04-17 01:58:10.000000000","message":"Done","commit_id":"7aaa2b7b5ea61833d6018893317f241cdfd0ae5a"}]}
