diff --git a/src/DIRAC/RequestManagementSystem/private/RequestTask.py b/src/DIRAC/RequestManagementSystem/private/RequestTask.py index e3acd3ca8ac..3815a643949 100644 --- a/src/DIRAC/RequestManagementSystem/private/RequestTask.py +++ b/src/DIRAC/RequestManagementSystem/private/RequestTask.py @@ -144,8 +144,13 @@ def setupProxy(self): os.environ["X509_USER_PROXY"] = proxyFile return S_OK({"Shifter": isShifter, "ProxyFile": proxyFile}) - # # if we're here owner is not a shifter at all - ownerProxyFile = gProxyManager.downloadVOMSProxyToFile(ownerDN, ownerGroup) + # # if we're here, the owner is not a shifter at all + vomsAttr = Registry.getVOMSAttributeForGroup(ownerGroup) + if vomsAttr: + ownerProxyFile = gProxyManager.downloadVOMSProxyToFile(ownerDN, ownerGroup) + else: + ownerProxyFile = gProxyManager.downloadProxyToFile(ownerDN, ownerGroup) + if not ownerProxyFile["OK"] or not ownerProxyFile["Value"]: reason = ownerProxyFile.get("Message", "No valid proxy found in ProxyManager.") return S_ERROR(f"Change proxy error for '{ownerDN}'@'{ownerGroup}': {reason}")