Re: Tech Interchange call this Wed. Oct. 24 - add agenda topics here

2018-10-23 Thread Carlos Santana
Thanks Vicent I will add to the Agenda

On Tue, Oct 23, 2018 at 8:20 PM Vincent S Hou  wrote:

> Carlos,
>
> I like to announce the work of the package renaming from whisk to
> org.apache.openwhisk for openwhisk main repository, asking folks to be
> aware of the change.
>
> Best wishes.
> Vincent Hou (侯胜博)
>
> Advisory Software Engineer, OpenWhisk Contributor, Open Technology, IBM
> Cloud
>
> Notes ID: Vincent S Hou/Raleigh/IBM, E-mail: s...@us.ibm.com,
> Phone: +1(919)254-7182 <(919)%20254-7182>
> Address: 4205 S Miami Blvd
> 
> (Cornwallis Drive), Durham, NC 27703, United States
>
> -Carlos Santana  wrote: -
> To: dev@openwhisk.apache.org
> From: Carlos Santana 
> Date: 10/23/2018 09:38AM
> Subject: Re: Tech Interchange call this Wed. Oct. 24 - add agenda topics
> here
>
> Thanks Michele looking forward +1
>
>
> On Tue, Oct 23, 2018 at 7:33 AM Michele Sciabarra 
> wrote:
>
> > I would like to show my new "actionloop" based Scala runtime!
> > Yes I know,  it is already possible to use Scala with the Java runtime.
> > But you have to compile, create a jar, include libraries
> > This one is based on the scripting shell "Ammonite" http://ammonite.io
> > and works more like js and python.
> >
> > Here is a  simple demo:
> >
> >
> https://openwhisk.eu-de.bluemix.net/api/v1/web/sciabarra_cloud/scala/calc
> >
> > And this is the source code:
> >
> > 
> > import play.api.libs.json._
> > import scala.util.Try
> >
> > def main(args: JsObject) : JsObject = {
> > val a = if(args \ "a" isDefined) {
> > Try(args("a").as[String].toInt).getOrElse(0)
> > } else 0
> > val b = if(args \ "b" isDefined) {
> > Try(args("b").as[String].toInt).getOrElse(0)
> > } else 0
> > if( args \ "add" isDefined) {
> > html(Some(s"${a} + ${b} = ${a+b}"))
> > } else if ( args \ "mul" isDefined) {
> > html(Some(s"${a} * ${b} = ${a*b}"))
> > } else html()
> > }
> >
> > def html(msg: Option[String]=None) = {
> > val body = s"""
> > ${if(msg.isEmpty) "" else ""+msg.get+""}
> > 
> >   
> >   
> >   +
> >   *
> > """
> > Json.obj("body" -> body)
> > }
> > 
> >
> > Deployed with this command:
> >
> > wsk action update scala/calc calc.sc -m512 --web true --docker
> > msciab/actionloop-scala-v2.12
> >
> > The runtime is also part of a "collection" of runtimes based on the
> > ActionLoop (the engine of the GoLang runtime) and I want to show how to
> > build a new runtime for any language with just 3 files: a "compiler"
> > script, a launcher and a Dockerfile.
> >
> > I already did the runtimes for Swift and Scala, and I have in mind many
> > others (rust, haskell and kotlin  for example).
> >
> >
> >
> > --
> >   Michele Sciabarra
> >   mich...@sciabarra.com
> >
> > - Original message -
> > From: Carlos Santana 
> > To: "dev@openwhisk.apache.org" 
> > Subject: Tech Interchange call this Wed. Oct. 24 - add agenda topics here
> > Date: Mon, 22 Oct 2018 09:55:48 -0400
> >
> > Hi Whiskers,
> >
> > Please add to this thread any agenda items you'd like to present at the
> > Tech Interchange call this Wednesday (October 24).
> >
> > Call details:
> >
> > Web Meeting: Tech Interchange (bi-weekly):
> > - Day-Time: Wednesdays, 11AM EDT (Eastern US), 5PM CEST (Central Europe),
> > 3PM UTC, 11PM CST (Beijing)
> > - Zoom: https://zoom.us/my/asfopenwhisk
> >
> > Thanks,
> >
> > --carlos
> >
>
>


