Skip to content

Commit 0f15287

Browse files
committed
wip
1 parent 8542447 commit 0f15287

File tree

4 files changed

+45
-32
lines changed

4 files changed

+45
-32
lines changed

docs/software/uenv/build.md

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
[](){#ref-uenv-build}
22
# Building uenv
33

4+
## uenv build service
5+
46
CSCS provides a build service for uenv that takes as its input a uenv recipe, and builds the uenv using the same pipeline used to build the officially supported uenv.
57

68
The command takes two arguments:
79

10+
```
11+
uenv build <recipe> <label>
12+
```
13+
814
* `recipe`: the path to the recipe
915
* A uenv recipe is a description of the software to build in the uenv.
1016
See the [stackinator documentation](https://eth-cscs.github.io/stackinator/recipes/) for more information.
@@ -14,33 +20,40 @@ The command takes two arguments:
1420
* `system` is the CSCS cluster to build on (e.g. `daint`, `santis`, `clariden`, `eiger`)
1521
* `uarch` is the [micro-architecture][ref-uenv-label-uarch].
1622

17-
!!! example "building a uenv"
18-
Call the
19-
```
23+
!!! example "Building a uenv"
24+
The image will be built on `daint` for the `gh200` node type.
25+
```bash
2026
uenv build $SCRATCH/recipes/myapp myapp/v3@daint%gh200
2127
```
2228

23-
The image will be built on `daint`.
24-
The build tool gives you a url to a status page, that shows the progress of the build.
25-
After a successful build, the uenv can be pulled:
26-
```
29+
The output of the above command will print a url that links to a status page, for you to follow the progress of the build.
30+
After a successful build, the uenv can be pulled using an address from the status page:
31+
32+
```bash
2733
uenv image pull service::myapp/v3:1669479716
2834
```
2935

30-
Note that the image is given a unique numeric tag, that you can find on the status page for the build.
36+
Note that the image is given a unique numeric tag, provided on the status page for the build.
3137

3238
!!! info
3339
To use an existing uenv recipe as the starting point for a custom recipe, `uenv start` the uenv and take the contents of the `meta/recipe` path in the mounted image (this is the recipe that was used to build the uenv).
3440

3541
All uenv built by `uenv build` are pushed into the `service` namespace, where they **can be accessed by all users logged in to CSCS**.
3642
This makes it easy to share your uenv with other users, by giving them the name, version and tag of the image.
3743

38-
!!! warning
44+
!!! danger
3945
**If, for whatever reason, your uenv can not be made publicly available, do not use the build service.**
4046

41-
!!! example "search user-built uenv"
47+
!!! example "Search user-built uenv"
4248
To view all of the uenv on daint that have been built by the service:
4349
```
4450
uenv image find service::@daint
4551
```
4652

53+
## Building with Stackinator
54+
55+
CSCS develops and maintains the [Stackinator](https://eth-cscs.github.io/stackinator) tool that is used to configure and build uenv.
56+
57+
!!! note
58+
The tool is currently maintained for internal use, and is used by automated pipelines, including the one used by the `uenv build` command.
59+
As such, CSCS provide limited support for the tool.

docs/software/uenv/configure.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ There is support for limited per-user configuration via a configuration file, wh
88

99
Uenv is configured using a text configuration file.
1010

11-
The location of the configuration file follows the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec/latest/).
11+
The location of the configuration file follows the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec/latest/), with the location defined as follows:
1212

13-
* If the `XDG_CONFIG_HOME` environment variable is set, the `$XDG_CONFIG_HOME/uenv/config`.
14-
* Otherwise it defaults to `$HOME/.config/uenv/config`.
13+
* If the `XDG_CONFIG_HOME` environment variable is set, use `$XDG_CONFIG_HOME/uenv/config`.
14+
* Otherwise use the default location `$HOME/.config/uenv/config`.
1515

1616
### Syntax
1717

@@ -29,7 +29,7 @@ Notes on the syntax:
2929

3030
* keys are case-sensitive: `color` and `Color` are not equivalent.
3131
* all keys are lower case
32-
* white space is trimmed from keys and values, e.g.: `color = true` will be parsed as key=`color` and value=`true`.
32+
* white space is trimmed from keys and values, e.g.: `color = true` will be parsed as `key='color'` and `value='true'`.
3333

3434
### Options
3535

docs/software/uenv/deploy.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,16 @@ The version of the uenv.
2626

2727
The format of `version` depends on the specific uenv.
2828
Often they use the `yy.mm` format, though they may also use the version of the software being packaged.
29-
For example the `namd/3.0.1` uenv packages version 3.0.1 of the popular [NAMD](https://www.ks.uiuc.edu/Research/namd/) simulation tool.
29+
For example the [`namd/3.0`][ref-uenv-namd] uenv packages version 3.0 of the popular [NAMD](https://www.ks.uiuc.edu/Research/namd/) simulation tool.
3030

3131
### uenv tag
3232

3333
Used to differentiate between _releases_ of a versioned uenv.
34+
Some examples of tags include:
3435

35-
Some examples of tags include release candidates (`rc1`, `rc2`) and
36-
37-
* `rc1`, `rc2`: release candidates.
38-
* `v1`: a first release typically made after some release candidates.
39-
* `v2`: a second release, that might fix issues in the first release.
36+
* `rc1`, `rc2`: release candidates;
37+
* `v1`: a first release typically made after some release candidates;
38+
* `v2`: a second release, that fixes issues in `v1`
4039

4140
### uenv system
4241

@@ -61,10 +60,10 @@ The node type (microarchitecture) that the uenv is built for.
6160
The following naming scheme is employed in the OCI container artifactory for uenv images:
6261

6362
```text
64-
namespace/system/uarch/name/version:release
63+
namespace/system/uarch/name/version:tag
6564
```
6665

67-
Where the fields `system`, `uarch`, `name`, `version` and `release` are defined above.
66+
Where the fields `system`, `uarch`, `name`, `version` and `tag` are defined above.
6867

6968
The `namespace` is one of:
7069

@@ -73,11 +72,11 @@ The `namespace` is one of:
7372
* `service`: where the uenv [build service][ref-uenv-build] pushes images.
7473

7574
!!! 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/).
75+
The OCI container registry used to host uenv is on JFrog, and can be browsed at [jfrog.svc.cscs.ch/artifactory/uenv/](https://jfrog.svc.cscs.ch/artifactory/uenv/) (you may have to log in with CSCS credentials from the a VPN/CSCS network).
7776

78-
The address used to refer uenv images is of the form
77+
The address of individual uenv images is of the form
7978
```
80-
https://jfrog.svc.cscs.ch/uenv/namespace/system/uarch/name/version:release
79+
https://jfrog.svc.cscs.ch/uenv/namespace/system/uarch/name/version:tag
8180
```
8281
For example:
8382
```
@@ -91,7 +90,7 @@ The uenv recipes are maintained in a public GitHub repository: [eth-cscs/alps-ue
9190
The recipes for each uenv version are stored in the `recipes` subdirectory.
9291
Specific uenv recipes are stored in `recipes/name/version/uarch/`.
9392

94-
The `cluster` is specified when building and deploying the uenv, while the `release` is specified when deploying the uenv.
93+
The `cluster` is specified when building and deploying the uenv, while the `tag` is specified when deploying the uenv.
9594

9695
## uenv Deployment
9796

@@ -118,7 +117,7 @@ recipes to deployed versions on mucroarchitectures.
118117
!!! note "For CSCS staff"
119118
This information applies only to CSCS staff.
120119

121-
Deployment/deletion requires elevated permissions.
120+
Deployment and deletion of uenv requires elevated permissions.
122121
Before you can modify the uenv registry, you need to set up credentials.
123122

124123
* Your CSCS username needs to be added to the `uenv-admin` group on JFrog, and
@@ -144,7 +143,7 @@ uenv image copy --token=${HOME}/.ssh/jfrog-token <SOURCE> <DESTINATION>
144143

145144
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.
146145

147-
Deploying a uenv copies the uenv imagre from the `build::` namespace to the `deploy::` namespace. The Squashfs image itself is not copied;
146+
Deploying a uenv copies the uenv image from the `build::` namespace to the `deploy::` namespace. The Squashfs image itself is not copied;
148147
a new tag for the uenv is created in the `deploy::` namespace.
149148

150149
The deployment is performed using the `uenv` command line tool, as demonstrated below:
@@ -193,7 +192,7 @@ To remove a uenv, you can use the `uenv` command line tool:
193192
uenv image delete --token=${HOME}/.ssh/jfrog-token deploy::<IMAGE>
194193
```
195194

196-
!!! warning
195+
!!! danger
197196

198197
Removing a uenv is disruptive.
199198
Please have a look at out [uenv removal policy][ref-uenv-removal] for more information.

docs/software/uenv/release-notes.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
[](){#ref-uenv-release-notes}
22
# uenv releases notes
33

4-
The version of uenv deployed on the main [Alps clusters][ref-alps-clusters] is **v8.1.0**.
4+
The latest version of uenv deployed on [Alps clusters][ref-alps-clusters] is **v8.1.0**.
5+
You can check the version available on a specific system with the `uenv --version` command.
56

67
[](){#ref-uenv-release-notes-v8.1.0}
78
## v8.1.0
89

910
This version replaced v7.1.0 on Alps clusters.
1011

11-
### features
12+
### Features
1213

1314
* improved uenv view management
1415
* automatic generation of default uenv repository the first time uenv is called
@@ -18,7 +19,7 @@ This version replaced v7.1.0 on Alps clusters.
1819
* currently only support setting `color` and default uenv repo
1920
* support for `SLURM_UENV` and `SLURM_UENV_VIEW` environment variables for use inside CI/CD pipelines.
2021

21-
### small fixes
22+
### Small fixes
2223

2324
* better error messages and small bug fixes
2425
* relative paths can be used for referring to squashfs images

0 commit comments

Comments
 (0)