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

Update documentation for S3 Express One Zone #667

Merged
merged 4 commits into from
Dec 7, 2023

Conversation

monthonk
Copy link
Contributor

@monthonk monthonk commented Dec 5, 2023

Description of change

Update the configuration and semantics documents to address differences on using Mountpoint with S3 Express One Zone buckets.

Relevant issues: #651

Does this change impact existing behavior?

No, only document updates.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

@monthonk monthonk temporarily deployed to PR integration tests December 5, 2023 13:49 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 5, 2023 13:49 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 5, 2023 13:49 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 5, 2023 13:49 — with GitHub Actions Inactive
Comment on lines 193 to 195
> [!IMPORTANT]
> Do not set the storage class to `EXPRESS_ONEZONE` as it is a distinct storage class and cannot be set for general purpose
buckets. If you want to use S3 Express One Zone storage class, just specify a directory bucket name when mounting.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this something that could be enforced by code instead of relying on this documentation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This value is still valid for directory buckets, but it's the same as not setting storage class at all. So, maybe we can just don't allow people to set --storage-class to EXPRESS_ONEZONE.

Copy link
Contributor Author

@monthonk monthonk Dec 5, 2023

Choose a reason for hiding this comment

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

Actually, users also cannot set storage class other than EXPRESS_ONEZONE for directory buckets. I think the right time to do the validation is after we have resolved the endpoint and know whether this is a directory bucket or not.

Let's do that in a separate PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

FWIW, I'd caution against setting limits like this that would normally be enforced service-side in S3 but could feasibly be relaxed in the future. In adding this restriction to the client, users are forced to upgrade version to adopt new features (like a new storage class for directory buckets).

Maybe forcing updates has its upsides from maintainers' point of view, but I'd lean against it for now. 😄

Copy link
Contributor

Choose a reason for hiding this comment

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

What's important is that the user gets clear feedback into what went wrong. If the wrong storage class is set, is the error clear in the Mountpoint logs? Of course we're always limited by the error responses we can send via filesystem APIs.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently, users will get InvalidStorageClass in the logs. But, they only get it on the first write which could be pretty late. I think at least we should do the validation on mount and output a warning message so that they could check their storage class configuration.

@dannycjones dannycjones changed the title Update documents for S3 Express One Zone Update documentation for S3 Express One Zone Dec 6, 2023
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 10:46 — with GitHub Actions Inactive
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 10:46 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 10:46 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 10:46 — with GitHub Actions Failure
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 10:46 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 10:46 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 10:46 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:21 — with GitHub Actions Inactive
Copy link
Contributor

@dannycjones dannycjones left a comment

Choose a reason for hiding this comment

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

Thanks Monthon, just a bit more feedback. Most is inline.

On storage classes, can we update the main body to be a bit clearer on default behavior. Mountpoint doesn't specify a storage class and respects the default from S3 - which is STANDARD for general purpose buckets or EXPRESS_ONEZONE for directory buckets.

- By default, Mountpoint uses the S3 Standard storage class, which is appropriate for a wide variety of use cases.
+ Mountpoint respects the default storage class from S3 unless otherwise configured, which is appropriate for a wide variety of use cases.

doc/CONFIGURATION.md Outdated Show resolved Hide resolved
doc/CONFIGURATION.md Show resolved Hide resolved
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests December 7, 2023 11:55 — with GitHub Actions Failure
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 11:59 — with GitHub Actions Inactive
Copy link
Contributor

@dannycjones dannycjones left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @monthonk.

monthonk and others added 4 commits December 7, 2023 12:19
Signed-off-by: Monthon Klongklaew <[email protected]>
Co-authored-by: Daniel Carl Jones <[email protected]>
Signed-off-by: Monthon Klongklaew <[email protected]>
Signed-off-by: Monthon Klongklaew <[email protected]>
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests December 7, 2023 12:21 — with GitHub Actions Inactive
@monthonk monthonk enabled auto-merge December 7, 2023 12:23
@monthonk monthonk added this pull request to the merge queue Dec 7, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 7, 2023
@monthonk monthonk added this pull request to the merge queue Dec 7, 2023
@dannycjones dannycjones linked an issue Dec 7, 2023 that may be closed by this pull request
Merged via the queue into awslabs:main with commit a8c2967 Dec 7, 2023
24 checks passed
@monthonk monthonk deleted the s3express-doc branch December 7, 2023 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

S3 Express One Zone documentation updates
3 participants