[CONF] OpenWhisk > AI Actions

2018-08-10 Thread Dragos Dascalita Haut (Confluence)
Title: Message Title



 
 
 
There's 1 new edit on this page 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AI Actions 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
Dragos Dascalita Haut edited this page 
 
 
  
 
 

 
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Here's what changed: 
 
 
 
 
 
 
 
 
 
 
 ... The volume my-action-volume can be mounted inside each container on: /mnt/ow/my-action-volume.   Activation result should return the volume info so that the next action in the sequence runs on the host where the volume was created.  The volume should be removed once the prewarmed actions are destroyed.  ... Should the developers specify a size for the volume, or assume a default for each volume ? size i.e. 10GB which is configured at the system level  ?    TODO: Describe congestion scenarios: (1) wait-time due to an action in the sequence processing another request on that node (2) lack of resources to cold start a new container on the same host.   Cluster cache Provide developers with a caching solution in the cluster. Developers would still pass larger assets by reference between actions, they would still write code to upload or download an asset, but use a cache provided by OpenWhisk, inside the cluster. The cache can be exposed through the Openwhisk SDK through 2 methods: write(asset_name, asset_value), read(asset_name). ...  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Go to page history 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
View page 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
Stop watching space
• 
 
 
 
 
 
 
Manage notifications 
 
 
 
 
 
 
 
 
 
 
  
 
 
This message was sent by Atlassian Confluence 6.9.0  
 
 
  
 
 
 
 
 
 
 
 
 




