diff --git a/akkeeper/src/main/scala/akkeeper/launcher/LaunchArguments.scala b/akkeeper/src/main/scala/akkeeper/launcher/LaunchArguments.scala index 9d783f4..0e8b406 100644 --- a/akkeeper/src/main/scala/akkeeper/launcher/LaunchArguments.scala +++ b/akkeeper/src/main/scala/akkeeper/launcher/LaunchArguments.scala @@ -20,16 +20,16 @@ import java.net.URI import com.typesafe.config.Config import LaunchArguments._ -private[akkeeper] case class LaunchArguments(akkeeperJarPath: URI = new URI("."), - userJar: URI = new URI("."), - otherJars: Seq[URI] = Seq.empty, - resources: Seq[URI] = Seq.empty, - masterJvmArgs: Seq[String] = Seq.empty, - userConfig: Option[Config] = None, - pollInterval: Long = DefaultPollInterval, - yarnQueue: Option[String] = None, - principal: Option[String] = None, - keytab: URI = new URI(".")) +final case class LaunchArguments(akkeeperJarPath: URI = new URI("."), + userJar: URI = new URI("."), + otherJars: Seq[URI] = Seq.empty, + resources: Seq[URI] = Seq.empty, + masterJvmArgs: Seq[String] = Seq.empty, + userConfig: Option[Config] = None, + pollInterval: Long = DefaultPollInterval, + yarnQueue: Option[String] = None, + principal: Option[String] = None, + keytab: Option[URI] = None) object LaunchArguments { val DefaultPollInterval = 1000 diff --git a/akkeeper/src/main/scala/akkeeper/launcher/Launcher.scala b/akkeeper/src/main/scala/akkeeper/launcher/Launcher.scala index e9b8124..dc91537 100644 --- a/akkeeper/src/main/scala/akkeeper/launcher/Launcher.scala +++ b/akkeeper/src/main/scala/akkeeper/launcher/Launcher.scala @@ -23,7 +23,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration import scala.concurrent.{ExecutionContext, Future} -case class LaunchResult(appId: String, masterAddress: Address) +final case class LaunchResult(appId: String, masterAddress: Address) /** Launcher for the Akkeeper application. */ trait Launcher[F[_]] { diff --git a/akkeeper/src/main/scala/akkeeper/launcher/LauncherMain.scala b/akkeeper/src/main/scala/akkeeper/launcher/LauncherMain.scala index 68e1ba3..f3c08dd 100644 --- a/akkeeper/src/main/scala/akkeeper/launcher/LauncherMain.scala +++ b/akkeeper/src/main/scala/akkeeper/launcher/LauncherMain.scala @@ -76,7 +76,7 @@ object LauncherMain extends App { }).text("Principal to be used to login to KDC.") opt[URI]("keytab").valueName("").action((v, c) => { - c.copy(keytab = transformUri(v)) + c.copy(keytab = Some(transformUri(v))) }).text("The full path to the file that contains the keytab for the principal specified above.") opt[File]("config").valueName("").action((v, c) => { @@ -96,7 +96,7 @@ object LauncherMain extends App { .getOrElse(ConfigFactory.load()) launcherArgs.principal.foreach(p => { - YarnUtils.loginFromKeytab(p, launcherArgs.keytab.toString) + YarnUtils.loginFromKeytab(p, launcherArgs.keytab.get.toString) }) val launcherTimeout = diff --git a/akkeeper/src/main/scala/akkeeper/launcher/yarn/YarnLauncher.scala b/akkeeper/src/main/scala/akkeeper/launcher/yarn/YarnLauncher.scala index 374d1ff..936996d 100644 --- a/akkeeper/src/main/scala/akkeeper/launcher/yarn/YarnLauncher.scala +++ b/akkeeper/src/main/scala/akkeeper/launcher/yarn/YarnLauncher.scala @@ -120,7 +120,7 @@ final class YarnLauncher(yarnConf: YarnConfiguration, args.principal.foreach(_ => { // Distribute keytab. - val keytabResource = resourceManger.createLocalResource(args.keytab.toString, + val keytabResource = resourceManger.createLocalResource(args.keytab.get.toString, LocalResourceNames.KeytabName) localResources.put(LocalResourceNames.KeytabName, keytabResource) }) diff --git a/akkeeper/src/test/scala/akkeeper/launcher/yarn/YarnLauncherSpec.scala b/akkeeper/src/test/scala/akkeeper/launcher/yarn/YarnLauncherSpec.scala index 39026dc..4c656ab 100644 --- a/akkeeper/src/test/scala/akkeeper/launcher/yarn/YarnLauncherSpec.scala +++ b/akkeeper/src/test/scala/akkeeper/launcher/yarn/YarnLauncherSpec.scala @@ -91,7 +91,7 @@ class YarnLauncherSpec extends FlatSpec with Matchers with MockFactory userConfig = Some(ConfigFactory.load("application-container-test.conf")), yarnQueue = Some("queue"), principal = Some("username"), - keytab = new URI(createResource(resourcesDir, "some.keytab")) + keytab = Some(new URI(createResource(resourcesDir, "some.keytab"))) ) }