Add support for SIMULTANEOUS_SESSIONS options

... which was added in 21.1.0 (Yoga) release[1].

[1] https://docs.openstack.org/horizon/latest/configuration/settings.html#simultaneous-sessions

Change-Id: I3d9b04c04828641535ff42866ee378b2b902ebe0
This commit is contained in:
Takashi Kajinami 2024-05-01 17:25:42 +09:00
parent 1dcc7f7df5
commit 505dc74dcf
4 changed files with 21 additions and 3 deletions

View File

@ -345,12 +345,18 @@
# Defaults to undef
#
# [*session_timeout*]
# (optional) The session timeout for horizon in seconds. After this many seconds of inactivity
# the user is logged out.
# (optional) The session timeout for horizon in seconds. After this many
# seconds of inactivity the user is logged out.
# Defaults to 3600.
#
# [*simultaneous_sessions*]
# (optional) Controls whether a user can have multiple simultaneous
# sessions.
# Defaults to undef
#
# [*token_timeout_margin*]
# (optional) A time margin in seconds to subtract from the real token's validity.
# (optional) A time margin in seconds to subtract from the real token's
# validity.
# Defaults to 0.
#
# [*timezone*]
@ -617,6 +623,7 @@ class horizon(
$access_log_format = undef,
$session_timeout = 3600,
$token_timeout_margin = 0,
$simultaneous_sessions = undef,
$timezone = 'UTC',
Boolean $secure_cookies = false,
$django_session_engine = undef,

View File

@ -0,0 +1,4 @@
---
features:
- |
The new ``horizon::simultaneous_sessions`` parameter has been added.

View File

@ -128,6 +128,7 @@ describe 'horizon' do
:keystone_default_domain => 'domain.tld',
:overview_days_range => 1,
:session_timeout => 1800,
:simultaneous_sessions => 'allow',
:token_timeout_margin => 60,
:timezone => 'Asia/Shanghai',
:available_themes => [
@ -216,6 +217,7 @@ describe 'horizon' do
" 'level': 'DEBUG',",
" 'handlers': ['console', 'syslog'],",
'SESSION_TIMEOUT = 1800',
"SIMULTANEOUS_SESSIONS = 'allow'",
'TOKEN_TIMEOUT_MARGIN = 60',
'COMPRESS_ENABLED = False',
'COMPRESS_OFFLINE = False',

View File

@ -1041,6 +1041,11 @@ SECURITY_GROUP_RULES = {
}
SESSION_TIMEOUT = <%= @session_timeout %>
<% if ! @simultaneous_sessions.nil? -%>
# Control whether a same user can have multiple action sessions.
#SIMULTANEOUS_SESSIONS = 'allow'
SIMULTANEOUS_SESSIONS = '<%= @simultaneous_sessions %>'
<% end -%>
TOKEN_TIMEOUT_MARGIN = <%= @token_timeout_margin %>