Add way to periodically trim Cinder DB
We're adding a service that is responsible for executing db purge. Service will be deployed by default, but left stopped/disabled. This way we allow deployers to enable/disable feature by changing value of cinder_purge_deleted. Otherwise, when variables set to true once, setting them back to false won't lead to stopping of DB trimming , so timer would need to be stopped manually. Change-Id: Ic5ae8c778bff2858fcb31c85d4b910805e452c3f
This commit is contained in:
parent
1732bff64b
commit
f16036e1f1
@ -459,3 +459,13 @@ cinder_pki_install_certificates:
|
|||||||
# Define user-provided SSL certificates
|
# Define user-provided SSL certificates
|
||||||
#cinder_user_ssl_cert: <path to cert on ansible deployment host>
|
#cinder_user_ssl_cert: <path to cert on ansible deployment host>
|
||||||
#cinder_user_ssl_key: <path to cert on ansible deployment host>
|
#cinder_user_ssl_key: <path to cert on ansible deployment host>
|
||||||
|
|
||||||
|
# Database cleanup
|
||||||
|
# Periodically purge shadow tables, where archived records are stored
|
||||||
|
cinder_purge_deleted: False
|
||||||
|
# When to start purge task.
|
||||||
|
cinder_purge_deleted_on_calendar: "*-*-* 01:00:00"
|
||||||
|
# Purge events that are older then the number of days below.
|
||||||
|
cinder_purge_deleted_before_days: "364"
|
||||||
|
# Delay the timer by a randomly selected amount of time.
|
||||||
|
cinder_purge_deleted_randomized_delay_sec: 0
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added option to periodically clean-up deleted records from Cinder
|
||||||
|
database.
|
||||||
|
For this purpose a new service``cinder-purge-deleted`` was introduced.
|
||||||
|
It will be called periodically using corresponsive systemd timer on the
|
||||||
|
first cinder-api host.
|
||||||
|
|
||||||
|
By default this service is disabled/stopped and database cleanup
|
||||||
|
is not performed. You can enable this behaviour by defining variable
|
||||||
|
``cinder_purge_deleted``.
|
@ -248,3 +248,34 @@
|
|||||||
- "_cinder_is_last_play_host"
|
- "_cinder_is_last_play_host"
|
||||||
tags:
|
tags:
|
||||||
- cinder-config
|
- cinder-config
|
||||||
|
|
||||||
|
- name: Create service and timer for archiving deleted records
|
||||||
|
include_role:
|
||||||
|
name: systemd_service
|
||||||
|
vars:
|
||||||
|
systemd_service_restart_changed: false
|
||||||
|
systemd_user_name: "{{ cinder_system_user_name }}"
|
||||||
|
systemd_group_name: "{{ cinder_system_group_name }}"
|
||||||
|
systemd_tempd_prefix: openstack
|
||||||
|
systemd_slice_name: "{{ cinder_system_slice_name }}"
|
||||||
|
systemd_lock_dir: "{{ cinder_lock_dir }}"
|
||||||
|
systemd_services:
|
||||||
|
- service_name: "cinder-purge-deleted"
|
||||||
|
execstarts:
|
||||||
|
- "{{ cinder_bin }}/cinder-manage db purge {{ cinder_purge_deleted_before_days }}"
|
||||||
|
environment:
|
||||||
|
UMASK: '0640'
|
||||||
|
UMASK_DIR: '0750'
|
||||||
|
program_sandboxing:
|
||||||
|
RuntimeDirectory: 'cinder-purge-deleted'
|
||||||
|
enabled: "{{ cinder_purge_deleted }}"
|
||||||
|
timer:
|
||||||
|
state: "{{ cinder_purge_deleted | ternary('started', 'stopped') }}"
|
||||||
|
enabled: "{{ cinder_purge_deleted }}"
|
||||||
|
options:
|
||||||
|
OnCalendar: "{{ cinder_purge_deleted_on_calendar }}"
|
||||||
|
RandomizedDelaySec: "{{ cinder_purge_deleted_randomized_delay_sec }}"
|
||||||
|
Persistent: true
|
||||||
|
Unit: "cinder-purge-deleted.service"
|
||||||
|
when:
|
||||||
|
- inventory_hostname == groups[cinder_services['cinder-api']['group']] | first
|
||||||
|
Loading…
x
Reference in New Issue
Block a user