Skip to content

Commit 843b50e

Browse files
committed
finish release notes; deploy guide; configure guide
1 parent eb9c40c commit 843b50e

File tree

7 files changed

+96
-48
lines changed

7 files changed

+96
-48
lines changed

docs/alps/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ Additionally, network segregation ensures secure and isolated communication, wit
1919

2020
- :fontawesome-solid-signs-post: __Clusters__
2121

22-
The resources on Alps are partitioned and configured into versatile software defined clusters (vClusters).
22+
The resources on Alps are partitioned and configured into versatile software defined clusters.
2323

24-
[:octicons-arrow-right-24: Alps vClusters][ref-alps-clusters]
24+
[:octicons-arrow-right-24: Alps Clusters][ref-alps-clusters]
2525

2626
- :fontawesome-solid-signs-post: __Hardware__
2727

docs/clusters/daint.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -160,13 +160,7 @@ Daint can also be accessed using [FirecREST][ref-firecrest] at the `https://api.
160160

161161
!!! change "2025-04-30"
162162
??? note "uenv is updated from v7.0.1 to v8.1.0"
163-
* improved uenv view management
164-
* automatic generation of default uenv repository the first time uenv is called
165-
* configuration files
166-
* bash completion
167-
* relative paths can be used for referring to squashfs images
168-
* support for `SLURM_UENV` and `SLURM_UENV_VIEW` environment variables (useful for using inside CI/CD pipelines)
169-
* better error messages and small bug fixes
163+
[Release notes][ref-uenv-release-notes-v8.1.0]
170164

171165
??? note "Pyxis is upgraded from v24.5.0 to v24.5.3"
172166
* Added image caching for Enroot

docs/software/uenv/configure.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22
# Configuring uenv
33

44
Uenv is designed to work out of the box, with zero configuration for most users.
5+
There is support for limited per-user configuration via a configuration file, which will be expanded as we add features that make it easier for groups and communities to manage their own environments.
56

67
## User configuration
78

89
Uenv is configured using a text configuration file.
910

10-
### Location of the configuration file
11-
1211
The location of the configuration file follows the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec/latest/).
12+
1313
* If the `XDG_CONFIG_HOME` environment variable is set, the `$XDG_CONFIG_HOME/uenv/config`.
1414
* Otherwise it defaults to `$HOME/.config/uenv/config`.
1515

1616
### Syntax
1717

18-
A custom, but simple `key = value` syntax with comments marked with `#`
18+
The configuration file uses a simple `key = value` syntax, with comments starting with `#`:
1919

20-
```
20+
```ini
2121
# this is a comment
2222

2323
# the following are equivalent
@@ -35,21 +35,25 @@ Notes on the syntax:
3535

3636
| key | description | default | values |
3737
| --- | ----------- | -------- | ------ |
38-
| `color` | Use color output | automatically chosen according to TTY | `true`, `false` |
39-
| `repo` | The default repo location for downloaded uenv images | `$SCRATCH/.uenv-images` | An absolute path |
38+
| [`color`][ref-uenv-configure-options-color] | Use color output | automatically chosen according to environment | `true`, `false` |
39+
| [`repo`][ref-uenv-configure-options-repo] | The default repo location for downloaded uenv images | `$SCRATCH/.uenv-images` | An absolute path |
4040

41+
[](){#ref-uenv-configure-options-color}
4142
#### `color`
4243

4344
By default, uenv will generate color output according to the following:
45+
4446
* if `--no-color` is passed, color output is disabled
4547
* else if `color` is set in the config file, use that setting
4648
* else if the `NO_COLOR` environment variable is defined color output is disabled
4749
* else if the terminal is not TTY disable color
4850
* else enable color output
4951

52+
[](){#ref-uenv-configure-options-repo}
5053
#### `repo`
5154

52-
The location of
55+
The default repo location for downloaded uenv images.
56+
The repo is selected according to the following process:
5357

5458
* if the `--repo` CLI arguement overrides
5559
* else if `color` is set in the config file, use that setting

docs/software/uenv/deploy.md

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
[](){#ref-uenv-deploy-versions}
55
## Versioning and Labeling
66

7-
Uenv images have a _label_ of the following form:
8-
9-
Uenv are referred to using **labels**, where a label has the following form
7+
Uenv images have a **label** of the following form:
108

119
```
1210
name/version:tag@system%uarch
@@ -74,6 +72,18 @@ The `namespace` is one of:
7472
* `deploy`: where uenv images are copied by CSCS staff when they are officially provided to users.
7573
* `service`: where the uenv [build service][ref-uenv-build] pushes images.
7674

75+
!!! info "JFrog uenv registry"
76+
The OCI container registry used to host uenv is on JFrog at [jfrog.svc.cscs.ch/artifactory/uenv/](https://jfrog.svc.cscs.ch/artifactory/uenv/).
77+
78+
The address used to refer uenv images is of the form
79+
```
80+
https://jfrog.svc.cscs.ch/uenv/namespace/system/uarch/name/version:release
81+
```
82+
For example:
83+
```
84+
https://jfrog.svc.cscs.ch/uenv/deploy/eiger/zen2/cp2k:2024.1
85+
```
86+
7787
## uenv recipes and definitions
7888

7989
The uenv recipes are maintained in a public GitHub repository: [eth-cscs/alps-uenv](https://github.com/eth-cscs/alps-uenv).
@@ -88,25 +98,26 @@ The `cluster` is specified when building and deploying the uenv, while the `rele
8898
### Deployment Rules
8999

90100
A recipe can be built for deployment on different vClusters, and for multiple targets.
101+
For example:
91102

92-
??? example
93-
94-
* A multicore recipe could be built for `zen2` or `zen3` nodes
95-
* A GROMACS recipe that is tuned for A100 GPUs can be built and deployed on any vCluster supporting the A100 architecture
103+
* A multicore recipe could be built for `zen2` or `zen3` nodes
104+
* A GROMACS recipe that is tuned for A100 GPUs can be built and deployed on any vCluster supporting the A100 architecture
96105

97106
However, it is not desirable to build every recipe on every possible target system.
107+
For example:
98108

99-
??? example
100-
101-
* An ICON development environment would only be deployed on the weather and climate platform
102-
* A GROMACS recipe would not be deployed on the weather and climate platrofm
103-
* Development builds only need to run on test and staging clusters
109+
* An ICON development environment would only be deployed on the weather and climate platform
110+
* A GROMACS recipe would not be deployed on the weather and climate platrofm
111+
* Development builds only need to run on test and staging clusters
104112

105-
A YAML file `config.yaml` is maintained in the [eth-cscs/alps-uenv](https://github.com/eth-cscs/alps-uenv) repository that maps
113+
A YAML file `config.yaml` is maintained in the [github.com/eth-cscs/alps-uenv](https://github.com/eth-cscs/alps-uenv/blob/main/config.yaml) repository that maps
106114
recipes to deployed versions on mucroarchitectures.
107115

108116
### Permissions
109117

118+
!!! note "For CSCS staff"
119+
This information applies only to CSCS staff.
120+
110121
Deployment/deletion requires elevated permissions.
111122
Before you can modify the uenv registry, you need to set up credentials.
112123

@@ -128,6 +139,9 @@ uenv image copy --token=${HOME}/.ssh/jfrog-token <SOURCE> <DESTINATION>
128139

129140
### Deploying a uenv
130141

142+
!!! note "For CSCS staff"
143+
This information applies only to CSCS staff.
144+
131145
The CI/CD pipeline for [eth-cscs/alps-uenv](https://github.com/eth-cscs/alps-uenv) pushes images to the JFrog uenv registry in the `build::` namespace.
132146

133147
Deploying a uenv copies the uenv imagre from the `build::` namespace to the `deploy::` namespace. The Squashfs image itself is not copied;
@@ -146,7 +160,7 @@ uenv image copy build::<SOURCE> deploy::<DESTINATION> # (1)!
146160
Deploy a uenv from `build::` using the ID of the image:
147161

148162
```bash
149-
uenv image copy build::d2afc254383cef20 deploy::prgenv-nvfortran/24.11:v1
163+
uenv image copy build::d2afc254383cef20 deploy::prgenv-nvfortran/24.11:v1@daint%gh200
150164
```
151165

152166
!!! example "Deploy Using Qualified Name"
@@ -176,32 +190,35 @@ uenv image copy build::<SOURCE> deploy::<DESTINATION> # (1)!
176190
To remove a uenv, you can use the `uenv` command line tool:
177191

178192
```bash
179-
uenv image remove --token=${HOME}/.ssh/jfrog-token deploy::<IMAGE>
193+
uenv image delete --token=${HOME}/.ssh/jfrog-token deploy::<IMAGE>
180194
```
181195

182196
!!! warning
183197

184-
Removing a uenv is disruptive. Please have a look at out [uenv removal policy][ref-uenv-removal] for more information.
198+
Removing a uenv is disruptive.
199+
Please have a look at out [uenv removal policy][ref-uenv-removal] for more information.
185200

186-
## uenv Sources
201+
## Source code access
187202

188-
Some source artifacts are stored in JFrog:
203+
Some source artifacts are stored in JFrog, including:
189204

190-
* sorce code for software that can't be downloaded directly from the internet directly,
191-
* tar balls for custom software.
205+
* source code for software that can't be downloaded directly from the internet directly;
206+
* and tar balls for custom software.
192207

193208
These artifacts are stored in a JFrog "generic repository" [uenv-sources].
194209

195-
Each software package has a sub-directory and all image paths are lower case (e.g. `uenv-resources/namd`).
210+
Each software package has a sub-directory and all image paths are lower case (e.g. `uenv-sources/namd`).
196211

197212
By default, all packages in [uenv-sources] are anonymous read access
198213
to enable users to build uenv on vClusters without configuring access tokens.
199214
However,
200215

201216
* access to some packages is restricted by applying access rules to the package path
202-
* e.g. access to uenv-sources/vasp is restricted to members of the vasp6 group
217+
* e.g. access to `uenv-sources/vasp` is restricted to members of the vasp6 group
218+
219+
Permissons to acces restricted resources is set on a per-pipeline basis
203220

204-
A CI/CD job has access to all of [iuenv-sources] resources.
221+
* For example, only the `alps-uenv` pipeline has access to the VASP source code, while the [`uenv build`][ref-uenv-build] pipeline does not.
205222

206223
| Package | Access | Path | Notes | Contact |
207224
|---------|--------|------|-------| ------- |
@@ -211,8 +228,9 @@ A CI/CD job has access to all of [iuenv-sources] resources.
211228
| `vmd` | `uenv-sources-csstaff` | `uenv-sources/vmd` | VMD requires an account to download the source code | Alberto Invernizzi |
212229

213230
[](){#ref-uenv-removal}
214-
## uenv deprecation and removal
231+
## Deprecation and removal of uenv
232+
233+
!!! todo "Finalise and document the deprecation process"
215234

216-
!!! todo
217235

218236
[uenv-sources]: https://jfrog.svc.cscs.ch/artifactory/uenv-sources/

docs/software/uenv/index.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,30 @@ Each environment contains a software stack, comprised of compilers, libraries, t
1313

1414
<div class="grid cards" markdown>
1515

16-
- :fontawesome-solid-layer-group: __Configuring uenv__
16+
- :fontawesome-solid-layer-group: __Building uenv__
1717

18-
!!! todo
18+
More adventurous users can create their own uenv for personal use, and for other users in their team and community.
1919

20-
[:octicons-arrow-right-24: Configuring uenv][ref-uenv-configure]
20+
[:octicons-arrow-right-24: Building uenv][ref-uenv-build]
2121

22-
- :fontawesome-solid-layer-group: __Building uenv__
22+
- :fontawesome-solid-layer-group: __Configuring uenv__
2323

24-
!!! todo
24+
Users can customize the behavior of uenv using a configuration file.
2525

26-
[:octicons-arrow-right-24: Building uenv][ref-uenv-build]
26+
[:octicons-arrow-right-24: Configuring uenv][ref-uenv-configure]
2727

2828
- :fontawesome-solid-layer-group: __Deploying uenv__
2929

30-
!!! todo
30+
Documentation on how CSCS deploys uenv images, that might also be of interest to users.
3131

3232
[:octicons-arrow-right-24: Deploying uenv][ref-uenv-deploy]
3333

34+
- :fontawesome-solid-layer-group: __Release notes__
35+
36+
Release notes for the uenv tools (CLI and Slurm plugin).
37+
38+
[:octicons-arrow-right-24: Deploying uenv][ref-uenv-release-notes]
39+
3440
</div>
3541

3642
## Before starting
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[](){#ref-uenv-release-notes}
2+
# uenv releases notes
3+
4+
The version of uenv deployed on the main [Alps clusters][ref-alps-clusters] is **v8.1.0**.
5+
6+
[](){#ref-uenv-release-notes-v8.1.0}
7+
## v8.1.0
8+
9+
This version replaced v7.1.0 on Alps clusters.
10+
11+
### features
12+
13+
* improved uenv view management
14+
* automatic generation of default uenv repository the first time uenv is called
15+
* this fixes the error message
16+
* bash completion
17+
* support for configuration files
18+
* currently only support setting `color` and default uenv repo
19+
* support for `SLURM_UENV` and `SLURM_UENV_VIEW` environment variables for use inside CI/CD pipelines.
20+
21+
### small fixes
22+
23+
* better error messages and small bug fixes
24+
* relative paths can be used for referring to squashfs images
25+

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ nav:
8585
- 'Configuration': software/uenv/configure.md
8686
- 'Building uenv': software/uenv/build.md
8787
- 'Deploying uenv': software/uenv/deploy.md
88+
- 'Release notes': software/uenv/release-notes.md
8889
- 'Container Engine': software/container-engine.md
8990
- 'Unsupported Software': software/unsupported.md
9091
- 'Services':

0 commit comments

Comments
 (0)