File tree Expand file tree Collapse file tree 2 files changed +30
-3
lines changed
src/DIRAC/ConfigurationSystem/private Expand file tree Collapse file tree 2 files changed +30
-3
lines changed Original file line number Diff line number Diff line change 1+ from diracx .core .config .schema import Config as DiracxConfig
2+ from pydantic import ValidationError
3+
4+ from DIRAC import S_ERROR , S_OK
5+
6+
7+ def diracxVerifyConfig (cfgData ):
8+ """Verify CS config using DiracX config validation
9+
10+ Args:
11+ cfgData: CS config data
12+
13+ Returns:
14+ S_OK | S_ERROR: Value: diracx config validation
15+ """
16+ cfg = cfgData .getAsDict ()
17+ try :
18+ validation = DiracxConfig .model_validate (cfg )
19+ except ValidationError as exc :
20+ return S_ERROR (exc )
21+ return S_OK (validation )
Original file line number Diff line number Diff line change 11""" This is the guy that actually modifies the content of the CS
22"""
3- import zlib
4- import difflib
53import datetime
4+ import difflib
5+ import zlib
66
77from diraccfg import CFG
8- from DIRAC .Core .Utilities import List
8+
9+ from DIRAC import gLogger
910from DIRAC .ConfigurationSystem .Client .ConfigurationData import gConfigurationData
11+ from DIRAC .ConfigurationSystem .private .DiracX import diracxVerifyConfig
1012from DIRAC .Core .Security .ProxyInfo import getProxyInfo
13+ from DIRAC .Core .Utilities import List
1114
1215
1316class Modificator :
@@ -239,6 +242,9 @@ def __str__(self):
239242 return str (self .cfgData )
240243
241244 def commit (self ):
245+ resVerif = diracxVerifyConfig (self .cfgData )
246+ if not resVerif ['OK' ]:
247+ gLogger .warn (resVerif ['Value' ])
242248 compressedData = zlib .compress (str (self .cfgData ).encode (), 9 )
243249 return self .rpcClient .commitNewData (compressedData )
244250
You can’t perform that action at this time.
0 commit comments