celeborn/openapi/openapi-client
Wang, Fei fc056a3c3a [CELEBORN-1875] Support to get workers topology information with RESTful api
### What changes were proposed in this pull request?

Support to get the workers topology information with RESTful api.
1. return networkLocation in WorkerData
2. add new api `/api/v1/workers/topology` to return the grouped workers topology info.

### Why are the changes needed?

1. To get the workers topology information.
2. To know the rack awareness well.

### Does this PR introduce _any_ user-facing change?

No break change.
### How was this patch tested?
UT and IT.

<img width="1008" alt="image" src="https://github.com/user-attachments/assets/6cb1aa2a-1160-4570-acb1-7602e2ce0b09" />

<img width="719" alt="image" src="https://github.com/user-attachments/assets/d26c3326-4837-40ad-a344-3cb4204bf607" />

Closes #3112 from turboFei/topology.

Authored-by: Wang, Fei <fwang12@ebay.com>
Signed-off-by: SteNicholas <programgeek@163.com>
2025-02-26 16:27:32 +08:00
..
src/main [CELEBORN-1875] Support to get workers topology information with RESTful api 2025-02-26 16:27:32 +08:00
pom.xml [CELEBORN-1477][FOLLOWUP] Remove scala binary version from openapi-client artifactId 2024-11-01 15:08:00 +08:00
README.md [CELEBORN-1601][FOLLOWUP] Refine the RESTful apis for revise lost shuffles 2024-11-12 10:11:25 +08:00

Celeborn OpenAPI Client

Note: It is recommended to use under_score style naming for new RESTful APIs to maintain consistency.

To update the OpenAPI specification

  • just update the specification under openapi/openapi-client/src/main/openapi3/ and keep the schema definitions consistent between master and worker.
  • Install JDK 11 or above by whatever mechanism is appropriate for your system, and set that version to be the default Java version (e.g., by setting env variable JAVA_HOME)
  • run the following:
    build/mvn -pl openapi/openapi-client clean package -Pgenerate
    
    or
    build/sbt "clean;celeborn-openapi-client/generate"
    
    This will regenerate the OpenAPI data models + APIs in the celeborn-openapi-client SDK.