)]}'
{"nova/exception.py":[{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"eea9e5bc29f1638d435fc59a54260f0f9a46d4d9","unresolved":false,"context_lines":[{"line_number":2335,"context_line":""},{"line_number":2336,"context_line":""},{"line_number":2337,"context_line":"class MixedInstanceNotSupportByComputeService(NovaException):"},{"line_number":2338,"context_line":"    msg_fmt \u003d _(\"\u0027nova-compute\u0027 service version does not support To support \""},{"line_number":2339,"context_line":"                \"\u0027mixed\u0027 instance CPU allocation policy, you must upgrade it \""},{"line_number":2340,"context_line":"                \" to Victoria.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_65b7a3f6","line":2338,"updated":"2020-06-29 13:40:03.000000000","message":"To support \u0027mixed\u0027 policy instance,\u0027nova-compute\u0027 service must be upgraded to \u0027Victoria\u0027 or later.\n\nDone.","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"60f4e6964cc97f05717768c95961e55e4afc1155","unresolved":false,"context_lines":[{"line_number":2335,"context_line":""},{"line_number":2336,"context_line":""},{"line_number":2337,"context_line":"class MixedInstanceNotSupportByComputeService(NovaException):"},{"line_number":2338,"context_line":"    msg_fmt \u003d _(\"\u0027nova-compute\u0027 service version does not support To support \""},{"line_number":2339,"context_line":"                \"\u0027mixed\u0027 instance CPU allocation policy, you must upgrade it \""},{"line_number":2340,"context_line":"                \" to Victoria.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_b405d513","line":2338,"range":{"start_line":2338,"start_character":56,"end_line":2338,"end_character":75},"updated":"2020-06-22 13:41:20.000000000","message":"looks like you\u0027ve forgotten something","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"}],"nova/scheduler/utils.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"44a1014e5d5fb881a1a605df1920d87e95d1f0cd","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            else:"},{"line_number":279,"context_line":"                # TODO(stephenfin): Remove when we drop support for"},{"line_number":280,"context_line":"                # \u0027vcpu_pin_set\u0027"},{"line_number":281,"context_line":"                self.cpu_pinning_requested \u003d True"},{"line_number":282,"context_line":"                # Switch VCPU -\u003e PCPU"},{"line_number":283,"context_line":"                cpus \u003d flavor.vcpus"},{"line_number":284,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_4c24d0c6","line":281,"range":{"start_line":281,"start_character":16,"end_line":281,"end_character":49},"updated":"2020-04-08 17:16:12.000000000","message":"I guess you need to set this as True also for MIXED policy.","commit_id":"4f92b3b8fbb5e4cd3e99fdb19673b6e6c20be27e"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"46324e10bf991f8b58c92311f2d6753478212c96","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            else:"},{"line_number":279,"context_line":"                # TODO(stephenfin): Remove when we drop support for"},{"line_number":280,"context_line":"                # \u0027vcpu_pin_set\u0027"},{"line_number":281,"context_line":"                self.cpu_pinning_requested \u003d True"},{"line_number":282,"context_line":"                # Switch VCPU -\u003e PCPU"},{"line_number":283,"context_line":"                cpus \u003d flavor.vcpus"},{"line_number":284,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_bacca035","line":281,"updated":"2020-04-09 04:42:39.000000000","message":"No. \u0027self.cpu_pinning_requesting\u0027 is a fallback action controller. If it is set to True, then the it met the situation that no PCPU available in host, but it is assumed that this is a hot to be upgarded but all host CPU should be PCPUs.\nThis is not right for \u0027MIXED\u0027 instance, \u0027MIXED\u0027 instance only could be succuesfully created on UPGRADED host, because \u0027MIXED\u0027 instance requires both PCPU and VCPU.","commit_id":"4f92b3b8fbb5e4cd3e99fdb19673b6e6c20be27e"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"eea9e5bc29f1638d435fc59a54260f0f9a46d4d9","unresolved":false,"context_lines":[{"line_number":13350,"context_line":"                          image, self.instance_type, root_bdm)"},{"line_number":13351,"context_line":""},{"line_number":13352,"context_line":"    @mock.patch(\u0027nova.virt.hardware.supports_instance_mixed_cpu_policy\u0027,"},{"line_number":13353,"context_line":"                return_value\u003dTrue)"},{"line_number":13354,"context_line":"    @mock.patch(\u0027nova.virt.hardware.get_dedicated_cpu_constraint\u0027)"},{"line_number":13355,"context_line":"    def test_cpu_policy(self, dedicated_cpu_mock, support_mix_mock):"},{"line_number":13356,"context_line":"        image \u003d {\u0027id\u0027: uuids.image_id, \u0027status\u0027: \u0027active\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_a5cc1b89","line":13353,"updated":"2020-06-29 13:40:03.000000000","message":"Done.","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"60f4e6964cc97f05717768c95961e55e4afc1155","unresolved":false,"context_lines":[{"line_number":13350,"context_line":"                          image, self.instance_type, root_bdm)"},{"line_number":13351,"context_line":""},{"line_number":13352,"context_line":"    @mock.patch(\u0027nova.virt.hardware.supports_instance_mixed_cpu_policy\u0027,"},{"line_number":13353,"context_line":"                return_value\u003dTrue)"},{"line_number":13354,"context_line":"    @mock.patch(\u0027nova.virt.hardware.get_dedicated_cpu_constraint\u0027)"},{"line_number":13355,"context_line":"    def test_cpu_policy(self, dedicated_cpu_mock, support_mix_mock):"},{"line_number":13356,"context_line":"        image \u003d {\u0027id\u0027: uuids.image_id, \u0027status\u0027: \u0027active\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_3411c553","line":13353,"range":{"start_line":13353,"start_character":16,"end_line":13353,"end_character":33},"updated":"2020-06-22 13:41:20.000000000","message":"try:\n\n  new\u003dmock.Mock(return_value\u003dTrue)","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"}],"nova/tests/unit/virt/test_hardware.py":[{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"eea9e5bc29f1638d435fc59a54260f0f9a46d4d9","unresolved":false,"context_lines":[{"line_number":1045,"context_line":"                self.assertEqual(testitem[\"expect\"], cpu_policy)"},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"    @mock.patch.object(hw, \u0027supports_instance_mixed_cpu_policy\u0027,"},{"line_number":1048,"context_line":"                       return_value\u003dTrue)"},{"line_number":1049,"context_line":"    def test_topology_constraints(self, support_mixed_mock):"},{"line_number":1050,"context_line":"        testdata \u003d ["},{"line_number":1051,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_c5d14f25","line":1048,"updated":"2020-06-29 13:40:03.000000000","message":"Done.","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"60f4e6964cc97f05717768c95961e55e4afc1155","unresolved":false,"context_lines":[{"line_number":1045,"context_line":"                self.assertEqual(testitem[\"expect\"], cpu_policy)"},{"line_number":1046,"context_line":""},{"line_number":1047,"context_line":"    @mock.patch.object(hw, \u0027supports_instance_mixed_cpu_policy\u0027,"},{"line_number":1048,"context_line":"                       return_value\u003dTrue)"},{"line_number":1049,"context_line":"    def test_topology_constraints(self, support_mixed_mock):"},{"line_number":1050,"context_line":"        testdata \u003d ["},{"line_number":1051,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_d429698a","line":1048,"range":{"start_line":1048,"start_character":23,"end_line":1048,"end_character":40},"updated":"2020-06-22 13:41:20.000000000","message":"Use \u0027new\u0027 instead","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"}],"nova/virt/hardware.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cc5771f2c160e6be7dded3a6f8a322b21d2b2809","unresolved":false,"context_lines":[{"line_number":1986,"context_line":""},{"line_number":1987,"context_line":"    # TODO(huaqiang): Removed once we don\u0027t worry about the \u0027mixed\u0027 instance"},{"line_number":1988,"context_line":"    # upgrade problem."},{"line_number":1989,"context_line":"    if (cpu_policy is fields.CPUAllocationPolicy.MIXED and"},{"line_number":1990,"context_line":"            not supports_instance_mixed_cpu_policy()):"},{"line_number":1991,"context_line":"        raise exception.Invalid("},{"line_number":1992,"context_line":"            \"The \u0027nova-compute\u0027 service version is too old to support \u0027mixed\u0027 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_d9bf3cce","line":1989,"range":{"start_line":1989,"start_character":19,"end_line":1989,"end_character":21},"updated":"2020-04-07 06:14:51.000000000","message":"\u003d\u003d","commit_id":"7e0b938c05aa6e1efbba098400317e0b895852a2"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"191a38a1199ad548b486cca179900c1a3b2ab5d3","unresolved":false,"context_lines":[{"line_number":1986,"context_line":""},{"line_number":1987,"context_line":"    # TODO(huaqiang): Removed once we don\u0027t worry about the \u0027mixed\u0027 instance"},{"line_number":1988,"context_line":"    # upgrade problem."},{"line_number":1989,"context_line":"    if (cpu_policy is fields.CPUAllocationPolicy.MIXED and"},{"line_number":1990,"context_line":"            not supports_instance_mixed_cpu_policy()):"},{"line_number":1991,"context_line":"        raise exception.Invalid("},{"line_number":1992,"context_line":"            \"The \u0027nova-compute\u0027 service version is too old to support \u0027mixed\u0027 \""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_58a5c503","line":1989,"updated":"2020-04-08 02:32:18.000000000","message":"@alex, I forgort this and the next one. will make a change soon.","commit_id":"7e0b938c05aa6e1efbba098400317e0b895852a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cc5771f2c160e6be7dded3a6f8a322b21d2b2809","unresolved":false,"context_lines":[{"line_number":1988,"context_line":"    # upgrade problem."},{"line_number":1989,"context_line":"    if (cpu_policy is fields.CPUAllocationPolicy.MIXED and"},{"line_number":1990,"context_line":"            not supports_instance_mixed_cpu_policy()):"},{"line_number":1991,"context_line":"        raise exception.Invalid("},{"line_number":1992,"context_line":"            \"The \u0027nova-compute\u0027 service version is too old to support \u0027mixed\u0027 \""},{"line_number":1993,"context_line":"            \"instance CPU allocation policy, you must upgrade it to version \""},{"line_number":1994,"context_line":"            \"50 or above.\""}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_79cef083","line":1991,"range":{"start_line":1991,"start_character":8,"end_line":1991,"end_character":32},"updated":"2020-04-07 06:14:51.000000000","message":"using specific exception","commit_id":"7e0b938c05aa6e1efbba098400317e0b895852a2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_fb4f7367","line":1037,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_5b577f03","line":1066,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_3b5a7b29","line":1079,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_9b40e737","line":1093,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_7b3b63c7","line":1102,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_db4a6f53","line":1118,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_bb45eb45","line":1128,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_1b7697a5","line":1136,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_fb781390","line":1148,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_5b701fa6","line":1157,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Return value expected","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2cdcfbc3bede7eecfa5a219851f81b5db99bf09c","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_3b739bb3","line":2183,"updated":"2020-04-08 03:56:52.000000000","message":"pep8: error: Item \"None\" of \"Optional[Any]\" has no attribute \"pools\"","commit_id":"daeaaf4a5d36dc1fa2c024d52afb329307262fa5"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"46324e10bf991f8b58c92311f2d6753478212c96","unresolved":false,"context_lines":[{"line_number":1841,"context_line":"    # NOTE(huaqiang) \u0027mixed\u0027 instance policy is valid only when \u0027nova-compute\u0027"},{"line_number":1842,"context_line":"    # service version is greater than 51."},{"line_number":1843,"context_line":"    return service.get_minimum_version_all_cells("},{"line_number":1844,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d 51"},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":""},{"line_number":1847,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_1ace6c2c","line":1844,"updated":"2020-04-09 04:42:39.000000000","message":"Sure. Done.","commit_id":"4f92b3b8fbb5e4cd3e99fdb19673b6e6c20be27e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"863a444e0ed61eea0f46d9144ac044b1d7c78c3e","unresolved":false,"context_lines":[{"line_number":1841,"context_line":"    # NOTE(huaqiang) \u0027mixed\u0027 instance policy is valid only when \u0027nova-compute\u0027"},{"line_number":1842,"context_line":"    # service version is greater than 51."},{"line_number":1843,"context_line":"    return service.get_minimum_version_all_cells("},{"line_number":1844,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d 51"},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":""},{"line_number":1847,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_0f70faa4","line":1844,"range":{"start_line":1844,"start_character":61,"end_line":1844,"end_character":63},"updated":"2020-04-08 17:22:42.000000000","message":"better to put this into constant","commit_id":"4f92b3b8fbb5e4cd3e99fdb19673b6e6c20be27e"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"3a7fb5f68ae0fa68e04fb1a923d089bac56cb6ee","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"    # service version is greater than 52."},{"line_number":1841,"context_line":"    return (service.get_minimum_version_all_cells("},{"line_number":1842,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d"},{"line_number":1843,"context_line":"            MIN_VER_NOVA_COMPUTE_MIXED_POLICY)"},{"line_number":1844,"context_line":""},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_b0700542","line":1843,"updated":"2020-07-14 10:20:39.000000000","message":"Alex and Stephen: Noticed this nova-compute service version check could be possible done either conductor layer or API layer,\nand this topic\u0027s follow-up commits are for the way of conductor layer,\nand topic https://review.opendev.org/740933 is for API layer.\n\nWelcome your comments.","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":30209,"name":"Huaqiang","email":"huaqiang.wang@intel.com","username":"Huaqiang.Wang"},"change_message_id":"eea9e5bc29f1638d435fc59a54260f0f9a46d4d9","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"    # service version is greater than 52."},{"line_number":1841,"context_line":"    return (service.get_minimum_version_all_cells("},{"line_number":1842,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d"},{"line_number":1843,"context_line":"            MIN_VER_NOVA_COMPUTE_MIXED_POLICY)"},{"line_number":1844,"context_line":""},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_05c86771","line":1843,"updated":"2020-06-29 13:40:03.000000000","message":"OK. Then I think I should add this version check before creating and migrating to a new host.\n\nOne thing I need your comment, is it enough to check the *single* target nova-compute node is upgraded or shall I check *all* nova-computes are upgraded for supporting the mixed instance behavior? After a cluster upgrade, we require all compute nodes are at the same version, right? And do we support to create mixed instance in middle of version upgrade since the compute nodes upgrade cannot finish in a short time usually?","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"60f4e6964cc97f05717768c95961e55e4afc1155","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"    # service version is greater than 52."},{"line_number":1841,"context_line":"    return (service.get_minimum_version_all_cells("},{"line_number":1842,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d"},{"line_number":1843,"context_line":"            MIN_VER_NOVA_COMPUTE_MIXED_POLICY)"},{"line_number":1844,"context_line":""},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_f4246db1","line":1843,"updated":"2020-06-22 13:41:20.000000000","message":"This check doesn\u0027t belong here. It should be done in the conductor layer or something but not here. Perhaps duplicate what we did for the live migration checks?","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c674a587b572229b0144f4a76787a43e1077ec4b","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"    # service version is greater than 52."},{"line_number":1841,"context_line":"    return (service.get_minimum_version_all_cells("},{"line_number":1842,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d"},{"line_number":1843,"context_line":"            MIN_VER_NOVA_COMPUTE_MIXED_POLICY)"},{"line_number":1844,"context_line":""},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_9ef6848e","line":1843,"in_reply_to":"bf51134e_05c86771","updated":"2020-06-29 16:22:15.000000000","message":"dansmith would have more thoughts on the matter, but personally I think it would be better to wait until everything is upgraded before allowing this. That\u0027s what we did for the live migration checks and it just simplifies things","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"34b119462885e4be4e09f32409f1803c903dfc3e","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"    # service version is greater than 52."},{"line_number":1841,"context_line":"    return (service.get_minimum_version_all_cells("},{"line_number":1842,"context_line":"        nova_context.get_admin_context(), \u0027nova-compute\u0027) \u003e\u003d"},{"line_number":1843,"context_line":"            MIN_VER_NOVA_COMPUTE_MIXED_POLICY)"},{"line_number":1844,"context_line":""},{"line_number":1845,"context_line":""},{"line_number":1846,"context_line":"def numa_get_constraints(flavor, image_meta):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_83dfeb38","line":1843,"in_reply_to":"bf51134e_f4246db1","updated":"2020-07-07 03:47:01.000000000","message":"\u003e This check doesn\u0027t belong here. It should be done in the conductor\n \u003e layer or something but not here. Perhaps duplicate what we did for\n \u003e the live migration checks?\n\n\n@Stephen, If we move the check to the conductor, that means if the user use mix instance before upgrade finished, then the user will get an error status instance.\n\nIf we check this here, then the check is done at API layer, then the user can get error response from the boot API directly.","commit_id":"0f24410dc76c3c59c6fbb1406ec0d5419be4c290"}]}
