[ 
https://issues.apache.org/jira/browse/HDDS-16111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Huang Kuan Hao updated HDDS-16111:
----------------------------------
    Description: 
OzoneContainer only exposes the S3 Gateway port (9878), so tests can reach 
Ozone only through the S3 API. Support OzoneClient / ofs:// by exposing the OM 
RPC endpoint.

  - Expose OM RPC (9862) (and SCM client 9860 if needed) via withExposedPorts
  - Add getOmEndpoint(), and a getConfiguration() returning an 
OzoneConfiguration (or ofs:// URI) pointing at the container
  - Set hdds.datanode.use.datanode.hostname=true and a host-reachable 
hdds.datanode.hostname so the client can reach the datanode for block IO, 
analogous to dfs.datanode.use.datanode.hostname; needs a fixed mapping for the 
datanode data port
  - Add a smoke test that writes and reads a key back via OzoneClient (or ofs), 
exercising block IO, not just metadata

  Note: OM returns block locations with the datanode's container-internal 
address, which is unreachable from the host by default — the datanode-hostname 
config above is the load-bearing part.

  was:
{\{OzoneContainer}} only exposes the S3 Gateway port (\{{9878}}), so tests can 
reach Ozone only through the S3 API. Support \{{OzoneClient}} / \{{ofs://}} by 
exposing the OM RPC endpoint.

- Expose OM RPC (\{{9862}}) (and SCM client \{{9860}} if needed) via 
\{{withExposedPorts}}
- Add \{{getOmEndpoint()}}, and a \{{getConfiguration()}} returning an 
\{{OzoneConfiguration}} (or \{{ofs://}} URI) pointing at the container
- Set \{{hdds.datanode.use.datanode.hostname=true}} and a host-reachable 
\{{hdds.datanode.hostname}} so the client can reach the datanode for block IO, 
analogous to \{{dfs.datanode.use.datanode.hostname}}; needs a fixed mapping for 
the datanode data port
- Add a smoke test that writes and reads a key back via \{{OzoneClient}} (or 
\{{ofs}}), exercising block IO, not just metadata

Note: OM returns block locations with the datanode's container-internal 
address, which is unreachable from the host by default — the datanode-hostname 
config above is the load-bearing part.


> OzoneContainer: expose OM RPC for OzoneClient / ofs tests
> ---------------------------------------------------------
>
>                 Key: HDDS-16111
>                 URL: https://issues.apache.org/jira/browse/HDDS-16111
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Huang Kuan Hao
>            Assignee: Huang Kuan Hao
>            Priority: Major
>
> OzoneContainer only exposes the S3 Gateway port (9878), so tests can reach 
> Ozone only through the S3 API. Support OzoneClient / ofs:// by exposing the 
> OM RPC endpoint.
>   - Expose OM RPC (9862) (and SCM client 9860 if needed) via withExposedPorts
>   - Add getOmEndpoint(), and a getConfiguration() returning an 
> OzoneConfiguration (or ofs:// URI) pointing at the container
>   - Set hdds.datanode.use.datanode.hostname=true and a host-reachable 
> hdds.datanode.hostname so the client can reach the datanode for block IO, 
> analogous to dfs.datanode.use.datanode.hostname; needs a fixed mapping for 
> the datanode data port
>   - Add a smoke test that writes and reads a key back via OzoneClient (or 
> ofs), exercising block IO, not just metadata
>   Note: OM returns block locations with the datanode's container-internal 
> address, which is unreachable from the host by default — the 
> datanode-hostname config above is the load-bearing part.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to