Himavanth closed pull request #4086: Making mesos task healthcheck configurable
URL: https://github.com/apache/incubator-openwhisk/pull/4086
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/common/scala/build.gradle b/common/scala/build.gradle
index c6eb0051c0..8572b1e6d1 100644
--- a/common/scala/build.gradle
+++ b/common/scala/build.gradle
@@ -64,7 +64,7 @@ dependencies {
     compile 'io.kamon:kamon-core_2.11:0.6.7'
     compile 'io.kamon:kamon-statsd_2.11:0.6.7'
     //for mesos
-    compile 'com.adobe.api.platform.runtime:mesos-actor:0.0.8'
+    compile 'com.adobe.api.platform.runtime:mesos-actor:0.0.9'
 
     //tracing support
     compile 'io.opentracing:opentracing-api:0.31.0'
diff --git a/common/scala/src/main/resources/application.conf 
b/common/scala/src/main/resources/application.conf
index b7afb0415f..739535dce4 100644
--- a/common/scala/src/main/resources/application.conf
+++ b/common/scala/src/main/resources/application.conf
@@ -237,6 +237,15 @@ whisk {
         blackbox-constraints = [] //placement constraints to use for blackbox 
containers
         constraint-delimiter = " "//used to parse constraint strings
         teardown-on-exit = true //set to true to disable the mesos framework 
on system exit; set for false for HA deployments
+        #Remove health-section section to disable it
+        health-check {
+          health-check-port-index = 0
+          delay = 0
+          interval = 1
+          timeout = 1
+          grace-period = 25
+          max-consecutive-failures = 3
+        }
     }
 
     logstore {
diff --git 
a/common/scala/src/main/scala/whisk/core/mesos/MesosContainerFactory.scala 
b/common/scala/src/main/scala/whisk/core/mesos/MesosContainerFactory.scala
index 474361a2e5..0d1b169c57 100644
--- a/common/scala/src/main/scala/whisk/core/mesos/MesosContainerFactory.scala
+++ b/common/scala/src/main/scala/whisk/core/mesos/MesosContainerFactory.scala
@@ -20,16 +20,11 @@ package whisk.core.mesos
 import akka.actor.ActorRef
 import akka.actor.ActorSystem
 import akka.pattern.ask
-import com.adobe.api.platform.runtime.mesos.Constraint
-import com.adobe.api.platform.runtime.mesos.LIKE
-import com.adobe.api.platform.runtime.mesos.LocalTaskStore
-import com.adobe.api.platform.runtime.mesos.MesosClient
-import com.adobe.api.platform.runtime.mesos.Subscribe
-import com.adobe.api.platform.runtime.mesos.SubscribeComplete
-import com.adobe.api.platform.runtime.mesos.Teardown
-import com.adobe.api.platform.runtime.mesos.UNLIKE
+import com.adobe.api.platform.runtime.mesos._
 import java.time.Instant
+
 import pureconfig.loadConfigOrThrow
+
 import scala.concurrent.Await
 import scala.concurrent.ExecutionContext
 import scala.concurrent.Future
@@ -66,7 +61,8 @@ case class MesosConfig(masterUrl: String,
                        constraints: Seq[String],
                        constraintDelimiter: String,
                        blackboxConstraints: Seq[String],
-                       teardownOnExit: Boolean) {}
+                       teardownOnExit: Boolean,
+                       healthCheck: Option[HealthCheckConfig] = None) {}
 
 class MesosContainerFactory(config: WhiskConfig,
                             actorSystem: ActorSystem,
diff --git a/common/scala/src/main/scala/whisk/core/mesos/MesosTask.scala 
b/common/scala/src/main/scala/whisk/core/mesos/MesosTask.scala
index 9b21903a24..119f2df0cc 100644
--- a/common/scala/src/main/scala/whisk/core/mesos/MesosTask.scala
+++ b/common/scala/src/main/scala/whisk/core/mesos/MesosTask.scala
@@ -23,18 +23,12 @@ import akka.pattern.ask
 import akka.stream.scaladsl.Source
 import akka.util.ByteString
 import akka.util.Timeout
-import com.adobe.api.platform.runtime.mesos.Bridge
-import com.adobe.api.platform.runtime.mesos.CommandDef
-import com.adobe.api.platform.runtime.mesos.Constraint
-import com.adobe.api.platform.runtime.mesos.DeleteTask
-import com.adobe.api.platform.runtime.mesos.Host
-import com.adobe.api.platform.runtime.mesos.Running
-import com.adobe.api.platform.runtime.mesos.SubmitTask
-import com.adobe.api.platform.runtime.mesos.TaskDef
-import com.adobe.api.platform.runtime.mesos.User
+import com.adobe.api.platform.runtime.mesos._
 import java.time.Instant
+
 import org.apache.mesos.v1.Protos.TaskState
 import org.apache.mesos.v1.Protos.TaskStatus
+
 import scala.concurrent.ExecutionContext
 import scala.concurrent.Future
 import scala.concurrent.duration._
@@ -103,7 +97,7 @@ object MesosTask {
       mesosCpuShares,
       mesosRam,
       List(8080), // all action containers listen on 8080
-      Some(0), // port at index 0 used for health
+      mesosConfig.healthCheck,
       false,
       taskNetwork,
       dnsOrEmpty ++ parameters,
diff --git 
a/tests/src/test/scala/whisk/core/containerpool/mesos/test/MesosContainerFactoryTest.scala
 
b/tests/src/test/scala/whisk/core/containerpool/mesos/test/MesosContainerFactoryTest.scala
index d5187ed833..8313bd5c77 100644
--- 
a/tests/src/test/scala/whisk/core/containerpool/mesos/test/MesosContainerFactoryTest.scala
+++ 
b/tests/src/test/scala/whisk/core/containerpool/mesos/test/MesosContainerFactoryTest.scala
@@ -146,7 +146,7 @@ class MesosContainerFactoryTest
         mesosCpus,
         actionMemory.toMB.toInt,
         List(8080),
-        Some(0),
+        None,
         false,
         User("net1"),
         Map(
@@ -195,7 +195,7 @@ class MesosContainerFactoryTest
         mesosCpus,
         actionMemory.toMB.toInt,
         List(8080),
-        Some(0),
+        None,
         false,
         User("net1"),
         Map(
@@ -267,7 +267,7 @@ class MesosContainerFactoryTest
         mesosCpus,
         actionMemory.toMB.toInt,
         List(8080),
-        Some(0),
+        None,
         false,
         Bridge,
         Map(


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to