Files
designate/doc/source/admin/pool-scheduler.rst
Greg Rakauskas e4076b9d1c Add docs guide updates for multi-pools
This patch adds Admin, User, and CLI docs support guides for multi-pools.

Closes-Bug: #2092408
Change-Id: I92cad74176d04f8d8ae0941022db3e766a8d9f0e
2025-01-17 04:02:06 +00:00

3.2 KiB

Pool Scheduler Filters

About Filters

When a user creates a zone, the pool scheduler uses filters to assign the zone to a particular DNS server pool. As the administrator, you choose an ordered list of filters that runs on each zone create API request. You configure the scheduler to use filters that are provided with Designate or create your own.

Filters Provided with Designate

Designate provides several filters that represent common use cases.

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

Creating Custom Filters

You can create your own filters by extending designate.scheduler.filters.base.Filter and registering a new entry point in the designate.scheduler.filters namespace in designate.conf:

[entry_points]
designate.scheduler.filters =
my_custom_filter = my_extension.filters.my_custom_filter:MyCustomFilter

Configuring Filters in the Scheduler

After you have decided whether to use the filters provided with Designate or create custom filters you must configure the filters in the pool scheduler.

Inside the designate.conf file under the [service:central] section, add the filters that you want the scheduler to use to the scheduler_filters parameter:

[service:central]
scheduler_filters = attribute, pool_id_attribute, fallback, random, my_custom_filter

Important

The scheduler runs the filters list from left to right.