Current Series Release Notes¶
18.0.0-35¶
New Features¶
Adds the
--remove-before-dateargument to the admin job. It removes backups before the specified ISO datetime (YYYY-MM-DDTHH:MM:SS).
Added support for dynamic backup name templates in the Freezer agent. Administrators can now use placeholders such as {mode}, {hostname}, {resource_id}, {container}, and {storage} in –backup-name. If not configured, the agent automatically defaults to mode-specific template names (e.g. freezer_{mode}_{resource_id}).
Unified backup naming so that the resolved backup name is used for both the backend (e.g., the Cinder volume backup created in OpenStack) and the metadata payload registered in the Freezer API.
Cinder native backup jobs now support the
cindernative_backup_az(CLI option--cindernative-backup-az) parameter, allowing users to specify the availability zone for backup operations.
Add –cindernative-backup-container parameter to the backup command for cindernative volume backups. This allows users to specify a custom container name or container template (supporting {project_id}, {volume_id}, and {backup_name}) separately from the global default container name.
Cinder native volume backups are now created with metadata tags (
created_by: freezerandfreezer_backup_id: <uuid>), allowing seamless tracking and correlation between Cinder backups andfreezer-apirecords.
Added the
cindernative_freezer_onlyconfiguration option (CLI flag--cindernative-freezer-only), defaulting toTrue. When enabled, Cinder rotation actions only manage and delete backups created by Freezer, preserving user-created manual volume backups.
A new configuration group
schedulerhas been introduced. All options related to thefreezer-schedulerhave been moved to this group. Previous options underDEFAULTgroup are still respected, though are considered deprecated.
freezer-scheduler can now run as a cluster. Multiple schedulers configured with the same
client_idand a common tooz coordination backend (set via the new[coordination] backend_urloption) share the jobs bound to thatclient_id: ownership is distributed with a consistent hash ring and each run is guarded by a per-job distributed lock, so jobs keep running when a member dies and are never executed twice concurrently. If the coordination backend is unreachable, members skip job execution (fail safe) until it is restored; a firing that cannot take its lock is retried with exponential backoff, so one-shot jobs are not lost while coordination is briefly unavailable. Coordination is opt-in: withoutbackend_urlthe scheduler runs standalone as before. The tooz client library matching the chosen backend must be installed (e.g.tooz[redis]). Not supported in Windows service mode.
A new configuration section
[service_auth]has been introduced and configuration of connection to Keystone is expected to be defined there.
Upgrade Notes¶
The
--remove-from-dateargument is deprecated in favor of--remove-before-date. The deprecated argument will be removed in a future release.
The default value for the –backup-name configuration option has been changed from
Noneto"freezer_{mode}_{resource_id}". This means that if –backup-name is omitted, backups will be dynamically named using this template instead of failing validation or using static fallbacks.
Make the –container CLI option optional for Cinder native restore jobs (–backup-media cindernative), as Cinder resolves the backup storage container internally from its database.
Please, make sure you are using OpenStack Identity API v3 before upgrading.
Deprecation Notes¶
The
DEFAULTgroup options related to thefreezer-schedulerare considered deprecated. Please refer to theschedulergroup options for more information.
Support for OpenStack Identity API versions except
3has been dropped.
Definition of keystone connection details in the
[DEFAULT]section of freezer.conf is deprecated and will be removed in next releases.
Bug Fixes¶
Resolved multiple integration issues in the native Cinder backup driver (cindernative mode), including timezone-aware UTC datetime and timestamp comparison for rotation/cleanup, and fixing generator length check errors.
Cinder backup rotation actions now report deleted backup IDs to
freezer-scheduler, which automatically deletes the corresponding backup entries infreezer-api.
freezer-schedulernow applies job definition changes made throughfreezer-apiwithout needing a restart. Previously a job that was already scheduled kept executing the actions it was created with: the updated definition was fetched on every poll but only adopted when the job carried a pendingstart,stoporabortevent, so editing a job (for example replacing its actions withPATCH /v2/jobs/{job_id}) had no effect until the job was stopped and started again or the scheduler was restarted. Changes to a job’s schedule are now applied as well, re-arming the trigger, except while the job is running or is being started, stopped or removed. Standalone (--no-api) mode is unaffected, as it reads its jobs directory once at startup.