)]}'
{"nova/objects/instance_numa_topology.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c5a4d2ae9d3a2865c265f61df19c4fc279cb4cf7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7faddb67_b8a2daac","updated":"2019-08-06 11:28:54.000000000","message":"None of these changes should be necessary, as noted in the previous patch","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        # image metadata property. The \"hw:cpu_policy\u003ddedicated|shared\""},{"line_number":140,"context_line":"        # property will be deprecated in the \"T\" release for removal in the"},{"line_number":141,"context_line":"        # \"U\" release."},{"line_number":142,"context_line":"        # Below cpu_policy checks code should be deleted after"},{"line_number":143,"context_line":"        # hw:cpu_policy \u003d dedicated | shared \" extra-spec is completely"},{"line_number":144,"context_line":"        # removed."},{"line_number":145,"context_line":"        elif self.cpu_policy \u003d\u003d obj_fields.CPUAllocationPolicy.DEDICATED:"},{"line_number":146,"context_line":"            return True"},{"line_number":147,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_8a3aef31","line":144,"range":{"start_line":142,"start_character":0,"end_line":144,"end_character":18},"updated":"2019-07-23 15:52:11.000000000","message":"We\u0027re no longer planning to deprecate these extra specs, so this isn\u0027t true and should be removed","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"}],"nova/objects/numa.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c44df89cab8fd9205b83c130a4c8c7cbbac51339","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7faddb67_505028d5","updated":"2019-07-24 17:25:44.000000000","message":"All of this should be in with the previous change, I think","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"}],"nova/scheduler/utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":406,"context_line":"        rreq \u003d ResourceRequest.from_extra_specs(flavor.extra_specs)"},{"line_number":407,"context_line":"        resources \u003d rreq.merged_resources(flavor_resources\u003dresources)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    if not (orc.VCPU or orc.PCPU) in resources:"},{"line_number":410,"context_line":"        resources.update({orc.VCPU: flavor.vcpus})"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"    return resources"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_6a545355","line":409,"range":{"start_line":409,"start_character":0,"end_line":409,"end_character":47},"updated":"2019-07-23 15:52:11.000000000","message":"I don\u0027t think this is doing what you think. This evaluates to:\n\n  if not orc.VCPU:\n      if orc.PCPU in resources:\n\nAnd I think you want:\n\n  if orc.VCPU not in resources and orc.PCPU not in resources:","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            if re.compile(resource % \"VCPU\").match(key) or re.compile("},{"line_number":463,"context_line":"                    resource % \"PCPU\").match(key):"},{"line_number":464,"context_line":"                spec_resources.pop(orc.VCPU)"},{"line_number":465,"context_line":"                break"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"        res_req \u003d ResourceRequest.from_extra_specs(spec_obj.flavor.extra_specs)"},{"line_number":468,"context_line":"        # If any of the three standard resources above was explicitly given in"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_6dc46d93","line":465,"updated":"2019-07-23 15:52:11.000000000","message":"This feels like it should be part of the following change...or maybe not. I need to keep going through this patch","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"}],"nova/tests/unit/objects/test_numa.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"@ddt.ddt"},{"line_number":36,"context_line":"class _TestNUMA(object):"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # TODO(bhagyashris) Remove compatibility with cpuset once we deprecate"},{"line_number":39,"context_line":"    # and remove CONF.vcpu_pin_set"},{"line_number":40,"context_line":"    @ddt.data([objects.NUMACell("},{"line_number":41,"context_line":"        id\u003d0, pcpuset\u003dset([5, 6]), memory\u003d512,"},{"line_number":42,"context_line":"        cpu_usage\u003d2, memory_usage\u003d256,"},{"line_number":43,"context_line":"        pinned_cpus\u003dset([5]), siblings\u003d[set([5]), set([6])],"},{"line_number":44,"context_line":"        mempages\u003d[])],"},{"line_number":45,"context_line":"        [objects.NUMACell("},{"line_number":46,"context_line":"            id\u003d1, cpuset\u003dset([5, 6]), memory\u003d512,"},{"line_number":47,"context_line":"            cpu_usage\u003d2, memory_usage\u003d256,"},{"line_number":48,"context_line":"            pinned_cpus\u003dset([5]), siblings\u003d[set([5]), set([6])],"},{"line_number":49,"context_line":"            mempages\u003d[])])"},{"line_number":50,"context_line":"    def test_free_cpus_compatible_with_pcpuset_and_cpuset(self, numa_cell):"},{"line_number":51,"context_line":"        obj \u003d objects.NUMATopology(cells\u003dnuma_cell)"},{"line_number":52,"context_line":"        self.assertEqual(set([6]), obj.cells[0].free_cpus)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _check_compatible_cpu_sets(self, numacell):"},{"line_number":55,"context_line":"        numacell.pin_cpus(set([6, 3]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_ad0d85e9","line":52,"range":{"start_line":37,"start_character":0,"end_line":52,"end_character":58},"updated":"2019-07-23 15:52:11.000000000","message":"This is really confusing/difficult to read. Can you just use non-ddt tests for this, please?","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        numacell.pin_cpus(set([6, 3]))"},{"line_number":56,"context_line":"        self.assertEqual(set([4]), numacell.free_cpus)"},{"line_number":57,"context_line":"        expect_msg \u003d (exception.CPUPinningUnknown.msg_fmt % {"},{"line_number":58,"context_line":"            \u0027requested\u0027: r\"\\[1, 55\\]\", \u0027cpuset\u0027: r\"\\[3, 4, 5, 6\\]\"})"},{"line_number":59,"context_line":"        with testtools.ExpectedException(exception.CPUPinningUnknown,"},{"line_number":60,"context_line":"                                         expect_msg):"},{"line_number":61,"context_line":"            numacell.pin_cpus(set([1, 55]))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_6df78dd6","line":58,"range":{"start_line":58,"start_character":25,"end_line":58,"end_character":37},"updated":"2019-07-23 15:52:11.000000000","message":"unneeded change from \u0027 to \" (and unwanted - the rest of this file uses single quotes)","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":18960,"context_line":"                return_value\u003dvcpus)"},{"line_number":18961,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver.\u0027"},{"line_number":18962,"context_line":"                \u0027_does_compute_support_shared_or_dedicated_cpus\u0027,"},{"line_number":18963,"context_line":"                return_value\u003dobjects.service.SERVICE_VERSION)"},{"line_number":18964,"context_line":"    def _test_update_provider_tree(self, mock_compute_supports, mock_vcpu,"},{"line_number":18965,"context_line":"                                   mock_mem, mock_disk, mock_gpu_invs,"},{"line_number":18966,"context_line":"                                   gpu_invs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_2d1af516","line":18963,"range":{"start_line":18963,"start_character":29,"end_line":18963,"end_character":60},"updated":"2019-07-23 15:52:11.000000000","message":"This looks unrelated","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"}],"nova/virt/hardware.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a54452faf0bb05a6d5532226ce18e081deb674b2","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    \"\"\""},{"line_number":128,"context_line":"    flavor_vcpus \u003d 0"},{"line_number":129,"context_line":"    flavor_pcpus \u003d 0"},{"line_number":130,"context_line":"    specs \u003d flavor[\u0027extra_specs\u0027] if \u0027extra_specs\u0027 in flavor else {}"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    for key, value in specs.items():"},{"line_number":133,"context_line":"        if RESOURCES_VCPU.match(key):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_addb454d","line":130,"range":{"start_line":130,"start_character":12,"end_line":130,"end_character":33},"updated":"2019-07-23 15:52:11.000000000","message":"flavor.extra_specs (this is an object, right?)","commit_id":"62e6f44267b6a233ba23724d250c1ff59f52b526"}]}
