Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The mache.deploy package must provide a mechanism for loading the conda and spack environments, loading system modules, and setting environment variables before the deployed software gets run.

Requirement: Skip spack deployment

The deployed software must have a way to indicate that spack deployment isn’t needed, either because a shared spack environment already exists or because no spack support is needed.

Desired: Skip conda deployment

The deployed software may wish to have a way to indicate that conda deployment isn’t needed because a shared conda environment already exists. Such a capability is not currently needed but it could be in future software. Deployment would still be useful in such cases because mache.deploy would still provide the load mechanism described above.

Desired: Testing the deployed software

...

Conceptual Design

Date last modified: 

Contributors:  Xylar Asay-Davis Althea Denlinger

Design: A mechanism to begin deployment

A generalized configure script will install mache and then carry out deployment similarly to the configure script and deployment package in polaris. This script will be retrieved from github with a short localized script in the software to be deployed (e.g., polaris would have a small localized script for retrieving the script to install conda, mache, and begin deployment). So there will be three scripts: 1.) localized script within the target software (e.g., polaris), 2.) begin deployment script which will be used to install conda and mache, and 3.) a script like the configure_polaris_envs.py script which will complete the rest of the deployment process.

Design: A mechanism to install miniforge3

Included in the mache deployment script.

Design: A mechanism to install mache

Included in the mache deployment script.

Design: A way for deployed software to specify conda packages to install

The mache documentation will describe how to set up a spec file that will describe which conda packages to install.

Design: A way for deployed software to specify spack packages to install

The mache documentation will describe how to set up a spec file that will describe which spack packages to install.

Design: Support for different variants of the environments

...

Design: Provide a mechanism to load the environments in the deployed software

Design: Skip spack deployment

Optional Design: Skip conda deployment

Optional Design: Testing the deployed software

Pseudo-code and Implementation Details

Date last modified:  

Contributors: Xylar Asay-Davis Althea Denlinger

Implementation: A mechanism to begin deployment

Implementation: A mechanism to install miniforge3

Implementation: A mechanism to install mache

Implementation: A way for deployed software to specify conda packages to install

Implementation: A way for deployed software to specify spack packages to install

Implementation: Support for different variants of the environments

Implementation: Include a mechanism for providing environment variables

Implementation: Provide a mechanism to load the environments in the deployed software

Implementation: Skip spack deployment

Optional Implementation: Skip conda deployment

Optional Implementation: Testing the deployed software

Planned Testing 

Date last modified: 

...