Skip to content

Commit cfe2fc4

Browse files
chaenchrisburr
authored andcommitted
feat (diracx): make diracx installation mandatory
1 parent 849eed0 commit cfe2fc4

File tree

15 files changed

+53
-30
lines changed

15 files changed

+53
-30
lines changed

integration_tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ def _gen_docker_compose(modules, *, diracx_dist_dir=None):
563563

564564
module_configs = _load_module_configs(modules)
565565
if diracx_dist_dir is not None:
566-
for container_name in ["diracx-init-cs", "diracx-wait-for-db", "diracx"]:
566+
for container_name in ["dirac-client", "dirac-server", "diracx-init-cs", "diracx-wait-for-db", "diracx"]:
567567
docker_compose["services"][container_name]["volumes"].append(f"{diracx_dist_dir}:/diracx_sources")
568568
docker_compose["services"][container_name].setdefault("environment", []).append(
569569
"DIRACX_CUSTOM_SOURCE_PREFIXES=/diracx_sources"

setup.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ install_requires =
2929
cachetools
3030
certifi
3131
diraccfg
32+
diracx-client
33+
diracx-core
3234
db12
3335
fts3
3436
gfal2-python

src/DIRAC/Core/Security/DiracX.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from diracx.core.preferences import DiracxPreferences
2020
from diracx.core.utils import serialize_credentials
2121

22-
from DIRAC import gConfig
22+
from DIRAC import gConfig, S_ERROR
2323
from DIRAC.ConfigurationSystem.Client.Helpers import Registry
2424
from DIRAC.Core.Security.Locations import getDefaultProxyLocation
2525
from DIRAC.Core.Utilities.ReturnValues import convertToReturnValue, returnValueOrRaise
@@ -31,7 +31,7 @@
3131

3232

3333
@convertToReturnValue
34-
def addProxyToPEM(pemPath, group):
34+
def addTokenToPEM(pemPath, group):
3535
from DIRAC.Core.Base.Client import Client
3636

3737
vo = Registry.getVOMSVOForGroup(group)
@@ -41,10 +41,6 @@ def addProxyToPEM(pemPath, group):
4141
Client(url="Framework/ProxyManager", proxyLocation=pemPath).exchangeProxyForToken()
4242
)
4343

