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

   ## What changes were proposed in this pull request?
   
   With the new ZDU finalization flow, the admin sends the finalize request to 
OM and OM forwards it to SCM. The admin is never supposed to finalize SCM 
directly. This ensures that components are always finalized in the expected 
order.
   
   Currently SCM's finalize command is under the container location protocol 
with other admin facing commands guarded by an admin check. This happened to 
work in the ZDU acceptance test suite because OM was configured as a cluster 
admin, however this is not expected in a real deployments. Additionally, it 
allows a custom client created by an admin to invoke this API out of order.
   
   Instead, the new finalize API should be in the block location protocol, 
which is completely restricted to OM's kerberos principal. Additionally, the 
acceptance tests should not configure OM as an admin since it masks issues like 
this.
   
   ## What is the link to the Apache JIRA
   
   HDDS-16356
   
   ## How was this patch tested?
   
   - Unit tests for the finalize API that used to be in 
`TestSCMClientProtocolServer` were moved to `TestSCMBlockProtocolServer`.
     - This part of the change accounts for ~300 lines of additions/deletions
     - Placing the two diffs side by side will help with the review.
   
   - OM was removed as an admin in the acceptance tests' global `security.conf` 
file.
     - In a [CI run on my 
fork](https://github.com/errose28/ozone/actions/runs/33211362683/job/98990425463)
 with only this modification all existing acceptance tests passed and the 
upgrade acceptance test failed as expected.


-- 
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