Allow individual field sets for activation_record and user_log

2019-08-28 Thread Ruediger Maass
In our environment we need to handle activation_record entries (i.e., 
activation metadata) and user_log entries differently in activation logs.

Therefore we need individual field sets for storing these entries with 
ActivationFileStorage that we use in our Activation Store SPI 
implementation.

This PR https://github.com/apache/openwhisk/pull/4596 is a low-risk change 
that extends ActivationFileStorage. 

Please help and comment on the PR.

Thank you, Ruediger



[ANNOUNCE] Apache OpenWhisk Client JS 3.20.0 Released

2019-08-28 Thread James Thomas
The Apache OpenWhisk project is happy to announce the release of
Apache OpenWhisk Client JS 3.20.0.

Apache OpenWhisk Client JS is a JavaScript Client Library for the
Apache OpenWhisk Platform. New features in the 3.20.0 version include:

- Removed all references to Incubator now Apache OpenWhisk has passed
incubation.
- Add proxy agent to be included by runtime, rather than building in (#175)
- Re-worked CI/CD setup (#180)

https://github.com/apache/openwhisk-client-js/releases/tag/3.20.0

Source archives and verification files are available at
https://dist.apache.org/repos/dist/release/openwhisk/apache-openwhisk-3.20.0/

-- 
Regards,
James Thomas


[RESULT][VOTE] Release Apache Apache OpenWhisk Client Js (v3.20.0, rc2)

2019-08-28 Thread James Thomas
The voting is now closed. The vote has PASSED with 4 +1 binding votes from
Dominic Kim, Matt Rutkowski, Dave Grove and Rob Allen. There were no
+0 or -1 votes.

I will now publish the artifact to the release directory.

On Mon, 19 Aug 2019 at 12:32, James Thomas  wrote:
>
> Hi,
>
> This is a call to vote on releasing version 3.20.0 release candidate
> rc2 of the following project module with artifacts built from the Git
> repositories and commit IDs listed below.
>
> * Apache OpenWhisk Client Js: 88ce0e2
>   https://github.com/apache/openwhisk-client-js/commits/88ce0e2
>   
> https://dist.apache.org/repos/dist/dev/openwhisk/apache-openwhisk-3.20.0-rc2/openwhisk-client-js-3.20.0-sources.tar.gz
>   
> https://dist.apache.org/repos/dist/dev/openwhisk/apache-openwhisk-3.20.0-rc2/openwhisk-client-js-3.20.0-sources.tar.gz.asc
>   
> https://dist.apache.org/repos/dist/dev/openwhisk/apache-openwhisk-3.20.0-rc2/openwhisk-client-js-3.20.0-sources.tar.gz.sha512
>
> This release is comprised of source code distribution only.
>
> You can use this UNIX script to download the release and verify the
> checklist below:
> https://gitbox.apache.org/repos/asf?p=incubator-openwhisk-release.git;a=blob_plain;f=tools/rcverify.sh'
>
> Usage:
> curl -s 
> "https://gitbox.apache.org/repos/asf?p=openwhisk-release.git;a=blob_plain;f=tools/rcverify.sh;";
> -o rcverify.sh
> chmod +x rcverify.sh
> ./rcverify.sh openwhisk-client-js 'OpenWhisk Client Js' 3.20.0 rc2
>
> Please vote to approve this release:
>
>   [ ] +1 Approve the release
>   [ ]  0 Don't care
>   [ ] -1 Don't release, because ...
>
> Release verification checklist for reference:
>   [ ] Download links are valid.
>   [ ] Checksums and PGP signatures are valid.
>   [ ] Source code artifacts have correct names matching the current release.
>   [ ] LICENSE and NOTICE files are correct for each OpenWhisk repository.
>   [ ] All files have license headers as specified by OpenWhisk project
> policy [1].
>   [ ] No compiled archives bundled in source archive.
>
> This majority vote is open for at least 72 hours.
>
>
> [1] 
> https://github.com/apache/incubator-openwhisk-release/blob/master/docs/license_compliance.md
>
> --
> Regards,
> James Thomas



-- 
Regards,
James Thomas


Re: removing "projections" on web actions

2019-08-28 Thread Rodric Rabbah
> Though projections on “.http” got removed two years ago, we confusingly
saw A LOT calls
of the form ".http/foo/bar”. Research showed that those customers
are
accessing the “foo/bar” section of the path via the "message.__ow_path"
property in their action code
to be used as additional parameters.

This is necessary if you want to implement more general APIs and the reason
to remove projections from .json etc is so that you can do the same. With
the current behavior you have actions that will behave differently when
accessed with .http and .json and that's a mistake and very confusing.

-r


Re: removing "projections" on web actions

2019-08-28 Thread Martin Henke


Rodric, Chetan, Carlos,

after checking our (IBM Functions) production logs we see minor usage of the 
projection feature
(.text and .json).

That means that we (IBM Functions) need to notify these customers  to make them 
adapt their action code
and/or URLs to the removed feature.

I would like therefore ask either to guard the code removal with a feature flag,
 or to delay the projection code removal (best for another 3-4 month).

Regards,
Martin

P.S: Interesting side note:
Though projections on “.http” got removed two years ago, we confusingly saw A 
LOT calls
of the form ".http/foo/bar”. Research showed that those customers are 
accessing the “foo/bar” section of the path via the "message.__ow_path" 
property in their action code
to be used as additional parameters.


> On 23. Aug 2019, at 18:04, Rodric Rabbah  wrote:
> 
> This PR https://github.com/apache/openwhisk/pull/4592 removes the
> documentation for projecting results of actions via the web invoke path.
> 
> This was previously discussed
> https://github.com/apache/openwhisk/issues/4352 and there is a pending PR
> to also remove the functionality but I thought removing the documentation
> is a good first step that should not be controversial.
> 
> This feature is cumbersome to use in practice and for meaningful
> applications.
> Please comment on the PR if you have input otherwise will progress by
> silent assent.
> 
> -r



[slack-digest] [2019-08-27] #general

2019-08-28 Thread OpenWhisk Team Slack
2019-08-27 03:24:20 UTC - chris: Does anyone know how to solve this error ? 
`"error"`: `"The action produced a response that exceeded the allowed length: 
1598438 > 1048576 bytes.`

The maximum size of a result returned from an action is 1MB.
Is it can be changed in application.conf like memory limit ?
Or someone knows the better method to do ?
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566876260021000?thread_ts=1566876260.021000&cid=C3TPCAQG1

2019-08-27 04:56:56 UTC - chetanm: Thats the response size limit as documented 
in 

https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566881816021100?thread_ts=1566876260.021000&cid=C3TPCAQG1

2019-08-27 05:45:18 UTC - chris: I know it is limied in 1MB. So do we have 
method to change the setting or other way to solve ~~?
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566884718021300?thread_ts=1566876260.021000&cid=C3TPCAQG1

2019-08-27 05:53:36 UTC - chetanm: The value is specified at 

 so one can change it there or by passing custom config
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566885216021500?thread_ts=1566876260.021000&cid=C3TPCAQG1

2019-08-27 13:09:41 UTC - Pepi Paraskevoulakou: hello do anyone have 
instructions how to create, build and deploy a trained by hisself model docker 
image and push it in openwhisk?
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566911381022900?thread_ts=1566911381.022900&cid=C3TPCAQG1

2019-08-27 13:10:14 UTC - Pepi Paraskevoulakou: i have installed openwhisk 
locally with docker compose
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566911414023400

2019-08-27 13:32:01 UTC - Pepi Paraskevoulakou: how did you create the docker 
machine learning model? because i am confused with this 

https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566912721023500?thread_ts=1566295387.062300&cid=C3TPCAQG1

2019-08-27 13:32:17 UTC - Pepi Paraskevoulakou: how many files do i need to 
create?
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566912737023700?thread_ts=1566295387.062300&cid=C3TPCAQG1

2019-08-27 14:28:26 UTC - Paul Castro: Do you mean a model like a neural net?  
if so, there’s this example 
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566916106023900?thread_ts=1566911381.022900&cid=C3TPCAQG1

2019-08-27 15:25:00 UTC - Pepi Paraskevoulakou: and if i want to train a ml 
model by my own, save it and then build a proper docker image for openwhisk?
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566919500024100?thread_ts=1566911381.022900&cid=C3TPCAQG1

2019-08-27 18:12:17 UTC - Pepi Paraskevoulakou: can i create my own machine 
learning model with docker openwhisk skeleton in python3?
https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1566929537025100



Passing action instance to ContainerFactory (#4595)

2019-08-28 Thread Chetan Mehrotra
For enabling some integration flows like delegating action execution
to other systems like AWS Lambda or Azure Functions via
ContainerFactory approach we need access to the action details.

Currently there are 2 modes when a container is to be created

1. Prewarm case - Here `ContainerPool` would try to create containers
for pre warm support. Here we do not the action for which container is
being used

2. Cold Start - In case of Cold start when we do not have any existing
container to use then a new container would be created. Here we know
the action for which the container is being created

If we want to implement a custom ContainerFactory which delegates the
other system then it would be needing the Action details to route to
matching Lambda/Azure Function.

This PR [1] enables such integration by extending the ContainerFactory
trait to support an option Action parameter. This would be set in cold
start case. This change would be backward compatible and only those
Factory implementation which need access to action would need to
implement the new method

Please review the PR and provide feedback on approach. Once we have an
agreement I can add suitable tests

Chetan Mehrotra
[1] https://github.com/apache/openwhisk/pull/4595