galaxy icon indicating copy to clipboard operation
galaxy copied to clipboard

Add onedata objectstore

Open bwalkowi opened this issue 1 year ago • 8 comments

Object store plugin for Onedata distributed data management system (https://onedata.org/). Requires Onedata version >= 21.02.5.

How to test the changes?

(Select all options that apply)

  • [x] I've included appropriate automated tests.

  • [ ] This is a refactoring of components with existing test coverage.

  • [x] Instructions for manual testing are as follows:

    1. Add the onedatafilerestclient package to the currently used requirements (can be found in conditional-requirements.txt).

    2. Create object_store_conf.xml file in the config dir, copying the part concerning Onedata from object_store_conf.xml.sample. Fill in the config (access_token, onezone_domain, space, disable_tls_certificate_validation - you may want True - see below).

      You will need an account in a Onedata system instance, however, version 21.02.5 is not officially released yet. The best way to test is to use the "demo mode", which allows easily setting up a dockerized Onedata environment: https://onedata.org/#/home/documentation/topic/stable/demo-mode

    3. Create galaxy.yml file in the config dir with the following content:

    galaxy:
      object_store_config_file: object_store_conf.xml
    
    1. Start the galaxy server, log in.

    2. Upload some data and run some jobs. Open the Onedata UI and navigate to your space to see the stored Galaxy datasets.

License

  • [x] I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

bwalkowi avatar Feb 23 '24 14:02 bwalkowi

This looks pretty cool, anything we can do to help ?

mvdbeek avatar Feb 27 '24 16:02 mvdbeek

Hello, sorry, I accidentally opened it too early. Although this is a working prototype, we are still working on improvements. In a few days, when the final version is ready, I will reopen the pr.

bwalkowi avatar Feb 27 '24 19:02 bwalkowi

@mvdbeek it's finally ready - I'm reopening the pr.

bwalkowi avatar Mar 04 '24 18:03 bwalkowi

I specified the Onedata object store dependencies as optional so that they would not be installed by default and that is why the automated tests failed. Is there a specific requirements.txt file used during testing that I can add them to?

bwalkowi avatar Mar 06 '24 09:03 bwalkowi

@bwalkowi can you please fix the linting errors and update with the main branch. Thanks!

bgruening avatar Apr 27 '24 16:04 bgruening

@bgruening done!

bwalkowi avatar May 06 '24 04:05 bwalkowi

The integration test failures look legitimate.

ObjectStore configured to use Onedata, but no OnedataFileRESTClient dependency available. Please install and properly configure Onedata or modify Object Store configuration.

The conditional dependency handling looks right though - I don't know immediately what to do.

jmchilton avatar May 09 '24 15:05 jmchilton

Conditional dependencies that we're actually testing need to be added to https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/dependencies/dev-requirements.txt and https://github.com/galaxyproject/galaxy/blob/dev/pyproject.toml#L129

mvdbeek avatar May 09 '24 15:05 mvdbeek

nice. It seems everything but code scanning is green. Do you have any recommendations regarding Clear-text logging of sensitive information ? I do not think what is logged is that sensitive and it seems some other files have similar problems.

bwalkowi avatar May 10 '24 09:05 bwalkowi

You haven't touched these, so no need to change that here.

mvdbeek avatar May 13 '24 07:05 mvdbeek

This PR was merged without a "kind/" label, please correct.

github-actions[bot] avatar May 19 '24 20:05 github-actions[bot]

I made a bunch of changes to this with the PR #18174 . By using a new superclass for caching object stores there was a lot less duplication with other object stores and you should have gotten the bug fixes we put into #18117. We merged that PR but I would re-run through it with your setup and let us know if anything broke and send patches. Thanks so much for the contribution!

jmchilton avatar May 20 '24 16:05 jmchilton

nice! sure thing, I will test it and try to send eventual patches within a week.

bwalkowi avatar May 21 '24 14:05 bwalkowi