[incubator-openwhisk-deploy-kube] branch master updated: Use whisk.auth from secrets instead of the default auths in the git repo (#273)

2018-08-10 Thread rabbah
This is an automated email from the ASF dual-hosted git repository.

rabbah pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-deploy-kube.git


The following commit(s) were added to refs/heads/master by this push:
 new 65928e4  Use whisk.auth from secrets instead of the default auths in 
the git repo (#273)
65928e4 is described below

commit 65928e49b66274c19b8957d1468390c3bb6193a5
Author: David Grove 
AuthorDate: Fri Aug 10 16:54:10 2018 -0400

Use whisk.auth from secrets instead of the default auths in the git repo 
(#273)

A modification of the fix suggested in PR#271 that mounts the whisk.auth
secrets in a volume instead of putting them environment variables.
---
 helm/openwhisk/configMapFiles/initCouchDB/initdb.sh | 5 +
 helm/openwhisk/templates/initCouchDBJob.yaml| 5 +
 2 files changed, 10 insertions(+)

diff --git a/helm/openwhisk/configMapFiles/initCouchDB/initdb.sh 
b/helm/openwhisk/configMapFiles/initCouchDB/initdb.sh
index 976d6b0..181239f 100755
--- a/helm/openwhisk/configMapFiles/initCouchDB/initdb.sh
+++ b/helm/openwhisk/configMapFiles/initCouchDB/initdb.sh
@@ -4,6 +4,11 @@
 # Clone OpenWhisk to get the ansible playbooks needed to initialize CouchDB
 git clone https://github.com/apache/incubator-openwhisk /openwhisk
 
+# Copy the secrets whisk.auth.guest and whisk.auth.system into the cloned tree
+# overwriting the default values we cloned from git
+cp -f /etc/whisk-auth/guest /openwhisk/ansible/files/auth.guest
+cp -f /etc/whisk-auth/system /openwhisk/ansible/files/auth.whisk.system
+
 # generate db_local.ini so the ansible jobs know how to access the database
 pushd /openwhisk/ansible
 ansible-playbook -i environments/local setup.yml
diff --git a/helm/openwhisk/templates/initCouchDBJob.yaml 
b/helm/openwhisk/templates/initCouchDBJob.yaml
index dc7506c..0856b07 100644
--- a/helm/openwhisk/templates/initCouchDBJob.yaml
+++ b/helm/openwhisk/templates/initCouchDBJob.yaml
@@ -19,6 +19,9 @@ spec:
   - name: task-dir
 configMap:
   name: init-couchdb
+  - name: whisk-auth
+secret:
+  secretName: whisk.auth
   containers:
   - name: init-couchdb
 image: openwhisk/kube-whisk-ansible-runner
@@ -28,6 +31,8 @@ spec:
 - name: task-dir
   mountPath: "/task/initdb.sh"
   subPath: "initdb.sh"
+- name: whisk-auth
+  mountPath: "/etc/whisk-auth"
 env:
 - name: "DB_PROTOCOL"
   valueFrom:



[incubator-openwhisk-website] branch asf-site updated: Automatic Site Publish by Jenkins

2018-08-10 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new 38785f4  Automatic Site Publish by Jenkins
38785f4 is described below

commit 38785f49e3c764d7f1e7599fc53346595b1817e8
Author: jenkins 
AuthorDate: Fri Aug 10 20:33:33 2018 +

Automatic Site Publish by Jenkins
---
 css/highlite-syntax-colors.css |  69 
 feed.xml   |   2 +-
 .../elements/OW-Abstract Architecture Diagram.png  | Bin 5750714 -> 408820 
bytes
 .../elements/OW-Abstract Architecture Diagram.pptx | Bin 2237835 -> 2290497 
bytes
 .../elements/illustration-developers-flexible.png  | Bin 59639 -> 0 bytes
 .../elements/illustration-developers-flexible.svg  |  40 ---
 .../unused}/apache-openwhisk-action-animation.gif  | Bin
 images/runtimes/OW-Runtime-Compositions.png| Bin 0 -> 124803 bytes
 .../OW-Runtime-Compositions.pptx}  | Bin 2237835 -> 1221365 
bytes
 images/runtimes/OW-Runtimes-small.png  | Bin 356774 -> 0 bytes
 images/runtimes/OW-Runtimes.png| Bin 2406427 -> 630525 
bytes
 images/runtimes/OW-Runtimes.pptx   | Bin 3099686 -> 3139731 
bytes
 images/runtimes/logo-go-notext-fuschia.png | Bin 0 -> 29120 bytes
 images/runtimes/logo-go-notext-lightblue.png   | Bin 6570 -> 0 bytes
 images/runtimes/logo-go-notext-lightblue.svg   | 125 -
 index.html |   4 +-
 16 files changed, 3 insertions(+), 237 deletions(-)

diff --git a/css/highlite-syntax-colors.css b/css/highlite-syntax-colors.css
deleted file mode 100644
index beb6212..000
--- a/css/highlite-syntax-colors.css
+++ /dev/null
@@ -1,69 +0,0 @@
-.highlight .hll { background-color: inherit }
-.highlight  { background: inherit; }
-.highlight .c { color: #88 } /* Comment */
-.highlight .err { color: #FF; background-color: inherit } /* Error */
-.highlight .k { color: #008800; font-weight: bold } /* Keyword */
-.highlight .o { color: #33 } /* Operator */
-.highlight .ch { color: #88 } /* Comment.Hashbang */
-.highlight .cm { color: #88 } /* Comment.Multiline */
-.highlight .cp { color: #557799 } /* Comment.Preproc */
-.highlight .cpf { color: #88 } /* Comment.PreprocFile */
-.highlight .c1 { color: #88 } /* Comment.Single */
-.highlight .cs { color: #cc; font-weight: bold } /* Comment.Special */
-.highlight .gd { color: #A0 } /* Generic.Deleted */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #FF } /* Generic.Error */
-.highlight .gh { color: #80; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #88 } /* Generic.Output */
-.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #0044DD } /* Generic.Traceback */
-.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #99; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
-.highlight .s { background-color: inherit } /* Literal.String */
-.highlight .na { color: #CC } /* Name.Attribute */
-.highlight .nb { color: #007020 } /* Name.Builtin */
-.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
-.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
-.highlight .nd { color: #55; font-weight: bold } /* Name.Decorator */
-.highlight .ni { color: #88; font-weight: bold } /* Name.Entity */
-.highlight .ne { color: #FF; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
-.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
-.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
-.highlight .nt { color: #007700 } /* Name.Tag */
-.highlight .nv { color: #996633 } /* Name.Variable */
-.highlight .ow { color: #00; font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bb } /* Text.Whitespace */
-.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
-.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
-.highlight .mh { color: #005588; 

[incubator-openwhisk-website] branch master updated: Update home page illustrations based upon feedback (#297)

2018-08-10 Thread pdesai
This is an automated email from the ASF dual-hosted git repository.

pdesai pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git


The following commit(s) were added to refs/heads/master by this push:
 new 15aac81  Update home page illustrations based upon feedback (#297)
15aac81 is described below

commit 15aac81e0a23c926e72a50afc7f8b2444eaca265
Author: Matt Rutkowski 
AuthorDate: Fri Aug 10 15:32:24 2018 -0500

Update home page illustrations based upon feedback (#297)

* Update home page illustrations based upon feedback

* Update home page illustrations based upon feedback

* Update home page illustrations based upon feedback
---
 _layouts/home.html |   4 +-
 css/highlite-syntax-colors.css |  69 
 .../elements/OW-Abstract Architecture Diagram.png  | Bin 5750714 -> 408820 
bytes
 .../elements/OW-Abstract Architecture Diagram.pptx | Bin 2237835 -> 2290497 
bytes
 .../elements/illustration-developers-flexible.png  | Bin 59639 -> 0 bytes
 .../elements/illustration-developers-flexible.svg  |  40 ---
 .../unused}/apache-openwhisk-action-animation.gif  | Bin
 images/runtimes/OW-Runtime-Compositions.png| Bin 0 -> 124803 bytes
 .../OW-Runtime-Compositions.pptx}  | Bin 2237835 -> 1221365 
bytes
 images/runtimes/OW-Runtimes-small.png  | Bin 356774 -> 0 bytes
 images/runtimes/OW-Runtimes.png| Bin 2406427 -> 630525 
bytes
 images/runtimes/OW-Runtimes.pptx   | Bin 3099686 -> 3139731 
bytes
 images/runtimes/logo-go-notext-fuschia.png | Bin 0 -> 29120 bytes
 images/runtimes/logo-go-notext-lightblue.png   | Bin 6570 -> 0 bytes
 images/runtimes/logo-go-notext-lightblue.svg   | 125 -
 15 files changed, 2 insertions(+), 236 deletions(-)

diff --git a/_layouts/home.html b/_layouts/home.html
index 2850beb..6eba522 100644
--- a/_layouts/home.html
+++ b/_layouts/home.html
@@ -66,7 +66,7 @@ layout: default
 
 
 
-
+
 
 
 Integrate easily with many popular services
@@ -100,7 +100,7 @@ layout: default
 
 
 
-
+
 
 
 
diff --git a/css/highlite-syntax-colors.css b/css/highlite-syntax-colors.css
deleted file mode 100644
index beb6212..000
--- a/css/highlite-syntax-colors.css
+++ /dev/null
@@ -1,69 +0,0 @@
-.highlight .hll { background-color: inherit }
-.highlight  { background: inherit; }
-.highlight .c { color: #88 } /* Comment */
-.highlight .err { color: #FF; background-color: inherit } /* Error */
-.highlight .k { color: #008800; font-weight: bold } /* Keyword */
-.highlight .o { color: #33 } /* Operator */
-.highlight .ch { color: #88 } /* Comment.Hashbang */
-.highlight .cm { color: #88 } /* Comment.Multiline */
-.highlight .cp { color: #557799 } /* Comment.Preproc */
-.highlight .cpf { color: #88 } /* Comment.PreprocFile */
-.highlight .c1 { color: #88 } /* Comment.Single */
-.highlight .cs { color: #cc; font-weight: bold } /* Comment.Special */
-.highlight .gd { color: #A0 } /* Generic.Deleted */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #FF } /* Generic.Error */
-.highlight .gh { color: #80; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #88 } /* Generic.Output */
-.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #0044DD } /* Generic.Traceback */
-.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #99; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
-.highlight .s { background-color: inherit } /* Literal.String */
-.highlight .na { color: #CC } /* Name.Attribute */
-.highlight .nb { color: #007020 } /* Name.Builtin */
-.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
-.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
-.highlight .nd { color: #55; font-weight: bold } /* Name.Decorator */
-.highlight .ni { color: #88; font-weight: bold } /* Name.Entity */
-.highlight .ne { color: #FF; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */

[incubator-openwhisk] branch master updated: Make amount of parallel docker runs configurable. (#3698)

2018-08-10 Thread markusthoemmes
This is an automated email from the ASF dual-hosted git repository.

markusthoemmes pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
 new 9d20eae  Make amount of parallel docker runs configurable. (#3698)
9d20eae is described below

commit 9d20eae1b51c1599273506c85d7fe45fa4d6e0bc
Author: Christian Bickel 
AuthorDate: Fri Aug 10 14:14:22 2018 +0200

Make amount of parallel docker runs configurable. (#3698)
---
 ansible/roles/invoker/tasks/deploy.yml |  3 ++-
 .../src/main/scala/whisk/core/WhiskConfig.scala|  2 +-
 core/invoker/src/main/resources/application.conf   | 28 ++---
 .../core/containerpool/docker/DockerClient.scala   | 29 +-
 4 files changed, 39 insertions(+), 23 deletions(-)

diff --git a/ansible/roles/invoker/tasks/deploy.yml 
b/ansible/roles/invoker/tasks/deploy.yml
index 98b5c14..8fd93bf 100644
--- a/ansible/roles/invoker/tasks/deploy.yml
+++ b/ansible/roles/invoker/tasks/deploy.yml
@@ -206,6 +206,7 @@
   "INVOKER_CONTAINER_POLICY": "{{ invoker_container_policy_name | 
default()}}"
   "CONFIG_whisk_containerPool_numCore": "{{ invoker.numcore }}"
   "CONFIG_whisk_containerPool_coreShare": "{{ invoker.coreshare }}"
+  "CONFIG_whisk_docker_client_parallelRuns": "{{ invoker_parallel_runs | 
default() }}"
   "CONFIG_whisk_docker_containerFactory_useRunc": "{{ invoker.useRunc }}"
   "WHISK_LOGS_DIR": "{{ whisk_logs_dir }}"
   "METRICS_KAMON": "{{ metrics.kamon.enabled }}"
@@ -271,7 +272,7 @@
 volumes: "{{ volumes|default('') }},{{ coverage_logs_dir 
}}/invoker:/coverage"
   when: coverage_enabled
 
-- name: start invoker using docker cli
+- name: start invoker
   docker_container:
 userns_mode: "host"
 pid_mode: "host"
diff --git a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala 
b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala
index 7fdb10b..5f7a8db 100644
--- a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala
+++ b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala
@@ -213,7 +213,7 @@ object ConfigKeys {
   val db = "whisk.db"
 
   val docker = "whisk.docker"
-  val dockerTimeouts = s"$docker.timeouts"
+  val dockerClient = s"$docker.client"
   val dockerContainerFactory = s"${docker}.container-factory"
   val runc = "whisk.runc"
   val runcTimeouts = s"$runc.timeouts"
diff --git a/core/invoker/src/main/resources/application.conf 
b/core/invoker/src/main/resources/application.conf
index 8edb386..c471d1b 100644
--- a/core/invoker/src/main/resources/application.conf
+++ b/core/invoker/src/main/resources/application.conf
@@ -10,15 +10,25 @@ whisk {
 poll-interval: 5 minutes
   }
 
-  # Timeouts for docker commands. Set to "Inf" to disable timeout.
-  docker.timeouts {
-run: 1 minute
-rm: 1 minute
-pull: 10 minutes
-ps: 1 minute
-inspect: 1 minute
-pause: 10 seconds
-unpause: 10 seconds
+  docker.client {
+# Docker < 1.13.1 has a known problem: if more than 10 containers are 
created (docker run)
+# concurrently, there is a good chance that some of them will fail.
+# See https://github.com/moby/moby/issues/29369
+# Use a semaphore to make sure that at most 10 `docker run` commands are 
active
+# the same time.
+# 0 means that there are infinite parallel runs.
+parallel-runs: 10
+
+# Timeouts for docker commands. Set to "Inf" to disable timeout.
+timeouts {
+  run: 1 minute
+  rm: 1 minute
+  pull: 10 minutes
+  ps: 1 minute
+  inspect: 1 minute
+  pause: 10 seconds
+  unpause: 10 seconds
+}
   }
 
   docker.container-factory {
diff --git 
a/core/invoker/src/main/scala/whisk/core/containerpool/docker/DockerClient.scala
 
b/core/invoker/src/main/scala/whisk/core/containerpool/docker/DockerClient.scala
index 44102b8..8a87e37 100644
--- 
a/core/invoker/src/main/scala/whisk/core/containerpool/docker/DockerClient.scala
+++ 
b/core/invoker/src/main/scala/whisk/core/containerpool/docker/DockerClient.scala
@@ -66,6 +66,11 @@ case class DockerClientTimeoutConfig(run: Duration,
  inspect: Duration)
 
 /**
+ * Configuration for docker client
+ */
+case class DockerClientConfig(parallelRuns: Int, timeouts: 
DockerClientTimeoutConfig)
+
+/**
  * Serves as interface to the docker CLI tool.
  *
  * Be cautious with the ExecutionContext passed to this, as the
@@ -74,8 +79,7 @@ case class DockerClientTimeoutConfig(run: Duration,
  * You only need one instance (and you shouldn't get more).
  */
 class DockerClient(dockerHost: Option[String] = None,
-   timeouts: DockerClientTimeoutConfig =
- 
loadConfigOrThrow[DockerClientTimeoutConfig](ConfigKeys.dockerTimeouts))(
+   config: DockerClientConfig = 
loadConfigOrThrow[DockerClientConfig](ConfigKeys.dockerClient))(