Re: Tech Interchange call this Wed. Oct. 24 - add agenda topics here

2018-10-23 Thread Vincent S Hou
Carlos,

I like to announce the work of the package renaming from whisk to 
org.apache.openwhisk for openwhisk main repository, asking folks to be aware of 
the change.
 
Best wishes.
Vincent Hou (侯胜博)

Advisory Software Engineer, OpenWhisk Contributor, Open Technology, IBM Cloud

Notes ID: Vincent S Hou/Raleigh/IBM, E-mail: s...@us.ibm.com,
Phone: +1(919)254-7182
Address: 4205 S Miami Blvd (Cornwallis Drive), Durham, NC 27703, United States

-Carlos Santana  wrote: -
To: dev@openwhisk.apache.org
From: Carlos Santana 
Date: 10/23/2018 09:38AM
Subject: Re: Tech Interchange call this Wed. Oct. 24 - add agenda topics here

Thanks Michele looking forward +1


On Tue, Oct 23, 2018 at 7:33 AM Michele Sciabarra 
wrote:

> I would like to show my new "actionloop" based Scala runtime!
> Yes I know,  it is already possible to use Scala with the Java runtime.
> But you have to compile, create a jar, include libraries
> This one is based on the scripting shell "Ammonite" http://ammonite.io
> and works more like js and python.
>
> Here is a  simple demo:
>
> https://openwhisk.eu-de.bluemix.net/api/v1/web/sciabarra_cloud/scala/calc
>
> And this is the source code:
>
> 
> import play.api.libs.json._
> import scala.util.Try
>
> def main(args: JsObject) : JsObject = {
> val a = if(args \ "a" isDefined) {
> Try(args("a").as[String].toInt).getOrElse(0)
> } else 0
> val b = if(args \ "b" isDefined) {
> Try(args("b").as[String].toInt).getOrElse(0)
> } else 0
> if( args \ "add" isDefined) {
> html(Some(s"${a} + ${b} = ${a+b}"))
> } else if ( args \ "mul" isDefined) {
> html(Some(s"${a} * ${b} = ${a*b}"))
> } else html()
> }
>
> def html(msg: Option[String]=None) = {
> val body = s"""
> ${if(msg.isEmpty) "" else ""+msg.get+""}
> 
>   
>   
>   +
>   *
> """
> Json.obj("body" -> body)
> }
> 
>
> Deployed with this command:
>
> wsk action update scala/calc calc.sc -m512 --web true --docker
> msciab/actionloop-scala-v2.12
>
> The runtime is also part of a "collection" of runtimes based on the
> ActionLoop (the engine of the GoLang runtime) and I want to show how to
> build a new runtime for any language with just 3 files: a "compiler"
> script, a launcher and a Dockerfile.
>
> I already did the runtimes for Swift and Scala, and I have in mind many
> others (rust, haskell and kotlin  for example).
>
>
>
> --
>   Michele Sciabarra
>   mich...@sciabarra.com
>
> - Original message -
> From: Carlos Santana 
> To: "dev@openwhisk.apache.org" 
> Subject: Tech Interchange call this Wed. Oct. 24 - add agenda topics here
> Date: Mon, 22 Oct 2018 09:55:48 -0400
>
> Hi Whiskers,
>
> Please add to this thread any agenda items you'd like to present at the
> Tech Interchange call this Wednesday (October 24).
>
> Call details:
>
> Web Meeting: Tech Interchange (bi-weekly):
> - Day-Time: Wednesdays, 11AM EDT (Eastern US), 5PM CEST (Central Europe),
> 3PM UTC, 11PM CST (Beijing)
> - Zoom: https://zoom.us/my/asfopenwhisk
>
> Thanks,
>
> --carlos
>



Re: towards the first apache release of openwhisk-composer

2018-10-23 Thread Carlos Santana
+1

Same comments as Matt on using the release repo to do the RC for the source 
tgz. 
 

- Carlos Santana
@csantanapr

