[incubator-openwhisk] branch master updated: bump nodejs6 from 6.14.0 -> 6.14.1, nodejs8 from 8.11.0 -> 8.11.1 (#3549)
This is an automated email from the ASF dual-hosted git repository. csantanapr 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 a8b3c0f bump nodejs6 from 6.14.0 -> 6.14.1, nodejs8 from 8.11.0 -> 8.11.1 (#3549) a8b3c0f is described below commit a8b3c0f4b567d6a41116a9c501413c8c3042d400 Author: Eric WeitermanAuthorDate: Fri Apr 13 17:05:06 2018 -0400 bump nodejs6 from 6.14.0 -> 6.14.1, nodejs8 from 8.11.0 -> 8.11.1 (#3549) --- actionRuntimes/nodejs6Action/Dockerfile | 2 +- actionRuntimes/nodejs8Action/Dockerfile | 2 +- docs/reference.md | 8 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/actionRuntimes/nodejs6Action/Dockerfile b/actionRuntimes/nodejs6Action/Dockerfile index 0116753..c0fa3fe 100644 --- a/actionRuntimes/nodejs6Action/Dockerfile +++ b/actionRuntimes/nodejs6Action/Dockerfile @@ -1,2 +1,2 @@ -FROM openwhisk/nodejs6action:1.8.0 +FROM openwhisk/nodejs6action:1.8.1 diff --git a/actionRuntimes/nodejs8Action/Dockerfile b/actionRuntimes/nodejs8Action/Dockerfile index f1e8667..51d4ea6 100644 --- a/actionRuntimes/nodejs8Action/Dockerfile +++ b/actionRuntimes/nodejs8Action/Dockerfile @@ -1,2 +1,2 @@ -FROM openwhisk/action-nodejs-v8:1.5.0 +FROM openwhisk/action-nodejs-v8:1.5.1 diff --git a/docs/reference.md b/docs/reference.md index 1873115..78e429b 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -210,9 +210,9 @@ JavaScript actions can be executed in Node.js version 6 or Node.js version 8. Currently actions are executed by default in a Node.js version 6 environment. ### Node.js version 6 environment -The Node.js 6.14.0 environment will be used for an action if the `--kind` flag is explicitly specified with a value of 'nodejs:6' when creating/updating the action. +The Node.js 6.14.1 environment will be used for an action if the `--kind` flag is explicitly specified with a value of 'nodejs:6' when creating/updating the action. -The following packages are available to be used in the Node.js 6.14.0 environment: +The following packages are available to be used in the Node.js 6.14.1 environment: - [apn v2.1.2](https://www.npmjs.com/package/apn) - A Node.js module for interfacing with the Apple Push Notification service. - [async v2.1.4](https://www.npmjs.com/package/async) - Provides functions for working with asynchronous functions. @@ -267,9 +267,9 @@ The following packages are available to be used in the Node.js 6.14.0 environmen - [yauzl v2.7.0](https://www.npmjs.com/package/yauzl) - Yet another unzip library for node. For zipping. ### Node.js version 8 environment -The Node.js version 8.11.0 environment is used if the `--kind` flag is explicitly specified with a value of 'nodejs:8' when creating or updating an Action. +The Node.js version 8.11.1 environment is used if the `--kind` flag is explicitly specified with a value of 'nodejs:8' when creating or updating an Action. -The following packages are pre-installed in the Node.js version 8.11.0 environment: +The following packages are pre-installed in the Node.js version 8.11.1 environment: - [openwhisk v3.14.0](https://www.npmjs.com/package/openwhisk) - JavaScript client library for the OpenWhisk platform. Provides a wrapper around the OpenWhisk APIs. -- To stop receiving notification emails like this one, please contact csantan...@apache.org.
[incubator-openwhisk-cli] branch master updated: Use utils from incubator-openwhisk and rename duplicate tests to be accurate (#270)
This is an automated email from the ASF dual-hosted git repository. dubeejw pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-cli.git The following commit(s) were added to refs/heads/master by this push: new bfd4f0b Use utils from incubator-openwhisk and rename duplicate tests to be accurate (#270) bfd4f0b is described below commit bfd4f0b4727fbaf8cb57140dca579db73cc1384c Author: David CarielloAuthorDate: Fri Apr 13 13:19:06 2018 -0500 Use utils from incubator-openwhisk and rename duplicate tests to be accurate (#270) * rename instead of merge apigwtests * remove CLI utils * remove test action code and rely on incubator-openwhisk to host master list * use sleep.js instead of timeout --- tests/dat/actions/applicationError.js | 3 - tests/dat/actions/argCheck.js | 3 - tests/dat/actions/asyncError.js| 3 - tests/dat/actions/base64Web.js | 9 -- tests/dat/actions/blackbox.zip | Bin 256 -> 0 bytes tests/dat/actions/cat.js | 13 -- tests/dat/actions/corsHeaderMod.js | 12 -- tests/dat/actions/countdown.js | 20 --- tests/dat/actions/echo-web-http.js | 10 -- tests/dat/actions/echo.js | 6 - tests/dat/actions/empty.js | 0 tests/dat/actions/emptyJSONResult.js | 2 - tests/dat/actions/head.js | 14 -- tests/dat/actions/hello.js | 8 -- tests/dat/actions/hello.py | 27 tests/dat/actions/hello.swift | 10 -- tests/dat/actions/helloAsync.js| 19 --- tests/dat/actions/helloContext.js | 10 -- tests/dat/actions/helloDeadline.js | 24 tests/dat/actions/helloJava.jar| Bin 1082 -> 0 bytes tests/dat/actions/helloJavaDefaultPackage.jar | Bin 1288 -> 0 bytes tests/dat/actions/helloOpenwhiskPackage.js | 26 tests/dat/actions/helloPromise.js | 9 -- tests/dat/actions/initexit.js | 1 - tests/dat/actions/initforever.js | 1 - tests/dat/actions/invalidInput1.json | 3 - tests/dat/actions/invalidInput2.json | 4 - tests/dat/actions/invalidInput3.json | 2 - tests/dat/actions/invalidInput4.json | 3 - tests/dat/actions/issue-1562.js| 6 - tests/dat/actions/log.js | 7 - tests/dat/actions/malformed.js | 1 - tests/dat/actions/malformed.py | 2 - tests/dat/actions/multipleHeaders.js | 8 -- tests/dat/actions/niam.js | 3 - tests/dat/actions/niam.py | 6 - tests/dat/actions/niam.swift | 4 - tests/dat/actions/ping.js | 27 tests/dat/actions/pngWeb.js| 13 -- tests/dat/actions/printParams.js | 25 tests/dat/actions/python.zip | Bin 726 -> 0 bytes tests/dat/actions/python2_virtualenv.zip | Bin 3644338 -> 0 bytes tests/dat/actions/python3_virtualenv.zip | Bin 3804236 -> 0 bytes tests/dat/actions/pythonVersion.py | 25 tests/dat/actions/runexit.js | 3 - tests/dat/actions/sort.js | 14 -- tests/dat/actions/split.js | 14 -- tests/dat/actions/stdenv.py| 7 - tests/dat/actions/textBody.js | 8 -- tests/dat/actions/timeout.js | 18 --- tests/dat/actions/validInput1.json | 11 -- tests/dat/actions/validInput2.json | 3 - tests/dat/actions/wc.js| 10 -- tests/dat/actions/wcbin.js | 26 tests/dat/actions/zippedaction.zip | Bin 51940 -> 0 bytes .../apigw/endpoints.without.action.swagger.json| 76 --- tests/dat/apigw/local.api.bad.yaml | 35 - tests/dat/apigw/local.api.yaml | 31 - tests/dat/apigw/testswaggerdoc1| 61 - tests/dat/apigw/testswaggerdoc1V2 | 61 - tests/dat/apigw/testswaggerdoc2| 117 tests/dat/apigw/testswaggerdoc2V2 | 117 tests/dat/apigw/testswaggerdocinvalid | 12 -- tests/src/test/scala/common/TestCLIUtils.scala | 32 - .../scala/system/basic/WskCliActionTests.scala | 4 +- ...{WskBasicTests.scala => WskCliBasicTests.scala} |
[incubator-openwhisk-runtime-nodejs] tag 8@1.5.1 created (now 6a41492)
This is an automated email from the ASF dual-hosted git repository. csantanapr pushed a change to tag 8@1.5.1 in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-runtime-nodejs.git. at 6a41492 (commit) No new revisions were added by this update. -- To stop receiving notification emails like this one, please contact csantan...@apache.org.
[incubator-openwhisk-runtime-nodejs] tag 6@1.8.1 created (now 6a41492)
This is an automated email from the ASF dual-hosted git repository. csantanapr pushed a change to tag 6@1.8.1 in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-runtime-nodejs.git. at 6a41492 (commit) No new revisions were added by this update. -- To stop receiving notification emails like this one, please contact csantan...@apache.org.
[incubator-openwhisk-runtime-nodejs] branch master updated: update ChangeLog to reflect minor version bump instead of major (#36)
This is an automated email from the ASF dual-hosted git repository. csantanapr pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-runtime-nodejs.git The following commit(s) were added to refs/heads/master by this push: new 6a41492 update ChangeLog to reflect minor version bump instead of major (#36) 6a41492 is described below commit 6a4149226f1f7a1eb7d6ae8dd1fa8116db9a7ca4 Author: Eric WeitermanAuthorDate: Fri Apr 13 12:36:45 2018 -0400 update ChangeLog to reflect minor version bump instead of major (#36) --- core/nodejs6Action/CHANGELOG.md | 2 +- core/nodejs8Action/CHANGELOG.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/nodejs6Action/CHANGELOG.md b/core/nodejs6Action/CHANGELOG.md index 6fe8f75..2c777a7 100644 --- a/core/nodejs6Action/CHANGELOG.md +++ b/core/nodejs6Action/CHANGELOG.md @@ -1,6 +1,6 @@ # NodeJS 6 OpenWhisk Runtime Container -## 1.9.0 +## 1.8.1 Change: Update Node.js Node.js version = 6.14.1 diff --git a/core/nodejs8Action/CHANGELOG.md b/core/nodejs8Action/CHANGELOG.md index d8eef5a..03aa2d1 100644 --- a/core/nodejs8Action/CHANGELOG.md +++ b/core/nodejs8Action/CHANGELOG.md @@ -1,6 +1,6 @@ # NodeJS 8 OpenWhisk Runtime Container -## 1.6.0 +## 1.5.1 Change: Update Node.js Node.js version = 8.11.1 -- To stop receiving notification emails like this one, please contact csantan...@apache.org.
[incubator-openwhisk-runtime-nodejs] branch master updated: update nodejs8 and nodejs6 (#35)
This is an automated email from the ASF dual-hosted git repository. csantanapr pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-runtime-nodejs.git The following commit(s) were added to refs/heads/master by this push: new cab3252 update nodejs8 and nodejs6 (#35) cab3252 is described below commit cab325248b7c4e8f76bca96acb0706f55ea38c8b Author: Eric WeitermanAuthorDate: Fri Apr 13 11:25:25 2018 -0400 update nodejs8 and nodejs6 (#35) --- core/nodejs6Action/CHANGELOG.md | 5 + core/nodejs6Action/Dockerfile | 2 +- core/nodejs8Action/CHANGELOG.md | 5 + core/nodejs8Action/Dockerfile | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/core/nodejs6Action/CHANGELOG.md b/core/nodejs6Action/CHANGELOG.md index fd45366..6fe8f75 100644 --- a/core/nodejs6Action/CHANGELOG.md +++ b/core/nodejs6Action/CHANGELOG.md @@ -1,5 +1,10 @@ # NodeJS 6 OpenWhisk Runtime Container +## 1.9.0 +Change: Update Node.js + +Node.js version = 6.14.1 + ## 1.8.0 Change: Update Node.js diff --git a/core/nodejs6Action/Dockerfile b/core/nodejs6Action/Dockerfile index ccafce4..86a25c6 100644 --- a/core/nodejs6Action/Dockerfile +++ b/core/nodejs6Action/Dockerfile @@ -1,7 +1,7 @@ FROM nodejsactionbase # based on https://github.com/nodejs/docker-node -ENV NODE_VERSION 6.14.0 +ENV NODE_VERSION 6.14.1 RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz; \ && tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \ && rm "node-v$NODE_VERSION-linux-x64.tar.gz" diff --git a/core/nodejs8Action/CHANGELOG.md b/core/nodejs8Action/CHANGELOG.md index e25e2b3..d8eef5a 100644 --- a/core/nodejs8Action/CHANGELOG.md +++ b/core/nodejs8Action/CHANGELOG.md @@ -1,5 +1,10 @@ # NodeJS 8 OpenWhisk Runtime Container +## 1.6.0 +Change: Update Node.js + +Node.js version = 8.11.1 + ## 1.5.0 Change: Update Node.js diff --git a/core/nodejs8Action/Dockerfile b/core/nodejs8Action/Dockerfile index d286ec7..6d5e772 100644 --- a/core/nodejs8Action/Dockerfile +++ b/core/nodejs8Action/Dockerfile @@ -1,4 +1,4 @@ -FROM node:8.11.0 +FROM node:8.11.1 RUN apt-get update && apt-get install -y \ imagemagick \ unzip \ -- To stop receiving notification emails like this one, please contact csantan...@apache.org.
[incubator-openwhisk] branch master updated: Remove bookkeeping setting which is no longer applicable. (#3547)
This is an automated email from the ASF dual-hosted git repository. cbickel 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 d99a272 Remove bookkeeping setting which is no longer applicable. (#3547) d99a272 is described below commit d99a2729467e31157bc362154e6955e819d30c87 Author: Markus ThömmesAuthorDate: Fri Apr 13 13:58:22 2018 +0200 Remove bookkeeping setting which is no longer applicable. (#3547) This is essentially a leftover of the removal of the old loadbalancer. --- ansible/roles/controller/tasks/deploy.yml | 1 - common/scala/src/main/scala/whisk/core/WhiskConfig.scala | 2 -- .../scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala | 4 +--- docs/deploy.md| 4 ++-- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/ansible/roles/controller/tasks/deploy.yml b/ansible/roles/controller/tasks/deploy.yml index b9e8c78..87167f5 100644 --- a/ansible/roles/controller/tasks/deploy.yml +++ b/ansible/roles/controller/tasks/deploy.yml @@ -171,7 +171,6 @@ "CONFIG_whisk_runtimes_bypassPullForLocalImages": "{{ runtimes_bypass_pull_for_local_images | default() }}" "CONFIG_whisk_runtimes_localImagePrefix": "{{ runtimes_local_image_prefix | default() }}" - "CONTROLLER_LOCALBOOKKEEPING": "{{ controller.localBookkeeping }}" "AKKA_CLUSTER_SEED_NODES": "{{seed_nodes_list | join(' ') }}" "METRICS_KAMON": "{{ metrics.kamon.enabled }}" "METRICS_KAMON_TAGS": "{{ metrics.kamon.tags }}" diff --git a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala index eb22e9d..c9683d6 100644 --- a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala +++ b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala @@ -84,7 +84,6 @@ class WhiskConfig(requiredProperties: Map[String, String], val actionInvokeSystemOverloadLimit = this(WhiskConfig.actionInvokeSystemOverloadLimit) val actionSequenceLimit = this(WhiskConfig.actionSequenceMaxLimit) val controllerSeedNodes = this(WhiskConfig.controllerSeedNodes) - val controllerLocalBookkeeping = getAsBoolean(WhiskConfig.controllerLocalBookkeeping, false) } object WhiskConfig { @@ -203,7 +202,6 @@ object WhiskConfig { val actionInvokeSystemOverloadLimit = "limits.actions.invokes.concurrentInSystem" val triggerFirePerMinuteLimit = "limits.triggers.fires.perMinute" val controllerSeedNodes = "akka.cluster.seed.nodes" - val controllerLocalBookkeeping = "controller.localBookkeeping" } object ConfigKeys { diff --git a/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala b/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala index 718079e..d10f03e 100644 --- a/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala +++ b/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala @@ -305,9 +305,7 @@ object ShardingContainerPoolBalancer extends LoadBalancerProvider { logging: Logging, materializer: ActorMaterializer): LoadBalancer = new ShardingContainerPoolBalancer(whiskConfig, instance) - def requiredProperties: Map[String, String] = -kafkaHosts ++ - Map(controllerLocalBookkeeping -> null, controllerSeedNodes -> null) + def requiredProperties: Map[String, String] = kafkaHosts ++ Map(controllerSeedNodes -> null) /** Generates a hash based on the string representation of namespace and action */ def generateHash(namespace: EntityName, action: FullyQualifiedEntityName): Int = { diff --git a/docs/deploy.md b/docs/deploy.md index 49c2636..1ad8456 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -2,7 +2,7 @@ This page documents configuration options that should be considered when deployi # Controller Clustering -The system can be configured to use Akka clustering to manage the distributed state of the Contoller's load balancing algorithm. This imposes the following constriaints on a deployment +The system can be configured to use Akka clustering to manage the distributed state of the Contoller's load balancing algorithm. This imposes the following constraints on a deployment ## Controller nodes must have static IPs/Port combination. @@ -19,7 +19,7 @@ https://doc.akka.io/docs/akka/2.5.4/scala/cluster-usage.html ## Shared state vs. Sharding -OpenWhisk supports both a shared state and a sharding model. By default the shared-state loadbalancer is used. The sharding loadbalancer is the newer implementation and scheduled to eventually supersede the shared-state implementation and become the default. To configure your system to use the sharding implementation, set
[incubator-openwhisk] branch master updated: Add gatling as performance test suite. (#3526)
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 56891fb Add gatling as performance test suite. (#3526) 56891fb is described below commit 56891fbeb1ca306b4685396f13f07cb4b60a3022 Author: Christian BickelAuthorDate: Fri Apr 13 10:16:38 2018 +0200 Add gatling as performance test suite. (#3526) Adds an initial gatling based performance test, including a framework to talk to the OpenWhisk API in a declarative way. This first implementation only asserts /api/v1 performance, which can be helpful to measure general network/router performance. Co-authored-by: Markus Thömmes --- .travis.yml| 1 + performance/README.md | 44 +++--- performance/gatling_tests/build.gradle | 19 ++ .../src/gatling/resources/conf/logback.xml | 14 + .../src/gatling/scala/ApiV1Simulation.scala| 51 .../extension/whisk/OpenWhiskActionBuilder.scala | 38 .../scala/extension/whisk/OpenWhiskDsl.scala | 26 + .../extension/whisk/OpenWhiskProtocolBuilder.scala | 67 ++ .../src/gatling/scala/extension/whisk/Predef.scala | 20 +++ performance/preparation/deploy.sh | 1 + settings.gradle| 1 + 11 files changed, 275 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 52d6109..7fc1587 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,5 +64,6 @@ jobs: - ./performance/preparation/deploy.sh - TERM=dumb ./performance/wrk_tests/latency.sh "https://172.17.0.1:10001; "$(cat ansible/files/auth.guest)" 2m - TERM=dumb ./performance/wrk_tests/throughput.sh "https://172.17.0.1:10001; "$(cat ansible/files/auth.guest)" 4 2 2m +- OPENWHISK_HOST="172.17.0.1" CONNECTIONS="100" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-ApiV1Simulation env: - DESCRIPTION="Execute wrk-performance test suite." diff --git a/performance/README.md b/performance/README.md index c1d668f..f089021 100644 --- a/performance/README.md +++ b/performance/README.md @@ -2,7 +2,7 @@ A few simple but efficient test suites for determining the maximum throughput and end-user latency of the Apache OpenWhisk system. ## Workflow -- A standard OpenWhisk system is deployed. (_Note that the edge NGINX router and API Gateway are currently left out. As a consequence, the tests talk directly to the controller._) +- A standard OpenWhisk system is deployed. (_Note that the API Gateway is currently left out for the tests._) - All limits are set to 99, which in our current use case means "No throttling at all". - The deployment is using the docker setup proposed by the OpenWhisk development team: `overlay` driver and HTTP API enabled via a UNIX port. @@ -13,8 +13,10 @@ The [machine provided by Travis](https://docs.travis-ci.com/user/ci-environment/ ## Suites -### Latency Test -Determines the end-to-end latency a user experience when doing a blocking invocation. The action used is a no-op so the numbers returned are the plain overhead of the OpenWhisk system. +### wrk + + Latency Test +Determines the end-to-end latency a user experience when doing a blocking invocation. The action used is a no-op so the numbers returned are the plain overhead of the OpenWhisk system. The requests are directly against the controller. - 1 HTTP request at a time (concurrency: 1) - You can specify how long this test will run. Default are 30s. @@ -22,12 +24,40 @@ Determines the end-to-end latency a user experience when doing a blocking invoca **Note:** The throughput number has a 100% correlation with the latency in this case. This test does not serve to determine the maximum throughput of the system. -### Throughput Test -Determines the maximum throughput a user can get out of the system while using a single action. The action used is a no-op, so the numbers are plain OpenWhisk overhead. Note that the throughput does not directly correlate to end-to-end latency here, as the system does more processing in the background as it shows to the user in a blocking invocation. + Throughput Test +Determines the maximum throughput a user can get out of the system while using a single action. The action used is a no-op, so the numbers are plain OpenWhisk overhead. Note that the throughput does not directly correlate to end-to-end latency here, as the system does more processing in the background as it shows to the user in a blocking invocation. The requests are directly against the controller. - 4 HTTP requests at a time (concurrency: 4) (using CPU cores * 2 to exploit some
[incubator-openwhisk] branch master updated: Implement ContainerFactory.cpuShare to calculate per container share. (#3211)
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 d7c9fd6 Implement ContainerFactory.cpuShare to calculate per container share. (#3211) d7c9fd6 is described below commit d7c9fd661a8a5b339f20b3f549bfa4fa47124706 Author: tysonnorrisAuthorDate: Fri Apr 13 01:10:44 2018 -0700 Implement ContainerFactory.cpuShare to calculate per container share. (#3211) Fixes #3110. --- ansible/roles/invoker/tasks/deploy.yml | 6 +- .../src/main/scala/whisk/core/WhiskConfig.scala| 8 +- .../core/containerpool/ContainerFactory.scala | 20 +++- .../whisk/core/mesos/MesosContainerFactory.scala | 5 +- core/invoker/src/main/resources/application.conf | 12 +- .../whisk/core/containerpool/ContainerPool.scala | 19 ++-- .../whisk/core/containerpool/ContainerProxy.scala | 14 ++- .../docker/DockerContainerFactory.scala| 46 +--- .../kubernetes/KubernetesContainerFactory.scala| 3 +- .../main/scala/whisk/core/invoker/Invoker.scala| 6 +- .../scala/whisk/core/invoker/InvokerReactive.scala | 19 ++-- tests/src/test/scala/common/LoggedFunction.scala | 10 ++ .../docker/test/DockerContainerFactoryTests.scala | 122 + .../mesos/test/MesosContainerFactoryTest.scala | 38 +-- .../test/ContainerArgsConfigTest.scala | 6 +- .../containerpool/test/ContainerPoolTests.scala| 29 +++-- .../containerpool/test/ContainerProxyTests.scala | 54 ++--- 17 files changed, 315 insertions(+), 102 deletions(-) diff --git a/ansible/roles/invoker/tasks/deploy.yml b/ansible/roles/invoker/tasks/deploy.yml index e9302eb..a1aca12 100644 --- a/ansible/roles/invoker/tasks/deploy.yml +++ b/ansible/roles/invoker/tasks/deploy.yml @@ -192,9 +192,9 @@ {% for item in (invoker_container_network_dns_servers | default()).split(' ') %} -e CONFIG_whisk_containerFactory_containerArgs_dnsServers_{{loop.index0}}={{ item }} {% endfor %} --e INVOKER_NUMCORE='{{ invoker.numcore }}' --e INVOKER_CORESHARE='{{ invoker.coreshare }}' --e INVOKER_USE_RUNC='{{ invoker.useRunc }}' +-e CONFIG_whisk_containerPool_numCore='{{ invoker.numcore }}' +-e CONFIG_whisk_containerPool_coreShare='{{ invoker.coreshare }}' +-e CONFIG_whisk_docker_containerFactory_useRunc='{{ invoker.useRunc }}' -e INVOKER_NAME='{{ groups['invokers'].index(inventory_hostname) }}' -e WHISK_LOGS_DIR='{{ whisk_logs_dir }}' -e METRICS_KAMON='{{ metrics.kamon.enabled }}' diff --git a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala index 8779323..eb22e9d 100644 --- a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala +++ b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala @@ -58,9 +58,6 @@ class WhiskConfig(requiredProperties: Map[String, String], val dockerImagePrefix = this(WhiskConfig.dockerImagePrefix) val dockerImageTag = this(WhiskConfig.dockerImageTag) - val invokerNumCore = this(WhiskConfig.invokerNumCore) - val invokerCoreShare = this(WhiskConfig.invokerCoreShare) - val invokerUseRunc = this.getAsBoolean(WhiskConfig.invokerUseRunc, true) val invokerName = this(WhiskConfig.invokerName) val wskApiHost = this(WhiskConfig.wskApiProtocol) + "://" + this(WhiskConfig.wskApiHostname) + ":" + this( @@ -170,9 +167,6 @@ object WhiskConfig { val dockerImagePrefix = "docker.image.prefix" val dockerImageTag = "docker.image.tag" - val invokerNumCore = "invoker.numcore" - val invokerCoreShare = "invoker.coreshare" - val invokerUseRunc = "invoker.use.runc" val invokerName = "invoker.name" val wskApiProtocol = "whisk.api.host.proto" @@ -233,10 +227,12 @@ object ConfigKeys { val docker = "whisk.docker" val dockerTimeouts = s"$docker.timeouts" + val dockerContainerFactory = s"${docker}.container-factory" val runc = "whisk.runc" val runcTimeouts = s"$runc.timeouts" val containerFactory = "whisk.container-factory" val containerArgs = s"$containerFactory.container-args" + val containerPool = "whisk.container-pool" val blacklist = "whisk.blacklist" val kubernetes = "whisk.kubernetes" diff --git a/common/scala/src/main/scala/whisk/core/containerpool/ContainerFactory.scala b/common/scala/src/main/scala/whisk/core/containerpool/ContainerFactory.scala index 17860c0..35d3b8b 100644 --- a/common/scala/src/main/scala/whisk/core/containerpool/ContainerFactory.scala +++ b/common/scala/src/main/scala/whisk/core/containerpool/ContainerFactory.scala @@ -31,6 +31,23 @@ case class ContainerArgsConfig(network: String, dnsServers: Seq[String] = Seq.empty,
[incubator-openwhisk] branch master updated: Add activation logs integration test. (#3537)
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 2ca01de Add activation logs integration test. (#3537) 2ca01de is described below commit 2ca01de39972c69c2f201b93bae3b6be745d2eb8 Author: James DubeeAuthorDate: Fri Apr 13 02:21:02 2018 -0400 Add activation logs integration test. (#3537) --- .../scala/system/basic/WskActivationTests.scala| 57 ++ .../system/basic/WskRestActivationTests.scala | 28 +++ 2 files changed, 85 insertions(+) diff --git a/tests/src/test/scala/system/basic/WskActivationTests.scala b/tests/src/test/scala/system/basic/WskActivationTests.scala new file mode 100644 index 000..06ce382 --- /dev/null +++ b/tests/src/test/scala/system/basic/WskActivationTests.scala @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package system.basic + +import org.junit.runner.RunWith +import org.scalatest.junit.JUnitRunner + +import common.{BaseWsk, JsHelpers, TestHelpers, TestUtils, WskProps, WskTestHelpers} + +import whisk.utils.retry + +import scala.concurrent.duration._ + +@RunWith(classOf[JUnitRunner]) +abstract class WskActivationTests extends TestHelpers with WskTestHelpers with JsHelpers { + implicit val wskprops = WskProps() + + val wsk: BaseWsk + + behavior of "Whisk activations" + + it should "fetch logs using activation logs API" in withAssetCleaner(wskprops) { (wp, assetHelper) => +val name = "logFetch" +val logFormat = "\\d+-\\d+-\\d+T\\d+:\\d+:\\d+.\\d+Z\\s+%s: %s" + +assetHelper.withCleaner(wsk.action, name) { (action, _) => + action.create(name, Some(TestUtils.getTestActionFilename("log.js"))) +} + +val run = wsk.action.invoke(name, blocking = true) + +// Use withActivation() to reduce intermittent failures that may result from eventually consistent DBs +withActivation(wsk.activation, run) { activation => + retry({ +val logs = wsk.activation.logs(Some(activation.activationId)).stdout + +logs should include regex (logFormat.format("stdout", "this is stdout")) +logs should include regex (logFormat.format("stderr", "this is stderr")) + }, 10, Some(1.second)) +} + } +} diff --git a/tests/src/test/scala/system/basic/WskRestActivationTests.scala b/tests/src/test/scala/system/basic/WskRestActivationTests.scala new file mode 100644 index 000..5044938 --- /dev/null +++ b/tests/src/test/scala/system/basic/WskRestActivationTests.scala @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package system.basic + +import org.junit.runner.RunWith +import org.scalatest.junit.JUnitRunner + +import common.rest.WskRest + +@RunWith(classOf[JUnitRunner]) +class WskRestActivationTests extends WskActivationTests { + override val wsk: WskRest = new WskRest +} -- To stop receiving notification emails like this one, please contact markusthoem...@apache.org.