)]}'
{"nova/compute/api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"69500d7e9ee3800979933f27d5903a9454e030a9","unresolved":false,"context_lines":[{"line_number":3843,"context_line":""},{"line_number":3844,"context_line":"    # TODO(stephenfin): This logic would be so much easier to grok if we"},{"line_number":3845,"context_line":"    # finally split resize and cold migration into separate code paths"},{"line_number":3846,"context_line":"    # TODO(stephenfin): Drop the clean_shutdown argument"},{"line_number":3847,"context_line":"    # TODO(stephenfin): The \u0027block_accelerators\u0027 decorator doesn\u0027t take into"},{"line_number":3848,"context_line":"    # account the accelerators requested in the new flavor"},{"line_number":3849,"context_line":"    @block_accelerators"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_e9cd3a5f","line":3846,"updated":"2020-07-17 16:25:45.000000000","message":"I don\u0027t know what I was smoking here. This is clearly used.","commit_id":"f81775b603e5d712627bf1a7d031bfea581228ba"}],"nova/tests/unit/api/openstack/compute/test_rescue.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b0c26a544c73bb09c5d55249e5878aacba903ac1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#   License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import ddt"},{"line_number":18,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":19,"context_line":"import webob"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova.api.openstack import api_version_request"},{"line_number":22,"context_line":"from nova.api.openstack.compute import rescue as rescue_v21"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_b32418b1","line":19,"range":{"start_line":15,"start_character":0,"end_line":19,"end_character":12},"updated":"2020-08-17 11:11:20.000000000","message":"Now I\u0027m confused, shouldn\u0027t we list these togther?","commit_id":"7e264511647e9ec9e917757de8776b4e886a4108"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a2f7c2912065b3abe2371153899a3b35067d9c88","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#   License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import ddt"},{"line_number":18,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":19,"context_line":"import webob"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova.api.openstack import api_version_request"},{"line_number":22,"context_line":"from nova.api.openstack.compute import rescue as rescue_v21"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_52689ff3","line":19,"range":{"start_line":15,"start_character":0,"end_line":19,"end_character":12},"in_reply_to":"9f560f44_b32418b1","updated":"2020-08-24 16:44:45.000000000","message":"We should. I\u0027m not sure why I did this","commit_id":"7e264511647e9ec9e917757de8776b4e886a4108"}],"nova/tests/unit/api/openstack/compute/test_server_actions.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b0c26a544c73bb09c5d55249e5878aacba903ac1","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import ddt"},{"line_number":17,"context_line":"import fixtures"},{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":20,"context_line":"from oslo_utils import uuidutils"},{"line_number":21,"context_line":"import webob"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from nova.api.openstack.compute import servers as servers_v21"},{"line_number":24,"context_line":"from nova.compute import api as compute_api"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_f335f0dc","line":21,"range":{"start_line":16,"start_character":0,"end_line":21,"end_character":12},"updated":"2020-08-17 11:11:20.000000000","message":"As you\u0027ve done here.","commit_id":"7e264511647e9ec9e917757de8776b4e886a4108"}],"nova/tests/unit/api/openstack/compute/test_shelve.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b0c26a544c73bb09c5d55249e5878aacba903ac1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import ddt"},{"line_number":18,"context_line":"from oslo_serialization import jsonutils"},{"line_number":19,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":"import webob"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from nova.api.openstack import api_version_request"},{"line_number":24,"context_line":"from nova.api.openstack.compute import shelve as shelve_v21"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_d356ec06","line":21,"range":{"start_line":15,"start_character":0,"end_line":21,"end_character":12},"updated":"2020-08-17 11:11:20.000000000","message":"Same question.","commit_id":"7e264511647e9ec9e917757de8776b4e886a4108"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a2f7c2912065b3abe2371153899a3b35067d9c88","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import ddt"},{"line_number":18,"context_line":"from oslo_serialization import jsonutils"},{"line_number":19,"context_line":"from oslo_utils.fixture import uuidsentinel as uuids"},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":"import webob"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from nova.api.openstack import api_version_request"},{"line_number":24,"context_line":"from nova.api.openstack.compute import shelve as shelve_v21"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_f27613d8","line":21,"range":{"start_line":15,"start_character":0,"end_line":21,"end_character":12},"in_reply_to":"9f560f44_d356ec06","updated":"2020-08-24 16:44:45.000000000","message":"Also incorrect","commit_id":"7e264511647e9ec9e917757de8776b4e886a4108"}],"nova/tests/unit/compute/test_api.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b0c26a544c73bb09c5d55249e5878aacba903ac1","unresolved":false,"context_lines":[{"line_number":2111,"context_line":"        \u0027nova.compute.utils.is_volume_backed_instance\u0027,"},{"line_number":2112,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse))"},{"line_number":2113,"context_line":"    @mock.patch.object(flavors, \u0027get_flavor_by_flavor_id\u0027)"},{"line_number":2114,"context_line":"    def test_resize__with_vtpm(self, mock_get_flavor):"},{"line_number":2115,"context_line":"        \"\"\"Ensure resizes are rejected if either flavor requests vTPM.\"\"\""},{"line_number":2116,"context_line":"        fake_inst \u003d self._create_instance_obj()"},{"line_number":2117,"context_line":"        current_flavor \u003d fake_inst.flavor"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_2c68f9f2","line":2114,"range":{"start_line":2114,"start_character":8,"end_line":2114,"end_character":30},"updated":"2020-08-17 11:11:20.000000000","message":"test_resize_with_vtpm","commit_id":"feff7ed8667c062a099b7a04ba5a2f603e5184d6"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b0c26a544c73bb09c5d55249e5878aacba903ac1","unresolved":false,"context_lines":[{"line_number":2168,"context_line":"    @mock.patch("},{"line_number":2169,"context_line":"        \u0027nova.compute.utils.is_volume_backed_instance\u0027,"},{"line_number":2170,"context_line":"        new\u003dmock.Mock(return_value\u003dFalse))"},{"line_number":2171,"context_line":"    def test_migrate__with_vtpm(self):"},{"line_number":2172,"context_line":"        \"\"\"Ensure migrations are rejected if instance uses vTPM.\"\"\""},{"line_number":2173,"context_line":"        flavor \u003d self._create_flavor("},{"line_number":2174,"context_line":"            extra_specs\u003d{\u0027hw:tpm_version\u0027: \u00272.0\u0027})"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_4c656d1d","line":2171,"range":{"start_line":2171,"start_character":8,"end_line":2171,"end_character":31},"updated":"2020-08-17 11:11:20.000000000","message":"test_migrate_with_vtpm","commit_id":"feff7ed8667c062a099b7a04ba5a2f603e5184d6"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b0c26a544c73bb09c5d55249e5878aacba903ac1","unresolved":false,"context_lines":[{"line_number":1837,"context_line":"            mock_inst_save.assert_called_once_with(expected_task_state\u003d[None])"},{"line_number":1838,"context_line":"            mock_get_requested_resources.assert_not_called()"},{"line_number":1839,"context_line":""},{"line_number":1840,"context_line":"    # TODO(stephenfin): This is a terrible, terrible function and should be"},{"line_number":1841,"context_line":"    # broken up into its constituent parts"},{"line_number":1842,"context_line":"    @mock.patch(\u0027nova.compute.api.API.get_instance_host_status\u0027,"},{"line_number":1843,"context_line":"                new\u003dmock.Mock(return_value\u003dfields_obj.HostStatus.UP))"},{"line_number":1844,"context_line":"    @mock.patch(\u0027nova.virt.hardware.numa_get_constraints\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_b359b836","line":1841,"range":{"start_line":1840,"start_character":0,"end_line":1841,"end_character":42},"updated":"2020-08-17 11:11:20.000000000","message":"✓","commit_id":"7e264511647e9ec9e917757de8776b4e886a4108"}]}
