cinder.scheduler.base_filter module¶
Filter support
- class BaseFilter¶
Bases:
object
Base class for all filter classes.
- filter_all(filter_obj_list, filter_properties)¶
Yield objects that pass the filter.
Can be overridden in a subclass, if you need to base filtering decisions on all objects. Otherwise, one can just override _filter_one() to filter a single object.
- run_filter_for_index(index)¶
Return True if the filter needs to be run for n-th instances.
Only need to override this if a filter needs anything other than “first only” or “all” behaviour.
- run_filter_once_per_request = False¶
- class BaseFilterHandler(modifier_class_type, modifier_namespace)¶
Bases:
BaseHandler
Base class to handle loading filter classes.
This class should be subclassed where one needs to use filters.
- get_filtered_objects(filter_classes, objs: Iterable, filter_properties: dict, index: int = 0) list ¶
Get objects after filter
- Parameters:
filter_classes – filters that will be used to filter the objects
objs – objects that will be filtered
filter_properties – client filter properties
index – This value needs to be increased in the caller function of get_filtered_objects when handling each resource.