designate/doc/source/admin/pool-scheduler.rst
Doug Hellmann 84040e07ed rearrange existing documentation according to the new standard layout
Change-Id: I797d2445b16c8348cdbafbb4f859251c772e1e14
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-06-29 14:44:36 -04:00

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