Skip to content

Commit fb2a193

Browse files
committed
sweep: #7992 fix: opensearch configuration should consume the ca_certs parameter
1 parent 88ba8db commit fb2a193

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

src/DIRAC/ConfigurationSystem/Client/Utilities.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,19 @@ def getElasticDBParameters(fullname):
441441
:return: S_OK(dict)/S_ERROR()
442442
"""
443443

444+
def _getCACerts(cs_path):
445+
result = gConfig.getOption(cs_path + "/ca_certs")
446+
if not result["OK"]:
447+
# No CA certificate found, try at the common place
448+
result = gConfig.getOption("/Systems/NoSQLDatabases/ca_certs")
449+
if not result["OK"]:
450+
return None
451+
else:
452+
ca_certs = result["Value"]
453+
else:
454+
ca_certs = result["Value"]
455+
return ca_certs
456+
444457
cs_path = getDatabaseSection(fullname)
445458
parameters = {}
446459

@@ -464,17 +477,9 @@ def getElasticDBParameters(fullname):
464477
parameters["Password"] = None
465478
parameters["User"] = None
466479

467-
# OpenSearch ca_certs
468-
result = gConfig.getOption(cs_path + "/ca_certs")
469-
if not result["OK"]:
470-
# No CA certificate found, try at the common place
471-
result = gConfig.getOption("/Systems/NoSQLDatabases/ca_certs")
472-
if not result["OK"]:
473-
return S_ERROR("Failed to get the configuration parameter: ca_certs.")
474-
else:
475-
ca_certs = result["Value"]
476-
else:
477-
ca_certs = result["Value"]
480+
ca_certs = _getCACerts(cs_path)
481+
if ca_certs is None:
482+
return S_ERROR("Failed to get the configuration parameter: ca_certs.")
478483
parameters["ca_certs"] = ca_certs
479484

480485
# OpenSearch client_key
@@ -522,6 +527,11 @@ def getElasticDBParameters(fullname):
522527
dbUser = result["Value"]
523528
parameters["User"] = dbUser
524529

530+
# ca_certs is not mandatory
531+
ca_certs = _getCACerts(cs_path)
532+
if ca_certs:
533+
parameters["ca_certs"] = ca_certs
534+
525535
# Check optional parameters: Host, Port, SSL
526536
result = gConfig.getOption(cs_path + "/Host")
527537
if not result["OK"]:

0 commit comments

Comments
 (0)