> On Oct 23, 2018, at 1:32 PM, Matt Rutkowski  wrote:
> 
> That is great news Dave!
> 
> Thanks for all your diligence in getting to this point. 
> 
> My only ask would be to update the table (README) in the release repo. 
> https://github.com/apache/incubator-openwhisk-release
> and the automation JSON: 
> https://github.com/apache/incubator-openwhisk-release/blob/master/tools/config.json
> to include an entry (with hash of commit) for this new repo.
> 
> In addition, I would appreciate it if you could follow the release 
> process/steps there and open any issues you find with the exiting 
> documentation (when following the manual process or auto. process),
> i.e., "instructions for release managers (
> https://github.com/apache/incubator-openwhisk-release/blob/master/docs/release_instructions.md
> ).
> 
> Of course, Vincent is the "go to" person for questions on docs/process
> 
> Cheers to you!
> 
> -Matt 
> 
> 
> 
> From:   "David P Grove" 
> To: dev@openwhisk.apache.org
> Date:   10/23/2018 10:40 AM
> Subject:towards the first apache release of openwhisk-composer
> 
> 
> 
> 
> 
> Now that the formal donation process for the composer code base is
> completed, we can start working towards the first formal release of
> composer from the Apache OpenWhisk.
> 
> The motivation for a formal release is that we should have a formal Apache
> release to enable us to publish an openwhisk-composer package to npm (to
> replace the prior ibm-functions/composer npm package).
> 
> I'm willing to act as release manager for the initial release of this
> package.
> 
> I believe the main technical work to be done before we can start preparing
> a release candidate and then initiating the voting process is to agree on
> the npm package name (suggestion: openwhisk-composer), and update the
> documentation/code in the openwhisk-composer code base  accordingly.  Are
> there any other items that I have overlooked?
> 
> --dave
> 
> 
> 
> 


Re: towards the first apache release of openwhisk-composer

2018-10-23 Thread Matt Rutkowski
That is great news Dave!

Thanks for all your diligence in getting to this point. 

My only ask would be to update the table (README) in the release repo. 
https://github.com/apache/incubator-openwhisk-release
and the automation JSON: 
https://github.com/apache/incubator-openwhisk-release/blob/master/tools/config.json
to include an entry (with hash of commit) for this new repo.

In addition, I would appreciate it if you could follow the release 
process/steps there and open any issues you find with the exiting 
documentation (when following the manual process or auto. process),
i.e., "instructions for release managers (
https://github.com/apache/incubator-openwhisk-release/blob/master/docs/release_instructions.md
).

Of course, Vincent is the "go to" person for questions on docs/process

Cheers to you!

-Matt 



From:   "David P Grove" 
To: dev@openwhisk.apache.org
Date:   10/23/2018 10:40 AM
Subject:towards the first apache release of openwhisk-composer





Now that the formal donation process for the composer code base is
completed, we can start working towards the first formal release of
composer from the Apache OpenWhisk.

The motivation for a formal release is that we should have a formal Apache
release to enable us to publish an openwhisk-composer package to npm (to
replace the prior ibm-functions/composer npm package).

I'm willing to act as release manager for the initial release of this
package.

I believe the main technical work to be done before we can start preparing
a release candidate and then initiating the voting process is to agree on
the npm package name (suggestion: openwhisk-composer), and update the
documentation/code in the openwhisk-composer code base  accordingly.  Are
there any other items that I have overlooked?

--dave






towards the first apache release of openwhisk-composer

2018-10-23 Thread David P Grove


Now that the formal donation process for the composer code base is
completed, we can start working towards the first formal release of
composer from the Apache OpenWhisk.

The motivation for a formal release is that we should have a formal Apache
release to enable us to publish an openwhisk-composer package to npm (to
replace the prior ibm-functions/composer npm package).

I'm willing to act as release manager for the initial release of this
package.

I believe the main technical work to be done before we can start preparing
a release candidate and then initiating the voting process is to agree on
the npm package name (suggestion: openwhisk-composer), and update the
documentation/code in the openwhisk-composer code base  accordingly.  Are
there any other items that I have overlooked?

--dave


Re: Relieve CouchDB on high load

2018-10-23 Thread Markus Thömmes
Hi Christian,

