)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"c35575a40f352b92ce8ab89cb02cf8191fc6a535","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003cstephenfin@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-06-19 16:25:56 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt/hardware: refactor numa_get_constraints"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactor numa_get_constraints to get all kinds of resource"},{"line_number":10,"context_line":"constraints before creating numa cell instance."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bf51134e_257e4be3","line":7,"updated":"2020-06-29 13:47:52.000000000","message":"Done.","commit_id":"e8f0208c4206bdfc1afede5411bd53d769783109"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"92a735ffa75d06b7c8e7f2d96976f75f28b209cb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003cstephenfin@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-06-19 16:25:56 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt/hardware: refactor numa_get_constraints"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactor numa_get_constraints to get all kinds of resource"},{"line_number":10,"context_line":"constraints before creating numa cell instance."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bf51134e_4e114552","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":17},"updated":"2020-06-22 17:04:09.000000000","message":"hardware","commit_id":"e8f0208c4206bdfc1afede5411bd53d769783109"}],"nova/virt/hardware.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1034,"context_line":"            LOG.debug(\u0027Host does not support requested memory pagesize, \u0027"},{"line_number":1035,"context_line":"                      \u0027or not enough free pages of the requested size. \u0027"},{"line_number":1036,"context_line":"                      \u0027Requested: %d kB\u0027, instance_cell.pagesize)"},{"line_number":1037,"context_line":"            return"},{"line_number":1038,"context_line":"        LOG.debug(\u0027Selected memory pagesize: %(selected_mem_pagesize)d kB. \u0027"},{"line_number":1039,"context_line":"                  \u0027Requested memory pagesize: %(requested_mem_pagesize)d \u0027"},{"line_number":1040,"context_line":"                  \u0027(small \u003d -1, large \u003d -2, any \u003d -3)\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_7b1c0313","line":1037,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1063,"context_line":"                           \u0027available\u0027: host_cell.avail_memory,"},{"line_number":1064,"context_line":"                           \u0027total\u0027: host_cell.memory,"},{"line_number":1065,"context_line":"                           \u0027pagesize\u0027: pagesize})"},{"line_number":1066,"context_line":"                return"},{"line_number":1067,"context_line":"        else:"},{"line_number":1068,"context_line":"            # The host does not support explicit page sizes. Ignore pagesizes"},{"line_number":1069,"context_line":"            # completely."}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_db1b8f18","line":1066,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1076,"context_line":"                          \u0027Required: %(required)d, actual: %(actual)d\u0027,"},{"line_number":1077,"context_line":"                          {\u0027required\u0027: instance_cell.memory,"},{"line_number":1078,"context_line":"                           \u0027actual\u0027: host_cell.memory})"},{"line_number":1079,"context_line":"                return"},{"line_number":1080,"context_line":""},{"line_number":1081,"context_line":"    # NOTE(stephenfin): As with memory, do not allow an instance to overcommit"},{"line_number":1082,"context_line":"    # against itself on any NUMA cell"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_bb168bf0","line":1079,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1090,"context_line":"                          \u0027actual\u0027: len(host_cell.pcpuset),"},{"line_number":1091,"context_line":"                          \u0027cpuset_reserved\u0027: cpuset_reserved"},{"line_number":1092,"context_line":"                      })"},{"line_number":1093,"context_line":"            return"},{"line_number":1094,"context_line":"    else:"},{"line_number":1095,"context_line":"        required_cpus \u003d len(instance_cell.cpuset)"},{"line_number":1096,"context_line":"        if required_cpus \u003e len(host_cell.cpuset):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_1bd3373a","line":1093,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1099,"context_line":"                          \u0027required\u0027: len(instance_cell.cpuset),"},{"line_number":1100,"context_line":"                          \u0027actual\u0027: len(host_cell.cpuset),"},{"line_number":1101,"context_line":"                      })"},{"line_number":1102,"context_line":"            return"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":"    if instance_cell.cpu_policy in ("},{"line_number":1105,"context_line":"        fields.CPUAllocationPolicy.DEDICATED,"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_fbd5b31c","line":1102,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1115,"context_line":"                       \u0027vcpus\u0027: len(instance_cell.pcpuset),"},{"line_number":1116,"context_line":"                       \u0027actual\u0027: host_cell.avail_pcpus,"},{"line_number":1117,"context_line":"                       \u0027num_cpu_reserved\u0027: cpuset_reserved})"},{"line_number":1118,"context_line":"            return"},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"        if instance_cell.memory \u003e host_cell.avail_memory:"},{"line_number":1121,"context_line":"            LOG.debug(\u0027Not enough available memory to schedule instance. \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_5bddbf40","line":1118,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"                      {\u0027required\u0027: instance_cell.memory,"},{"line_number":1126,"context_line":"                       \u0027available\u0027: host_cell.avail_memory,"},{"line_number":1127,"context_line":"                       \u0027total\u0027: host_cell.memory})"},{"line_number":1128,"context_line":"            return"},{"line_number":1129,"context_line":""},{"line_number":1130,"context_line":"        # Try to pack the instance cell onto cores"},{"line_number":1131,"context_line":"        instance_cell \u003d _pack_instance_onto_cores("}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_3be0bbfa","line":1128,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"        )"},{"line_number":1134,"context_line":"        if not instance_cell:"},{"line_number":1135,"context_line":"            LOG.debug(\u0027Failed to map instance cell CPUs to host cell CPUs\u0027)"},{"line_number":1136,"context_line":"            return"},{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"    elif limits:"},{"line_number":1139,"context_line":"        LOG.debug(\u0027No pinning requested, considering limitations on usable cpu\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_9be62716","line":1136,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"                      \u0027not enough free CPUs to schedule this instance. \u0027"},{"line_number":1146,"context_line":"                      \u0027Usage: %(usage)d, limit: %(limit)d\u0027,"},{"line_number":1147,"context_line":"                      {\u0027usage\u0027: cpu_usage, \u0027limit\u0027: cpu_limit})"},{"line_number":1148,"context_line":"            return"},{"line_number":1149,"context_line":""},{"line_number":1150,"context_line":"        ram_usage \u003d host_cell.memory_usage + instance_cell.memory"},{"line_number":1151,"context_line":"        ram_limit \u003d host_cell.memory * limits.ram_allocation_ratio"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_7be1a3fc","line":1148,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":1154,"context_line":"                      \u0027not enough free memory to schedule this instance. \u0027"},{"line_number":1155,"context_line":"                      \u0027Usage: %(usage)d, limit: %(limit)d\u0027,"},{"line_number":1156,"context_line":"                      {\u0027usage\u0027: ram_usage, \u0027limit\u0027: ram_limit})"},{"line_number":1157,"context_line":"            return"},{"line_number":1158,"context_line":""},{"line_number":1159,"context_line":"    instance_cell.id \u003d host_cell.id"},{"line_number":1160,"context_line":"    return instance_cell"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_dbf0afcc","line":1157,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Return value expected","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4fda72e0704bd07adf5ab228313ae3e4c5de1c48","unresolved":false,"context_lines":[{"line_number":2180,"context_line":"    # indicative of a PCI device being associated with that node"},{"line_number":2181,"context_line":"    if not pci_requests and pci_stats:"},{"line_number":2182,"context_line":"        host_cells \u003d sorted(host_cells, key\u003dlambda cell: cell.id in ["},{"line_number":2183,"context_line":"            pool[\u0027numa_node\u0027] for pool in pci_stats.pools])"},{"line_number":2184,"context_line":""},{"line_number":2185,"context_line":"    for host_cell_perm in itertools.permutations("},{"line_number":2186,"context_line":"            host_cells, len(instance_topology)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_bbeb2bda","line":2183,"updated":"2020-04-08 04:22:05.000000000","message":"pep8: error: Item \"None\" of \"Optional[Any]\" has no attribute \"pools\"","commit_id":"a998849e1229ba8008707c7e3563cc9d5b29b38f"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"adc67fe1536a3faee295e1306becf987a933b376","unresolved":false,"context_lines":[{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            numa_topology \u003d _get_numa_topology_manual("},{"line_number":2023,"context_line":"                nodes, flavor, vcpus, pcpus, cpu_list, mem_list"},{"line_number":2024,"context_line":"            )"},{"line_number":2025,"context_line":"        else:"},{"line_number":2026,"context_line":"            # If one property list is specified both must be"},{"line_number":2027,"context_line":"            raise exception.ImageNUMATopologyIncomplete()"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_984a9c52","side":"PARENT","line":2024,"updated":"2020-07-08 11:45:06.000000000","message":"k","commit_id":"e37a336b22242548f333152afb0c5506f3302f3a"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"adc67fe1536a3faee295e1306becf987a933b376","unresolved":false,"context_lines":[{"line_number":2007,"context_line":"        # which will be used later to calculate the per-NUMA-cell CPU set."},{"line_number":2008,"context_line":"        cpus \u003d set(range(flavor.vcpus))"},{"line_number":2009,"context_line":"        pcpus \u003d dedicated_cpus"},{"line_number":2010,"context_line":"        vcpus \u003d cpus - pcpus"},{"line_number":2011,"context_line":"        nodes \u003d nodes or 1"},{"line_number":2012,"context_line":""},{"line_number":2013,"context_line":"        if cpu_list is None and mem_list is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_f8591835","line":2010,"updated":"2020-07-08 11:45:06.000000000","message":"Done","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"95e330fd6238b0396bdd684d7f2017ad6d022240","unresolved":false,"context_lines":[{"line_number":2007,"context_line":"        # which will be used later to calculate the per-NUMA-cell CPU set."},{"line_number":2008,"context_line":"        cpus \u003d set(range(flavor.vcpus))"},{"line_number":2009,"context_line":"        pcpus \u003d dedicated_cpus"},{"line_number":2010,"context_line":"        vcpus \u003d cpus - pcpus"},{"line_number":2011,"context_line":"        nodes \u003d nodes or 1"},{"line_number":2012,"context_line":""},{"line_number":2013,"context_line":"        if cpu_list is None and mem_list is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_c24a7aaa","line":2010,"updated":"2020-07-07 10:12:43.000000000","message":"pep8: error: Unsupported operand types for - (\"Set[int]\" and \"None\")","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"95e330fd6238b0396bdd684d7f2017ad6d022240","unresolved":false,"context_lines":[{"line_number":2007,"context_line":"        # which will be used later to calculate the per-NUMA-cell CPU set."},{"line_number":2008,"context_line":"        cpus \u003d set(range(flavor.vcpus))"},{"line_number":2009,"context_line":"        pcpus \u003d dedicated_cpus"},{"line_number":2010,"context_line":"        vcpus \u003d cpus - pcpus"},{"line_number":2011,"context_line":"        nodes \u003d nodes or 1"},{"line_number":2012,"context_line":""},{"line_number":2013,"context_line":"        if cpu_list is None and mem_list is None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_22c7f614","line":2010,"updated":"2020-07-07 10:12:43.000000000","message":"pep8: note: Right operand is of type \"Optional[Set[int]]\"","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"adc67fe1536a3faee295e1306becf987a933b376","unresolved":false,"context_lines":[{"line_number":2012,"context_line":""},{"line_number":2013,"context_line":"        if cpu_list is None and mem_list is None:"},{"line_number":2014,"context_line":"            numa_topology \u003d _get_numa_topology_auto("},{"line_number":2015,"context_line":"                nodes, flavor, vcpus, pcpus,"},{"line_number":2016,"context_line":"            )"},{"line_number":2017,"context_line":"        elif cpu_list is not None and mem_list is not None:"},{"line_number":2018,"context_line":"            # If any node has data set, all nodes must have data set"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_58400436","line":2015,"updated":"2020-07-08 11:45:06.000000000","message":"Done","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"95e330fd6238b0396bdd684d7f2017ad6d022240","unresolved":false,"context_lines":[{"line_number":2012,"context_line":""},{"line_number":2013,"context_line":"        if cpu_list is None and mem_list is None:"},{"line_number":2014,"context_line":"            numa_topology \u003d _get_numa_topology_auto("},{"line_number":2015,"context_line":"                nodes, flavor, vcpus, pcpus,"},{"line_number":2016,"context_line":"            )"},{"line_number":2017,"context_line":"        elif cpu_list is not None and mem_list is not None:"},{"line_number":2018,"context_line":"            # If any node has data set, all nodes must have data set"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_02cab218","line":2015,"updated":"2020-07-07 10:12:43.000000000","message":"pep8: error: Argument 4 to \"_get_numa_topology_auto\" has incompatible type \"Optional[Set[int]]\"; expected \"Set[int]\"","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"adc67fe1536a3faee295e1306becf987a933b376","unresolved":false,"context_lines":[{"line_number":2020,"context_line":"                raise exception.ImageNUMATopologyIncomplete()"},{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            numa_topology \u003d _get_numa_topology_manual("},{"line_number":2023,"context_line":"                nodes, flavor, vcpus, pcpus, cpu_list, mem_list"},{"line_number":2024,"context_line":"            )"},{"line_number":2025,"context_line":"        else:"},{"line_number":2026,"context_line":"            # If one property list is specified both must be"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_383b90c8","line":2023,"updated":"2020-07-08 11:45:06.000000000","message":"Done","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"95e330fd6238b0396bdd684d7f2017ad6d022240","unresolved":false,"context_lines":[{"line_number":2020,"context_line":"                raise exception.ImageNUMATopologyIncomplete()"},{"line_number":2021,"context_line":""},{"line_number":2022,"context_line":"            numa_topology \u003d _get_numa_topology_manual("},{"line_number":2023,"context_line":"                nodes, flavor, vcpus, pcpus, cpu_list, mem_list"},{"line_number":2024,"context_line":"            )"},{"line_number":2025,"context_line":"        else:"},{"line_number":2026,"context_line":"            # If one property list is specified both must be"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_62d1eecd","line":2023,"updated":"2020-07-07 10:12:43.000000000","message":"pep8: error: Argument 4 to \"_get_numa_topology_manual\" has incompatible type \"Optional[Set[int]]\"; expected \"Set[int]\"","commit_id":"e35d10036c3ccf8d64166a132c72bdfbee6b50fb"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"a3a73d597edadd131b20aaa704efc6ca92fe69fb","unresolved":false,"context_lines":[{"line_number":1898,"context_line":"    vpmems \u003d get_vpmems(flavor)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"    cpu_list \u003d _get_numa_cpu_constraint(flavor, image_meta)"},{"line_number":1901,"context_line":"    mem_list \u003d _get_numa_mem_constraint(flavor, image_meta)"},{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"    # handle explicit VCPU/PCPU resource requests and the HW_CPU_HYPERTHREADING"},{"line_number":1904,"context_line":"    # trait"}],"source_content_type":"text/x-python","patch_set":13,"id":"bf51134e_20d12e24","line":1901,"updated":"2020-07-15 14:55:39.000000000","message":"I want to defer this change since this patch is for the deffered commit [1] creating mixed instance via PCPU\u0026VCPU resources. \n\nBut I haven\u0027t caught your point for this:\n \n \u003e Previously, defining \u0027hw:numa_cpus\u0027 on the flavor and \u0027hw_numa_cpus\u0027\n \u003e on the image, but not defining \u0027hw:cpu_policy\u0027 would result in the \n \u003e \u0027hw:numa_cpus\u0027 extra spec being ignored.","commit_id":"111b3644002a84bd117b4dfcb2c509452adc81ae"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cb74fe59429e4a4f17f54c73cac11a3e91e9ae43","unresolved":false,"context_lines":[{"line_number":1897,"context_line":"    pagesize \u003d _get_numa_pagesize_constraint(flavor, image_meta)"},{"line_number":1898,"context_line":"    vpmems \u003d get_vpmems(flavor)"},{"line_number":1899,"context_line":""},{"line_number":1900,"context_line":"    cpu_list \u003d _get_numa_cpu_constraint(flavor, image_meta)"},{"line_number":1901,"context_line":"    mem_list \u003d _get_numa_mem_constraint(flavor, image_meta)"},{"line_number":1902,"context_line":""},{"line_number":1903,"context_line":"    # handle explicit VCPU/PCPU resource requests and the HW_CPU_HYPERTHREADING"},{"line_number":1904,"context_line":"    # trait"}],"source_content_type":"text/x-python","patch_set":13,"id":"bf51134e_0beee620","line":1901,"range":{"start_line":1900,"start_character":0,"end_line":1901,"end_character":59},"updated":"2020-07-14 11:13:45.000000000","message":"It\u0027s worth noting this will introduce a potential breaking change. Previously, defining \u0027hw:numa_cpus\u0027 on the flavor and \u0027hw_numa_cpus\u0027 on the image, but not defining \u0027hw:cpu_policy\u0027 would result in the \u0027hw:numa_cpus\u0027 extra spec being ignored. Now it will raise a conflict since you can\u0027t define both \u0027hw:numa_cpus\u0027 on the flavor and \u0027hw_numa_cpus\u0027 on the image. This isn\u0027t an issue though","commit_id":"111b3644002a84bd117b4dfcb2c509452adc81ae"}]}
