-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation on using Globus for accessing NESE storage in production #268
Merged
Merged
Changes from all commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
01419c7
Globus download instruction; work in progress. #260
landreev 0825d05
Clarified some sentences #260
landreev 3b28467
cosmetic #260
landreev f16d6a9
cosmetic #260
landreev d920dbc
cosmetic #260
landreev 6dbd4bc
Adding upload instruction #260
landreev 2a9f08a
minor correction #260
landreev 38a041d
upload/download buttons #260
landreev e7c9d9c
cosmetic #260
landreev 5a3a9bc
cosmetic #260
landreev d6214c6
more cosmetic changes still #260
landreev d706ea1
cosmetic #260
landreev 3734beb
cosmetic #260
landreev 095d742
cosmetic #260
landreev afdc2d9
cosmetic #260
landreev c693903
cosmetic #260
landreev e39b66e
typos #260
landreev e845397
fixed link #260
landreev a95ac2e
fixed link #260
landreev 8939c28
typos #260
landreev 2161dc2
cosmetic #260
landreev a3ed6e9
cosmetic #260
landreev f13cebb
nitpicking #260
landreev 4bd84f2
added a readme #260
landreev 96e5427
typo #260
landreev b95cb7c
credit for the borealis app #260
landreev 58bc152
typos #260
landreev 2abd0f2
Update doc/globus/README.md
landreev cb55e1f
Update doc/globus/download.md
landreev 260916b
Update doc/globus/download.md
landreev 9a78563
Update doc/globus/download.md
landreev 88f95cc
Update doc/globus/download.md
landreev 4381de6
Update doc/globus/download.md
landreev d6777ef
Update doc/globus/upload.md
landreev ecc3f5f
Update doc/globus/upload.md
landreev 87c81a4
Update doc/globus/upload.md
landreev 6298929
Update doc/globus/upload.md
landreev ef1abf9
Update doc/globus/upload.md
landreev 635e9e7
new gdcc url for the github repo, some rephrasing per feedback. #260
landreev 14c50de
Update doc/globus/download.md
landreev aa6c7f8
Update doc/globus/download.md
landreev 589165a
Update doc/globus/download.md
landreev b8e483d
Update doc/globus/download.md
landreev 89b006c
Rephrasing the dataverse-globus section per feedback #260
landreev ecbdb9a
Merge branch '260-globus-nese-documentation' of https://github.com/IQ…
landreev 23c9f60
Update doc/globus/upload.md
landreev 23ad67d
Update doc/globus/upload.md
landreev 9f1ffe4
Update doc/globus/upload.md
landreev 1aad51c
Update doc/globus/upload.md
landreev 74d22db
this line was lost in a merge earlier, I think (?) #260
landreev 179917b
Merge branch '260-globus-nese-documentation' of https://github.com/IQ…
landreev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Globus at Harvard Dataverse | ||
=========================== | ||
|
||
This is an attempt to quickly put together some documentation/end-user instructions on how to use Globus for transfers to and from Globus-based store(s) here at HDV. | ||
|
||
The two guides, for [downloads](download.md) and [uploads](upload.md) are very Harvard-specific (hence this repo), but some of it may still be of interest to other Dataverse instances considering integrating Globus. | ||
|
||
Please keep in mind the experimental nature, both of these documents (which are still in review as of writing this) and the Globus support in Dataverse overall. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# Downloading data via Globus at Harvard Dataverse Archive. | ||
|
||
## 1. Summary/Introduction | ||
|
||
This is a new and experimental service offered by Harvard Dataverse in collaboration with [Mass. Open Cloud](https://massopen.cloud/) (MOC) and [Northeast Storage Exchange](https://nese.mghpcc.org/) (NESE) for researchers looking to deposit large amounts (TBs) of data (aka "Big Data"). It combines the curation, publishing and access control capabilities of Dataverse with the existing Big Data storage infrastructure at NESE. | ||
|
||
The most important distinctive feature of this service is that the data are accessible via the [Globus Data Transfer](https://www.globus.org/data-transfer) interface only. Globus makes TB-sized downloads practical. It offers a wide range of advanced features, handling interruptions and restarts transparently in the background (among other things). But it also makes the download process more complex, compared to the traditional download methods, via the web interface or the API, that Dataverse offers on "normal" data files that it stores locally. (In other words, the process involves more steps than simply clicking on a download link in the browser and having the file saved on your computer). | ||
|
||
The files are physically stored at the NESE facility (on tape or disk volumes there). Dataverse merely facilitates access to these storage "end points" for users' Globus clients. Neither downloads or uploads are streamed through Dataverse, but are carried out directly between the Globus end points. | ||
|
||
## 2. Identifying Globus-stored Data Files in Dataverse | ||
|
||
Globus-accessible Datafiles are identified on Dataset pages by an extra blue label with the name of the specific Globus storage volume. In the following example the two files are shown to be stored on tape at NESE: | ||
|
||
 | ||
|
||
In the _File Access_ menu, an extra round, blue _Globus Transfer_ icon indicates that instead of a traditional browser download, a Globus-specific workflow will be initiated: | ||
|
||
 | ||
|
||
## 3. Globus pre-requisites: | ||
|
||
### a. Globus Account is Required | ||
|
||
You may already be able to log in as a Globus user using your school or institution's federated login. Visit [www.globus.org](https://www.globus.org) and click "Login" at the top of the page, then check the list of participating authentication providers. If an institutional login is not an option, you can create a Globus Id at [globusid.org](https://www.globusid.org). For more information please see [How To Log In and Transfer Files with Globus ](https://docs.globus.org/guides/tutorials/manage-files/transfer-files/). | ||
|
||
### b. Globus Connect Personal | ||
|
||
[Globus Connect Personal](https://www.globus.org/globus-connect-personal) is a free client offered by Globus. Linux, Mac and Windows versions are available. | ||
|
||
Once Globus Connect Personal is installed, you will be asked to log in using your Globus account. The Globus protocol is based around the idea of transferring data between _collections_. Connect Personal will create a Globus Collection on your computer that can be used as the destination end point for data transfers. Note that it is also possible to transfer data to collections other than the one on your laptop - you may, for example, facilitate a transfer to an end point hosted by your school where you have write access. But for the purposes of this instruction, we are working on the assumption that you are downloading the data to your own computer. | ||
|
||
Verify that your new collection is properly set up by clicking the "Web: Collection Details" in the menu (MacOS version shown): | ||
|
||
 | ||
|
||
This should take you to the Globus Web App page, confirming that your personal collection is now part of the Globus federation: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. User McUser. I love it. 😄 |
||
|
||
 | ||
|
||
Since you will be transferring data into your collection, make sure that "Write Access" is checked in the _Access_ panel under _Preferences_. Keep the "Shareable" box unchecked, unless you actually have a need to make your personal collection accessible to other Globus users. | ||
|
||
Your Personal Collection will be limited initially to your home directory, but any other directory or volume local to your system can be added in the same _Access_ panel. For example, if you don't have enough disk space on your laptop to download all the data needed, an external hard drive can be added to the collection. | ||
|
||
## 4. dataverse-globus App by Borealis/GDCC. | ||
|
||
The download process relies on an extra software component, [dataverse-globus](https://github.com/gdcc/dataverse-globus), a web tool that serves as an interface between Dataverse and Globus. It was originally developed by Victoria Lubitch at Borealis (formerly Scholars Portal), the Canadian Dataverse Repository project. Clicking on the Globus Transfer icon in the _File Access_ menu in the Dataverse UI will redirect you to the dataverse-globus app in a new tab. | ||
|
||
landreev marked this conversation as resolved.
Show resolved
Hide resolved
|
||
 | ||
|
||
 | ||
|
||
The dataverse-globus app will in turn redirect you to a Globus login page (make sure you are using the same Globus account that your instance of Globus Connect Personal is configured with!): | ||
|
||
 | ||
|
||
The dataverse-globus app will inform you if Globus Connect isn't installed or properly configured on your local system: | ||
|
||
 | ||
|
||
Otherwise the app will present the view with two panels, source and destination, with the file you selected on the left and your personal collection on the right: | ||
|
||
 | ||
|
||
## 5. Initiating a Globus Download from Dataverse | ||
|
||
Check the box next to the file you are downloading: | ||
|
||
 | ||
|
||
then click _Submit Transfer_ at the bottom of the page: | ||
|
||
 | ||
|
||
You should see the "Transfer Initiated" message. You can safely close the dataverse-globus app at this point, since its job is done. The transfer is now happening between the two Globus endpoints directly (your instance of Globus Connect Personal needs to be running for the duration of the proces). | ||
|
||
With long-running downloads of large files, the [Activity](https://app.globus.org/activity) tab of the Globus Web App can be used to monitor the progress of the transfers. | ||
|
||
Please keep in mind the experimental and _work in progress_ nature of both the Globus integration support in Dataverse and the dataverse-globus app. Please report to us any problems you may encounter in the process. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Uploading Data via Globus at Harvard Dataverse Archive. | ||
|
||
## 1. Summary/Introduction | ||
|
||
This is a new and experimental service offered by Harvard Dataverse in collaboration with [Mass. Open Cloud](https://massopen.cloud/) (MOC) and [Northeast Storage Exchange](https://nese.mghpcc.org/) (NESE) for researchers looking to deposit large amounts (TBs) of data (aka "Big Data"). It combines the curation, publishing and access control capabilities of Dataverse with the existing Big Data storage infrastructure at NESE. | ||
|
||
The most important distinctive feature of this service is that the data are accessible via the [Globus Data Transfer](https://www.globus.org/data-transfer) interface only. Globus makes TB-sized transfers, uploads and downloads, practical. It offers a wide range of advanced features, handling interruptions and restarts transparently in the background (among other things). It also makes the upload workflow more complex, compared to the methods traditionally offered in Dataverse, via the web interface or the API. (In other words, the process involves more steps than simply clicking on the upload link in the browser and picking a file on your drive). | ||
|
||
Once deposited, the data files are physically stored at the NESE facility (on tape or disk volumes there). Dataverse merely facilitates access to these storage "end points" for users' Globus clients. Neither uploads nor downloads are streamed through Dataverse, but are carried out directly between the Globus end points. | ||
|
||
Please see the [Dataverse Globus Download](download.md) guide for an overview of the download workflow as seen by the end users who will be accessing your NESE-stored data via Globus. | ||
|
||
If you are already familiar with Globus, the data upload workflow should be largely intuitive (some familiarity with the basic functionality of Dataverse would also help, of course). The instructions below are written with a user in mind who may have never used Globus before. | ||
|
||
## 2. Globus pre-requisites: | ||
|
||
### a. Globus Account is Required | ||
|
||
You may already be able to log in as a Globus user using your school or institution's federated login. Visit [www.globus.org](https://www.globus.org) and click "Login" at the top of the page, then check the list of participating authentication providers. If an institutional login is not an option, you can create a _Globus Id_ at [globusid.org](https://www.globusid.org). For more information please see [How To Log In and Transfer Files with Globus](https://docs.globus.org/guides/tutorials/manage-files/transfer-files/). | ||
|
||
### b. Source Data as a Globus Collection | ||
|
||
Globus protocol is based around the idea of transferring data between _collections_. So, in order to be able to transfer your data to the _destination collection_, the storage volume at the NESE data center, it needs to be accessible as part of a _source collection_ under Globus. A relatively simple and free solution is available for uploading local files from your computer (described in the next section). | ||
|
||
It is however possible that the data you are depositing is already accessible under Globus elsewhere. A real life example would be a collection of research data stored in an S3 bucket to which your University provides a Globus interface front via [AWS S3 Connector](https://docs.globus.org/premium-storage-connectors/v5.4/aws-s3/). Under this scenario Dataverse will be able to initiate a direct transfer between the two end points, provided your Globus account has read access to the source data. Globus offers [connectors](https://docs.globus.org/premium-storage-connectors/v5.4/) to various other types of shared mass storage (Ceph, Google Cloud Storage, Azur Blob Storage and more) but the licenses are somewhat expensive, even for academic institutions. If this is your use case (source data already readable within the Globus framework), you can skip the next section and go directly to part 3. | ||
|
||
### c. Globus Connect Personal | ||
|
||
[Globus Connect Personal](https://www.globus.org/globus-connect-personal) is a free client offered by Globus. Linux, Mac and Windows versions are available. Once installed on your computer, Globus Connect Personal will make your local files visible to the Globus network as a collection that can be used as the data transfer source. It will be limited initially to your home directory, but any other directory or volume local to your system can be added. "Local" in this context means files directly stored on your laptop, but also any external hard drives or any remote volumes (NFS, etc.) mounted over the network. | ||
|
||
When you start Connect Personal, you will be asked to log in using your Globus account. Verify that your new collection is properly set up by clicking the "Web: Collection Details" in the menu (MacOS version shown): | ||
|
||
 | ||
|
||
This should take you to the Globus Web App page, confirming that your personal collection is now part of the Globus federation: | ||
|
||
 | ||
|
||
If necessary, add any extra folders containing the data you are depositing to the collection in the _Access_ panel under _Preferences_. Since you are transferring data _from_ your collection, it is safe to leave the "Write Access" box unchecked. The "Shareable" box does not need to be checked either, unless you actually need to make your personal collection accessible to other Globus users. | ||
|
||
## 3. dataverse-globus App by Borealis/GDCC | ||
|
||
The upload process relies on an extra software component, [dataverse-globus](https://github.com/gdcc/dataverse-globus), a web tool that serves as an interface between Dataverse and Globus. It was originally developed by Victoria Lubitch at Borealis (formerly Scholars Portal), the Canadian Dataverse Repository project. Clicking the "Upload with Globus" on the _Upload Files_ page in the Dataverse UI will redirect you to the dataverse-globus app in a new tab: | ||
|
||
 | ||
|
||
(If you are not seeing the "Upload with Globus" button above on the uploads page, that likely means that your Dataverse Collection has not yet been configured to use NESE storage - please contact support to have that straightened out) | ||
|
||
The dataverse-globus app will in turn redirect you to a Globus login page (make sure to use an account that has read access to your source collection, in case you have more than one): | ||
|
||
 | ||
|
||
The dataverse-globus app will inform you if Globus Connect isn't installed or properly configured on your local system, giving you an option to select a different Globus collection: | ||
|
||
 | ||
|
||
Otherwise the app will show two panels, source on the left, and the destination on the right: | ||
|
||
 | ||
|
||
## 4. Initiating Globus Upload | ||
|
||
Navigate to the file you want to upload in the left panel and check the box next to it. It should now appear on the right, in the _destination_ panel: | ||
|
||
 | ||
|
||
then click _Submit Transfer_ at the bottom of the page: | ||
|
||
 | ||
|
||
You should see the "Transfer Initiated" message. You can safely close the dataverse-globus app at this point, since its job is done. The transfer is now happening between the two Globus endpoints directly (your instance of Globus Connect Personal needs to be running for the duration of the process; the process can be safely interrupted however - the transfer will restart automatically once the collection is up and running again). The Dataset will remain locked while the transfer is in progress. | ||
|
||
You can use the [Activity](https://app.globus.org/activity) tab of the Globus Web App to monitor the progress. | ||
|
||
Please keep in mind the experimental and _work in progress_ nature of both the Globus integration support in Dataverse and the dataverse-globus app. Please report to us any problems you may encounter in the process. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the comma is needed. It should read ", but these actions are carried..." Just my 2 cents or two pennies :)
Comma Rule:
You must put a comma before “but” when it connects two independent clauses. An independent clause can function as a standalone sentence (i.e., it has a subject and a verb).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I like ", but these actions are carried...".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, comma stays then.