A short overview about the differences between old v1 hpc-workspace and this version, including internals.
ws_statallow to see how much diskspace a workspace usesws_editdballows the administrator to change DB entries, currently implemented is mass extension
ws_listis a lot faster due to no python startup and faster listing and reading of DBws_list -gis a lot faster as it does only read DB entries of owners sharing a groupws_list -Lshows information aboit workspaces, including permissions and a comment given bu administrator/etc/ws.dis primary location of config, files are read in alphabetical order and merged, if no files there,/etc/ws.confis readws_release --delete-datato wipe data while releasing a workspace (also in v1 since a while)ws_restore --delete-datato wipe data from an released or expired workspaces to reclaim disk spacews_restore -ltakes an optional globbing pattern argument- in config file:
filesystemscan be used as alias forworkspaces, to match-Foption of tools - in config file:
default_workspaceis an alias fordefault - in config file:
maxdurationis an alias forduration - in config file: ACL syntax has
-and+ - in config file: extended ACL syntax
[+|-]id[:[permission{,permission}]]with permission inlist,use,create,extend,release,restoreallows to restrict single users or groups e.g. to use old workspaces in a filesystem but not extend them - same executable can be used with setuid or capabilities (if capability support is detected at build time)
--versionswitch can be used to see if capability or setuid is available and used- most tools have
--configoption, which allows using workspace tools without privileges in users own directories and with own config file. This is usefull for testing.
- field
adminmailas a list of email addresses is required in config (gives warning when not present) ws_releasebails out if workspace name is not uniquews_allocate -xbails out if workspace name is not uniquews_allocate -gcan take an groupname as well, -G can have no groupname- all group workspaces have group sticky bit
- lua callout for path building is no longer supported, allocation options should fully replace its functionality
- user needs access to default workspace (was giving a warning in v1 for some years already)
- each tool does some checks on config validity and can bail out if config is bad, even for fields it does not use
- new human check in
ws_restore, avoid dependency onterminfoorncurses
- more tests
- CI pipeline
- no python dependency, more C++ tools with higher speed and consistent behaviour
- some tools use OpenMP parallelism
- abstraction of the DB, allowing easier tool development and will allow new functionality in DB in a coming version, planned is more privacy through better isolation of users/groups
- added dependencies to Catch2, curl, fmt, GSL, rapidyaml, spdlog
- curl and boost have to be installed from distribution, all others are compiled as part of building hpc-workspace-v2