Skip to content

Conversation

@jojochuang
Copy link
Contributor

What changes were proposed in this pull request?

HDDS-12727. [Docs] High level architecture of Ozone S3 Gateway.

Please describe your PR in detail:

  • A high level description of Ozone S3 Gateway server.
  • This is largely generated by ChatGPT Deep Research. Though I proof-read it.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-12727

How was this patch tested?

Doc only.

@jojochuang jojochuang requested a review from kerneltime March 28, 2025 22:05
@adoroszlai adoroszlai added the documentation Improvements or additions to documentation label Mar 29, 2025
@adoroszlai adoroszlai requested a review from errose28 March 29, 2025 06:13
@adoroszlai adoroszlai changed the title HDDS-12727. [Docs] High level architecture of Ozone S3 Gateway. HDDS-12727. Document high level architecture of S3 Gateway Apr 3, 2025
@adoroszlai
Copy link
Contributor

@kerneltime please review this

Comment on lines 49 to 52
Ozone separates metadata and data management:
- **Ozone Manager (OM):** Handles volumes, buckets, keys.
- **Storage Container Manager (SCM):** Manages DataNodes and allocates containers (storage units).
- **DataNodes:** Store the actual data chunks.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is redundant on this page in the broader context.


### Mapping S3 to Ozone Concepts

In Ozone, data is organized into **volumes**, **buckets**, and **keys**. By default, the S3 Gateway uses a special volume named `/s3v` to store all S3 buckets.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not entirely accurate as the volume name can be changed. Also, bucket linking needs to be discussed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note: bucket linking is mentioned in S3 Protocol page: https://ozone.apache.org/docs/edge/interface/s3.html


This simplifies scaling and failure recovery.

### Authentication and Security
Copy link
Contributor

Choose a reason for hiding this comment

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

This section needs to touch kerberos.

@kerneltime
Copy link
Contributor

Please include the LLM footer “Generated-by: ” as per ASF guidelines in the git commit. https://www.apache.org/legal/generative-tooling.html

Change-Id: I455848c2d5d2ee65cdce7456814cb4e5e8247973
Change-Id: I3055cf92f41eea2cf84e594ea338637b757d301b
- Relies on OM for final authorization

Supports Kerberos authentication for secure clusters; In unsecured mode, allows anonymous or dummy access.

Copy link
Member

Choose a reason for hiding this comment

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

Do we need to mention the limitation that ozone hasn't supported some s3 feature(including event notification, life cycle) yet?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The API support status is in this page: https://ozone.apache.org/docs/edge/interface/s3.html

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I had another draft to update the current API support, but couldn’t find it now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

#8735 is the PR for s3 api compat

@jojochuang jojochuang requested a review from peterxcli July 3, 2025 17:11
Copy link
Contributor

@chungen0126 chungen0126 left a comment

Choose a reason for hiding this comment

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

Thanks @jojochuang for the patch. Left some comments.

Change-Id: I608d90cb83fca17be0a6b9b279144514ba3249e4
@jojochuang jojochuang requested a review from chungen0126 July 4, 2025 10:12
Copy link
Contributor

@ivandika3 ivandika3 left a comment

Choose a reason for hiding this comment

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

Overall LGTM

Copy link
Contributor

@chungen0126 chungen0126 left a comment

Choose a reason for hiding this comment

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

+1 LGTM

Change-Id: I2c020ee354c7a812f376ee75c3fa8104e75629e0
@jojochuang
Copy link
Contributor Author

@ivandika3 updated.

@ivandika3 ivandika3 merged commit d9daba0 into apache:master Jul 4, 2025
14 checks passed
@ivandika3
Copy link
Contributor

Thanks @jojochuang for the docs and @kerneltime @peterxcli @chungen0126 for the reviews.

jojochuang added a commit to jojochuang/ozone that referenced this pull request Jul 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-gen documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants