-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Implement ASF S3 operations in provider #6859
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
Conversation
48c0fd1
to
ee1a589
Compare
02b8398
to
ee1a589
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.
Nice! There's already quite some progress on the migration! 🥳
I just added some comments, mostly about things we should implement / fix generally. :)
However, you could also address these things in the next iteration if you would prefer continuing with the current state. :)
67 tests failing on docker-test-arm64 now. Going to rebase on master to see if I need to change some tests. |
ebb7aba
to
a7ee039
Compare
a7ee039
to
7eccd5d
Compare
…be needed after rebase on master)
7eccd5d
to
ea4ae60
Compare
Tests were green before, rebased #6827 on latest master to see Terraform changes, then rebased here as well. Hopefully we can merge tomorrow! |
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.
Thanks for addressing the comments! I'm really excited to see the ASF migration of S3 taking shape! 🚀
Concerning the failing Terraform tests: Please just deactivate all tests for the route53resolver for now which are failing. These tests are flaky and just cause issues, we need to make sure that we only have stable tests in the allowlist (tests/terraform/terraform-tests.yaml
).
(see #6855).
…n_/-basic/-disappears
This PR starts the implementation of S3 actions. Simple behaviour is implemented first, reducing the number of test failure. Additional behaviour will be added later in those actions implementation, for example S3 notifications.
All these actions are based on Moto and no additional logic is involved, except adding/fixing some fields.
Patching of the specs was very needed and will continued to be.
This also introduces the
S3Store
for the provider, but it doesn't have a use case yet (will surely have importance with notifications).Actions implemented:
This also add patching of moto for some actions: some headers were returned lower-cased (
"last-modified"
) when their location in the specs was"Last-Modified"
. I fixed what they return in Moto, but no sure if this should be handled in the parser.This PR is based on #6827 for testing against ASF provider, and will be rebased on master for a test run before being merged.
Once rebased on master, I will regenerate the specs without the docs to match the auto generated ones.(Already done because of merge conflict)For an easier review, those files should be ignored and are part of #6827:
.github/workflows/terraform-tests.yml
localstack/config.py
localstack/aws/protocol/service_router.py
Local tests results for the
TestS3
class:I will mark with conditions in the next PR some
skip_snapshot_verify
paths that are already parts of the new provider and not the legacy one.Edit: thanks to Alex commit,
there's one less xfail test, but it will be counted once we introduce condition for tests.