hevinhsu opened a new pull request, #10598:
URL: https://github.com/apache/ozone/pull/10598

   ## What changes were proposed in this pull request?
   Support rack and host topology awareness in `MiniOzoneCluster` and 
`MiniOzoneHAClusterImpl` (HDDS-14812). This enables integration tests to 
properly exercise topology-sensitive pipeline placement.
   
   Key changes:
   - Add `FixedHostMapping`, a `CachedDNSToSwitchMapping` implementation that 
resolves hostnames to rack locations via a static map, bypassing DNS lookups to 
handle synthetic or unresolvable test hostnames.
   - Pre-populate `DatanodeDetails` via the DN yaml file mechanism to bypass 
`validateDatanodeIpAddress()` during `DatanodeService` startup, which performs 
a native DNS lookup and would fail for synthetic hostnames.
   - Trigger pipeline recreation after all DataNodes are registered to ensure 
`PipelinePlacementPolicy` observes the full DN pool and produces rack-diverse 
pipelines.
   
   ## What is the link to the Apache JIRA
   https://issues.apache.org/jira/browse/HDDS-14812
   
   ## How was this patch tested?
   CI was run on the changes in this PR: [MiniOzoneCluster topology 
tests](https://github.com/hevinhsu/ozone/actions/runs/28074036021)
   
   Additionally, integration tests covering three topology scenarios were added 
and verified in a [personal 
fork](https://github.com/hevinhsu/ozone/pull/27/changes/37018e4f6e55afc0c13b784ef33544ae01b6212c)
 and are not included in this PR:
   - Racks and hosts configured together
   - Racks only (hostnames auto-generated)
   - Hosts only (all nodes fall back to default rack)
   
   Tests were validated against existing HA test classes 
(TestSecretKeySnapshotWithRack, TestScmHAFinalizationWithRacks, 
TestRackAwarePlacement) with [green 
CI](https://github.com/hevinhsu/ozone/actions/runs/28074139438).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to