nevzheng opened a new pull request, #14094:
URL: https://github.com/apache/gravitino/pull/14094

   ### What changes were proposed in this pull request?
   
   - `@HiveFixture(kerberosPrincipals = {...})` declares the extra Kerberos 
principals a test needs; `HiveSpec` carries them (sorted, de-duplicated), so 
different principals mean a different container. They need Kerberos auth and a 
private container (`scope = CLASS` or `METHOD`); the fixture fails at class 
discovery otherwise.
   - The Kerberos Hive container creates them while it starts: a generated 
script is copied in, and the entrypoint hooks it into the image's `start.sh` 
right after the KDC and the image's own principals exist and before HDFS 
starts, so readiness implies the keytabs exist. A missing hook point or a 
missing keytab fails the start.
   - `HadoopUserAuthenticationIT` declares `cli_schema` and `cli_fileset` and 
copies their keytabs out with `copyFileFromContainer`; its two `kadmin.local` 
calls through `executeInContainer` are gone.
   
   ### Why are the changes needed?
   
   They were the last commands a test ran inside a container. Until the image 
adds the principals itself, creating them at start keeps the test free of 
`docker exec`.
   
   Fix: #14049
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. Test code only.
   
   ### How was this patch tested?
   
   `TestHiveSpec` (8) and `TestHiveContainer` (5, including a check that the 
hook line exists in `dev/docker/kerberos-hive/start.sh`); 
`:integration-test-common:test` (176); `HadoopUserAuthenticationIT` (4), 
`HDFSKerberosIT`, `HiveUserAuthenticationIT` and 
`MultipleHMSUserAuthenticationIT` on Docker.
   


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

Reply via email to