Uploaded image for project: 'Marathon'
  1. Marathon
  2. MARATHON-7701

Plugin Configuration From Jar Instead of Config

    Details

    • Type: Task
    • Status: Accepted
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Plugins

      Description

      When testing some plugin changes I ran marathon with --plugin_dir and --plugin_config as in:

      sbt 'run --master localhost:5050 --zk zk://localhost:2181/marathon --plugin_dir /Users/kensipe/projects/marathon-dcos-plugins/target/pack/ --plugin_conf /Users/kensipe/plugin-conf2.json'

      the config file I used only had configurations for: RunSpecTaskProcessor and RunSpecValidator

      Marathon was failing with misconfigured DCOSAuthenticatorPlugin.

       

      [2017-08-16 16:39:12,095] ERROR Terminating 8080 due to uncaught exception in thread JMX exporting thread:1 (mesosphere.marathon.MarathonApp:JMX exporting thread)
      [info] com.google.inject.CreationException: Guice creation errors:
      [info]
      [info] 1) Error injecting constructor, java.util.ServiceConfigurationError: mesosphere.marathon.plugin.auth.Authenticator: Provider mesosphere.marathon.dcos.plugin.auth.DCOSAuthenticatorPlugin could not be instantiated
      [info]   at mesosphere.marathon.core.CoreModuleImpl.<init>(CoreModuleImpl.scala:48)
      [info]   while locating mesosphere.marathon.core.CoreModuleImpl
      [info]   at mesosphere.marathon.core.CoreGuiceModule.configure(CoreGuiceModule.scala:196)
      [info]   while locating mesosphere.marathon.core.CoreModule
      [info]   at mesosphere.marathon.core.CoreGuiceModule.taskTracker(CoreGuiceModule.scala:57)
      [info]   at mesosphere.marathon.core.CoreGuiceModule.taskTracker(CoreGuiceModule.scala:57)
      [info]   while locating mesosphere.marathon.core.task.tracker.InstanceTracker
      [info]     for parameter 1 at mesosphere.marathon.core.task.update.impl.TaskStatusUpdateProcessorImpl.<init>(TaskStatusUpdateProcessorImpl.scala:27)
      [info]   while locating mesosphere.marathon.core.task.update.impl.TaskStatusUpdateProcessorImpl
      [info]   at mesosphere.marathon.core.CoreGuiceModule.configure(CoreGuiceModule.scala:199)
      [info]   while locating mesosphere.marathon.core.task.update.TaskStatusUpdateProcessor annotated with @com.google.inject.name.Named(value=ThrottlingTaskStatusUpdateProcessor)
      [info] Caused by: java.util.ServiceConfigurationError: mesosphere.marathon.plugin.auth.Authenticator: Provider mesosphere.marathon.dcos.plugin.auth.DCOSAuthenticatorPlugin could not be instantiated
      [info] at java.util.ServiceLoader.fail(ServiceLoader.java:232)
      [info] at java.ut

       

       

      I changed the --plugin_dir to point to an empty folder and marathon started as expected using only the expected config file.  Clearly marathon is pulling configurations from the plugin_dir.  

        Attachments

          Activity

            People

            • Assignee:
              ken Ken Sipe
              Reporter:
              ken Ken Sipe
              Team:
              Orchestration Team
              Watchers:
              Ken Sipe
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: