How to improve interface for accessing nested Flux instances #3732
-
Given the hierarchical nature of Flux (both nesting within itself and inside other RMs), the ability to navigate easily between instances is going to be key. When launching Flux under Slurm/LSF, many (all?) of our workflow users currently leverage an initial-program that dumps out the flux URI to a file, then they do the equivalent of A discussion started in #3726 as to how to make it easier to grab a FLUX_URI from flux instances nested within Slurm. On our ☕ call, we also discussed ways to make that even easier (e.g., |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
One component of this seems to be spinning up Flux in the first place. Currently we provide examples of what to run in our documentation for the various schedulers (i.e., Slurm and LSF). It would probably still be good to push forward with our earlier |
Beta Was this translation helpful? Give feedback.
-
Another component of this is where to storethe URIs of the nested instances. For flux nesting within flux case, we already have the rc1 script that dumps the nested URI into the parent's KVS. For the flux within Slurm case, @grondo has a proof-of-concept rc1 script in #3726 to store the URI in the comment field of the slurm job. At least at LLNL, we will also probably want to figure out how to handle this for flux within LSF. |
Beta Was this translation helpful? Give feedback.
-
Another component of this is how users can discover/access the URIs of the nested instances. For the flux-in-flux, we need to ensure the
The |
Beta Was this translation helpful? Give feedback.
-
I believe some new additions to flux-core have mostly solved this problem:
|
Beta Was this translation helpful? Give feedback.
I believe some new additions to flux-core have mostly solved this problem:
FluxURIResolver
class can be used to resolve high-level URIs to native Flux URIs from Python, and includes resolvers for Flux jobids (jobid
scheme), process ids (pid
scheme), and Slurm jobs (slurm
scheme) in flux-core. There is the potential for new plugins for other foreign RMs or even site-specific URI resolution if necessary.flux uri
command can be utilized to resolve Flux jobids and other high-level URIs to native URIs from the command line and in scripts, when necessary.flux proxy
to call out toflux uri
to resolve its JOBID argument, so thatflux proxy JOBID
…