Skip to content

A container with spack and flux that works with the operator (it's a complex build)

Notifications You must be signed in to change notification settings

rse-ops/spack-flux-container

Repository files navigation

Spack Flux Containers

This was a hard set of containers to get right (to have Flux work in entirely with the flux operator) so I am providing them as a base here. They are intended to be used as a base for Flux operator images, meaning that the operator adds a curve certificate, broker.toml, and handles orchestration.

The trick was having a build of flux core, sched, and pmix with pinned versions (this credit goes to milroy but then ensuring that spack uses the system Python, where we can easily install the other Flux dependency set (needed at runtime). For some reason when we install Python alongside spack, no matter what we do with PYTHONPATH or anything else, they are not found. Since the container requires a root user with a flux user existing, we run commands as follows:

$ sudo -u flux -E PYTHONTPATH=$PATHONPATH 

and that seems to work, but it requires sourcing the spack environment file and adding the flux user and view path to the sudoers file. This took me days to figure out, and that was many days before that trying other ways to build this combination. Also note this container requires a flux option to run.

$ flux mini run -ompi=openmpi@5 -n 2 ./osu_get_latency

So in the flux operator container we would export FLUX_OPTION_FLAGS=-ompi=openmpi@5 Aye, yay yay!

About

A container with spack and flux that works with the operator (it's a complex build)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages