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.
This should fix #5203 by adding a flag and environment variable for doing
s3://
URL accesses anonymously.I implemented the ability for job stores to provide command-line options to make this work. (Though with my later refactoring maybe I really need to move that to URL scheme implementations???)
To do this I needed to give URL accesses access to the Toil config, so I refactored them out of the AbstractJobStore. I also moved the implementations out of the AbstractJobStore and to their own interface (though the job store implementations still implement the various URL schemes by also implementing that interface).
I also had to adjust the CWL runner to prepare the RuntimeContext carefully for pickling, since now it needs a URL accessing widget, which might be the
Toil
object or the whole JobStore and shouldn't be moved from machine to machine. Now that's wrapped in a couple of functions that handle setting and clearing all the file access hooks, but to avoid thinking about different levels of context set-up-ness now every CWL job that uses a RuntimeContext sets up and tears down the while file streaming thread system. That code could probably be consolidated.And I needed access to the config early on in the CWL runner to use it to access URLs, so I changed how the
Toil
object sets up the config so you can get it after construction and don't need to go into the context manager.Changelog Entry
To be copied to the draft changelog by merger:
--awsAnonymousUrlAccess
/TOIL_AWS_ANONYMOUS_URL_ACCESS
to allow accessing public data in S3 without logging in with an account that might need MFA or not grant access to it through IAM.Reviewer Checklist
issues/XXXX-fix-the-thing
in the Toil repo, or from an external repo.camelCase
that want to be insnake_case
.docs/running/{cliOptions,cwl,wdl}.rst
Merger Checklist