Skip to content

Workspaces#

Our NVMe Lustre (anvme) storage/Workspaces are in beta mode with no guarantees about availability and integrity

Our NVMe Lustre (anvme) storage is accessible only on Alex and Fritz. Our NVMe Lustre (hnvme) storage is exclusively accessible from Helma. For both systems user directories are managed by workspaces.

In general, a workspace is a path created via the command ws_allocate. The path to a workspace can be used like any other path. The only difference is that it has an associated lifetime, here called duration. When the duration of a workspace ends, the workspace will be deleted. You can extend the duration multiple times.

A more detailed documentation you find under:

Prerequisite#

You have to execute the commands from this page on Alex's, Fritz's or Helma's frontends or nodes.

Allocating a workspace#

Create workspace with name <name> for the duration of <days> days:

  • After <days> the workspace will be deleted.
  • <days> must be in the range of 1 to 90 days.
  • If <days> is omitted, duration is 1 day.
  • Duration can be changed and extended multiple times later, see Set a new duration for workspaces.
ws_allocate <name> [<days>]
# will print a path to the workspace: /anvme/workspace...

Obtaining the path to a workspace#

Get the path to workspace <name>

ws_find <name>
# output:/anvme/workspace...

In a shell script there is no need to hard code the path to a workspace, store the path in a variable. Here we lookup the path to workspace <name> and store the associated path in $STORAGE_DIR:

STORAGE_DIR="$(ws_find <name>)"
# STORAGE_DIR will then be set to /anvme/workspace...

Listing your workspaces#

To list all your workspaces and their duration use ws_list. You can limit the output to workspaces those names matching a certain pattern <pattern>.

ws_list [<pattern>]

Set a new duration for workspaces#

This is typically used to extend the duration of a workspace. Set the duration of a workspace named <name> to <days> days with ws_extend. If <days> is not specified 1 day is used.

Note, despite the command name suggests it, the duration is not extended by <days> days, but set to <days> days.

ws_extend <name> [<days>]

Delete a workspace early#

If you want to delete a workspace early, before its lifetime is up:

ws_release <name>

Sharing a workspace with other accounts#

If you want to share or unshare a workspace with an other account, you can use the command

ws_share (un)share <name> <account>

Restoring workspaces#

After expiring workspaces can be restored for a short time. First a new empty workspace (target) must be allocated (use ws_allocate).

# list all workspaces available for restoration
ws_restore -l
#restore
ws_restore -n <name> -t <target name>

Examples#

In the following example,

  • we create a workspace named demo with a lifetime of 60 days,
  • list its path,
  • find the workspace and assign its path to a variable,
  • list all your created workspaces, and delete demo:
# create workspace
$ ws_allocate demo 60
Info: creating workspace.
/anvme/workspace/user-demo
remaining extensions  : 100
remaining time in days: 60

# obtain the path to the workspace
$ ws_find demo
/anvme/workspace/user-demo

# store the path to the workspace in a variable
$ STORAGE=$(ws_find demo)
$ echo "$STORAGE"
/anvme/workspace/user-demo

# list all your workspaces
$ ws_list
id: delme
     workspace directory  : /anvme/workspace/user-delme
     remaining time       : 89 days 23 hours
     creation time        : Tue Oct 17 14:05:44 2023
     expiration date      : Mon Jan 15 13:05:44 2024
     filesystem name      : anvme
     available extensions : 99
id: demo
     workspace directory  : /anvme/workspace/user-demo
     remaining time       : 59 days 23 hours
     creation time        : Tue Oct 17 14:13:57 2023
     expiration date      : Sat Dec 16 13:13:57 2023
     filesystem name      : anvme
     available extensions : 100

# delete workspace demo
$ ws_release demo