44-
diracxUrl = gConfig.getValue("/DiracX/URL")
45-
if not diracxUrl:
46-
return S_ERROR("Missing mandatory /DiracX/URL configuration")
47-
4844
token = TokenResponse(
4945
access_token=token_content["access_token"],
5046
expires_in=token_content["expires_in"],

src/DIRAC/Core/Tornado/Client/private/TornadoBaseClient.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ def _request(self, retry=0, outputFile=None, **kwargs):
511511
# getting certificate
512512
# Do we use the server certificate ?
513513
if self.kwargs[self.KW_USE_CERTIFICATES]:
514-
# TODO: Does this code path need to work with DiracX?
514+
# TODO: make this code path work with DiracX for Agents and possibly webapp ?
515515
auth = {"cert": Locations.getHostCertificateAndKeyLocation()}
516516

517517
# Use access token?

src/DIRAC/FrameworkSystem/Client/ProxyManagerClient.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from DIRAC.ConfigurationSystem.Client.Helpers import Registry
1111
from DIRAC.Core.Utilities import ThreadSafe, DIRACSingleton
1212
from DIRAC.Core.Utilities.DictCache import DictCache
13-
from DIRAC.Core.Security.DiracX import addProxyToPEM
13+
from DIRAC.Core.Security.DiracX import addTokenToPEM
1414
from DIRAC.Core.Security.ProxyFile import multiProxyArgument, deleteMultiProxy
1515
from DIRAC.Core.Security.X509Chain import X509Chain # pylint: disable=import-error
1616
from DIRAC.Core.Security.X509Request import X509Request # pylint: disable=import-error
@@ -550,7 +550,7 @@ def dumpProxyToFile(self, chain, destinationFile=None, requiredTimeLeft=600):
550550
filename = retVal["Value"]
551551
if not (result := chain.getDIRACGroup())["OK"]:
552552
return result
553-
if not (result := addProxyToPEM(filename, result["Value"]))["OK"]:
553+
if not (result := addTokenToPEM(filename, result["Value"]))["OK"]: # pylint: disable=unsubscriptable-object
554554
return result
555555
self.__filesCache.add(cHash, chain.getRemainingSecs()["Value"], filename)
556556
return S_OK(filename)
@@ -665,7 +665,7 @@ def renewProxy(self, proxyToBeRenewed=None, minLifeTime=3600, newProxyLifeTime=4
665665
return result
666666
if not (result := chain.getDIRACGroup())["OK"]:
667667
return result
668-
if not (result := addProxyToPEM(filename, result["Value"]))["OK"]:
668+
if not (result := addTokenToPEM(filename, result["Value"]))["OK"]: # pylint: disable=unsubscriptable-object
669669
return result
670670
return S_OK(filename)
671671

src/DIRAC/FrameworkSystem/Service/ProxyManagerHandler.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from DIRAC.Core.Security import Properties
1313
from DIRAC.Core.Utilities.ObjectLoader import ObjectLoader
1414
from DIRAC.ConfigurationSystem.Client.Helpers import Registry
15-
15+
from DIRAC.FrameworkSystem.Utilities.diracx import get_token
1616

1717
DEFAULT_MAIL_FROM = "[email protected]"
1818

@@ -412,7 +412,6 @@ def export_getVOMSProxyWithToken(self, userDN, userGroup, requestPem, requiredLi
412412
@convertToReturnValue
413413
def export_exchangeProxyForToken(self):
414414
"""Exchange a proxy for an equivalent token to be used with diracx"""
415-
from DIRAC.FrameworkSystem.Utilities.diracx import get_token
416415

417416
credDict = self.getRemoteCredentials()
418417
return get_token(

src/DIRAC/FrameworkSystem/Utilities/diracx.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# pylint: disable=import-error
21
import requests
32

43
from cachetools import TTLCache, cached

src/DIRAC/FrameworkSystem/scripts/dirac_admin_get_proxy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import DIRAC
1616
from DIRAC import gLogger, S_OK, S_ERROR
1717
from DIRAC.Core.Base.Script import Script
18-
from DIRAC.Core.Security.DiracX import addProxyToPEM
18+
from DIRAC.Core.Security.DiracX import addTokenToPEM
1919
from DIRAC.FrameworkSystem.Client.ProxyManagerClient import gProxyManager
2020
from DIRAC.ConfigurationSystem.Client.Helpers import Registry
2121

@@ -162,7 +162,7 @@ def main():
162162
DIRAC.exit(2)
163163
if not (result := chain.getDIRACGroup())["OK"]:
164164
return result
165-
if not (result := addProxyToPEM(params.proxyPath, result["Value"]))["OK"]:
165+
if not (result := addTokenToPEM(params.proxyPath, result["Value"]))["OK"]: # pylint: disable=unsubscriptable-object
166166
return result
167167
gLogger.notice(f"Proxy downloaded to {params.proxyPath}")
168168
DIRAC.exit(0)

src/DIRAC/FrameworkSystem/scripts/dirac_login.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from DIRAC import gConfig, gLogger, S_OK, S_ERROR
2626
from DIRAC.Core.Security.Locations import getDefaultProxyLocation, getCertificateAndKeyLocation
2727
from DIRAC.Core.Security.VOMS import VOMS
28-
from DIRAC.Core.Security.DiracX import addProxyToPEM
28+
from DIRAC.Core.Security.DiracX import addTokenToPEM
2929
from DIRAC.Core.Security.ProxyFile import writeToProxyFile
3030
from DIRAC.Core.Security.ProxyInfo import getProxyInfo, formatProxyInfoAsString
3131
from DIRAC.Core.Security.X509Chain import X509Chain # pylint: disable=import-error
@@ -315,7 +315,7 @@ def loginWithCertificate(self):
315315
return res
316316

317317
# Get a token for use with diracx
318-
if not (result := addProxyToPEM(self.outputFile, self.group))["OK"]:
318+
if not (result := addTokenToPEM(self.outputFile, self.group))["OK"]:
319319
return result
320320

321321
return S_OK()

src/DIRAC/FrameworkSystem/scripts/dirac_proxy_init.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from DIRAC.Core.Base.Script import Script
1919
from DIRAC.FrameworkSystem.Client import ProxyGeneration, ProxyUpload
2020
from DIRAC.Core.Security import X509Chain, ProxyInfo, VOMS
21-
from DIRAC.Core.Security.DiracX import addProxyToPEM
21+
from DIRAC.Core.Security.DiracX import addTokenToPEM
2222
from DIRAC.Core.Security.Locations import getCAsLocation, getDefaultProxyLocation
2323
from DIRAC.ConfigurationSystem.Client.Helpers import Registry
2424
from DIRAC.FrameworkSystem.Client.BundleDeliveryClient import BundleDeliveryClient
@@ -223,7 +223,7 @@ def doTheMagic(self):
223223
resultProxyWithVOMS = pI.addVOMSExtIfNeeded()
224224

225225
proxyLoc = self.__piParams.proxyLoc or getDefaultProxyLocation()
226-
if not (result := addProxyToPEM(proxyLoc, self.__piParams.diracGroup))["OK"]:
226+
if not (result := addTokenToPEM(proxyLoc, self.__piParams.diracGroup))["OK"]:
227227
return result
228228

229229
if not resultProxyWithVOMS["OK"]:

0 commit comments

Comments
 (0)