From b620dc00e91dc03d46ed9e41e097487cbd9dd6c3 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Wed, 26 Apr 2017 13:32:30 +0100 Subject: [PATCH] Replace var approach with config_template approach Instead of having specific variables do adjust the init behaviour, the more generalised approach of hard setting sensible defaults in the template and allowing the use of config_template to override those is being used. Change-Id: Id74d06cdfa2cf1e4a6270566d67083a50d82f6ac --- defaults/main.yml | 8 ----- ...r_init_time_settings-1ef46f6b9d4fc1df.yaml | 31 +++++++++---------- templates/cinder-systemd-init.j2 | 4 +-- 3 files changed, 17 insertions(+), 26 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 21380102..cb72f4c6 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -311,12 +311,4 @@ cinder_rootwrap_conf_overrides: {} cinder_api_paste_ini_overrides: {} cinder_cinder_conf_overrides: {} -# Timeout (in seconds) for cinder to wait between SIGTERM and SIGKILL -# Applies to TimeoutSec in systemd, affecting start and stop times. -# 'sigkill_timeout' is a global option should one desired. -cinder_sigkill_timeout: 120 - -# Number of seconds to wait before restarting the service -cinder_restart_wait: 5 - _UUID_regex: "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}" diff --git a/releasenotes/notes/cinder_init_time_settings-1ef46f6b9d4fc1df.yaml b/releasenotes/notes/cinder_init_time_settings-1ef46f6b9d4fc1df.yaml index 79e98e0a..4c46b11c 100644 --- a/releasenotes/notes/cinder_init_time_settings-1ef46f6b9d4fc1df.yaml +++ b/releasenotes/notes/cinder_init_time_settings-1ef46f6b9d4fc1df.yaml @@ -1,19 +1,18 @@ --- features: - - The ``cinder_sigkill_timeout`` was introduced to control - the time between sending a SIGTERM signal and a SIGKILL signal when - stopping or restarting services. This can help in letting long-lived - sessions drain while preventing new ones from starting before a - restart. Default is 120 seconds (was harcoded to 300 seconds). - - The ``cinder_restart_wait`` variable has been added to control the time - between restarts of cinder services. Default is 5 seconds (was - hardcoded to 150 seconds). + - For the ``os_cinder`` role, the systemd unit ``TimeoutSec`` value which + controls the time between sending a SIGTERM signal and a SIGKILL signal + when stopping or restarting the service has been reduced from 300 seconds + to 120 seconds. This provides 2 minutes for long-lived sessions to drain + while preventing new ones from starting before a restart or a stop. The + ``RestartSec`` value which controls the time between the service stop and + start when restarting has been reduced from 150 seconds to 2 seconds to + make the restart happen faster. These values can be adjusted by using the + ``cinder_*_init_config_overrides`` variables which use the + ``config_template`` task to change template defaults. upgrade: - - The ``cinder_sigkill_timeout`` was introduced to control - the time between sending a SIGTERM signal and a SIGKILL signal when - stopping or restarting services. This can help in letting long-lived - sessions drain while preventing new ones from starting before a - restart. Default is 120 seconds (was harcoded to 300 seconds). - - The ``cinder_restart_wait`` variable has been added to control the time - between restarts of cinder services. Default is 5 seconds (was - hardcoded to 150 seconds). + - The variables ``cinder_sigkill_timeout`` and ``cinder_restart_wait`` have + been removed. The previous default values have now been set in the + template directly and can be adjusted by using the + ``cinder_*_init_overrides`` variables which use the ``config_template`` + task to change template defaults. diff --git a/templates/cinder-systemd-init.j2 b/templates/cinder-systemd-init.j2 index b6eb3579..5bd91436 100644 --- a/templates/cinder-systemd-init.j2 +++ b/templates/cinder-systemd-init.j2 @@ -17,9 +17,9 @@ ExecStart={{ cinder_bin }}/{{ item.value.service_name }} {{ program_config_optio {% endif %} # Give a reasonable amount of time for the server to start up/shut down -TimeoutSec={{ cinder_sigkill_timeout }} +TimeoutSec=120 Restart=on-failure -RestartSec={{ cinder_restart_wait }} +RestartSec=2 # This creates a specific slice which all services will operate from # The accounting options give us the ability to see resource usage through