-
-
Notifications
You must be signed in to change notification settings - Fork 644
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
Experimental github actions cache cannot communicate with enterprise github server using AWS S3 as backing storage #21764
Comments
pants.ci.toml
|
Thanks for filing an issue. It looks like apache/opendal#3985 is a fix for S3-backed GHAC, but that only landed in opendal 0.44.2. Pants currently uses 0.41.0. So, maybe a fix here is to update the version of OpenDAL. @DLukeNelson, would you like to contribute that fix? |
I'd love to! I'll open up a PR right away |
@huonw Unfortunately, our above changes were not enough. The new error I'm seeing in CI is like this:
any thoughts? |
Hm, that error message looks like it comes from the Maybe this is a bug in OpenDAL and its usage of Reqwest? |
I did find this: apache/opendal#5205 Pants' |
Hi, pants is using opendal But opendal 0.45.1 is relaying on reqwest 0.11 instead of 0.12: https://crates.io/crates/opendal/0.45.1/dependencies So specify To get this fixed, we should either:
|
I'm unsure if pants may be relying on reqwest for any other reason, so its probably best to upgrade opendal to latest. (The earlier PR in this thread attempted this, but ran into some trouble with breaking changes, so I cut the scope and only upgraded to 0.45.1) Since we now know that this is insufficient, we ought to fully upgrade. @huonw do you agree? |
Thanks for the analysis @Xuanwo, very helpful! (And thanks for maintaining OpenDAL!) I've posted #21835 with the full upgrade, let's see what CI thinks of it!
As a bit of feedback from your users, we initially tried this in #21779, but found it was quite difficult due to breaking changes with non-obvious resolutions (e.g. not mentioned or explained in the changelog). For instance, I ended up having to do a full |
Hi, @huonw, sorry about that. I tried my best to split the changes across several versions and implement them gradually, but it becomes frustrating when multiple breaking changes appear simultaneously. We’ve maintained an upgrade guide for each version, which I believe will be helpful: https://docs.rs/opendal/latest/opendal/docs/upgrade/index.html. I’m more than happy to help address the breaking changes introduced by OpenDAL. I expect that users who only use the public API (not touching the |
Ah cool, I had not seen that page, nor had I noticed there's more specific upgrade contents available in the GitHub releases: https://github.com/apache/opendal/releases Is it easy to have each section in the CHANGELOG file include a bit of text like
All good, I think I've resolved them in #21835. |
Sure, I'll ensure they're included in the changelog.
🚀 |
Describe the bug
My CI runs have a number of errors in the logs indicating:
The stats output indicates that there were some successful reads, but the test output indicates that all tests were run (not pulled from cache). Also,
remote_cache_total_time_saved_ms: 0
, so the cache seems to be not working, despite a few successes recorded in the stats.Pants version
2.22
OS
Linux
Additional info
Googling the error message led me to https://stackoverflow.com/questions/74293491/requests-specifying-server-side-encryption-with-aws-kms-managed-keys-require-aws which indicates that this could be solved (if the erroneous request originated in python/boto3) by just adding an explicit configuration line. I couldn't find as much info on Rust/openDAL, but I would expect the fix to be similar.
I did search into openDAL a bit, and found that it has a Ghac backend (which pants is using), and that this backend already makes some consideration for GHES backed by AWS S3, so it seems that the issue may be related to the particular configuration used by my org.
Searching openDAL source indicates that it has implemented
AWSV4Signer
(https://github.com/search?q=repo%3Aapache%2Fopendal+AWSV4Signer&type=code). It was not clear to me how to inject this signer into the GHAC backend.The text was updated successfully, but these errors were encountered: