Skip to content

Commit

Permalink
scenarios/ost/keystone/lp1896125: better detection of the LP#1896125 (#…
Browse files Browse the repository at this point in the history
…757)

the previous revision of the scenario was tied to the specific keystone
versions which impedes the scenario's ability to detect the bug in other
keystone versions. the new revision will detect the bug regardless of the
keystone version.

Closes #756

Signed-off-by: Mustafa Kemal Gilor <[email protected]>
  • Loading branch information
xmkg authored May 22, 2024
1 parent f3f140f commit cc4d716
Show file tree
Hide file tree
Showing 8 changed files with 141 additions and 47 deletions.
60 changes: 33 additions & 27 deletions hotsos/defs/scenarios/openstack/keystone/bugs/lp1896125.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,44 @@ checks:
apt:
keystone:
# Train
- min: 2:16.0.0
max: 2:16.0.1
- ge: 2:16.0.0
# Ussuri
- min: 2:17.0.0
max: 2:17.0.0-99
- ge: 2:17.0.0
lt: 2:17.0.1
# Victoria
- min: 2:18.0.0
max: 2:18.0.0-99
config:
handler: hotsos.core.plugins.openstack.OpenstackConfig
# keystone ldap config be defined globally or per-domain
path: [etc/keystone/keystone.conf, etc/keystone/domains/*]
assertions:
- key: url
section: ldap
ops: [[truth]] # i.e. does the setting have a value
allow-unset: false
- ge: 2:18.0.0
lt: 2:18.0.1
# Wallaby
- ge: 2:19.0.0
lt: 2:19.0.1
# Xena
- ge: 2:20.0.0
lt: 2:20.0.1
# Yoga
- ge: 2:21.0.0
lt: 2:21.0.1
# Zed
- ge: 2:22.0.0
lt: 2:22.0.1
has_maxconn_reached_error:
input:
path: 'var/log/keystone/keystone.log'
expr: 'ldappool.MaxConnectionReachedError:.*'
conclusions:
lp1896125:
decision: has_1896125
decision:
- has_1896125
- has_maxconn_reached_error
raises:
type: LaunchpadBug
bug-id: 1896125
message: >-
Installed package '{package}' with version {version} has a known bug
that causes memory leak over time and causes LDAP logins to fail. It
is recommended to upgrade to the next point release available for the
package. To workaround LDAP login failure problem, disable LDAP pooling
by setting `ldap-use-pool` to `false` for all deployed `keystone-ldap`
applications in charmed deployments. For non-charmed deployments, set
`use_pool` to `false` in the LDAP domain /etc/keystone/domains/*.conf
file.
format-dict:
package: '@checks.has_1896125.requires.package'
version: '@checks.has_1896125.requires.version'
Known Keystone bug identified that causes Denial-of-Service when
LDAP connection pooling is enabled via use_pool=True. This bug may
manifest itself in LDAP operations such as OpenStack dashboard login
failures. It is recommended to upgrade to the next point release
available for the package. To workaround LDAP login failure problem,
disable LDAP pooling by setting `ldap-use-pool` to `false` for *all*
deployed `keystone-ldap` applications in charmed deployments. For
non-charmed deployments, set `use_pool` to `false` in the LDAP domain
/etc/keystone/domains/*.conf file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
target-name: lp1896125.yaml
data-root:
files:
sos_commands/dpkg/dpkg_-l: |
ii keystone 2:16.30.99-0ubuntu0.20.04.1 amd64
var/log/keystone/keystone.log: |
Traceback (most recent call last):
File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 391, in connection
raise MaxConnectionReachedError(self.uri)
ldappool.MaxConnectionReachedError: ldaps://ldapserver.example.com
raised-bugs:
https://bugs.launchpad.net/bugs/1896125: >-
Known Keystone bug identified that causes Denial-of-Service when
LDAP connection pooling is enabled via use_pool=True. This bug may
manifest itself in LDAP operations such as OpenStack dashboard login
failures. It is recommended to upgrade to the next point release
available for the package. To workaround LDAP login failure problem,
disable LDAP pooling by setting `ldap-use-pool` to `false` for *all*
deployed `keystone-ldap` applications in charmed deployments. For
non-charmed deployments, set `use_pool` to `false` in the LDAP domain
/etc/keystone/domains/*.conf file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
target-name: lp1896125.yaml
data-root:
files:
sos_commands/dpkg/dpkg_-l: |
ii keystone 2:17.0.0-0ubuntu0.20.04.1 amd64
var/log/keystone/keystone.log: |
Traceback (most recent call last):
File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 391, in connection
raise MaxConnectionReachedError(self.uri)
ldappool.MaxConnectionReachedError: ldaps://ldapserver.example.com
raised-bugs:
https://bugs.launchpad.net/bugs/1896125: >-
Known Keystone bug identified that causes Denial-of-Service when
LDAP connection pooling is enabled via use_pool=True. This bug may
manifest itself in LDAP operations such as OpenStack dashboard login
failures. It is recommended to upgrade to the next point release
available for the package. To workaround LDAP login failure problem,
disable LDAP pooling by setting `ldap-use-pool` to `false` for *all*
deployed `keystone-ldap` applications in charmed deployments. For
non-charmed deployments, set `use_pool` to `false` in the LDAP domain
/etc/keystone/domains/*.conf file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
target-name: lp1896125.yaml
data-root:
files:
sos_commands/dpkg/dpkg_-l: |
ii keystone 2:17.0.1-0ubuntu0.20.04.1 amd64
var/log/keystone/keystone.log: |
Traceback (most recent call last):
File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 391, in connection
raise MaxConnectionReachedError(self.uri)
ldappool.MaxConnectionReachedError: ldaps://ldapserver.example.com
raised-bugs: # none
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
target-name: lp1896125.yaml
data-root:
files:
sos_commands/dpkg/dpkg_-l: |
ii keystone 2:17.0.2-0ubuntu0.20.04.1 amd64
var/log/keystone/keystone.log: |
Traceback (most recent call last):
File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 391, in connection
raise MaxConnectionReachedError(self.uri)
ldappool.MaxConnectionReachedError: ldaps://ldapserver.example.com
raised-bugs: # none
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
target-name: lp1896125.yaml
data-root:
files:
sos_commands/dpkg/dpkg_-l: |
ii keystone 2:18.0.0-0ubuntu0.20.04.1 amd64
var/log/keystone/keystone.log: |
Traceback (most recent call last):
File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 391, in connection
raise MaxConnectionReachedError(self.uri)
ldappool.MaxConnectionReachedError: ldaps://ldapserver.example.com
raised-bugs:
https://bugs.launchpad.net/bugs/1896125: >-
Known Keystone bug identified that causes Denial-of-Service when
LDAP connection pooling is enabled via use_pool=True. This bug may
manifest itself in LDAP operations such as OpenStack dashboard login
failures. It is recommended to upgrade to the next point release
available for the package. To workaround LDAP login failure problem,
disable LDAP pooling by setting `ldap-use-pool` to `false` for *all*
deployed `keystone-ldap` applications in charmed deployments. For
non-charmed deployments, set `use_pool` to `false` in the LDAP domain
/etc/keystone/domains/*.conf file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
target-name: lp1896125.yaml
data-root:
files:
sos_commands/dpkg/dpkg_-l: |
ii keystone 2:18.0.1-0ubuntu0.20.04.1 amd64
var/log/keystone/keystone.log: |
Traceback (most recent call last):
File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
return next(self.gen)
File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 391, in connection
raise MaxConnectionReachedError(self.uri)
ldappool.MaxConnectionReachedError: ldaps://ldapserver.example.com
raised-bugs: # none
20 changes: 0 additions & 20 deletions hotsos/defs/tests/scenarios/openstack/keystone/bugs/lp1896125.yaml

This file was deleted.

0 comments on commit cc4d716

Please sign in to comment.