)]}'
{"nova/pci/stats.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed05a76ea806d248d14d01829ae1f4eac5e49392","unresolved":true,"context_lines":[{"line_number":320,"context_line":"        return pools"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    @classmethod"},{"line_number":323,"context_line":"    def _filter_pools(cls, pools, request, numa_cells):"},{"line_number":324,"context_line":"        \"\"\"Determine if an individual PCI request can be met."},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        Filter pools, which are collections of devices with similar traits, to"}],"source_content_type":"text/x-python","patch_set":1,"id":"214d0f1f_b4c609a0","line":323,"range":{"start_line":323,"start_character":8,"end_line":323,"end_character":21},"updated":"2020-11-26 18:31:13.000000000","message":"it might be nice to make this a generator funciton instead","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed05a76ea806d248d14d01829ae1f4eac5e49392","unresolved":true,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Firstly, let\u0027s exclude all devices that don\u0027t match our spec (e.g."},{"line_number":345,"context_line":"        # they\u0027ve got different PCI IDs or something)"},{"line_number":346,"context_line":"        pools \u003d cls._filter_pools_for_spec(pools, request.spec)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        # Next, let\u0027s exclude all devices that aren\u0027t on the correct NUMA node"},{"line_number":349,"context_line":"        # *assuming* we have devices and care about that, as determined by"}],"source_content_type":"text/x-python","patch_set":1,"id":"78b2b0dc_25077421","line":346,"range":{"start_line":346,"start_character":20,"end_line":346,"end_character":42},"updated":"2020-11-26 18:31:13.000000000","message":"this would also have to be a generator","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f4386c338760182e230432b947724b85cb78c8c","unresolved":false,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        # Firstly, let\u0027s exclude all devices that don\u0027t match our spec (e.g."},{"line_number":345,"context_line":"        # they\u0027ve got different PCI IDs or something)"},{"line_number":346,"context_line":"        pools \u003d cls._filter_pools_for_spec(pools, request.spec)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        # Next, let\u0027s exclude all devices that aren\u0027t on the correct NUMA node"},{"line_number":349,"context_line":"        # *assuming* we have devices and care about that, as determined by"}],"source_content_type":"text/x-python","patch_set":1,"id":"2ff468ac_c1c7c721","line":346,"range":{"start_line":346,"start_character":20,"end_line":346,"end_character":42},"in_reply_to":"78b2b0dc_25077421","updated":"2020-11-27 10:18:29.000000000","message":"I would agree if I wasn\u0027t trying to get the the before/after length later in the series. You can\u0027t get the length of generators since they\u0027re not collections, of course","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed05a76ea806d248d14d01829ae1f4eac5e49392","unresolved":true,"context_lines":[{"line_number":353,"context_line":"            if \u0027numa_policy\u0027 in request:"},{"line_number":354,"context_line":"                numa_policy \u003d request.numa_policy"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"            pools \u003d cls._filter_pools_for_numa_cells("},{"line_number":357,"context_line":"                pools, numa_cells, numa_policy, request.count)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Finally, if we\u0027re not requesting PFs then we should not use these."}],"source_content_type":"text/x-python","patch_set":1,"id":"76d39850_ec27caf4","line":356,"range":{"start_line":356,"start_character":24,"end_line":356,"end_character":52},"updated":"2020-11-26 18:31:13.000000000","message":"and this","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f4386c338760182e230432b947724b85cb78c8c","unresolved":false,"context_lines":[{"line_number":353,"context_line":"            if \u0027numa_policy\u0027 in request:"},{"line_number":354,"context_line":"                numa_policy \u003d request.numa_policy"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"            pools \u003d cls._filter_pools_for_numa_cells("},{"line_number":357,"context_line":"                pools, numa_cells, numa_policy, request.count)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Finally, if we\u0027re not requesting PFs then we should not use these."}],"source_content_type":"text/x-python","patch_set":1,"id":"99ec2825_3e427b28","line":356,"range":{"start_line":356,"start_character":24,"end_line":356,"end_character":52},"in_reply_to":"76d39850_ec27caf4","updated":"2020-11-27 10:18:29.000000000","message":"as above","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed05a76ea806d248d14d01829ae1f4eac5e49392","unresolved":true,"context_lines":[{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Finally, if we\u0027re not requesting PFs then we should not use these."},{"line_number":360,"context_line":"        # Exclude them."},{"line_number":361,"context_line":"        pools \u003d cls._filter_non_requested_pfs(pools, request)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        # Do we still have enough devices left?"},{"line_number":364,"context_line":"        if sum([pool[\u0027count\u0027] for pool in pools]) \u003c request.count:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e8ab4828_44fdb0a6","line":361,"range":{"start_line":361,"start_character":20,"end_line":361,"end_character":45},"updated":"2020-11-26 18:31:13.000000000","message":"and this","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f4386c338760182e230432b947724b85cb78c8c","unresolved":false,"context_lines":[{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        # Finally, if we\u0027re not requesting PFs then we should not use these."},{"line_number":360,"context_line":"        # Exclude them."},{"line_number":361,"context_line":"        pools \u003d cls._filter_non_requested_pfs(pools, request)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        # Do we still have enough devices left?"},{"line_number":364,"context_line":"        if sum([pool[\u0027count\u0027] for pool in pools]) \u003c request.count:"}],"source_content_type":"text/x-python","patch_set":1,"id":"f02d468f_9a34ac93","line":361,"range":{"start_line":361,"start_character":20,"end_line":361,"end_character":45},"in_reply_to":"e8ab4828_44fdb0a6","updated":"2020-11-27 10:18:29.000000000","message":"as above","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed05a76ea806d248d14d01829ae1f4eac5e49392","unresolved":true,"context_lines":[{"line_number":364,"context_line":"        if sum([pool[\u0027count\u0027] for pool in pools]) \u003c request.count:"},{"line_number":365,"context_line":"            return None"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        return pools"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def support_requests(self, requests, numa_cells\u003dNone):"},{"line_number":370,"context_line":"        \"\"\"Determine if the PCI requests can be met."}],"source_content_type":"text/x-python","patch_set":1,"id":"d8703526_f8cc1056","line":367,"range":{"start_line":367,"start_character":0,"end_line":367,"end_character":20},"updated":"2020-11-26 18:31:13.000000000","message":"then this would be yeild form pools\n\nbut that could be done as a follow up path.\nit would allows use to avoid ever making copies whchi shoudl speed things up a bit.","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f4386c338760182e230432b947724b85cb78c8c","unresolved":true,"context_lines":[{"line_number":364,"context_line":"        if sum([pool[\u0027count\u0027] for pool in pools]) \u003c request.count:"},{"line_number":365,"context_line":"            return None"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        return pools"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def support_requests(self, requests, numa_cells\u003dNone):"},{"line_number":370,"context_line":"        \"\"\"Determine if the PCI requests can be met."}],"source_content_type":"text/x-python","patch_set":1,"id":"261f360c_35469118","line":367,"range":{"start_line":367,"start_character":0,"end_line":367,"end_character":20},"in_reply_to":"d8703526_f8cc1056","updated":"2020-11-27 10:18:29.000000000","message":"as above","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed05a76ea806d248d14d01829ae1f4eac5e49392","unresolved":true,"context_lines":[{"line_number":384,"context_line":"        \"\"\""},{"line_number":385,"context_line":"        # NOTE(yjiang5): this function has high possibility to fail,"},{"line_number":386,"context_line":"        # so no exception should be triggered for performance reason."},{"line_number":387,"context_line":"        return all("},{"line_number":388,"context_line":"            self._filter_pools(self.pools, r, numa_cells) for r in requests"},{"line_number":389,"context_line":"        )"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"    def _apply_request(self, pools, request, numa_cells\u003dNone):"},{"line_number":392,"context_line":"        \"\"\"Apply an individual PCI request."}],"source_content_type":"text/x-python","patch_set":1,"id":"4ff68c22_cafa46e9","line":389,"range":{"start_line":387,"start_character":15,"end_line":389,"end_character":9},"updated":"2020-11-26 18:31:13.000000000","message":"ok because we dont modify the pools just filter them we don\u0027t need a copy of the pools.","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5f4386c338760182e230432b947724b85cb78c8c","unresolved":true,"context_lines":[{"line_number":384,"context_line":"        \"\"\""},{"line_number":385,"context_line":"        # NOTE(yjiang5): this function has high possibility to fail,"},{"line_number":386,"context_line":"        # so no exception should be triggered for performance reason."},{"line_number":387,"context_line":"        return all("},{"line_number":388,"context_line":"            self._filter_pools(self.pools, r, numa_cells) for r in requests"},{"line_number":389,"context_line":"        )"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"    def _apply_request(self, pools, request, numa_cells\u003dNone):"},{"line_number":392,"context_line":"        \"\"\"Apply an individual PCI request."}],"source_content_type":"text/x-python","patch_set":1,"id":"4b5cfb07_6c846462","line":389,"range":{"start_line":387,"start_character":15,"end_line":389,"end_character":9},"in_reply_to":"4ff68c22_cafa46e9","updated":"2020-11-27 10:18:29.000000000","message":"yup, exactly","commit_id":"adc705ee0ccf1bd406190a631eb1857aa5a397bf"}]}
