Change-Id: I797d2445b16c8348cdbafbb4f859251c772e1e14 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
3.0 KiB
Pool Scheduler
In designate we have a pluggable scheduler filter interface.
You can set an ordered list of filters to run on each zone create api request.
We provide a few basic filters below, and creating custom filters follows a similar pattern to schedulers.
You can create your own by extending designate.scheduler.filters.base.Filter
and
registering a new entry point in the
designate.scheduler.filters
namespace like so in your
setup.cfg
file:
[entry_points]
designate.scheduler.filters =
my_custom_filter = my_extention.filters.my_custom_filter:MyCustomFilter
The new filter can be added to the scheduler_filters
list in the [service:central]
section like so:
[service:central]
scheduler_filters = attribute, pool_id_attribute, fallback, random, my_custom_filter
The filters list is ran from left to right, so if the list is set to:
[service:central]
scheduler_filters = attribute, random
There will be two filters ran, the designate.scheduler.filters.attribute_filter.AttributeFilter
followed by designate.scheduler.filters.random_filter.RandomFilter
Default Provided Filters
Base Class - Filter
designate.scheduler.filters.base.Filter
Attribute Filter
designate.scheduler.filters.attribute_filter.AttributeFilter
Pool ID Attribute Filter
designate.scheduler.filters.pool_id_attribute_filter.PoolIDAttributeFilter
Random Filter
designate.scheduler.filters.random_filter.RandomFilter
Fallback Filter
designate.scheduler.filters.fallback_filter.FallbackFilter
Default Pool Filter
designate.scheduler.filters.default_pool_filter.DefaultPoolFilter
In Doubt Default Pool Filter
designate.scheduler.filters.in_doubt_default_pool_filter.InDoubtDefaultPoolFilter