This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new d966154af2b [SPARK-39466][CORE][TESTS] Ensure clean
`core/temp-secrets/` directory after `SecurityManagerSuite`
d966154af2b is described below
commit d966154af2b33a9b406b58636c23ae3d70e10527
Author: yangjie01 <[email protected]>
AuthorDate: Tue Jun 14 09:03:59 2022 -0700
[SPARK-39466][CORE][TESTS] Ensure clean `core/temp-secrets/` directory
after `SecurityManagerSuite`
### What changes were proposed in this pull request?
This pr refactor `createTempSecretFile` in `SecurityManagerSuite` to ensure
clean `core/temp-secrets/` directory after `SecurityManagerSuite`.
### Why are the changes needed?
To ensure clean `core/temp-secrets/` directory after `SecurityManagerSuite`.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
- Pass Github Actions
- Manual test
run following commands:
```
mvn clean install -DskipTests -pl core -am
mvn clean test -Dtest=none
-DwildcardSuites=org.apache.spark.SecurityManagerSuite -pl core
git status
```
**Before**
The `core/temp-secrets/` directory is not cleaned up
**After**
The `core/temp-secrets/` directory has been cleaned up
Closes #36867 from LuciferYang/SPARK-39466.
Authored-by: yangjie01 <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.../org/apache/spark/SecurityManagerSuite.scala | 35 ++++++++++++----------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/core/src/test/scala/org/apache/spark/SecurityManagerSuite.scala
b/core/src/test/scala/org/apache/spark/SecurityManagerSuite.scala
index b31a6b4e2f9..44e338c6f00 100644
--- a/core/src/test/scala/org/apache/spark/SecurityManagerSuite.scala
+++ b/core/src/test/scala/org/apache/spark/SecurityManagerSuite.scala
@@ -404,15 +404,17 @@ class SecurityManagerSuite extends SparkFunSuite with
ResetSystemProperties {
}
test("use executor-specific secret file configuration.") {
- val secretFileFromDriver = createTempSecretFile("driver-secret")
- val secretFileFromExecutor = createTempSecretFile("executor-secret")
- val conf = new SparkConf()
- .setMaster("k8s://127.0.0.1")
- .set(AUTH_SECRET_FILE_DRIVER, Some(secretFileFromDriver.getAbsolutePath))
- .set(AUTH_SECRET_FILE_EXECUTOR,
Some(secretFileFromExecutor.getAbsolutePath))
- .set(SecurityManager.SPARK_AUTH_CONF, "true")
- val mgr = new SecurityManager(conf, authSecretFileConf =
AUTH_SECRET_FILE_EXECUTOR)
- assert(encodeFileAsBase64(secretFileFromExecutor) === mgr.getSecretKey())
+ withSecretFile("driver-secret") { secretFileFromDriver =>
+ withSecretFile("executor-secret") { secretFileFromExecutor =>
+ val conf = new SparkConf()
+ .setMaster("k8s://127.0.0.1")
+ .set(AUTH_SECRET_FILE_DRIVER,
Some(secretFileFromDriver.getAbsolutePath))
+ .set(AUTH_SECRET_FILE_EXECUTOR,
Some(secretFileFromExecutor.getAbsolutePath))
+ .set(SecurityManager.SPARK_AUTH_CONF, "true")
+ val mgr = new SecurityManager(conf, authSecretFileConf =
AUTH_SECRET_FILE_EXECUTOR)
+ assert(encodeFileAsBase64(secretFileFromExecutor) ===
mgr.getSecretKey())
+ }
+ }
}
test("secret file must be defined in both driver and executor") {
@@ -496,10 +498,11 @@ class SecurityManagerSuite extends SparkFunSuite with
ResetSystemProperties {
}
case FILE =>
- val secretFile = createTempSecretFile()
- conf.set(AUTH_SECRET_FILE, secretFile.getAbsolutePath)
- mgr.initializeAuth()
- assert(encodeFileAsBase64(secretFile) === mgr.getSecretKey())
+ withSecretFile() { secretFile =>
+ conf.set(AUTH_SECRET_FILE, secretFile.getAbsolutePath)
+ mgr.initializeAuth()
+ assert(encodeFileAsBase64(secretFile) === mgr.getSecretKey())
+ }
}
}
}
@@ -511,11 +514,13 @@ class SecurityManagerSuite extends SparkFunSuite with
ResetSystemProperties {
Base64.getEncoder.encodeToString(Files.readAllBytes(secretFile.toPath))
}
- private def createTempSecretFile(contents: String = "test-secret"): File = {
+ private def withSecretFile(contents: String = "test-secret")(f: File =>
Unit): Unit = {
val secretDir = Utils.createTempDir("temp-secrets")
val secretFile = new File(secretDir, "temp-secret.txt")
Files.write(secretFile.toPath, contents.getBytes(UTF_8))
- secretFile
+ try f(secretFile) finally {
+ Utils.deleteRecursively(secretDir)
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]