def filter_all(self, cells, filter_properties):
        request_spec = filter_properties.get('request_spec', {})
        image_properties = request_spec.get('image', {}).get('properties', {})
        hypervisor_version_requires = image_properties.get(
            'hypervisor_version_requires')

        if hypervisor_version_requires is None:
            return cells

        filtered_cells = []
        for cell in cells:
            version = cell.capabilities.get('prominent_hypervisor_version')
            if version:
                l = list(version)
                version = str(l[0])

            if not version or self._matches_version(version,
                                            hypervisor_version_requires):
                filtered_cells.append(cell)

        return filtered_cells
Override filter_all() which operates on the full list
dataset/ETHPy150Open BU-NU-CLOUD-SP16/Trusted-Platform-Module-nova/nova/cells/filters/image_properties.py/ImagePropertiesFilter.filter_all