From ad528dc850ca130ca221137bb52a430861a1bb7a Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 21 May 2026 13:15:57 +0200 Subject: [PATCH 1/2] Update of lumi-tools. --- easybuild/easyconfigs/l/lumi-tools/README.md | 11 ++ easybuild/easyconfigs/l/lumi-tools/USER.md | 32 ++++- .../l/lumi-tools/lumi-tools-26.05.eb | 136 ++++++++++++++++++ 3 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/l/lumi-tools/lumi-tools-26.05.eb diff --git a/easybuild/easyconfigs/l/lumi-tools/README.md b/easybuild/easyconfigs/l/lumi-tools/README.md index 2124ff4d6..57f392e3c 100644 --- a/easybuild/easyconfigs/l/lumi-tools/README.md +++ b/easybuild/easyconfigs/l/lumi-tools/README.md @@ -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. + diff --git a/easybuild/easyconfigs/l/lumi-tools/USER.md b/easybuild/easyconfigs/l/lumi-tools/USER.md index 4fc9c3538..171a889c7 100644 --- a/easybuild/easyconfigs/l/lumi-tools/USER.md +++ b/easybuild/easyconfigs/l/lumi-tools/USER.md @@ -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. @@ -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 diff --git a/easybuild/easyconfigs/l/lumi-tools/lumi-tools-26.05.eb b/easybuild/easyconfigs/l/lumi-tools/lumi-tools-26.05.eb new file mode 100644 index 000000000..e19d4c727 --- /dev/null +++ b/easybuild/easyconfigs/l/lumi-tools/lumi-tools-26.05.eb @@ -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' From 73ce1154e4d46419dabcc0752444ecae1c44dcd5 Mon Sep 17 00:00:00 2001 From: Kurt Lust Date: Thu, 21 May 2026 13:16:24 +0200 Subject: [PATCH 2/2] A forgotten update from a previous update. --- easybuild/easyconfigs/l/lumio-ext-tools/HowToTest.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/easybuild/easyconfigs/l/lumio-ext-tools/HowToTest.md b/easybuild/easyconfigs/l/lumio-ext-tools/HowToTest.md index 4de56575f..25aff4d3b 100644 --- a/easybuild/easyconfigs/l/lumio-ext-tools/HowToTest.md +++ b/easybuild/easyconfigs/l/lumio-ext-tools/HowToTest.md @@ -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 +``` \ No newline at end of file