Details
-
Type:
RFC
-
Status: Adopted
-
Resolution: Unresolved
-
Component/s: DM
-
Labels:None
Description
Currently, code has no way of knowing whether to use /repo/main/ or /repo/<instrument> to instantiate a butler without doing a bunch of os.path.exists(), not to mention that hard coding paths is bad in itself.
Proposal: create three env vars for login shells and notebooks for LATISS_REPO_URI, COMCAM_REPO_URI and LSST_REPO_URI in such a way that they can be used for butler instantiation.
Why three? Because NCSA has /repo/main, but on the summit it's three different repos.
Actual solution: Modify butler to be able to look up labels in a configuration file. The configuration file is pointed at by a single environment variable DAF_BUTLER_REPOSITORY_INDEX.
The environment variable would be set per instance for notebooks via deployment configuration in github.com/lsst-sqre/phalanx. CSCs will not use that mechanism. For Unix logins at NCSA, test stands, and eventually USDF, it may be necessary for users to add this to their personal shell startup file, although at least at NCSA and likely the test stands it should be possible to add this to a common startup file.