eth-cscs / stackinator

Home Page:https://eth-cscs.github.io/stackinator/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

feature: better spack repo management.

bcumming opened this issue · comments

Spack packages in uenv are defined in three different locations:

  1. the builtin packages in spack/var/spack/repos/builtin
  2. the repo path provided by stackinator
    • primarily for providing cray-mpich and it's dependencies, which are custom packages
  3. the repo path in a recipe

Recently we have started puting packages in stackinator to provide up to date versions and fixes on Santis

  • the latest cuda and nvhpc packages
  • gcc with patches for Grace

There are two issues with this

  1. if a recipe provides a package that is also provided by stackinator, there is a conflict during stack configuration.
  2. by providing packages for an in-development system like Santis as part of stackinator, we enforce changes on all vClusters.

We can fix this by:

  1. handle the case where multiple repos provide the same package with clear precidence
  2. provide per-vCluster repos

I think the following precidence for packages from the different repos would be the best:

recipe > cluster > stackinator > spack