-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Introduce spack-fairsoft extension #311
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I like the idea!
Creating extensions felt way more complex from the docs…
Details maybe need a bit of discussion. Although I don't have any concrete points.
57f7389
to
5cc767a
Compare
Ill go ahead and implement a bit more, so we get some more meat to discuss. Thx for the comments so far. |
5cc767a
to
19489d5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't tried it. Looks good!
Return True if an update was performed. | ||
""" | ||
actual = config.get('repos', scope=scope) or [] | ||
if not actual == expected: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't tried it. But what happens, if user adds some private repos to the site config?
- Iff we don't support that, then we should put an error about that
- Iff we do, we should probably iteratte over "expected" and check, that it is already in the current config.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, just the first iteration - for now, user can opt-out with --skip-repos
.
If we have good ideas, we should definitely make this smarter. What makes this non-trivial is that the config sections do not override repo lists but chain. And order is important here!
One note: Or we "freeze" |
For now I do not plan to change it in this PR. IMHO, we should discuss and come up with a strategy for VAE spack packaging first. |
19489d5
to
32ce768
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
I haven't tried the setup stuff. But if it works in the CI, then we're already good to go.
We can improve after that.
actual = RepoPath(*(config.get('repos') or [])) | ||
|
||
res = False | ||
if not actual == expected: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comparison tooling needs improvements.
Main use case: Panda adding their own repos (say in the user scope).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. For now there is the opt-out flag --skip-repos
until we have something smarter.
32ce768
to
739e658
Compare
f454f93
to
0f8b147
Compare
* Add extension skeleton with * first implementations of * spack fairsoft avail * spack fairsoft setup
0f8b147
to
8683a24
Compare
Closing, we will re-visit in Q2/21. |
An attempt to improve usability:
ideas:
spack fairsoft avail
- list available distrosspack fairsoft install <distro>
- creates/installs a named environment and tracks the git revision to know when to recreate the environmentspack fairsoft list
- basically a filteredspack env list
, maybe with an additional column where the view isspack fairsoft view [--no-fairroot] [--prefix <prefix>] <distro>
- mainly wrapper aroundspack view
which hides details and platform-specific handling from userspack fairsoft setup [--check-only]
- move some of thethisfairsoft.sh --setup
business to the python domainspack fairsoft info <distro>
- print some infos on a distro (we could add aenv/<release>/<variant>/info.py
for stuff we cannot compute)spack fairsoft doctor [--report]
- does a number of sanity checks and reports problems,--report
option can be used to generate some output to be posted with github bug reports to conveniently describe the user system/setup.spack fairsoft check_prereqs <distro>
@ChristianTackeGSI I would be interested in an early comment if this goes in a direction you would like to see too.Example: