)]}'
{"nova/objects/instance.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d3ccbbee775759a4c756bb2b8fdfa67aac2ef90","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"    \"\"\"Migrate pre-Ussuri \u0027cpuset\u0027 to \u0027pcpuset\u0027 for dedicated instance.\"\"\""},{"line_number":1265,"context_line":"    instances \u003d (context.session.query(models.InstanceExtra)"},{"line_number":1266,"context_line":"                 .filter(models.InstanceExtra.numa_topology !\u003d null())"},{"line_number":1267,"context_line":"                 .filter(models.InstanceExtra.numa_topology.contains("},{"line_number":1268,"context_line":"                    \u0027nova_object.name\u0027))"},{"line_number":1269,"context_line":"                 .filter_by(deleted\u003d0)"},{"line_number":1270,"context_line":"                 .limit(count).all())"},{"line_number":1271,"context_line":"    count_all \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b8303ba0","line":1268,"range":{"start_line":1267,"start_character":25,"end_line":1268,"end_character":39},"updated":"2020-04-08 16:29:54.000000000","message":"I\u0027m not sure we need this. Stephen has a patch to remove the legacy dict, so we needn\u0027t this.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"4f92f6ebe2d7e05081b12bec216bf863a44338c7","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"    instances \u003d (context.session.query(models.InstanceExtra)"},{"line_number":1266,"context_line":"                 .filter(models.InstanceExtra.numa_topology !\u003d null())"},{"line_number":1267,"context_line":"                 .filter(models.InstanceExtra.numa_topology.contains("},{"line_number":1268,"context_line":"                    \u0027nova_object.name\u0027))"},{"line_number":1269,"context_line":"                 .filter_by(deleted\u003d0)"},{"line_number":1270,"context_line":"                 .limit(count).all())"},{"line_number":1271,"context_line":"    count_all \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_b8331b13","line":1268,"updated":"2020-04-08 16:48:25.000000000","message":"That\u0027s true. It could be removed once Stephen\u0027s migration patch is ready.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"05b108672cdca86dd2b004bce9934663e2dbbf0a","unresolved":false,"context_lines":[{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1278,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1279,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1280,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1281,"context_line":"            continue"},{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_a6c12c57","line":1279,"updated":"2020-04-09 02:48:26.000000000","message":"Got. I\u0027ll move the check for the check for no cell.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"4f92f6ebe2d7e05081b12bec216bf863a44338c7","unresolved":false,"context_lines":[{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1278,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1279,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1280,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1281,"context_line":"            continue"},{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_183b27eb","line":1279,"updated":"2020-04-08 16:48:25.000000000","message":"I am not sure if it is valid for a topology with 0 numa cell.\nBut the code logic here is, first check the cell number, if cell number is not 0, through \u0027len(topo)\u0027, then taking the cpu policy from the first cell.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d3ccbbee775759a4c756bb2b8fdfa67aac2ef90","unresolved":false,"context_lines":[{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1278,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1279,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1280,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1281,"context_line":"            continue"},{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_58e64f18","line":1279,"range":{"start_line":1279,"start_character":12,"end_line":1279,"end_character":25},"updated":"2020-04-08 16:29:54.000000000","message":"so...we won\u0027t have 0 cell topology?","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"931eb381dee9a343c398153456045914041562c5","unresolved":false,"context_lines":[{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1278,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1279,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1280,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1281,"context_line":"            continue"},{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_ec2a042a","line":1279,"in_reply_to":"df33271e_183b27eb","updated":"2020-04-08 17:01:19.000000000","message":"More.\nMy code logic is, if \u0027topo\u0027 don\u0027t have any cell, don\u0027t make any migration for this instance; and if \u0027topo\u0027 has any NUMA cell, check the policy from the first cell, if policy is not \u0027dedicated\u0027, don\u0027t migrate.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d05159d7dd1c61bb2e26b7d43c3a5f67731526a","unresolved":false,"context_lines":[{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1278,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1279,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1280,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1281,"context_line":"            continue"},{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_ef85d6d0","line":1279,"in_reply_to":"df33271e_ec2a042a","updated":"2020-04-08 17:51:06.000000000","message":"I don\u0027t think nova support a topology without zero cell.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"4f92f6ebe2d7e05081b12bec216bf863a44338c7","unresolved":false,"context_lines":[{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"},{"line_number":1283,"context_line":"        cell0_cpuset \u003d topo_data[\u0027cells\u0027][0][\u0027nova_object.data\u0027][\u0027cpuset\u0027]"},{"line_number":1284,"context_line":"        if not cell0_cpuset:"},{"line_number":1285,"context_line":"            continue"},{"line_number":1286,"context_line":"        count_all +\u003d 1"},{"line_number":1287,"context_line":"        instance.numa_topology \u003d jsonutils.dumps(topo.obj_to_primitive())"},{"line_number":1288,"context_line":"        instance.save(context.session)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_f83da3dd","line":1285,"updated":"2020-04-08 16:48:25.000000000","message":"I am afraid not. \u0027topo\u0027 object is is the result of \u0027InstanceNUMATopology.obj_from_primitive\u0027, it is a topology object in latest version. From \u0027topo\u0027, we cannot draw a conclusion that if it is\na migrated/upgraded topology object.\nTo check if the topology need to be migrated, check the \u0027cpuset\u0027 value from the primitive, if it is not empty, and because the cpu policy is \u0027dedicated\u0027, it is a topology to be migrated.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d3ccbbee775759a4c756bb2b8fdfa67aac2ef90","unresolved":false,"context_lines":[{"line_number":1279,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1280,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1281,"context_line":"            continue"},{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"},{"line_number":1283,"context_line":"        cell0_cpuset \u003d topo_data[\u0027cells\u0027][0][\u0027nova_object.data\u0027][\u0027cpuset\u0027]"},{"line_number":1284,"context_line":"        if not cell0_cpuset:"},{"line_number":1285,"context_line":"            continue"},{"line_number":1286,"context_line":"        count_all +\u003d 1"},{"line_number":1287,"context_line":"        instance.numa_topology \u003d jsonutils.dumps(topo.obj_to_primitive())"},{"line_number":1288,"context_line":"        instance.save(context.session)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_98f0d7cb","line":1285,"range":{"start_line":1282,"start_character":8,"end_line":1285,"end_character":20},"updated":"2020-04-08 16:29:54.000000000","message":"you can operate the topo object directly","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d05159d7dd1c61bb2e26b7d43c3a5f67731526a","unresolved":false,"context_lines":[{"line_number":1282,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"},{"line_number":1283,"context_line":"        cell0_cpuset \u003d topo_data[\u0027cells\u0027][0][\u0027nova_object.data\u0027][\u0027cpuset\u0027]"},{"line_number":1284,"context_line":"        if not cell0_cpuset:"},{"line_number":1285,"context_line":"            continue"},{"line_number":1286,"context_line":"        count_all +\u003d 1"},{"line_number":1287,"context_line":"        instance.numa_topology \u003d jsonutils.dumps(topo.obj_to_primitive())"},{"line_number":1288,"context_line":"        instance.save(context.session)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_2f67be53","line":1285,"in_reply_to":"df33271e_f83da3dd","updated":"2020-04-08 17:51:06.000000000","message":"thanks, I think you are right.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"4f92f6ebe2d7e05081b12bec216bf863a44338c7","unresolved":false,"context_lines":[{"line_number":1285,"context_line":"            continue"},{"line_number":1286,"context_line":"        count_all +\u003d 1"},{"line_number":1287,"context_line":"        instance.numa_topology \u003d jsonutils.dumps(topo.obj_to_primitive())"},{"line_number":1288,"context_line":"        instance.save(context.session)"},{"line_number":1289,"context_line":"        count_hit +\u003d 1"},{"line_number":1290,"context_line":"    return count_all, count_hit"},{"line_number":1291,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_58248fc6","line":1288,"updated":"2020-04-08 16:48:25.000000000","message":"Yes. The topo.pcpuset is already updated, in InstanceNUMACell.obj_from_primitive.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d3ccbbee775759a4c756bb2b8fdfa67aac2ef90","unresolved":false,"context_lines":[{"line_number":1284,"context_line":"        if not cell0_cpuset:"},{"line_number":1285,"context_line":"            continue"},{"line_number":1286,"context_line":"        count_all +\u003d 1"},{"line_number":1287,"context_line":"        instance.numa_topology \u003d jsonutils.dumps(topo.obj_to_primitive())"},{"line_number":1288,"context_line":"        instance.save(context.session)"},{"line_number":1289,"context_line":"        count_hit +\u003d 1"},{"line_number":1290,"context_line":"    return count_all, count_hit"},{"line_number":1291,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_18b687fb","line":1288,"range":{"start_line":1287,"start_character":8,"end_line":1288,"end_character":38},"updated":"2020-04-08 16:29:54.000000000","message":"so...you should update topo.pcpuset, then save the topo back to the db.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"af46424da4795b5c188f4d72bc3d5f4764ca67b5","unresolved":false,"context_lines":[{"line_number":1284,"context_line":"        if not cell0_cpuset:"},{"line_number":1285,"context_line":"            continue"},{"line_number":1286,"context_line":"        count_all +\u003d 1"},{"line_number":1287,"context_line":"        instance.numa_topology \u003d jsonutils.dumps(topo.obj_to_primitive())"},{"line_number":1288,"context_line":"        instance.save(context.session)"},{"line_number":1289,"context_line":"        count_hit +\u003d 1"},{"line_number":1290,"context_line":"    return count_all, count_hit"},{"line_number":1291,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_18ab2789","line":1288,"range":{"start_line":1287,"start_character":8,"end_line":1288,"end_character":38},"in_reply_to":"df33271e_18b687fb","updated":"2020-04-08 16:32:56.000000000","message":"oh, I see, when we load to object, we already update the pcpu.","commit_id":"9f7eb30fded3f4487bbfd7217869ce5fc6b75581"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"533117d111502d00d4cb360c0bb0cabcab4de77a","unresolved":false,"context_lines":[{"line_number":1261,"context_line":"@db_api.pick_context_manager_writer"},{"line_number":1262,"context_line":"def migrate_dedicated_instance_cpuset(context, count):"},{"line_number":1263,"context_line":"    \"\"\"Migrate pre-Victoria\u0027cpuset\u0027 to \u0027pcpuset\u0027 for dedicated instance.\"\"\""},{"line_number":1264,"context_line":"    # FIXME(huaqiang): So far, in Ussuri, we still, in theory, have some"},{"line_number":1265,"context_line":"    # instances which do not present in database in the form of the versioned"},{"line_number":1266,"context_line":"    # objects, we ignored the \u0027cpuset\u0027 to \u0027pcpuset\u0027 conversion for these"},{"line_number":1267,"context_line":"    # instances."},{"line_number":1268,"context_line":"    instances \u003d (context.session.query(models.InstanceExtra)"},{"line_number":1269,"context_line":"                 .filter(models.InstanceExtra.numa_topology !\u003d null())"},{"line_number":1270,"context_line":"                 .filter(models.InstanceExtra.numa_topology.startswith("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_7972184b","line":1267,"range":{"start_line":1264,"start_character":0,"end_line":1267,"end_character":16},"updated":"2020-06-22 13:28:36.000000000","message":"Don\u0027t do this at query time. There are not likely to be many of these and apparently these queries are _slow_. Instead, do it in the Python code below.","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"b8a51ae847a10355c2a6f409c15616e40d8b34dc","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"    # FIXME(huaqiang): So far, in Ussuri, we still, in theory, have some"},{"line_number":1265,"context_line":"    # instances which do not present in database in the form of the versioned"},{"line_number":1266,"context_line":"    # objects, we ignored the \u0027cpuset\u0027 to \u0027pcpuset\u0027 conversion for these"},{"line_number":1267,"context_line":"    # instances."},{"line_number":1268,"context_line":"    instances \u003d (context.session.query(models.InstanceExtra)"},{"line_number":1269,"context_line":"                 .filter(models.InstanceExtra.numa_topology !\u003d null())"},{"line_number":1270,"context_line":"                 .filter(models.InstanceExtra.numa_topology.startswith("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_7342cc10","line":1267,"updated":"2020-06-29 12:48:38.000000000","message":"Sure. The \u0027.startswith\u0027 filter is quite time consuming, but the query for \u0027models.InstanceExtra.numa_topology !\u003d null()) is not, right?\nAt least we shall move the \u0027.startswith\u0027 filter out of db query and filtering through python code.\n\nAnd after realizing the instance NUMA topology object convertion, from legacy to \u0027InstanceNUMAToplogy\u0027 object, is done by commit 0f61d926b1da0304acf094fd0d189f28bef6b686, I think I can drop the \u0027.startswith\u0027 filter.","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"533117d111502d00d4cb360c0bb0cabcab4de77a","unresolved":false,"context_lines":[{"line_number":1274,"context_line":"    count_all \u003d 0"},{"line_number":1275,"context_line":"    count_hit \u003d 0"},{"line_number":1276,"context_line":"    for instance in instances:"},{"line_number":1277,"context_line":"        primitive \u003d jsonutils.loads(instance.numa_topology)"},{"line_number":1278,"context_line":"        topo \u003d objects.InstanceNUMATopology.obj_from_primitive(primitive)"},{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_19979c3c","line":1277,"range":{"start_line":1277,"start_character":0,"end_line":1277,"end_character":59},"updated":"2020-06-22 13:28:36.000000000","message":"...here.\n\nSimply check for the expected keys and call the \"convert from legacy\" helper if it\u0027s the old-style object.","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"b8a51ae847a10355c2a6f409c15616e40d8b34dc","unresolved":false,"context_lines":[{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1281,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1282,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1283,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1284,"context_line":"            continue"},{"line_number":1285,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_d34c7843","line":1282,"updated":"2020-06-29 12:48:38.000000000","message":"Dropped.","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"533117d111502d00d4cb360c0bb0cabcab4de77a","unresolved":false,"context_lines":[{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"        # all instance NUMA cells should have the same CPU allocation policy,"},{"line_number":1281,"context_line":"        # so here take the policy from the first NUMA cell."},{"line_number":1282,"context_line":"        if (not len(topo) or topo.cells[0].cpu_policy !\u003d"},{"line_number":1283,"context_line":"                fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":1284,"context_line":"            continue"},{"line_number":1285,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_79c0582b","line":1282,"range":{"start_line":1282,"start_character":16,"end_line":1282,"end_character":25},"updated":"2020-06-22 13:28:36.000000000","message":"Will this ever be true? I can\u0027t imagine so. If it was, it would be a pretty serious bug. Can you drop it?","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"b8a51ae847a10355c2a6f409c15616e40d8b34dc","unresolved":false,"context_lines":[{"line_number":1284,"context_line":"            continue"},{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"},{"line_number":1287,"context_line":"        if any(["},{"line_number":1288,"context_line":"            cell[\u0027nova_object.data\u0027][\u0027cpuset\u0027] for cell in topo_data[\u0027cells\u0027]"},{"line_number":1289,"context_line":"        ]):"},{"line_number":1290,"context_line":"            count_all +\u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_b347441d","line":1287,"updated":"2020-06-29 12:48:38.000000000","message":"Here we catch some legacy instance database objects which has a dedicated CPU policy and keeping pinned CPU list in \u0027cpuset\u0027 field, we move the CPU list to \u0027pcpuset\u0027, clear the \u0027cpuset\u0027 field and save them to the database.","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"533117d111502d00d4cb360c0bb0cabcab4de77a","unresolved":false,"context_lines":[{"line_number":1284,"context_line":"            continue"},{"line_number":1285,"context_line":""},{"line_number":1286,"context_line":"        topo_data \u003d primitive[\u0027nova_object.data\u0027]"},{"line_number":1287,"context_line":"        if any(["},{"line_number":1288,"context_line":"            cell[\u0027nova_object.data\u0027][\u0027cpuset\u0027] for cell in topo_data[\u0027cells\u0027]"},{"line_number":1289,"context_line":"        ]):"},{"line_number":1290,"context_line":"            count_all +\u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_b9e310d9","line":1287,"updated":"2020-06-22 13:28:36.000000000","message":"need comments about what you\u0027re doing here","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"}],"nova/tests/functional/db/test_instance.py":[{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"b8a51ae847a10355c2a6f409c15616e40d8b34dc","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                                         {\u0027numa_topology\u0027: None})"},{"line_number":224,"context_line":"        instances[3].destroy()"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # attempt to process two, which should only process one since the rest"},{"line_number":227,"context_line":"        # are deleted or don\u0027t need migrating"},{"line_number":228,"context_line":"        res \u003d instance_obj.migrate_dedicated_instance_cpuset("},{"line_number":229,"context_line":"            self.context, 2)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_135390e3","line":226,"updated":"2020-06-29 12:48:38.000000000","message":"Done.","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"533117d111502d00d4cb360c0bb0cabcab4de77a","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                                         {\u0027numa_topology\u0027: None})"},{"line_number":224,"context_line":"        instances[3].destroy()"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # attempt to process two, which should only process one since the rest"},{"line_number":227,"context_line":"        # are deleted or don\u0027t need migrating"},{"line_number":228,"context_line":"        res \u003d instance_obj.migrate_dedicated_instance_cpuset("},{"line_number":229,"context_line":"            self.context, 2)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_99d8cc1e","line":226,"range":{"start_line":226,"start_character":29,"end_line":226,"end_character":32},"updated":"2020-06-22 13:28:36.000000000","message":"two entries\n\n?","commit_id":"01ebd86204375cdca8f6a4f8f78fad5b7d727073"}]}
