Current Series Release Notes

18.0.0.0rc1-10

New Features

  • Added new configuration section [centralized_scheduler] which contains options to enable centralized scheduler and following options:

    • enabled - Enable centralized scheduler

    • service_user (required) - Service user ID or name for centralized scheduler

    • service_user_domain (optional) - ID or Name of the domain where “service_user” is located

    • trusts_delegated_roles - List of roles to be delegated to the service user. By default only member role will be delegated.

    This allows to create trusts for service user to perform actions on behalf of users, when freezer-scheduler runs in the centralized mode. Users trust ID will be included in response to Jobs API calls, which will allow centralized scheduler to act on behalf of the user.

  • A new parameter all_projects has been added to the GET /v2/jobs endpoint. When set to True, it will return all jobs regardless of the project owning them.

    This call requires passing the jobs:get_all_projects policy for the authenticated user.

  • Introduced a new configuration parameter [centralized_scheduler]/enforce_trusts. Default logic for API is to create trusts only when a client is registered with is_central property. If operator wants to create for each job regardless of the client it’s associated with, [centralized_scheduler]/enforce_trusts should be set to True. In case operator wants to disable creation of trusts on behalf of the user, [centralized_scheduler]/enabled should be set to False.

  • Introduced a new boolean parameter is_central for client registration. Clients marked as central are globally visible to all projects, facilitating the use of shared scheduler nodes in multi-project environments. Registration of central clients is governed by the new clients:create_central policy rule (defaulting to rule:admin_or_service). While these clients are visible globally, management and deletion remain restricted to the original owning project or system administrators.

Upgrade Notes

  • Freezer API now defaults to SQLAlchemy as the storage driver.

Deprecation Notes

  • Elasticsearch DB storage is deprecated and will be removed in the next release. The only supported storage driver is SQLAlchemy.