Skip to content
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

Use fs.onedatarestfs for Onedata files source plugin implementation #16690

Merged
merged 4 commits into from
Sep 29, 2023

Conversation

lopiola
Copy link
Contributor

@lopiola lopiola commented Sep 14, 2023

The fs.onedatarestfs depends on a simple REST-based client for the Onedata system. The fs.onedatafs that was in the codebase until now was not a viable option - it could not be easily installed using pip due to the giant amount of dependent libraries, many of which were in C/C++.

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.

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

  • Instructions for manual testing are as follows:

    1. Add the fs.onedatarestfs package to currently used requirements (can be found in conditional-requirements.txt).
    2. Create file_sources_conf.yml file in the config dir, copy the part concerning onedata from file_sources_conf.yml.sample.
    3. Create user_preferences_extra_conf.yml file in the config dir, copy the part concerning onedata from user_preferences_extra_conf.yml.sample.
    4. Create galaxy.yml file in the config dir with the following content
    galaxy:
      file_sources_config_file: file_sources_conf.yml
      user_preferences_extra_conf_path: user_preferences_extra_conf.yml
    
    1. Start the galaxy server, log in.
    2. You will need an account in a Onedata system instance. I'll be happy to provide you with a test account if that's desired. Then, it's enough to place the Onezone domain and your access token in the Galaxy's User Information panel and you are good to go.

There are no automated tests, as I believe specific file source plugins are not automatically tested.

License

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

The fs.onedatarestfs depends on a simple REST-based client for the Onedata system. The fs.onedatafs that was in the codebase until now was not a viable option - it could not be easily installed using pip due to giant amount of dependent libraries, many of which in C/C++.
Copy link
Member

@nuwang nuwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating the package and making this PR. Should greatly ease the pain of setting things up.

lib/galaxy/files/sources/onedata.py Outdated Show resolved Hide resolved
lib/galaxy/files/sources/onedata.py Outdated Show resolved Hide resolved
lib/galaxy/config/sample/file_sources_conf.yml.sample Outdated Show resolved Hide resolved
@nsoranzo
Copy link
Member

nsoranzo commented Sep 14, 2023

Can you please also change the ConditionalDependencies.check_fs_onedatafs method name to fs_onedatarestfs in lib/galaxy/dependencies/__init__.py ?
This will allow the automatic installation of the conditional Python dependency.

Copy link
Member

@nuwang nuwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@bgruening
Copy link
Member

Thanks @lopiola!

@bgruening bgruening merged commit d7cc3e8 into galaxyproject:dev Sep 29, 2023
@github-actions
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants