...
Numbered Headings | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Introducing DSSWebAs a data curator of one or more data projects, you can manage your DSS storage via our DSSWeb self-service system. The system provides you with a Web Interface (GUI), a Command Line Interface (CLI) and a HTTP REST API (API). You can think of DSSWeb as your virtual storage system administrator, which accepts your request, such as:
and then automatically executes the necessary steps in order to fulfil your request. IMPORTANT: The DSSWeb Portal is only accessible within the MWN for security reasons. Data Curators outside of the MWN can use LRZ's VPN Serviceor login to the Cloud CLI from one of the LRZ Compute Nodes. Introducing the DSSWeb Management PortalThe DSSWeb Management User Interface is accessible via https://dssweb.dss.lrz.de. Your user needs to have data curator rights of a lest one data project, to log in. Introducing the DSSWeb Management CLIThe DSSWeb Command Line Interface is currently available as Software as a Service (SaaS) in the LRZ cloud (which we recommend to use) and as an on-premise software solution. In the following, we will describe how to get started with both versions of the CLI. Installing the CLI on premiseIn order to install the CLI on premise, the installation of
After successful installation you should be able to start the CLI in interactive mode using the
You can also use the CLI in non-interactive mode, like a regular shell command by calling the
Updating the CLIAs new features become available, we will update the code in the gitlab repository, so make sure to update the software from time to time. In order to update the software, just follow the installation procedure again. It will overwrite the old version of the software. Accessing the CLI in the cloudIn order to access the interactive CLI, which is offered as Software as a Service in the LRZ cloud, just use SSH to login to
For your convenience, you can provide one or more SSH public keys in order to be able to login in without having to provide a password. Just use the Another advantage of the SaaS version is that we will provide you with updated versions of the CLI automatically. General usage of the CLIThe CLI is structured in several subcommands, that allow you to list, show, create and change various items of a data project like containers, access invitations, NFS exports, etc. To get a list of available subcommands, just call the In order to get help on a particular command, you can just call the subcommand, followed by the
Note that the output of the commands is usually optimised for human readability. However, if you want to script certain things, you might be interested using the Introducing the DSSWeb Management APICurrently the API still lacks some important documentation information. Though, we are working hard on extending this documentation in the future. You can access the current documentation via https://dssweb.dss.lrz.de/api/docs/. If you are interested in using our API, please raise an Incident for 'Datenhaltung → Data Science Storage' at the LRZ Servicedesk. Understanding Data Projects and Data PoolsIn the LRZ Data Science Management Concept, we use Data Projects as organizational envelopes around the data, which is stored in the context of this data project. This is particularly useful as it implements a link between the data and the people who are formally responsible for the data and therefore protects us from orphaned data.
A particular data project is managed by a group of users, which is called the data curator group of the project. By default only the master users of the project belong to this group, but upon request via the Servicedesk, LRZ can also add arbitrary other users to the list of data curators for a data project. In order to be able to store data in the context of a data project, the project also needs grants on one or more data pools. Data pools are physical storage systems which are integrated into the LRZ Data Science Management Ecosystem. Currently only Data Science Storage systems are supported, but it is planned to add other systems like an Archive for example in the future. Grants specify which fraction of a particular data pool (a quota), a particular data project is allowed to use. These grants are managed by LRZ.
Getting information about the data projects of a data curator
Getting information about the grants for a particular data project
Understanding ContainersContainers are the organizational elements, in which your actual data will live. Depending on the type of the underlying storage system, containers could be implemented in very different ways. For the Data Science Storage (DSS) systems, a container is basically a directory in a POSIX file system, with some additional magic attached to it. For a future archive system or an object storage system, a container will most likely be implemented in a different way. However, what is important to note is the basic concept of a container, which will be equal across all potential underlying storage systems:
Understanding Data Science Storage ContainersAs already discussed, data containers on a Data Science Storage system are implemented as a directory on a POSIX file system, which is owned by a POSIX group, dedicated to the container. Each container has a certain limitation on the capacity and number of files, which can be stored in the container. The members of the container group are managed by the data curators via an invitation process. The access to the container is managed via POSIX rights and NFSv4 type ACLs. Also each container is associated with a so called ID Streamlining Mode. This policy defines how hard the system will try to make sure that access rights and ACLs stay in alignment with the access rights concept. Last but not least, each DSS type container is associated with a so called protection policy, which defines if and how the data in a container is protected by regular backups to the LRZ Backup- and Archive system.
Understanding Data Science Storage Container ID Streamlining Modes
Understanding Container Access Rights ManagementFor managing container access rights, we follow an invitation approach as you may already be familiar from cloud storage services like the LRZ Sync+Share service or Dropbox, Google Drive, etc. This means, for example, if data curator Alice wants to give user Bob access to the data container Cont-A, Alice will tell DSSWeb to invite Bobs username(s) to access container Cont-A. DSSWeb will then send an E-Mail, containing a unique invitation link to the E-Mail address assigned to Bobs username in the LRZ Identity Management System. Bob can then accept the invitation by clicking on the invitation link and accepting our data privacy and usage terms. After that, Bobs username will be automatically placed in the container POSIX group of container Cont-A and Bob is ready to access the data in Cont-A. However, if Bob chooses not to accept the invitation for whatever reason, the pending invitation will automatically expire after 30 days in DSSWeb. In certain constellations, a data curator may want to delegate the access rights management for a single container to another user, but not give him or her data curator rights for the whole data project. In this case, the data curator can set the Container Manager flag for the invitation of the user, which will give him access to the DSSWeb Portal and allow him to create/read/update/delete Invitations and Auto Group Links as well as NFS exports for the particular container he was granted the Container Manager right.
Understanding Container Access Revocation and User Deletion ActionsAs you may have noticed, the semantics of Data Containers are designed as collaborative space, in which every user can access all data. So semantically the data is not owned by an individual, but the whole group. However, as we operate on a POSIX file system, the POSIX semantics dictate that for each file there has to be a single user who is the formal owner of the file. Technically this is implemented by storing the UID of the owning user for each file in the metadata of the file. Now let's look at the case when a data curator wants to revoke access of a certain user to a container. Therefore, we remove the user from the container group and because of the permissions set on the container level, the user cannot access any data in the container anymore. However, there may now still be files in the container which are formally owned by the revoked user. While this is technically insignificant - since the user cannot access the data in the container anymore - it may be misleading and ambiguous to the remaining users. The same holds true if a user, invited to a container gets completely deleted. In this case, even resolving the UID to a user name will not work anymore and you will be presented with a cryptic number as owner of the files in your container. In order to avoid these kinds of problems, whenever you revoke access for a user or a user get's deleted in the Identity Management System, we automatically start a batch job, that changes ownership of all files, which belong to the revoked or deleted user. Please note that this will not happen if the container ID Streamlining Mode policy is set to
Understanding Automatic Container Access Group LinksThere may be situations where explicitly managing DSS Container Access Rights for each individual user may represent unnecessary overhead, because you want to give one or more particular groups automatically access to a container. So when a new member is added to the group, he should automatically be invited to access the container and when a member is removed from the group he should automatically be revoked access rights. You can achieve this by defining so called Auto Group Links for a container. We currently support to link groups from DSS, TUMonline, LMU, LinuxCluster and plan to extend this to SuperMUC-NG groups in the future. For more details on this, please check out our Knowledge Base article on this topic.
Understanding Data Science Storage Container Protection Policies
For containers which exclusively store static, read-only content, like simulation results, output data from instruments like genomic sequencers, microscopes, NMR spectroscopes, etc, we also provide special
For information on how to restore backed up files, please check this Knowledge Base article. Understanding Data Science Storage Container Sharing with External UsersIn addition to sharing container data with LRZ/TUM/LMU users, you can also share your container data with arbitrary external users, using the 3rd party Globus Sharing service. We have integrated Globus Sharing via their API into the DSSWeb Self-Service portal for your convenience, so you can easily manage Globus Sharing permissions via DSSWeb. However, in order to use Globus Sharing on a particular container, we have to do some special preparations, which are not necessary if you don't need Globus Sharing. Therefore, you have to explicitly enable Globus Sharing on your container. This can either be done at container creation time or anytime afterwards. You can also disable Globus Sharing at any time. After Globus Sharing has been enabled on your container, you can invite arbitrary external users to access your data via Globus by just specifying their Globus User ID or E-Mail address. They will then receive an invitation Mail from Globus that provides the necessary instructions in order to access the shared data. For details on how Globus Sharing and the integration into DSS and DSSWeb works, please check this Knowledge Base article. Understanding the Asynchronous Task ModelAs we already described earlier, DSSWeb takes your high level requests (like create a new container) and automatically executes the necessary steps to fulfil your request. Every time you tell DSSWeb to create or change something, it must talk to one or more external systems, like LRZ SIM, LRZ's Backup and Archive System, the underlying filesystems of DSS and so on and ask them to execute one or more tasks. So under the covers, DSSWeb is a fairly complex, highly distributed system which depends on multiple systems working seamlessly together. However, in such highly distributed systems, we have to accept that things may fail from time to time. Fortunately, these failures often have a temporary and very seldom a permanent nature. For example, think of the situation in which one of the subsystems is not available for whatever reason. This situation is usually fixed very fast and then everything works just fine again. In order to hide all this complexity and not to bother you with temporary errors, thereby giving you the best possible user experience, we work with an asynchronous task model. That means, whenever you tell DSSWeb to create or change something, it will just store the necessary information in its database and make sure that an asynchronous task is started in the background. So while DSSWeb may still be busy, fulfilling your request, you can already go on and do other suff and then check back later to see if your request was carried out successfully. You can check the status of an object (like a container), by looking at it's In the GUI, the status is usually represented via Icons. You can get a textual representation of the state by simply put your mouse pointer on such a status icon.
Understanding Task FailuresUsually, when an asynchronous task hits a failure in a subsystem, the only thing you should notice is that the task may take longer than normal to execute (there is no special state indicating a problem for an object, it will simply stay in the Understanding our Software Development ProcessOur software development process is loosely based on an agile approach and is highly driven by the demands of our customers. So, if you are missing a particular feature or would like to see something particular to be implemented in DSSWeb, please don't hesitate and reach out to us by opening a request on the LRZ Servicedesk so we can discuss your requirements and record it in our product backlog. Managing Data CuratorsWhen a LRZ project receives the right to use DSS, the project will be automatically imported to DSSWeb and all Master Users of the LRZ project will be designated as initial data curators for the project in DSSWeb and receive a welcome mail from DSSWeb. However, from there on the roles of Master User and Data Curator are not linked anymore. This means that the data curators can manage the list of data curators for their particular project in DSSWeb independent from the Master Users in SIM. On the other side, changes of the Master User in SIM will not be reflected in DSSWeb. For every data project, there can be zero or one primary data curators. If a data curator has been assigned the primary role, whenever a user is removed from the list of invited users or the user is deleted in the LRZ SIM user directory, DSS will change ownership of the files owned by this user to the primary data curator. If no primary data curator is assigned for a project, the data curator to which file ownership will be changed to is arbitrarily chosen from the list of available data curators. Showing Data CuratorsIn the following, we show you how to get an overview of the current data curators of your project.
Adding new Data Curators to a projectIn the following, we show how you can add additional data curators to your project. When you add a user as data curator, the user will receive an automatically generated welcome mail from DSSWeb that informs him about the granted right and points him to this documentation.
Updating a Data CuratorIn the following, we show you how you can change the primary data curator for a project.
Removing a Data Curator from a projectIn the following, we show how you can remove a data curator from a project. When you remove a user as data curator of a project, he will only use the data curator right for this project. Any container access invitations of this user will not be touched. If you also want to revoke access to the data of the project, you must also delete the invitations of the user in the individual containers.
Managing ContainersIn the following we describe how you can create a new DSS Container for your data project. Creating Containers
Showing Containers
Anker |
|
Info |
---|
Please note that it is technically not possible to change the data protection mode from |
Erweitern | ||
---|---|---|
| ||
Using the GUIOnce you've selected a project to work with, you'll be automatically redirected to the Project Detail site. Now click on the DSS Containers Icon and you will be redirected to the DSS Container Overview site, which will list you all containers for your project. In order to change settings for a particular container, just click on the containers Edit Button and you will be redirected to the DSS Container Update site. Fill out the form and click on Submit to update your container. If the container could be successfully changed, the UI will take you to the DSS Container Details site and show you a System Message, that indicates that the container has been updated. After container update, you'll see the new container on the DSS Container Overview site, whereby the status icon will indicate that update is still pending. Once the creation process has finished, the status icon will automatically change to the
|
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to modify an existing container, use the This command takes the following mandatory arguments:
Additionally, you have to specify at least one of the following arguments:
In the following example, we are going to update the container
|
Delete Containers
In the following we show how you can delete a DSS container.
Warnung |
---|
Deleting a DSS Container is an operation that is final and cannot be reverted. Please note that all data, including potential backups and archives will be deleted! |
Erweitern | ||
---|---|---|
| ||
Using the GUIComing soon. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to delete a particular DSS data container, you can use the In the following example, we will delete the container
|
Managing Container Access Rights Ankerinternalsharing internalsharing
internalsharing | |
internalsharing |
As discussed, Data Science Containers are collaborative spaces. As such, you can grant virtually any user, which is known in the LRZ Identity Management, access to a data container. As the Identity Management Systems of LRZ, TUM, LMU are kind of federated, this also means that you can grant any user, managed by one of these IdMs access to your data containers.
Info |
---|
Please note that the various ways in which users can access the data within a container is documented in the DSS documentation for users document. |
Granting Access Rights
In order to allow an user to access a particular data container, you must invite him or her to the container group.
Erweitern | ||||||
---|---|---|---|---|---|---|
| ||||||
Using the GUIIn order to invite a user to access a particular data container, navigate to theContainer Detail site. On this detail page, you'll find the SIM User tab in the Container User section: Click on the Add new user button and you will be redirected to the Invitation Create site. The Fields which are marked with an asterix * are mandatory fields. The other fields are optional. Fill out the form and click on Invite to create your new invitation.
If the invitation could be successfully be created, the UI will take you back to the DSS Container Details site and show you a System Message, that indicates that the invitation has been created. After invitation creation, you'll see the new invitation on the DSS Container Overview site, whereby the status icon will indicate that creation is still pending. Once the creation process has finished, the status icon will automatically change to the
|
Erweitern | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Using the CLIIn order to invite a user to access a particular data container, use the This command takes the following mandatory arguments:
Additionally, you can specify the following optional arguments:
In the following example, we are going to invite user
|
Showing Access Rights
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to display the access rights of a container user, please navigate to the Container Detail site. On this detail page, you'll find the SIM User tab in the Container User section: |
Erweitern | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||
Using the CLIIn order to get an overview about all invitations to containers of your project via DSSWeb, you can use the In the following examples, we will examine invitations for the example project
In the following examples, we will examine invitations for the example container
In the following examples, we will examine invitations for the example user
In order to view the details of a specific invitation, you can use the
|
Modify Access Rights
In the following we show how certain properties of invitations can be changed. Currently you can change the following properties of an existing invitation:
- For invitations that have not yet been accepted:
- Prolong expiration date
- Resend the invitation mail
- The maximum amount of GB, the user is allowed to consume within the container.
- The maximum number of files, the user is allowed to create within the container.
- If the invited user shall be a manager for this container, which will give him the possibility to manage invitations, auto group links and NFS exports for this container.
- For invitations that have already been accepted:
- The access mode to grant. This can either be
READ_WRITE
orREAD_ONLY
. However, the later can only be used with containers that implement an ID Stremline Mode ofSTRICT
. - The maximum amount of GB, the user is allowed to consume within the container.
- The maximum number of files, the user is allowed to create within the container.
- If the invited user shall be a manager for this container, which will give him the possibility to manage invitations, auto group links and NFS exports for this container. (Default: no)
- The access mode to grant. This can either be
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to change the access rights of a container user, please navigate to the Container Detail site. On this detail page, you'll find the SIM User tab in the Container User section. For each invitation, you'll find four buttons on the right. Depending on the state of the invitation, these buttons may be enabled or disabled.
When you click on the prolong or resend button, the action will be immediately carried out and a System Message will appear that shows you the result of the action: The invitation update button will take you to the Invitation Update form. Fill out the form and click on the Modify Button. If the invitation was successfully changed, the UI will take you back to the DSS Container Details site and show you a System Message, that indicates that the invitation has been updated. Depending on the type of the update, the invitation may go to a |
Erweitern | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Using the CLIIn order to modify an existing invitation, use the This command takes the following mandatory arguments:
Additionally, you have to specify at least one of the following arguments:
In the folloing example, we are going to prolong the invitation 83 to be valid for another 30 days:
In the following example, we are going to resend the invitation mail for invitation 83:
In the following example, we are going to update the invitation 83
|
Revoking Access Rights
In the following, we show how existing invitations can be revoked/deleted. You can revoke accepted as well as pending invitations. If you revoke a pending invitation, the invitation link, sent to the person you invited will be invalidated, so accepting the invitation is no longer possible. If you revoke an already accepted invitation, the user will be removed from the container access group and file ownership of each file, technically owned by the user, will be transfered to a data curator. See Understanding Container Access Revocation and User Deletion Actions for more information on the topic.
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to delete the access rights of a container user, please navigate to the Container Detail site. On this detail page, you'll find the SIM User tab in the Container User section. For each invitation, you'll find four buttons on the right. Depending on the state of the invitation, these buttons may be enabled or disabled.
In order to delete an invitation, click on the Delete Button. After that, a confirmation dialog will appear. If you confirm the deletion by clicking on the Delete Button of the confirmation dialog, the particular invitation will automatically turn into DELETE PENDING state and once, deletion is complete will disappear from the Container User list. |
Erweitern | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Using the CLIIn order to revoke access to a container for a particular user, use the
In the following we are going to delete the invitation for user
After this command was issued, the invitation will transition into the |
Managing DSS Container Access Rights for External Users via Globus
If you need to share data with people who do not have a user account at LRZ, LMU or TUM, you can do so, as discussed above, using the Globus Sharing feature of the Globus Data Management Portal.
Hinweis |
---|
Please note that you don't have to (and should not) use Globus Sharing if the person you want to share data with has an active LRZ, LMU or TUM account. Globus Sharing is only a fall back solution for sharing data with people who don't have and can't get a valid user account in the mentioned institutions. If possible, always prefer Internal Access Rights. |
Hinweis |
---|
Please note that in order to manage Globus Sharing ACLs, you first must enable the particular data container for Globus Sharing. See the DSS Data Container section above for how to do this. |
Info |
Hinweis |
---|
Granting Globus Sharing Access Rights
In order to allow a user to access a particular data container or a particular subdirectory of a data container, you must invite him or her via Globus Sharing to access the data. In Globus terms this is called "creating a Globus Sharing ACL".
title | Click here to see how it works in the GUI |
---|
Using the GUI
In order to invite an external user to access a particular data container or subdirectory of the container via Globus Online data sharing, navigate to the Container Detail site of a data container, that has already been enabled for Globus Sharing.On this detail page, you'll find the Globus User tab in the Container User section:
Click on the Add new globus user button and you will be redirected to the Globus Invitation Create site.
The Fields which are marked with an asterix * are mandatory fields. The other fields are optional. Fill out the form and click on Invite to create your new invitation. Note that the subpath is taken relative to the container base directory. If no subpath is specified, then the whole container is shared.
If the Globus invitation could be successfully be created, the UI will take you back to the DSS Container Details site and show you a System Message, that indicates that the invitation has been created. Note that this is a synchronous process and may take some seconds to complete.
After successful globus invitation creation, you'll see the new invitation on the DSS Container Overview site.
title | Click here to see how it works in the CLI |
---|
Using the CLI
Managing Globus Sharing permissions via DSSWeb has been deprecated in favour of giving you direct access to the Globus Sharing Interface in Globus via the Access Manager role. If you want/need to manage Globus Sharing ACLS via CLI, please use the Globus CLI.
Showing Globus Sharing Access Rights
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to display the Globus data sharing access rights of a container, please navigate to the Container Detail site. On this detail page, you'll find the Globus User tab in the Container User section: |
title | Click here to see how it works in the CLI |
---|
Using the CLI
Managing Globus Sharing permissions via DSSWeb has been deprecated in favour of giving you direct access to the Globus Sharing Interface in Globus via the Access Manager role. If you want/need to manage Globus Sharing ACLS via CLI, please use the Globus CLI.
Revoking Globus Sharing Access Rights
Erweitern | ||
---|---|---|
| ||
Erweitern | title | Click here to see how it works in the CLI|
Using the CLIManaging Globus Sharing permissions via DSSWeb has been deprecated in favour of giving you direct access to the Globus Sharing Interface in Globus via the Access Manager role. If you want/need to manage Globus Sharing ACLS via CLI, please use the Globus CLI. |
Managing Globus Sharing permissions is not done in DSSWeb directly but via the Globus Online web interface. In order to be able to manage Globus Sharing permissions for a particular container, navigate to the Container Detail site of a container. On this page, you'll find the Globus User tab in the Container User section. When you click on the Manage Globus Sharing Permissions button, DSSWeb will add your user, you used to log in to DSSWeb, as so called Access Manager to the Globus Shared Endpoint and redirect you to the Globus Online web interface. When you log in to the Globus Online web interface, make sure to use the same LRZ user account which you also used to log in to DSSWeb. After that you should be able to manage the access permissions of the containers shared endpoint via the Globus Online web interface. See https://docs.globus.org/how-to/share-files/ step 5 and following on how to do that.
Managing DSS Container Auto Group Links
If you already manage a TUMOnline Group and want that everyone in this group automatically gets an invitation for a particular data container, you can do so using the Container Autor Group Links, already discussed above. In the following we will show you how to manage these Auto Group Links.
Creating Auto Group Links
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to create a new auto group link for a particular container, navigate to the Container Detail site of a data container. On this detail page, you'll find the Auto Group Links tab in the Container User section: Click on the Create new group link button and you will be redirected to the Group Link Create site. The Fields which are marked with an asterix * are mandatory fields. The other fields are optional. Fill out the form and click on Create to create your new group link. If the group link could be successfully be created, the UI will take you back to the DSS Container Details site and show you a System Message, that indicates that the invitation has been created. After group link creation, you'll see the new group link on the Auto Group Links tab of the DSS Container Overview site. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to create a new auto group link for a particular container, use the This command takes the following mandatory arguments:
Additionally, you can specify the following optional arguments:
In the following example, we are going to create a
|
Showing Auto Group Links
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to display the auto group links of a container, please navigate to the Container Detail site. On this detail page, you'll find the Auto Group Links tab in the Container User section: |
Erweitern | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Using the CLIIn order to get an overview about all existing auto group links via DSSWeb you have access to, you can use the In the following example, we will examine auto group links for the example project
In the following example, we will examine auto group links for the example container
In order to view the details of a specific auto group link, you can use the
|
Updating Auto Group Links
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to change the auto group links of a container, please navigate to the Container Detail site. On this detail page, you'll find the Auto Group Links tab in the Container User section. For each group link, you'll find buttons on the right. Depending on the state of the group link, these buttons may be enabled or disabled.
The group link update button will take you to the Group Link Update form. Fill out the form and click on the Modify Button. If the invitation was successfully changed, the UI will take you back to the DSS Container Details site and show you a System Message, that indicates that the group link has been updated. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to modify an existing auto group link, use the This command takes the following mandatory arguments:
In the following example, we will change the access mode of auto group link 8 from
|
Deleting Auto Group Links
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to delete an auto group link for a particular container, please navigate to the Container Detail site. On this detail page, you'll find the Auto Group Links tab in the Container User section. For each group link, you'll find buttons on the right. Depending on the state of the group link, these buttons may be enabled or disabled.
In order to delete an group link, click on the Delete Button. After that, a confirmation dialog will appear. If you confirm the deletion by clicking on the Delete Button of the confirmation dialog, the particular group link will automatically disappear from the Container User list, once the deletion is completed. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to delete an existing auto group link, use the This command takes the auto group link id to delete as mandatory argument. In the following example, we will delete auto group link 8.
|
Managing DSS Container Exports
Limitations
Plese note that there are several limitations for exporting DSS containers via NFS.
Info |
---|
You can only export DSS containers to IPs that are located in the LRZ data center. Exporting to IPs external to LRZ is not supported. |
Info |
---|
All DSS container exports are configured with |
Warnung |
---|
Also technically not forbidden, you should only export DSS containers to IPs that are statically assigned to and trusted by you. NFS exports follow a "host based trust" semantic, which means the DSS NFS server will trust any IP/system to which a DSS container is exported. There is no additional user authentication between NFS server and client enforced. This is especially important if you want to export DSS containers to cloud machines, as these - by default - use a dynamically allocated IP, which may be reused by other machines as soon as you shut down your VM. |
Creating exports
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to create a new NFS export for one of your containers via DSSWeb GUI, navigate to your container overview page. And click on the green button After clicking the button you get redirected to NFS export creation window, the form takes the following arguments:
Upon clicking create, the NFS export creation is triggered and you get redirected back to the container overview page where you should see an entry in NFS export table. If the export is still creating you should see a spinner in the status column. Once the export is created there should be a green hook. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to create a new NFS export for one of your containers via DSSWeb, you can use the This command takes the following mandatory arguments:
Additionally, you can specify the following optional arguments:
In the following example, we are going to create a
|
Showing exports
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to display the NFS exports of a container user, please navigate to the Container Detail site. On this detail page, you'll find the NFS Exports section: |
Erweitern | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Using the CLIIn order to get an overview about all NFS exports of containers of your project via DSSWeb, you can use the In the following examples, we will examine NFS exports for the example project
In order to view the details of a specific NFS export, you can use the
|
Updating export
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to update an existing NFS export for one of your container via DSSWeb GUI to container overview page. Look for the NFS export table and click on the orange button in the In the following table are five NFS exports. Four of them are part of a container config ( NFS exports managed by you are editable. By clicking edit you are redirected to NFS export update view where you can change:
When you made your changes hit |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to update an existing NFS export for one of your containers via DSSWeb, you can use the This command takes the following mandatory arguments:
Additionally, you must specify at least one the following optional arguments:
In the following example, we are going to update NFS export ID 47 and set it to
|
Deleting exports
Erweitern | ||
---|---|---|
| ||
Using the GUIIn order to delete an existing NFS export navigate to your container overview page. And select an export in the NFS export table by clicking on the read delete button. You can only delete NFS exports manually which are not part of a container config. Upon clicking the read delete button you will see a confirmation dialog to reassure deletion is wanted. Click Once the deletion process is finished, the entry is cleared from the table. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
| |||||||
Using the CLIIn order to delete an existing NFS export, use the This command takes the NFS export ID to delete as mandatory argument. In the following example, we will delete NFS export ID 47.
|
NFS helper functions
As NFS relies on the fact, that all users have the same UID and GID on all attached systems, you have to make sure that you fulfil this requirement also on hosts, which are not subscribed to the LRZ LDAP directory system (like VMs on the LRZ HPC Cloud for example). In order to help you with this, we provide two helper functions via the CLI, that generate /etc/passwd
and /etc/group
stub entries for you for all invited users of a container. You can use this entries to paste it into the respective files on your hosts, that mount a DSS container via NFS.
In order to get stub entries for /etc/passwd
for all invited users of the projects, you are data curator of, you can use the dss passwd list
function. The function take a projectname
and containername
as optional arguments that allow you to filter only the entries of a particular project or container.
Codeblock | ||||
---|---|---|---|---|
| ||||
(dsscli) dss passwd list --containername pr74qo-dss-0000 pr74qo a2822xx:x:88888:2222::/home/a2822xx: a2822yy:x:99999:2222::/home/a2822yy: |
Here the UID of the user a2822xx is 88888. Thus the user account of the VM trying to mount the DSS Container has to be named a2822xx as well and having the UID 88888.
In addition, you can use the dss group list
function to generate stub entries for /etc/groups. However, this is not really necessary for correct functioning of the DSS NFS mount but has mainly cosmetic reasons so that the GIDs on the NFS client resolve correctly. As with the dss passwd list command, you can use the optional arguments projectname
and containername
to filter the group entries.
Codeblock | ||||
---|---|---|---|---|
| ||||
(dsscli) dss group list --containername pr74qo-dss-0000 pr74qo dssusers:x:2222: pr74qo-dss-0000-ro:x:777098166: pr74qo-dss-0000:x:777098167: |
Here the GUID is shown. If the export has been read only, the GUID is 777098166, if it has been a read write export the GUID would be 777098167. The user of the VM has to match this GUID to gain the intendet rights and the above mentioned UID and name to gain successful access to the DSS Container mounted in the VM.
Managing DSS Container Configs
Container Configs can be used to manage a predefined set of container users and NFS exports per container. After a config is applied successfully to a container its users are invited and NFS exports are enabled.
Showing Configs
Erweitern |
---|
Using the GUITo list available container configs navigate to your container's overview page. At the bottom of the page you find a section To see a list of active container configs navigate back to the container's overview page and view the NFS exports managed by the config are listed in the The same applies to container users. Every container user managed by the config is listed in the Container User section. It is not possible to update or delete those users manually |
Erweitern | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Using the CLITo list available container configs use the command
To get a list of all your containers with an active config use the
Or to show a particular config use the
|
Applying Configs
Erweitern |
---|
Using the GUITo add configs to your container navigate to a container's overview page. At the bottom of the page you find a section You will be redirected to the container's overview page where you can view the status of the newly created config. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
Using the CLITo add a config to your container use the You have to specify a container by name and a config by name through the
|
Deleting Configs
Erweitern |
---|
Using the GUITo delete an active config navigate to the bottom of a container's overview page. And click on the red button with a trash can icon. |
Erweitern | |||||||
---|---|---|---|---|---|---|---|
Using the CLITo delete an active config use the
|
Hints and possible pitfalls
Known Limitations
Do's and Dont's
...