-
Notifications
You must be signed in to change notification settings - Fork 27
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
Add S3 backend to Pelican #419
Conversation
This seems like the correct approach to me, but I'm assuming @bbockelm will have more comments. |
983d0b7
to
8abbfc1
Compare
Need these in dev.Dockerfile for the tests to work.
Tests are currently failing because the test CI doesn't pull in the updates I've made to the dev container we use to run tests. Those updates are reflected in PR #450. I will re-run once that's merged, built, and released. |
…-docker Add test dependencies to dev.Dockerfile for PR #419
112e7ab
to
d83be05
Compare
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.
Can you address the merge conflicts
…oints This is the first step in giving Pelican the ability to use an S3 backend. For now, it only covers unauthenticated buckets. Importantly, this doesn't do anything to actually make the plugin available to xrootd unless its installed by hand. That will come in a later commit. Add plugin to containers Right now, the RPM for the S3/HTTP plugin isn't functional, and we don't have that repo's GH set up to publish anything automatically. Until those can be sorted out, we'll clone from source to install. Concurrent to this commit, I'm opening a few issues at the plugin repo to handle getting the various GHA set up to take care of this.
This adds a supervisor script for serving origins, as well as updates some of the dependencies needed to install the s3/http plugin and get an origin running with all of its other plugins.
This adds what we need to set an access/secret key for the S3 plugin. HOWEVER, upon trying to test this locally with MinIO, I found some bugs in the actual plugin that prevent authenticated buckets from working in the first place. That being said, that's a problem with the plugin and not with Pelican. All Pelican needs to do is to run xrootd with the right `s3` directives, and that appears to be the case with these changes.
This adds a very basic test for the S3 origin -- basically it only checks that we can start an xrootd S3 server with the provided configuration. The reason for this punt on the E2E testing is that I'm waiting for things like `originServe` to be unwrapped from the cobra cli, because otherwise there's an awful lot of setup to do. Since I don't actually test a file download, there's technically no need to set up the MinIO server in the test, but that's there and ready when those other pieces are figured out. The last bit is that for these tests to run, the minio server needs to be installed. With changes to `dev.Dockerfile`, the tests should be runnable.
fa598eb
to
4f9cdad
Compare
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.
Small test changes and other questions.
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.
LGTM!
No description provided.