[openwhisk-wskdeploy] annotated tag latest updated (af80c22 -> 0a186e9)

2021-02-23 Thread houshengbo
This is an automated email from the ASF dual-hosted git repository.

houshengbo pushed a change to annotated tag latest
in repository https://gitbox.apache.org/repos/asf/openwhisk-wskdeploy.git.


*** WARNING: tag latest was modified! ***

from af80c22  (commit)
  to 0a186e9  (tag)
 tagging af80c22f0fb3158f43c9f08a2423d135579dc07b (commit)
 replaces 1.1.0
  by Travis CI
  on Tue Feb 23 17:26:41 2021 -0600

- Log -
Generated tag from Travis CI build 3520
---


No new revisions were added by this update.

Summary of changes:



[openwhisk-wskdeploy] branch master updated: Documentation cleanup, post-gogradle build changes (#1120)

2021-02-23 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/openwhisk-wskdeploy.git


The following commit(s) were added to refs/heads/master by this push:
 new af80c22  Documentation cleanup, post-gogradle build changes (#1120)
af80c22 is described below

commit af80c22f0fb3158f43c9f08a2423d135579dc07b
Author: Matt Rutkowski 
AuthorDate: Tue Feb 23 17:26:41 2021 -0600

Documentation cleanup, post-gogradle build changes (#1120)

* Documentation cleanup, post-gogradle build changes

* Documentation cleanup, post-gogradle build changes

* Documentation cleanup, post-gogradle build changes

* Documentation cleanup, post-gogradle build changes

* Update cross compile instructions for gradfle tasks
---
 README.md  | 50 +++
 build.gradle   |  2 +-
 parsers/manifest_parser_test.go|  4 +-
 specification/html/spec_actions.md |  5 +-
 specification/html/spec_apis.md|  1 +
 .../html/spec_entity_naming_and_namespacing.md | 18 +++---
 specification/html/spec_intro.md   | 10 +--
 specification/html/spec_maps.md|  1 +
 specification/html/spec_normative_refs.md  | 49 ++-
 specification/html/spec_package_processing.md  |  7 +--
 specification/html/spec_parameter_types.md |  6 +-
 specification/html/spec_parameters.md  | 73 +++---
 specification/html/spec_rule.md|  2 +
 specification/html/spec_schema.md  |  2 +-
 specification/html/spec_sequences.md   |  2 +
 specification/html/spec_shared_entity_schema.md|  5 +-
 specification/html/spec_trigger.md |  4 ++
 .../dat/deployment_validate_package_inputs_1.yaml  |  2 -
 tests/dat/manifest_validate_params.yaml|  4 +-
 19 files changed, 168 insertions(+), 79 deletions(-)

diff --git a/README.md b/README.md
index 9c4e8b9..392a737 100644
--- a/README.md
+++ b/README.md
@@ -154,29 +154,57 @@ After compiling, a suitable wskdeploy binary that works 
for your OS platform wil
 
 1. Verify your installed Gradle version is `5.5.1` (or higher)
 
-- If you use Windows OS, type ```gradlew.bat -version ```.
-- For Unix/Linux/Mac, please type ```./gradlew -version```.
+- On Windows OS, type ```gradlew.bat -version ```.
+- On Unix/Linux/Mac, please type ```./gradlew -version```.
 
 > **Note** Gradle v6 is not yet supported.
 
-1. For Windows type ```gradlew.bat distDocker```. For Linux/Unix/Mac, please 
type ```./gradlew distDocker```. These
-commands will start the wskdeploy cross compile for your specific OS platform 
inside a Docker container.
+1. Cross-compile binaries for all supported Operating Systems and 
Architectures:
 
-1. After build success, you should find a correct binary under current /bin 
dir of you openwhisk-deploy clone dir.
+- On Windows, type ```gradlew.bat goBuild```
+- On Linux/Unix/Mac, please type ```./gradlew goBuild```.
 
-If you would like to build the binaries available for all the operating 
systems and architectures, run the following command:
+1. Upon a successful build, all binaries can be found within the `./build` 
directory of your project:
 
-```sh
-$ ./gradlew distDocker -PcrossCompileWSKDEPLOY=true
-```
+```sh
+$ ls build
+darwin-amd64  linux-amd64   linux-arm64   linux-s390x   windows-amd64
+linux-386 linux-arm linux-ppc64le windows-386
+```
 
-Then, you will find the binaries and their compressed packages generated under 
the folder ```bin///``` for each supported Operating System and CPU 
Architecture pair.
+ Compiling for a single OS/ARCH
+
+1. View gradle build tasks for supported Operating Systems and Architectures:
+
+```sh
+./gradlew tasks
+```
 
-### Building for Internationalization
+you will see build tasks for supported OS/ARCH combinations:
+
+```sh
+Gogradle tasks
+--
+buildDarwinAmd64 - Custom go task.
+buildLinux386 - Custom go task.
+buildLinuxAmd64 - Custom go task.
+buildLinuxArm - Custom go task.
+buildLinuxArm64 - Custom go task.
+buildLinuxPpc64le - Custom go task.
+buildLinuxS390x - Custom go task.
+buildWindows386 - Custom go task.
+buildWindowsAmd64 - Custom go task.
+```
+
+> Note: The `buildWindows386` option is only supported on Golang versions 
less than 1.15.
+
+ Building for Internationalization
 
 Please follow this process for building any changes to translatable strings:
 - [How to generate the file i18n_resources.go for 
internationalization](https://github.com/apache/openwhisk-wskdeploy/blob/master/wski18n/README.md)
 
+---
+
 ### Running as a Go program
 
 Since ```wskdeploy``` is a GoLang program, you may 

[openwhisk-runtime-go] branch rabbah-patch-1 created (now 6d3ffb2)

2021-02-23 Thread rabbah
This is an automated email from the ASF dual-hosted git repository.

rabbah pushed a change to branch rabbah-patch-1
in repository https://gitbox.apache.org/repos/asf/openwhisk-runtime-go.git.


  at 6d3ffb2  Update ENVVARS.md

No new revisions were added by this update.



[openwhisk-client-go] branch master updated: Migrate to Go Modules (#143)

2021-02-23 Thread mrutkowski
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 9c1b901  Migrate to Go Modules (#143)
9c1b901 is described below

commit 9c1b9014e7850042a69fe6ddc3104b78a0d195bf
Author: Matt Rutkowski 
AuthorDate: Tue Feb 23 15:49:57 2021 -0600

Migrate to Go Modules (#143)

* Migrate to Go Modules

* Migrate to Go Modules

* Migrate to Go Modules

* Migrate to Go Modules

* Migrate to Go Modules

* update README for go mod

* Apply sugg. changes from Rodric

* Apply sugg. changes from Rodric

* Apply sugg. changes from Rodric
---
 .travis.yml  |   5 +--
 README.md|  84 ++-
 go.mod   |  17 
 go.sum   | 109 +++
 vendor/vendor.json   |  25 
 whisk/action.go  |   3 +-
 whisk/client.go  |   1 +
 whisk/client_test.go |   5 ++-
 8 files changed, 184 insertions(+), 65 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index e9642a5..6eb4e5c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,7 +21,7 @@ matrix:
 include:
 - os: linux
   sudo: required
-  go: "1.13.14"
+  go: "1.15"
   services: docker
   dist: xenial
 
@@ -37,9 +37,8 @@ notifications:
 
 before_install:
   - cd $TRAVIS_BUILD_DIR
-  - GO_FILES=$(find . -iname '*.go' -type f | grep -v /vendor/)
+  - GO_FILES=$(find . -iname '*.go' -type f)
   - test -z "$(gofmt -s -l $(echo $GO_FILES))"
-  #- pip install --upgrade pip setuptools
   - pip install --user --upgrade pip setuptools
   - ./tools/travis/setup.sh
 
diff --git a/README.md b/README.md
index 451992a..af9d261 100644
--- a/README.md
+++ b/README.md
@@ -21,55 +21,81 @@
 
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
 [![Build 
Status](https://travis-ci.com/apache/openwhisk-client-go.svg?branch=master)](https://travis-ci.com/apache/openwhisk-client-go)
 
-This project `openwhisk-client-go` is a Go client library to access Openwhisk 
API.
+This project `openwhisk-client-go` is a Go client library to access the 
Openwhisk API.
 
+---
+
+## Building the project
 
 ### Prerequisites
 
-You need to install the following package in order to run this Go client 
library:
-- [Go](https://golang.org/doc/install)
-- [govendor](https://github.com/kardianos/govendor)
+The Openwhisk Go Client library requires you to [Download and install 
GoLang](https://golang.org/dl/) onto your local machine.
+
+> **Note** Go version 1.15 or higher is recommended
 
 Make sure you select the package that fits your local environment, and [set 
the GOPATH environment 
variable](https://github.com/golang/go/wiki/SettingGOPATH).
 
+### Download the source code from GitHub
+
+As the code is managed using GitHub, it is easiest to retrieve the code using 
the `git clone` command.
+
+If you just want to build the code and do not intend to be a Contributor, you 
can clone the latest code from the Apache repository:
+
+```sh
+git clone g...@github.com:apache/openwhisk-client-go
+```
+
+You can also specify a release (tag), if you do not want the latest code, by 
using the `--branch ` flag. For example, you can clone the source code for 
the tagged 1.1.0 
[release](https://github.com/apache/openwhisk-client-go/releases)
+
+```sh
+git clone --branch 1.1.0 g...@github.com:apache/openwhisk-client-go
+```
+
+You can also pull the code from a fork of the repository. If you intend to 
become a Contributor to the project, read the section [Contributing to the 
project](#contributing-to-the-project) below on how to setup a fork.
+
+### Building using `go build`
 
-### Installation
+Change into the cloned project directory and use the following command to 
build all packages:
 
-After you download the source code either from the Github or the release page 
of OpenWhisk, you should have a directory named
-_openwhisk-client-go_ to host all the source code. Please copy this root 
directory _openwhisk-client-go_
-into the directory $GOPATH/src/github.com/apache.
+```sh
+$ go build -v ./...
+```
+
+or simply build just the whisk commands:
+
+```sh
+$ go build -v ./whisk
+```
 
+> **Note**: There is no `main` function in this project as the `./whish` 
packages are treated together as a client library.
 
-### Test
+### Testing using `go test`
 
-Open a terminal, and run the following commands to run the unit tests:
+Open a terminal, change into the project directory and use the following 
command to run the unit tests:
 
 ```
-$ cd $GOPATH/src/github.com/apache/openwhisk-client-go
-$ govendor sync
 $ go test -v ./... -tags=unit
 ```
 
-You should see all the unit tests passed. If not, please [log an 

[openwhisk-runtime-docker] branch master updated: Module changes now require c++ for build. - Changes in the modules now require the c++ package for a successful build. The gcc package is not enough a

2021-02-23 Thread mhenke
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new ef1aadd  Module changes now require c++ for build. - Changes in the 
modules now require the c++ package for a successful build. The gcc package is 
not enough anymore.
 new a42d5dc  Merge pull request #85 from falkzoll/updateRuntime
ef1aadd is described below

commit ef1aaddd50dde54012972fa12937aeea9af46181
Author: Falk Zoll 
AuthorDate: Tue Feb 23 10:39:40 2021 +0100

Module changes now require c++ for build.
- Changes in the modules now require the c++ package for a successful 
build. The gcc package is not enough anymore.
---
 core/actionProxy/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/core/actionProxy/Dockerfile b/core/actionProxy/Dockerfile
index 173b050..125edcb 100644
--- a/core/actionProxy/Dockerfile
+++ b/core/actionProxy/Dockerfile
@@ -22,7 +22,7 @@ FROM python:3.6-alpine
 RUN apk upgrade --update \
   && apk add --no-cache bash perl jq zip git curl wget openssl ca-certificates 
sed openssh-client \
   && update-ca-certificates \
-  && apk add --no-cache --virtual .build-deps bzip2-dev gcc libc-dev \
+  && apk add --no-cache --virtual .build-deps bzip2-dev g++ libc-dev \
   && pip install --upgrade pip setuptools six \
   && pip install --no-cache-dir gevent==1.3.6 flask==1.0.2 \
   && apk del .build-deps



[CONF] OpenWhisk > InvokerHealthyManager

2021-02-23 Thread Ning You Gang (Confluence)
Title: Message Title



 
 
 
There's 1 new edit on this page 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
InvokerHealthyManager 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
Ning You Gang edited this page 
 
 
  
 
 

 
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Here's what changed: 
 
 
 
 
 
 
 
 
 
 
 ... 
 
When invoker starts, it creates a InvokerHealthManger actor with init state: Offline 
During FPCInvokerReactive initializing, it sends Enable message to InvokerHealthManger actor and InvokerHealthManger will goto(Unhealthy) 
During Unhealthy, InvokerHealthManger invokes test action: create healthyContainerProxy and send Initialize message to healthyContainerProxy.  
 After healthyContainerProxy initialized, it will executes the healthy activation and sends HealthMessage result to invokerHealthyManager, after finished, it will pull healthy activation and execute it and sends healthyMessage again.   in invokerHealthyManager side, if failed result invocation number < bufferErrorTolerance, goto(Healthy), at the same time, it will stop to invoke the test action. 
if FailtureMessage comes from FunctionPullingContainerProxy, invokerHealthyManager will goto(Offline), and starts to invoke test action again immediately 
 FunctionPullingContainerPool sends MemoryInfo message to invokerHealthyManager periodically  
InvokerHealthyManager sends the memoryInfo and its fsm state together to etcd 
If invokerHealthyMananager receives GracefulShutdown, it will goto(Offline).  
  3.Design consideration  
 
invoker healthy data in etcd, including memory info and invokerHealthyManager's state, e.g whisk/invokers/0/0{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/1/1{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/2/2{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/3/3{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/4/4{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/5/5{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]} 
 ...  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Go to page history 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
View page 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
Stop watching space
• 
 
 
 
 
 
 
Manage notifications 
 
 
 
 
 
 
 
 
 
 
  
 
 
This message was sent by Atlassian Confluence 7.5.0  
 
 
  
 
 
 
 
 
 
 
 
 




[CONF] OpenWhisk > InvokerHealthyManager

2021-02-23 Thread Ning You Gang (Confluence)
Title: Message Title



 
 
 
There's 1 new edit on this page 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
InvokerHealthyManager 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
Ning You Gang edited this page 
 
 
  
 
 

 
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Here's what changed: 
 
 
 
 
 
 
 
 
 
 
  1.Introduction       Manage New scheduler's invoker healthy management, invokerHealthyManager actor will send the memory info(e.g. freeMemory, inprogressMemory, busyMemory) and invoker healthy fsm state(e.g. down, up, unhealthy) together to etcd.       Other components can use the healthy data   ...  which stored into etcd as well, e.g. when send creationContainerMessage to invoker instance, relative component can get the healthy invokers from etcd.   2.Architecture Diagram   Image Modified  
 
When invoker starts, it creates a InvokerHealthManger actor with init state: Offline 
During FPCInvokerReactive initializing, it sends Enable message to InvokerHealthManger actor and InvokerHealthManger will goto(Unhealthy) 
During Unhealthy, InvokerHealthManger invokes test action: create healthyContainerProxy and send Initialize message to healthyContainerProxy 
healthyContainerProxy sends HealthMessage to invokerHealthyManager, if failed result invocation number < bufferErrorTolerance, goto(Healthy), at the same time, stop to invoke the test action. 
if FailtureMessage comes from FunctionPullingContainerProxy, invokerHealthyManager will goto(Offline), and starts to invoke test action again immediately 
 FunctionPullingContainerPool sends MemoryInfo message to invokerHealthyManager periodically  
InvokerHealthyManager sends the memoryInfo and its fsm state to etcd 
If invokerHealthyMananager receives GracefulShutdown, it will goto(Offline) 
 ...  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Go to page history 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
View page 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
Stop watching space
• 
 
 
 
 
 
 
Manage notifications 
 
 
 
 
 
 
 
 
 
 
  
 
 
This message was sent by Atlassian Confluence 7.5.0  
 
 
  
 
 
 
 
 
 
 
 
 




[CONF] OpenWhisk > InvokerHealthyManager

2021-02-23 Thread Ning You Gang (Confluence)
Title: Message Title



 
 
 
 
 
 
 

Ning You Gang created a page 
 
 
  
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
InvokerHealthyManager 
 
 
  
 
 
 
 
 
 
  1.Introduction      Manage New scheduler's invoker healthy management, invokerHealthyManager actor will send the memory info(e.g. freeMemory, inprogressMemory, busyMemory) and invoker healthy fsm state(e.g. down, up, unhealthy) together to etcd.     Other components can use the healthy data in etcd as well, e.g. when send creationContainerMessage to invoker instance, can get the healthy invokers from etcd.  2.Architecture Diagram 
 
When invoker starts, it creates a InvokerHealthManger actor with init state: Offline 
During FPCInvokerReactive initializing, it sends Enable message to InvokerHealthManger actor and InvokerHealthManger will goto(Unhealthy) 
During Unhealthy, InvokerHealthManger invokes test action: create healthyContainerProxy and send Initialize message to healthyContainerProxy 
healthyContainerProxy sends HealthMessage to invokerHealthyManager, if failed result invocation number < bufferErrorTolerance, goto(Healthy), at the same time, stop to invoke the test action. 
if FailtureMessage comes from FunctionPullingContainerProxy, invokerHealthyManager will goto(Offline), and starts to invoke test action again immediately 
 FunctionPullingContainerPool sends MemoryInfo message to invokerHealthyManager periodically  
InvokerHealthyManager sends the memoryInfo and its fsm state to etcd 
If invokerHealthyMananager receives GracefulShutdown, it will goto(Offline) 
  3.Design consideration  
 
invoker healthy data in etcd, including memory info and invokerHealthyManager's state, e.g whisk/invokers/0/0{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/1/1{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/2/2{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/3/3{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/4/4{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]}whisk/invokers/5/5{"busyMemory":0,"dedicatedNamespaces":[],"freeMemory":10240,"inProgressMemory":0,"status":"up","tags":[]} 
                    tags: This is used for some special actions. e.g. need high memory, need power gpu. we can make the action's activations run on corresponding invokers            dedicatedNamespaces: dedicatedNamespaces's all actions run on corresponding invoker         2. when invokerHealthyManager's fsm state changes or received the memoryInfo from FunctionPullingContainerProxy, these healthy data will be stored into etcd immediately  
 
 
  
 
 
 
 
 
 
 
 
 
 

View page
• 
 
 
 
 
 
 

Like 
 
 
  
 
 
  
 
 
  
 
 
  
 
 
 
 
 
 
 
 
 
 
Stop watching space
• 
 
 
 
 
 
 
Manage notifications 
 
 
 
 
 
 
 
 
 
 
  
 
 
This message was sent by Atlassian Confluence 7.5.0