)]}'
{"nova/compute/api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"113a4c6e4319996f348b3066f2d08ddf93234106","unresolved":false,"context_lines":[{"line_number":3543,"context_line":"                preserve_ephemeral\u003dpreserve_ephemeral, host\u003dhost,"},{"line_number":3544,"context_line":"                request_spec\u003drequest_spec)"},{"line_number":3545,"context_line":""},{"line_number":3546,"context_line":"    def _check_volume_status(self, context, bdms):"},{"line_number":3547,"context_line":"        for bdm in bdms:"},{"line_number":3548,"context_line":"            if bdm.volume_id:"},{"line_number":3549,"context_line":"                vol \u003d self.volume_api.get(context, bdm.volume_id)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_8665b2b7","line":3546,"updated":"2020-06-26 17:19:49.000000000","message":"Can we get a docstring and parameter descriptions like below?","commit_id":"c096856a7bfef24cdfd4505eb6b8e68af1b1e4c5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"372b8864eda20a7e0c898f60da15a8d9eef4ca8d","unresolved":false,"context_lines":[{"line_number":3552,"context_line":"        for bdm in bdms:"},{"line_number":3553,"context_line":"            if bdm.volume_id:"},{"line_number":3554,"context_line":"                vol \u003d self.volume_api.get(context, bdm.volume_id)"},{"line_number":3555,"context_line":"                self.volume_api.check_attached(context, vol)"},{"line_number":3556,"context_line":""},{"line_number":3557,"context_line":"    @staticmethod"},{"line_number":3558,"context_line":"    def _validate_numa_rebuild(instance, image, flavor):"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_08a2f39a","line":3555,"updated":"2020-08-17 10:32:17.000000000","message":"This is the exact same code used in \u0027rescue\u0027. Could  you rework that function to call this one, here or in a follow-up?","commit_id":"0bcf74ec6c546de481ca18218f81e163783a0cb3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"372b8864eda20a7e0c898f60da15a8d9eef4ca8d","unresolved":false,"context_lines":[{"line_number":4224,"context_line":""},{"line_number":4225,"context_line":"        bdms \u003d objects.BlockDeviceMappingList.get_by_instance_uuid("},{"line_number":4226,"context_line":"                    context, instance.uuid)"},{"line_number":4227,"context_line":"        for bdm in bdms:"},{"line_number":4228,"context_line":"            if bdm.volume_id:"},{"line_number":4229,"context_line":"                vol \u003d self.volume_api.get(context, bdm.volume_id)"},{"line_number":4230,"context_line":"                self.volume_api.check_attached(context, vol)"},{"line_number":4231,"context_line":""},{"line_number":4232,"context_line":"        volume_backed \u003d compute_utils.is_volume_backed_instance("},{"line_number":4233,"context_line":"            context, instance, bdms)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_e89cdf5c","line":4230,"range":{"start_line":4227,"start_character":0,"end_line":4230,"end_character":60},"updated":"2020-08-17 10:32:17.000000000","message":"Here","commit_id":"0bcf74ec6c546de481ca18218f81e163783a0cb3"}],"nova/tests/unit/api/openstack/compute/test_server_actions.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"113a4c6e4319996f348b3066f2d08ddf93234106","unresolved":false,"context_lines":[{"line_number":673,"context_line":"                          self.req, FAKE_UUID, body\u003dbody)"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"    @mock.patch.object(compute_api.API, \u0027rebuild\u0027)"},{"line_number":676,"context_line":"    def test_rebuild_raise_invalid_volume_exc(self, mock_rebuild):"},{"line_number":677,"context_line":"        body \u003d {"},{"line_number":678,"context_line":"            \"rebuild\": {"},{"line_number":679,"context_line":"                \"imageRef\": self._image_href,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_c65b2af3","line":676,"updated":"2020-06-26 17:19:49.000000000","message":"Could you add a docstring explaining what you\u0027re doing here and why it\u0027s failing?","commit_id":"c096856a7bfef24cdfd4505eb6b8e68af1b1e4c5"}],"nova/tests/unit/compute/test_compute_api.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f3f3e8cfcec090a44b1c918548e53e605b7840b8","unresolved":false,"context_lines":[{"line_number":3701,"context_line":"        req_spec_get_by_inst_uuid.return_value \u003d fake_spec"},{"line_number":3702,"context_line":""},{"line_number":3703,"context_line":"        with test.nested("},{"line_number":3704,"context_line":"                mock.patch.object(self.compute_api.volume_api, \u0027check_attached\u0027),"},{"line_number":3705,"context_line":"                mock.patch.object(self.compute_api.volume_api, \u0027get\u0027),"},{"line_number":3706,"context_line":"        ) as (mock_check_attached, mock_get_volume):"},{"line_number":3707,"context_line":"            mock_check_attached.side_effect \u003d exception.InvalidVolume(\u0027error\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_aa87b1d7","line":3704,"updated":"2020-06-15 15:06:50.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"25860b5b35fc7dbd00c9ceb5732672706c1ab810"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f3f3e8cfcec090a44b1c918548e53e605b7840b8","unresolved":false,"context_lines":[{"line_number":3721,"context_line":"            _check_auto_disk_config.assert_called_once_with("},{"line_number":3722,"context_line":"                image\u003dimage, auto_disk_config\u003dNone)"},{"line_number":3723,"context_line":"            _check_image_arch.assert_called_once_with(image\u003dimage)"},{"line_number":3724,"context_line":"            _checks_for_create_and_rebuild.assert_called_once_with(self.context,"},{"line_number":3725,"context_line":"                    None, image, flavor, {}, [], None)"},{"line_number":3726,"context_line":""},{"line_number":3727,"context_line":"    @mock.patch.object(objects.RequestSpec, \u0027get_by_instance_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_0a6cdd34","line":3724,"updated":"2020-06-15 15:06:50.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"25860b5b35fc7dbd00c9ceb5732672706c1ab810"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"113a4c6e4319996f348b3066f2d08ddf93234106","unresolved":false,"context_lines":[{"line_number":3672,"context_line":"            _checks_for_create_and_rebuild, _check_auto_disk_config,"},{"line_number":3673,"context_line":"            _check_image_arch, mock_get_image,"},{"line_number":3674,"context_line":"            mock_get_bdms, get_flavor,"},{"line_number":3675,"context_line":"            instance_save, req_spec_get_by_inst_uuid):"},{"line_number":3676,"context_line":"        instance \u003d fake_instance.fake_instance_obj("},{"line_number":3677,"context_line":"            self.context, vm_state\u003dvm_states.ACTIVE, cell_name\u003d\u0027fake-cell\u0027,"},{"line_number":3678,"context_line":"            launched_at\u003dtimeutils.utcnow(),"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf51134e_26766671","line":3675,"updated":"2020-06-26 17:19:49.000000000","message":"Could you add a docstring?","commit_id":"c096856a7bfef24cdfd4505eb6b8e68af1b1e4c5"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"96ddef97b8097220a55f8658f9a44524ae048306","unresolved":false,"context_lines":[{"line_number":3708,"context_line":"                                  \u0027check_attached\u0027),"},{"line_number":3709,"context_line":"                mock.patch.object(self.compute_api.volume_api, \u0027get\u0027),"},{"line_number":3710,"context_line":"        ) as (mock_check_attached, mock_get_volume):"},{"line_number":3711,"context_line":"            mock_check_attached.side_effect \u003d exception.InvalidVolume(\u0027error\u0027)"},{"line_number":3712,"context_line":"            mock_get_volume.return_value \u003d mock.sentinel.volume"},{"line_number":3713,"context_line":"            self.assertRaises(exception.InvalidVolume,"},{"line_number":3714,"context_line":"                              self.compute_api.rebuild,"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_1d5deae8","line":3711,"range":{"start_line":3711,"start_character":12,"end_line":3711,"end_character":78},"updated":"2020-08-19 10:18:54.000000000","message":"You shouldn\u0027t need to mock this out, you need to exercise the code in that method that\u0027s raising InvalidVolume.","commit_id":"3bb02fd10a26c015465ba52d105fb1dd1bca3f65"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"96ddef97b8097220a55f8658f9a44524ae048306","unresolved":false,"context_lines":[{"line_number":3709,"context_line":"                mock.patch.object(self.compute_api.volume_api, \u0027get\u0027),"},{"line_number":3710,"context_line":"        ) as (mock_check_attached, mock_get_volume):"},{"line_number":3711,"context_line":"            mock_check_attached.side_effect \u003d exception.InvalidVolume(\u0027error\u0027)"},{"line_number":3712,"context_line":"            mock_get_volume.return_value \u003d mock.sentinel.volume"},{"line_number":3713,"context_line":"            self.assertRaises(exception.InvalidVolume,"},{"line_number":3714,"context_line":"                              self.compute_api.rebuild,"},{"line_number":3715,"context_line":"                              self.context,"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_fd0476c8","line":3712,"range":{"start_line":3712,"start_character":12,"end_line":3712,"end_character":63},"updated":"2020-08-19 10:18:54.000000000","message":"You don\u0027t need to mock the above if you return {\u0027status\u0027: \u0027retyping\u0027} etc here","commit_id":"3bb02fd10a26c015465ba52d105fb1dd1bca3f65"}]}
