)]}'
{"nova/compute/claims.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"88ef43f4a8782683ee53a22256fd8b0c2b65ab9a","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        requested \u003d self.disk_gb"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        return self._test(type_, unit, total, used, requested, limit)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _test_pci(self):"},{"line_number":190,"context_line":"        pci_requests \u003d objects.InstancePCIRequests.get_by_instance_uuid("},{"line_number":191,"context_line":"            self.context, self.instance[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_0a090e95","line":188,"updated":"2015-02-03 15:39:14.000000000","message":"So is there any point in testing this? and actually would this not claim these twice unless we tell it not to specifically claim just pci_requests if it has already claimed them in the NUMA code?","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"cfc5f5d14622844560dddc08cf2a9b43ffe20b9b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        requested \u003d self.disk_gb"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        return self._test(type_, unit, total, used, requested, limit)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _test_pci(self):"},{"line_number":190,"context_line":"        pci_requests \u003d objects.InstancePCIRequests.get_by_instance_uuid("},{"line_number":191,"context_line":"            self.context, self.instance[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_1e25cfaa","line":188,"in_reply_to":"da86d52c_0a090e95","updated":"2015-02-04 09:40:07.000000000","message":"Those methods don\u0027t actually claim anything, just test if a claim can be satisfied. I left the _test_pci method as it is to not over complicate the _test_numa_topology. It\u0027s similar to how memory is tested, once in _test_memory and the second time in _test_numa_topology.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6c0f6128c97d0730c9d7e775c415da9c445abfc2","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        requested \u003d self.disk_gb"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        return self._test(type_, unit, total, used, requested, limit)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _test_pci(self):"},{"line_number":190,"context_line":"        pci_requests \u003d objects.InstancePCIRequests.get_by_instance_uuid("},{"line_number":191,"context_line":"            self.context, self.instance[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_3613780e","line":188,"in_reply_to":"da86d52c_1e25cfaa","updated":"2015-02-04 11:23:57.000000000","message":"Yeah - I guess so. CPUs too.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"88ef43f4a8782683ee53a22256fd8b0c2b65ab9a","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"            if requested_topology and not instance_topology:"},{"line_number":224,"context_line":"                if pci_requests.requests:"},{"line_number":225,"context_line":"                    return (_(\"Requested instance NUMA topology together with\""},{"line_number":226,"context_line":"                              \" requested PCI devices cannot fit the given\""},{"line_number":227,"context_line":"                              \" host NUMA topology\"))"},{"line_number":228,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_571b7672","line":225,"updated":"2015-02-03 15:39:14.000000000","message":"ultra NIT: It would be nicer to only customize the message based on the presence of requests instead of 2 return statements","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"cfc5f5d14622844560dddc08cf2a9b43ffe20b9b","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"            if requested_topology and not instance_topology:"},{"line_number":224,"context_line":"                if pci_requests.requests:"},{"line_number":225,"context_line":"                    return (_(\"Requested instance NUMA topology together with\""},{"line_number":226,"context_line":"                              \" requested PCI devices cannot fit the given\""},{"line_number":227,"context_line":"                              \" host NUMA topology\"))"},{"line_number":228,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_9e47ff4a","line":225,"in_reply_to":"1a930d6b_571b7672","updated":"2015-02-04 09:40:07.000000000","message":"no problem, will do","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"}],"nova/pci/manager.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"88ef43f4a8782683ee53a22256fd8b0c2b65ab9a","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            context, instance)"},{"line_number":157,"context_line":"        if not pci_requests.requests:"},{"line_number":158,"context_line":"            return None"},{"line_number":159,"context_line":"        instance_numa_topology \u003d hardware.instance_topology_from_instance("},{"line_number":160,"context_line":"            instance)"},{"line_number":161,"context_line":"        instance_cells \u003d None"},{"line_number":162,"context_line":"        if instance_numa_topology:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_c57d29b3","line":159,"updated":"2015-02-03 15:39:14.000000000","message":"This won\u0027t work in the claims case, as this may not be the topology we have calculated as part of the claim - we need to grab the numa topology from the cliams object.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6c0f6128c97d0730c9d7e775c415da9c445abfc2","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            context, instance)"},{"line_number":157,"context_line":"        if not pci_requests.requests:"},{"line_number":158,"context_line":"            return None"},{"line_number":159,"context_line":"        instance_numa_topology \u003d hardware.instance_topology_from_instance("},{"line_number":160,"context_line":"            instance)"},{"line_number":161,"context_line":"        instance_cells \u003d None"},{"line_number":162,"context_line":"        if instance_numa_topology:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_56df0c69","line":159,"in_reply_to":"da86d52c_be892328","updated":"2015-02-04 11:23:57.000000000","message":"Actually - because of this line\n\nhttps://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L136\n\nIt\u0027s already being properly assigned so yeah.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"cfc5f5d14622844560dddc08cf2a9b43ffe20b9b","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            context, instance)"},{"line_number":157,"context_line":"        if not pci_requests.requests:"},{"line_number":158,"context_line":"            return None"},{"line_number":159,"context_line":"        instance_numa_topology \u003d hardware.instance_topology_from_instance("},{"line_number":160,"context_line":"            instance)"},{"line_number":161,"context_line":"        instance_cells \u003d None"},{"line_number":162,"context_line":"        if instance_numa_topology:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_be892328","line":159,"in_reply_to":"da86d52c_c57d29b3","updated":"2015-02-04 09:40:07.000000000","message":"This gets called from here:\n\nhttps://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L716\n\nAnd the instance that gets passed is what we got from testing claims. It\u0027s the same instance thats passed to _update_usage on line 712 and then to \nget_host_numa_usage_from_instance.\nSo i thought it has to be the right instance. What do you think?","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"}],"nova/pci/stats.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"35b50eda42a57fc882eb17f63efbc2f3d51d8261","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        # Some systems don\u0027t report numa node info for pci devices, in"},{"line_number":184,"context_line":"        # that case None is reported in pci_device.numa_node, by adding None"},{"line_number":185,"context_line":"        # to numa_cells we allow assigning those devices to instances with"},{"line_number":186,"context_line":"        # numa topology"},{"line_number":187,"context_line":"        numa_cells \u003d [None] + [cell.id for cell in numa_cells]"},{"line_number":188,"context_line":"        # filter out pools which numa_node is not included in numa_cells"},{"line_number":189,"context_line":"        return [pool for pool in pools if any(utils.pci_device_prop_match("}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_912bbbea","line":186,"updated":"2015-02-02 10:26:01.000000000","message":"The cloud could have a mixture of hosts, some which do report NUMA info for PCI devices and some which don\u0027t report NUMA info. Should we have prioritization here where we first only consider hosts which do report NUMA info for PCI, and only if they are exhausted fallback to hosts which don\u0027t report NUMA.  Or is it easier to just leave it upto admins to setup their NUMA host aggregates to exclude the hosts which don\u0027t report NUMA for PCI (if that\u0027s the policy they desire).","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"88ef43f4a8782683ee53a22256fd8b0c2b65ab9a","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        # Some systems don\u0027t report numa node info for pci devices, in"},{"line_number":184,"context_line":"        # that case None is reported in pci_device.numa_node, by adding None"},{"line_number":185,"context_line":"        # to numa_cells we allow assigning those devices to instances with"},{"line_number":186,"context_line":"        # numa topology"},{"line_number":187,"context_line":"        numa_cells \u003d [None] + [cell.id for cell in numa_cells]"},{"line_number":188,"context_line":"        # filter out pools which numa_node is not included in numa_cells"},{"line_number":189,"context_line":"        return [pool for pool in pools if any(utils.pci_device_prop_match("}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_4ae22604","line":186,"in_reply_to":"da86d52c_47b9812d","updated":"2015-02-03 15:39:14.000000000","message":"I think this also does not belong here really - it should be decided on the filter level weather we want to allow for this flexiblity or not, so should be actually passed in to the support_request of the stats manager.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"dd9da6ab1b0d2a80ede63af833f8a23ce157f19c","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        # Some systems don\u0027t report numa node info for pci devices, in"},{"line_number":184,"context_line":"        # that case None is reported in pci_device.numa_node, by adding None"},{"line_number":185,"context_line":"        # to numa_cells we allow assigning those devices to instances with"},{"line_number":186,"context_line":"        # numa topology"},{"line_number":187,"context_line":"        numa_cells \u003d [None] + [cell.id for cell in numa_cells]"},{"line_number":188,"context_line":"        # filter out pools which numa_node is not included in numa_cells"},{"line_number":189,"context_line":"        return [pool for pool in pools if any(utils.pci_device_prop_match("}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_faf0da68","line":186,"in_reply_to":"da86d52c_4ae22604","updated":"2015-02-04 14:50:22.000000000","message":"I pushed another patchset for review:\nhttps://review.openstack.org/152915\nIt implements PciNumaInfoWeigher the purpose of this weigher is to prioritize hosts that provide numa node info for pci devices.\nPlease have a look if you\u0027re interested.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"1bfc14aacbfd190641aca57b370d53d3df34c43f","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        # Some systems don\u0027t report numa node info for pci devices, in"},{"line_number":184,"context_line":"        # that case None is reported in pci_device.numa_node, by adding None"},{"line_number":185,"context_line":"        # to numa_cells we allow assigning those devices to instances with"},{"line_number":186,"context_line":"        # numa topology"},{"line_number":187,"context_line":"        numa_cells \u003d [None] + [cell.id for cell in numa_cells]"},{"line_number":188,"context_line":"        # filter out pools which numa_node is not included in numa_cells"},{"line_number":189,"context_line":"        return [pool for pool in pools if any(utils.pci_device_prop_match("}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_47b9812d","line":186,"in_reply_to":"da86d52c_912bbbea","updated":"2015-02-02 11:15:24.000000000","message":"I think that\u0027s a good idea.\nBut this is not the right place to do it.Here we are just selecting pci devices that fit the spec on a specific host, and we have no way of knowing what\u0027s on other hosts.\nI think this should be done by using scheduler Weights.\nI\u0027ll implement the PciNumaInfoWeigher in a separate patch.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"9cd70a26d8f491d899753c794e7f9eaad28c006c","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        # filter out pools which numa_node is not included in numa_cells"},{"line_number":189,"context_line":"        return [pool for pool in pools if any(utils.pci_device_prop_match("},{"line_number":190,"context_line":"                                pool, [{\u0027numa_node\u0027: cell}])"},{"line_number":191,"context_line":"                                              for cell in numa_cells)]"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def _apply_request(self, pools, request, numa_cells\u003dNone):"},{"line_number":194,"context_line":"        count \u003d request.count"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_38eb5914","line":191,"updated":"2015-02-04 15:48:49.000000000","message":"pi_device_prop_match() performs \"any\" operation already. Therefore, the above statement can be simplified as\n\nif utils.pi_device_prop_match(pool, [{\u0027numa_node\u0027: cell} for cell in numa_cells]\n\n\nIn addition, alternatively, _filter_pools_for_numa_cells() may not be needed if numa_cells requirement is added to the pci request itself.","commit_id":"08713a8e3e03b497ead9913659d31daadcae8ed9"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"fcd96c31b81d1abf613f14f0cbdb12ac35a48bdb","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        # filter out pools which numa_node is not included in numa_cells"},{"line_number":189,"context_line":"        return [pool for pool in pools if any(utils.pci_device_prop_match("},{"line_number":190,"context_line":"                                pool, [{\u0027numa_node\u0027: cell}])"},{"line_number":191,"context_line":"                                              for cell in numa_cells)]"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def _apply_request(self, pools, request, numa_cells\u003dNone):"},{"line_number":194,"context_line":"        count \u003d request.count"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_a45ac027","line":191,"in_reply_to":"da86d52c_38eb5914","updated":"2015-02-04 17:08:36.000000000","message":"yes, you are right about the simplification, one any too many :)\nI don\u0027t like the idea of putting numa_cells into pci_request we would need to modify pci_request for each host and host numa node permutation we try.\n\nI\u0027ll do the simplification after kilo-2\n\nThanks","commit_id":"08713a8e3e03b497ead9913659d31daadcae8ed9"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"88ef43f4a8782683ee53a22256fd8b0c2b65ab9a","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                                          instance_cells)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        # Calculate the numa usage"},{"line_number":262,"context_line":"        updated_numa_topology \u003d hardware.get_host_numa_usage_from_instance("},{"line_number":263,"context_line":"                self, instance)"},{"line_number":264,"context_line":"        self.numa_topology \u003d updated_numa_topology"},{"line_number":265,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_c08c3782","line":262,"updated":"2015-02-03 15:39:14.000000000","message":"Can\u0027t we make this method do the whole dance in the same way how fit_instance_to_host now takes additional PCI-related args","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"cfc5f5d14622844560dddc08cf2a9b43ffe20b9b","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                                          instance_cells)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        # Calculate the numa usage"},{"line_number":262,"context_line":"        updated_numa_topology \u003d hardware.get_host_numa_usage_from_instance("},{"line_number":263,"context_line":"                self, instance)"},{"line_number":264,"context_line":"        self.numa_topology \u003d updated_numa_topology"},{"line_number":265,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_eaebb510","line":262,"in_reply_to":"da86d52c_c08c3782","updated":"2015-02-04 09:40:07.000000000","message":"It could be done but it won\u0027t look as good as with fit_intstance_to_host additional logic would have to be added to get_host_numa_usage_from_instance so it would now if it should allocate pci devices (with pci_stats.consume_requests) or just check if they apply with apply_requests. I would prefer to leave it as it is now. But if you insist i can make that change.","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"6c0f6128c97d0730c9d7e775c415da9c445abfc2","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                                          instance_cells)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        # Calculate the numa usage"},{"line_number":262,"context_line":"        updated_numa_topology \u003d hardware.get_host_numa_usage_from_instance("},{"line_number":263,"context_line":"                self, instance)"},{"line_number":264,"context_line":"        self.numa_topology \u003d updated_numa_topology"},{"line_number":265,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_369d385a","line":262,"in_reply_to":"da86d52c_eaebb510","updated":"2015-02-04 11:23:57.000000000","message":"Right - well I guess my beef with this as well is that with PCI devices we now have two separate paths of checking availabilty (numa or no numa)/ but a single one for consuming. Not necessarily a bad thing but seems confusing. Other exreme would be to do all the pci device tracking per NUMA node, which is what would be ideal, but unlikely to get done if we want to merge any of this soon","commit_id":"7373cdc1d1096e6c623634d38532454fa1c9a399"}],"nova/tests/unit/compute/test_claims.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"28394f05552aa225cf1d8acdb0a2af92a705cdc0","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self.tracker.pci_tracker.set_hvdevs([dev_dict])"},{"line_number":235,"context_line":"        claim \u003d self._claim()"},{"line_number":236,"context_line":"        self.assertIsNone(claim._test_pci())"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def test_ext_resources(self, mock_get):"},{"line_number":239,"context_line":"        self._claim()"},{"line_number":240,"context_line":"        self.assertTrue(self.tracker.ext_resources_handler.test_called)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_d365114a","line":237,"updated":"2015-01-13 15:25:44.000000000","message":"On older libvirt the numa_node will not be present for the PCI devices at all. Also on many hardware types, the BIOS doesn\u0027t report PCI NUMA node numbers, so they\u0027ll be \u0027-1\u0027.  I think we need to have tests covering both these scenarios, to guarantee we don\u0027t cause regressions for current users of PCI device assignment + NUMA.\n\nie if the NUMA node affinity isn\u0027t available for PCI devices, we must still support assigning PCI devices to guests - we simply won\u0027t guarantee they\u0027ll be NUMA-local devices.","commit_id":"b62b9fc910f5d4d5bd1a7229b8750a172ba7b656"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"ea6e8811d0ac5d8d08c3d4586f74a865155803be","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self.tracker.pci_tracker.set_hvdevs([dev_dict])"},{"line_number":235,"context_line":"        claim \u003d self._claim()"},{"line_number":236,"context_line":"        self.assertIsNone(claim._test_pci())"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def test_ext_resources(self, mock_get):"},{"line_number":239,"context_line":"        self._claim()"},{"line_number":240,"context_line":"        self.assertTrue(self.tracker.ext_resources_handler.test_called)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_9cd49fbc","line":237,"in_reply_to":"3a961159_d365114a","updated":"2015-02-04 11:37:07.000000000","message":"Done","commit_id":"b62b9fc910f5d4d5bd1a7229b8750a172ba7b656"}],"nova/tests/unit/compute/test_resource_tracker.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"28394f05552aa225cf1d8acdb0a2af92a705cdc0","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                \u0027vendor_id\u0027: \u00278086\u0027,"},{"line_number":161,"context_line":"                \u0027product_id\u0027: \u00277891\u0027,"},{"line_number":162,"context_line":"                \u0027numa_node\u0027: 1"},{"line_number":163,"context_line":"            },"},{"line_number":164,"context_line":"        ] if self.pci_support else []"},{"line_number":165,"context_line":"        if stats is not None:"},{"line_number":166,"context_line":"            self.stats \u003d stats"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_b3ffa534","line":163,"updated":"2015-01-13 15:25:44.000000000","message":"Same comment about probably needing some test cases where the numa_node value is missing / -1","commit_id":"b62b9fc910f5d4d5bd1a7229b8750a172ba7b656"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"ea6e8811d0ac5d8d08c3d4586f74a865155803be","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                \u0027vendor_id\u0027: \u00278086\u0027,"},{"line_number":161,"context_line":"                \u0027product_id\u0027: \u00277891\u0027,"},{"line_number":162,"context_line":"                \u0027numa_node\u0027: 1"},{"line_number":163,"context_line":"            },"},{"line_number":164,"context_line":"        ] if self.pci_support else []"},{"line_number":165,"context_line":"        if stats is not None:"},{"line_number":166,"context_line":"            self.stats \u003d stats"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_1cf0af65","line":163,"in_reply_to":"3a961159_b3ffa534","updated":"2015-02-04 11:37:07.000000000","message":"Done","commit_id":"b62b9fc910f5d4d5bd1a7229b8750a172ba7b656"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"28394f05552aa225cf1d8acdb0a2af92a705cdc0","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"            self.assertEqual(set([3]), cfg.cpuset)"},{"line_number":1381,"context_line":"            self.assertIsNone(cfg.cputune)"},{"line_number":1382,"context_line":"            self.assertIsNone(cfg.cpu.numa)"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"    @mock.patch.object(objects.Flavor, \u0027get_by_id\u0027)"},{"line_number":1385,"context_line":"    def test_get_guest_config_numa_host_instance_fit_w_cpu_pinset(self,"},{"line_number":1386,"context_line":"                                                                  mock_flavor):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_3361f511","line":1383,"updated":"2015-01-13 15:25:44.000000000","message":"And test cases for PCI with no NUMA affi8nity info present, but with general guest NUME enabled ?","commit_id":"b62b9fc910f5d4d5bd1a7229b8750a172ba7b656"},{"author":{"_account_id":11647,"name":"Przemyslaw Czesnowicz","email":"przemyslaw.czesnowicz@intel.com","username":"pczesno"},"change_message_id":"ea6e8811d0ac5d8d08c3d4586f74a865155803be","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"            self.assertEqual(set([3]), cfg.cpuset)"},{"line_number":1381,"context_line":"            self.assertIsNone(cfg.cputune)"},{"line_number":1382,"context_line":"            self.assertIsNone(cfg.cpu.numa)"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"    @mock.patch.object(objects.Flavor, \u0027get_by_id\u0027)"},{"line_number":1385,"context_line":"    def test_get_guest_config_numa_host_instance_fit_w_cpu_pinset(self,"},{"line_number":1386,"context_line":"                                                                  mock_flavor):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_9c82dfa3","line":1383,"in_reply_to":"3a961159_3361f511","updated":"2015-02-04 11:37:07.000000000","message":"Done","commit_id":"b62b9fc910f5d4d5bd1a7229b8750a172ba7b656"}]}
