Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions easybuild/easyconfigs/l/lumi-tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,14 @@ Sources:
### Version 23.11

- No new commands to check so a trivial port of 23.04.


### Version 24.05

- Trivial port of 23.11


### Version 26.05

- Switches to a lua version for `lumi-workspaces`, but the build process has not changed.

32 changes: 31 additions & 1 deletion easybuild/easyconfigs/l/lumi-tools/USER.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ of commands for monitoring of your account and projects on LUMI:
- `lumi-workspaces` is the all-in command and the only one that a user really
needs.

There is a modern version and a classic version which is just a shell script
calling `lumi-quota` and `lumi-allocations`.

From 26.05 on, the modern version is used while earlier versions used the
classic version.

- `lumi-quota` and `lumi-allocations` restrict the output to just the file system
quota and billing unit information respectively.

Expand All @@ -17,7 +23,31 @@ of commands for monitoring of your account and projects on LUMI:
user account and group management.


## lumi-workspaces
## lumi-workspaces (modern version, 26.05 and later)

The `lumi-workspaces` command combines the functionality of `lumi-quota` and `lumi-allocations`
commands shown below, but is currently only capable to show the output for
all your workspaces/projects (user workspace on `/user`and the various project-related
workspaces on `/project`, `/scratch` and `/flash`).

Note that currently no output is displayed about storage use on the object file
system as that information is not yet available in a format that a tool can
always access without temporary access keys.

The check of the allocations in `lumi-workspaces` and `lumi-allocations`
is currently done based on pre-stored data. That
data is refreshed periodically, but the data can be out-of-date, especially
if the scripts that build up the cache fail. Currently the tool is not
able to show when the data was collected, so the results may be wrong without
warning.

The modern version of the tool also shows what percentage of your total
project time has been consumed to make it easier to track your relative consumption
of billing units, and how much time is left until your project data gets
removed from LUMI.


## lumi-workspaces (classic version)

The `lumi-workspaces` command combines the `lumi-quota` and `lumi-allocations`
commands shown below, but is currently only capable to show the output for
Expand Down
136 changes: 136 additions & 0 deletions easybuild/easyconfigs/l/lumi-tools/lumi-tools-26.05.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# Contributed by Kurt Lust for the LUMI project

easyblock = 'Bundle'

local_allocations_version = '20230221'
local_allocations_commit = '17024f5'

name = 'lumi-tools'
version = '26.05'

homepage = 'https://lumi-supercomputer.github.io/LUMI-EasyBuild-docs/l/lumi-tools/'

whatis = [
'Description: Provides commands to check quota and allocations on LUMI.'
]

description = """
This module provides several commands to check the state of your account:
* lumi-workspaces: to print an overview of the quota and allocations for all your projects
* lumi-workspaces-classic: former version of lumi-workspaces
* lumi-quota: to check your quota
* lumi-allocations: to check your remaining allocations
* lumi-check-quota: to print a warning when you are over your quota
* lumi-ldap-projectinfo: to print LDAP information stored about projects on the system
* lumi-ldap-userinfo: to print LDAP information stored about users on the system
and commands only for the LUMI User Support Team:
* lumi-ldap-projectlist: to list all projects currently on LUMI

The check of the allocations is currently done based on pre-stored data. That
data is refreshed periodically, but the data can be out-of-date, especially
if the scripts that build up the cache fail. Currently the tool is not
able to show when the data was collected, so the results may be wrong without
warning.

The checks done by check-quota are also based on cached data that in principle
is refreshed every hour.

Note that cleaning up files may not have an immediate effect on the quota reported
by any of these tools. The lumi-quota and lumi-workspaces tools talk directly to
Lustre but there may be some delay also in the results returned by Lustre.
The lumi-check-quota tool uses cached data that is refresed once an hour and even just
after a refresh the result may not be fully accurate due to the possible delays
in Lustre reporting.
"""

usage = """
To quickly print an overview of quota and allocations, simply run
lumi-workspaces

The lumi-quota command comes in three different forms:
* lumi-quota : Shows your workspaces
* lumi-quota -v : Detailed quota information
* lumi-quota -p prj : Show quota of project prj

To check all your remaining allocations, simply run
lumi-allocations
To check only the allocations for a specific project , run
lumi-alllocations -p project_465000000
(replacing the last argument with the project for which you want the result).

lumi-allocations will also print the data at which the data and time at which the data
was last gathered so you can know if the synchronisation might have failed.

To only get the most important warnings about quota use and billing units for
storage, run
lumi-check-quota

To get more detailed information about all your projects as retrieved periodically
from the system and LDAP database:
lumi-ldap-projectinfo

To get more detailed information about your user account as retrieved periodically
from the system and LDAP database:
lumi-ldap-userinfo

More detailed information is available via man pages.
"""

docurls = [
'Man pages in section 1, check man lumi-tools',
]

software_license_urls = [
'https://github.com/Lumi-supercomputer/lumi-allocations/blob/main/LICENSE',
]

toolchain = SYSTEM


components = [
('lumi-allocations', local_allocations_version, {
'easyblock': 'Tarball',
'sources': [{
'filename': '%(name)s-%(version)s.tar.gz',
'git_config': {
'url': 'https://github.com/Lumi-supercomputer',
'repo_name': '%(name)s',
'commit': local_allocations_commit,
'keep_git_dir': False,
},
}],
'install_type': 'merge',
'start_dir': '%(namelower)s'
}),
('LUMI-tools', version, {
'easyblock': 'ConfigureMake',
'sources': [{ # https://github.com/Lumi-supercomputer/lumi-tools/archive/refs/tags/24.05.tar.gz
'filename': '%(name)s-%(version)s.tar.gz',
'download_filename': '%(version)s.tar.gz',
'source_urls': ['https://github.com/Lumi-supercomputer/lumi-tools/archive/refs/tags'],
}],
'start_dir': '%(namelower)s-%(version)s',
'skipsteps': 'configure',
'installopts': 'PREFIX=%(installdir)s',
}),
]

sanity_check_paths = {
'files': ['bin/lumi-quota', 'bin/lumi-allocations', 'bin/lumi-workspaces', 'bin/lumi-workspaces-classic', 'bin/lumi-ldap-projectinfo', 'bin/lumi-ldap-userinfo'],
'dirs': ['share/man/man1']
}

sanity_check_commands = [
'lumi-workspaces -h',
'lumi-workspaces-classic -h',
'lumi-quota -h',
'lumi-allocations -h',
'lumi-ldap-projectinfo -h',
'lumi-ldap-userinfo -h',
]

modluafooter = """
add_property("lmod","sticky")
"""

moduleclass = 'tools'
11 changes: 11 additions & 0 deletions easybuild/easyconfigs/l/lumio-ext-tools/HowToTest.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,14 @@ export AWS_DEFAULT_REGION="lumi-prod"
but it does not seem to be really needed. You may want to use it if you get error messages about
non-matching signatures.

Try backing up a directory:

``` bash
restic --verbose backup ~
```

and check the snapshop:

``` bash
restic snapshots
```