given the recent work towards getting logs to a separate store to relieve
CouchDB and to make it possible to move it into a store that's more
appropriate for logging load and some other bits that are already
implemented (removing the DB based polling, being able to disable log
collection), I think it makes sense to be able to disable activation
writing as well! In that sense, yes I do agree on going forward with the
proposal  + implementation.

One thing that has me worried a bit is the way we're handling global,
namespaced and per-action limits today. I'm wondering if at some point
we'll need to consolidate those and make them cascade reliably. For this
specific knob, for example, I think it would make sense to have one at the
system level and on the action/trigger level accordingly. For some of our
limits that might be true today already, I feel like it might not be for
all though (although I admittedly haven't double-checked).

Cheers,
Markus

Am Di., 23. Okt. 2018 um 14:22 Uhr schrieb Christian Bickel <
cbic...@apache.org>:

> Hi developpers,
>
> in some performance tests in the past we've seen, that there are the
> following issues with Cloudant/CouchDB:
> - not all activations can be stored (there are error logs in the invoker,
> that storing was not possible)
> - during bursts, CouchDB needs to process each document to update all views
> in the activations-DB. If CouchDB is not able to process them immediately,
> because of a queue, calling these views returns an error or the result will
> be outdated (on calling them with stale). This has the impact, that there
> is a delay for all users of the system until their activation appear after
> calling `activation list`.
>
> To not have negative impact of some high-load users on the system the
> proposal is, to not store activations in activations-store for some
> specified namespaces.
> My proposal of an implementation is to put this flag into the
> limits-document in subjects database.
> This means, it can only be set by the administrator with wskadmin.
>
> I already opened a PR with this proposal:
> https://github.com/apache/incubator-openwhisk/pull/4078
>
> Do you agree on going forward with this proposal and implementation?
>
> Thanks a lot in advance for your feedback.
>
> Greetings
> Christian
>


Re: Tech Interchange call this Wed. Oct. 24 - add agenda topics here

2018-10-23 Thread Carlos Santana
Thanks Michele looking forward +1


On Tue, Oct 23, 2018 at 7:33 AM Michele Sciabarra 
wrote:

> I would like to show my new "actionloop" based Scala runtime!
> Yes I know,  it is already possible to use Scala with the Java runtime.
> But you have to compile, create a jar, include libraries
> This one is based on the scripting shell "Ammonite" http://ammonite.io
> and works more like js and python.
>
> Here is a  simple demo:
>
> https://openwhisk.eu-de.bluemix.net/api/v1/web/sciabarra_cloud/scala/calc
>
> And this is the source code:
>
> 
> import play.api.libs.json._
> import scala.util.Try
>
> def main(args: JsObject) : JsObject = {
> val a = if(args \ "a" isDefined) {
> Try(args("a").as[String].toInt).getOrElse(0)
> } else 0
> val b = if(args \ "b" isDefined) {
> Try(args("b").as[String].toInt).getOrElse(0)
> } else 0
> if( args \ "add" isDefined) {
> html(Some(s"${a} + ${b} = ${a+b}"))
> } else if ( args \ "mul" isDefined) {
> html(Some(s"${a} * ${b} = ${a*b}"))
> } else html()
> }
>
> def html(msg: Option[String]=None) = {
> val body = s"""
> ${if(msg.isEmpty) "" else ""+msg.get+""}
> 
>   
>   
>   +
>   *
> """
> Json.obj("body" -> body)
> }
> 
>
> Deployed with this command:
>
> wsk action update scala/calc calc.sc -m512 --web true --docker
> msciab/actionloop-scala-v2.12
>
> The runtime is also part of a "collection" of runtimes based on the
> ActionLoop (the engine of the GoLang runtime) and I want to show how to
> build a new runtime for any language with just 3 files: a "compiler"
> script, a launcher and a Dockerfile.
>
> I already did the runtimes for Swift and Scala, and I have in mind many
> others (rust, haskell and kotlin  for example).
>
>
>
> --
>   Michele Sciabarra
>   mich...@sciabarra.com
>
> - Original message -
> From: Carlos Santana 
> To: "dev@openwhisk.apache.org" 
> Subject: Tech Interchange call this Wed. Oct. 24 - add agenda topics here
> Date: Mon, 22 Oct 2018 09:55:48 -0400
>
> Hi Whiskers,
>
> Please add to this thread any agenda items you'd like to present at the
> Tech Interchange call this Wednesday (October 24).
>
> Call details:
>
> Web Meeting: Tech Interchange (bi-weekly):
> - Day-Time: Wednesdays, 11AM EDT (Eastern US), 5PM CEST (Central Europe),
> 3PM UTC, 11PM CST (Beijing)
> - Zoom: https://zoom.us/my/asfopenwhisk
>
> Thanks,
>
> --carlos
>


Relieve CouchDB on high load

2018-10-23 Thread Christian Bickel
Hi developpers,

in some performance tests in the past we've seen, that there are the
following issues with Cloudant/CouchDB:
- not all activations can be stored (there are error logs in the invoker,
that storing was not possible)
- during bursts, CouchDB needs to process each document to update all views
in the activations-DB. If CouchDB is not able to process them immediately,
because of a queue, calling these views returns an error or the result will
be outdated (on calling them with stale). This has the impact, that there
is a delay for all users of the system until their activation appear after
calling `activation list`.

To not have negative impact of some high-load users on the system the
proposal is, to not store activations in activations-store for some
specified namespaces.
My proposal of an implementation is to put this flag into the
limits-document in subjects database.
This means, it can only be set by the administrator with wskadmin.

I already opened a PR with this proposal:
https://github.com/apache/incubator-openwhisk/pull/4078

Do you agree on going forward with this proposal and implementation?

Thanks a lot in advance for your feedback.

Greetings
Christian


Re: Tech Interchange call this Wed. Oct. 24 - add agenda topics here

2018-10-23 Thread Michele Sciabarra
I would like to show my new "actionloop" based Scala runtime!
Yes I know,  it is already possible to use Scala with the Java runtime.  But 
you have to compile, create a jar, include libraries
This one is based on the scripting shell "Ammonite" http://ammonite.io and 
works more like js and python.

Here is a  simple demo:

https://openwhisk.eu-de.bluemix.net/api/v1/web/sciabarra_cloud/scala/calc

And this is the source code:


import play.api.libs.json._
import scala.util.Try

def main(args: JsObject) : JsObject = {
val a = if(args \ "a" isDefined) {
Try(args("a").as[String].toInt).getOrElse(0)
} else 0
val b = if(args \ "b" isDefined) {
Try(args("b").as[String].toInt).getOrElse(0)
} else 0
if( args \ "add" isDefined) {
html(Some(s"${a} + ${b} = ${a+b}"))
} else if ( args \ "mul" isDefined) {
html(Some(s"${a} * ${b} = ${a*b}"))
} else html()
}

def html(msg: Option[String]=None) = {
val body = s"""
${if(msg.isEmpty) "" else ""+msg.get+""}

  
  
  +
  *
"""
Json.obj("body" -> body)
}


Deployed with this command:

wsk action update scala/calc calc.sc -m512 --web true --docker 
msciab/actionloop-scala-v2.12

The runtime is also part of a "collection" of runtimes based on the ActionLoop 
(the engine of the GoLang runtime) and I want to show how to build a new 
runtime for any language with just 3 files: a "compiler" script, a launcher and 
a Dockerfile.

I already did the runtimes for Swift and Scala, and I have in mind many others 
(rust, haskell and kotlin  for example).



-- 
  Michele Sciabarra
  mich...@sciabarra.com

- Original message -
From: Carlos Santana 
To: "dev@openwhisk.apache.org" 
Subject: Tech Interchange call this Wed. Oct. 24 - add agenda topics here
Date: Mon, 22 Oct 2018 09:55:48 -0400

Hi Whiskers,

Please add to this thread any agenda items you'd like to present at the
Tech Interchange call this Wednesday (October 24).

Call details:

Web Meeting: Tech Interchange (bi-weekly):
- Day-Time: Wednesdays, 11AM EDT (Eastern US), 5PM CEST (Central Europe),
3PM UTC, 11PM CST (Beijing)
- Zoom: https://zoom.us/my/asfopenwhisk

Thanks,

--carlos