Github user liyinan926 commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19954#discussion_r158651930
  
    --- Diff: 
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/DriverConfigOrchestrator.scala
 ---
    @@ -98,28 +109,62 @@ private[spark] class 
DriverConfigurationStepsOrchestrator(
           None
         }
     
    -    val sparkJars = submissionSparkConf.getOption("spark.jars")
    +    val sparkJars = sparkConf.getOption("spark.jars")
           .map(_.split(","))
           .getOrElse(Array.empty[String]) ++
           additionalMainAppJar.toSeq
    -    val sparkFiles = submissionSparkConf.getOption("spark.files")
    +    val sparkFiles = sparkConf.getOption("spark.files")
           .map(_.split(","))
           .getOrElse(Array.empty[String])
     
    -    val maybeDependencyResolutionStep = if (sparkJars.nonEmpty || 
sparkFiles.nonEmpty) {
    -      Some(new DependencyResolutionStep(
    +    val dependencyResolutionStep = if (sparkJars.nonEmpty || 
sparkFiles.nonEmpty) {
    +      Seq(new DependencyResolutionStep(
             sparkJars,
             sparkFiles,
             jarsDownloadPath,
             filesDownloadPath))
         } else {
    -      None
    +      Nil
    +    }
    +
    +    val initContainerBootstrapStep = if 
(areAnyFilesNonContainerLocal(sparkJars ++ sparkFiles)) {
    +      val orchestrator = new InitContainerConfigOrchestrator(
    +        sparkJars,
    +        sparkFiles,
    +        jarsDownloadPath,
    +        filesDownloadPath,
    +        imagePullPolicy,
    +        initContainerConfigMapName,
    +        INIT_CONTAINER_PROPERTIES_FILE_NAME,
    +        sparkConf)
    +      val bootstrapStep = new DriverInitContainerBootstrapStep(
    +        orchestrator.getAllConfigurationSteps,
    +        initContainerConfigMapName,
    +        INIT_CONTAINER_PROPERTIES_FILE_NAME)
    +
    +      Seq(bootstrapStep)
    +    } else {
    +      Nil
    +    }
    +
    +    val mountSecretsStep = if (secretNamesToMountPaths.nonEmpty) {
    +      Seq(new DriverMountSecretsStep(new 
MountSecretsBootstrap(secretNamesToMountPaths)))
    +    } else {
    +      Nil
         }
     
         Seq(
           initialSubmissionStep,
    -      driverAddressStep,
    +      serviceBootstrapStep,
           kubernetesCredentialsStep) ++
    -      maybeDependencyResolutionStep.toSeq
    +      dependencyResolutionStep ++
    +      initContainerBootstrapStep ++
    +      mountSecretsStep
    +  }
    +
    +  private def areAnyFilesNonContainerLocal(files: Seq[String]): Boolean = {
    --- End diff --
    
    Done.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to