diff --git a/src/radical/utils/flux/__init__.py b/src/radical/utils/flux/__init__.py index a7fbfbcc..54a381ff 100644 --- a/src/radical/utils/flux/__init__.py +++ b/src/radical/utils/flux/__init__.py @@ -5,6 +5,6 @@ from .flux_module import FluxModule, spec_from_command, spec_from_dict _fm = FluxModule() -if _fm.version == 1: FluxHelper = _FluxHelperV1 -else : FluxHelper = _FluxHelperV0 +if _fm.mode == 1: FluxHelper = _FluxHelperV1 +else : FluxHelper = _FluxHelperV0 diff --git a/src/radical/utils/flux/flux_helper_v0.py b/src/radical/utils/flux/flux_helper_v0.py index 5d9510bd..c98ee757 100644 --- a/src/radical/utils/flux/flux_helper_v0.py +++ b/src/radical/utils/flux/flux_helper_v0.py @@ -44,6 +44,8 @@ def __init__(self, uri : str, self._cbacks = list() # list of callbacks self._fm.verify() + for line in (self._fm.version or '').splitlines(): + self._log.info('flux version: %s', line) # -------------------------------------------------------------------------- diff --git a/src/radical/utils/flux/flux_helper_v1.py b/src/radical/utils/flux/flux_helper_v1.py index fef643fe..9f3aae4c 100644 --- a/src/radical/utils/flux/flux_helper_v1.py +++ b/src/radical/utils/flux/flux_helper_v1.py @@ -54,6 +54,8 @@ def __init__(self, uri : str, self._cbacks = list() # list of callbacks self._fm.verify() + for line in (self._fm.version or '').splitlines(): + self._log.info('flux version: %s', line) # -------------------------------------------------------------------------- diff --git a/src/radical/utils/flux/flux_module.py b/src/radical/utils/flux/flux_module.py index ca263e0e..e24414ff 100644 --- a/src/radical/utils/flux/flux_module.py +++ b/src/radical/utils/flux/flux_module.py @@ -20,6 +20,7 @@ class FluxModule(object): _flux_job = None _flux_exc = None _flux_v = None + _flux_mode = None # -------------------------------------------------------------------------- @@ -32,18 +33,24 @@ def __init__(self): if self._flux_core or self._flux_job or self._flux_exc: return - flux = None - flux_job = None - flux_exc = None - flux_v = None + flux = None + flux_job = None + flux_exc = None + flux_v = None + flux_mode = None try: + out, err, ret = sh_callout('flux --version') + assert not ret, ['flux --version', err] + + flux_v = out.strip() + flux = import_module('flux') flux_job = import_module('flux.job') if 'JournalConsumer' in dir(flux_job): - flux_v = 1 + flux_mode = 1 else: - flux_v = 0 + flux_mode = 0 except Exception as e: flux_exc = e @@ -67,9 +74,9 @@ def __init__(self): flux = import_module('flux') flux_job = import_module('flux.job') if 'JournalConsumer' in dir(flux_job): - flux_v = 1 + flux_mode = 1 else: - flux_v = 0 + flux_mode = 0 except Exception as e: flux_exc = e @@ -81,6 +88,7 @@ def __init__(self): self._flux_job = flux_job self._flux_exc = flux_exc self._flux_v = flux_v + self._flux_mode = flux_mode self._flux_exe = which('flux') @@ -103,6 +111,10 @@ def verify(self) -> None: # -------------------------------------------------------------------------- # + @property + def mode(self) -> int: + return self._flux_mode + @property def version(self) -> int: return self._flux_v