[CONF] OpenWhisk > AI Actions
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)
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
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)
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)
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))(