[GitHub] csantanapr commented on issue #2304: Native deployment of openwhisk in vagrant vm. nginx is not present in docker ps.

2018-02-09 Thread GitBox
csantanapr commented on issue #2304: Native deployment of openwhisk in vagrant 
vm. nginx is not present in docker ps.
URL: 
https://github.com/apache/incubator-openwhisk/issues/2304#issuecomment-364627933
 
 
   This is now fix with #3269


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rabbah closed pull request #3269: change tmp dir for vagrant

2018-02-09 Thread GitBox
rabbah closed pull request #3269: change tmp dir for vagrant
URL: https://github.com/apache/incubator-openwhisk/pull/3269
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/ansible/environments/local/group_vars/all 
b/ansible/environments/local/group_vars/all
index 0d8dc068aa..fbed10ebe1 100755
--- a/ansible/environments/local/group_vars/all
+++ b/ansible/environments/local/group_vars/all
@@ -1,6 +1,7 @@
 whisk_version_name: local
-config_root_dir: /tmp/wskconf
-whisk_logs_dir: /tmp/wsklogs
+openwhisk_tmp_dir: "{{ lookup('env', 'OPENWHISK_TMP_DIR')|default('/tmp', 
true) }}"
+config_root_dir: "{{ openwhisk_tmp_dir }}/wskconf"
+whisk_logs_dir: "{{ openwhisk_tmp_dir }}/wsklogs"
 docker_registry: ""
 docker_dns: ""
 bypass_pull_for_local_images: true
diff --git a/tools/vagrant/Vagrantfile b/tools/vagrant/Vagrantfile
index 074aecea54..7d1ef88e28 100644
--- a/tools/vagrant/Vagrantfile
+++ b/tools/vagrant/Vagrantfile
@@ -62,6 +62,7 @@ $script_common = 

[GitHub] csantanapr commented on issue #3269: change tmp dir for vagrant

2018-02-09 Thread GitBox
csantanapr commented on issue #3269: change tmp dir for vagrant
URL: 
https://github.com/apache/incubator-openwhisk/pull/3269#issuecomment-364619139
 
 
   it works for me
   ```
   ==> default: ++ echo 'Swagger UI URL: 
https://192.168.33.13/api/v1/docs/index.html?url=/api/v1/api-docs'
   ==> default: +++ cat /home/vagrant/openwhisk/ansible/files/auth.guest
   ==> default: ++ wsk property set --apihost 192.168.33.13 --namespace guest 
--auth 
23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP
   ==> default: ok: whisk auth set. Run 'wsk property get --auth' to see the 
new value.
   ==> default: ok: whisk API host set to 192.168.33.13
   ==> default: ok: whisk namespace set to guest
   ==> default: ++ wsk action invoke /whisk.system/utils/echo -p message hello 
--result
   ==> default: {
   ==> default: "message": "hello"
   ==> default: }
   ==> default: +++ date
   ==> default: ++ echo 'Sat Feb 10 02:16:28 UTC 2018: build-deploy-end'
   ~/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant 
(vagrant_tmp_dir_override)
   ?  $ vagrant ssh
   Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-135-generic x86_64)
   
   vagrant@vagrant-ubuntu-trusty-64:~$ wsk action invoke 
/whisk.system/utils/echo -p message hello --result
   {
   "message": "hello"
   }
   vagrant@vagrant-ubuntu-trusty-64:~$ exit
   logout
   Shared connection to 127.0.0.1 closed.
   
   
   ?  $ vagrant reload
   ==> default: Attempting graceful shutdown of VM...
   ==> default: Checking if box 'ubuntu/trusty64' is up to date...
   ==> default: There was a problem while downloading the metadata for your box
   ==> default: to check for updates. This is not an error, since it is usually 
due
   ==> default: to temporary network problems. This is just a warning. The 
problem
   ==> default: encountered was:
   ==> default:
   ==> default: The requested URL returned error: 404 Not Found
   ==> default:
   ==> default: If you want to check for box updates, verify your network 
connection
   ==> default: is valid and try again.
   ==> default: Setting the name of the VM: whisk-1802092122
   ==> default: Clearing any previously set forwarded ports...
   ==> default: Clearing any previously set network interfaces...
   ==> default: Preparing network interfaces based on configuration...
   default: Adapter 1: nat
   default: Adapter 2: hostonly
   ==> default: Forwarding ports...
   default: 22 (guest) =>  (host) (adapter 1)
   ==> default: Running 'pre-boot' VM customizations...
   ==> default: Booting VM...
   ==> default: Waiting for machine to boot. This may take a few minutes...
   default: SSH address: 127.0.0.1:
   default: SSH username: vagrant
   default: SSH auth method: private key
   ==> default: Machine booted and ready!
   ==> default: Checking for guest additions in VM...
   default: The guest additions on this VM do not match the installed 
version of
   default: VirtualBox! In most cases this is fine, but in rare cases it can
   default: prevent things such as shared folders from working properly. If 
you see
   default: shared folder errors, please make sure the guest additions 
within the
   default: virtual machine match the version of VirtualBox you have 
installed on
   default: your host and reload your VM.
   default:
   default: Guest Additions Version: 4.3.36
   default: VirtualBox Version: 5.1
   ==> default: Configuring and enabling network interfaces...
   ==> default: Mounting shared folders...
   default: /vagrant => 
/Users/csantanapr/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant
   default: /home/vagrant/openwhisk => 
/Users/csantanapr/Documents/dev/whisk/git/apache/incubator-openwhisk
   ==> default: Machine already provisioned. Run `vagrant provision` or use the 
`--provision`
   ==> default: flag to force provisioning. Provisioners marked to run always 
will still run.
   
   Last login: Sat Feb 10 02:18:26 2018 from 10.0.2.2
   vagrant@vagrant-ubuntu-trusty-64:~$  wsk action invoke 
/whisk.system/utils/echo -p message hello --result
   {
   "message": "hello"
   }
   ~/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant 
(vagrant_tmp_dir_override)
   ?  $ vagrant halt
   ==> default: Attempting graceful shutdown of VM...
   ~/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant 
(vagrant_tmp_dir_override)
   ?  $ vagrant up
   Bringing machine 'default' up with 'virtualbox' provider...
   ==> default: Checking if box 'ubuntu/trusty64' is up to date...
   ==> default: There was a problem while downloading the metadata for your box
   ==> default: to check for updates. This is not an error, since it is usually 
due
   ==> default: to temporary network problems. This is just a warning. The 
problem
   ==> default: encountered was:
   ==> default:
   ==> default: The requested URL returned error: 404 Not Found
   ==> 

[GitHub] csantanapr commented on issue #3269: change tmp dir for vagrant

2018-02-09 Thread GitBox
csantanapr commented on issue #3269: change tmp dir for vagrant
URL: 
https://github.com/apache/incubator-openwhisk/pull/3269#issuecomment-364619139
 
 
   it works for me
   ```
   ==> default: ++ echo 'Swagger UI URL: 
https://192.168.33.13/api/v1/docs/index.html?url=/api/v1/api-docs'
   ==> default: +++ cat /home/vagrant/openwhisk/ansible/files/auth.guest
   ==> default: ++ wsk property set --apihost 192.168.33.13 --namespace guest 
--auth 
23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP
   ==> default: ok: whisk auth set. Run 'wsk property get --auth' to see the 
new value.
   ==> default: ok: whisk API host set to 192.168.33.13
   ==> default: ok: whisk namespace set to guest
   ==> default: ++ wsk action invoke /whisk.system/utils/echo -p message hello 
--result
   ==> default: {
   ==> default: "message": "hello"
   ==> default: }
   ==> default: +++ date
   ==> default: ++ echo 'Sat Feb 10 02:16:28 UTC 2018: build-deploy-end'
   ~/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant 
(vagrant_tmp_dir_override)
   ?  $ vagrant ssh
   Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-135-generic x86_64)
   
   vagrant@vagrant-ubuntu-trusty-64:~$ wsk action invoke 
/whisk.system/utils/echo -p message hello --result
   {
   "message": "hello"
   }
   vagrant@vagrant-ubuntu-trusty-64:~$ exit
   logout
   Shared connection to 127.0.0.1 closed.
   
   
   ?  $ vagrant reload
   ==> default: Attempting graceful shutdown of VM...
   ==> default: Checking if box 'ubuntu/trusty64' is up to date...
   ==> default: There was a problem while downloading the metadata for your box
   ==> default: to check for updates. This is not an error, since it is usually 
due
   ==> default: to temporary network problems. This is just a warning. The 
problem
   ==> default: encountered was:
   ==> default:
   ==> default: The requested URL returned error: 404 Not Found
   ==> default:
   ==> default: If you want to check for box updates, verify your network 
connection
   ==> default: is valid and try again.
   ==> default: Setting the name of the VM: whisk-1802092122
   ==> default: Clearing any previously set forwarded ports...
   ==> default: Clearing any previously set network interfaces...
   ==> default: Preparing network interfaces based on configuration...
   default: Adapter 1: nat
   default: Adapter 2: hostonly
   ==> default: Forwarding ports...
   default: 22 (guest) =>  (host) (adapter 1)
   ==> default: Running 'pre-boot' VM customizations...
   ==> default: Booting VM...
   ==> default: Waiting for machine to boot. This may take a few minutes...
   default: SSH address: 127.0.0.1:
   default: SSH username: vagrant
   default: SSH auth method: private key
   ==> default: Machine booted and ready!
   ==> default: Checking for guest additions in VM...
   default: The guest additions on this VM do not match the installed 
version of
   default: VirtualBox! In most cases this is fine, but in rare cases it can
   default: prevent things such as shared folders from working properly. If 
you see
   default: shared folder errors, please make sure the guest additions 
within the
   default: virtual machine match the version of VirtualBox you have 
installed on
   default: your host and reload your VM.
   default:
   default: Guest Additions Version: 4.3.36
   default: VirtualBox Version: 5.1
   ==> default: Configuring and enabling network interfaces...
   ==> default: Mounting shared folders...
   default: /vagrant => 
/Users/csantana23/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant
   default: /home/vagrant/openwhisk => 
/Users/csantana23/Documents/dev/whisk/git/apache/incubator-openwhisk
   ==> default: Machine already provisioned. Run `vagrant provision` or use the 
`--provision`
   ==> default: flag to force provisioning. Provisioners marked to run always 
will still run.
   
   Last login: Sat Feb 10 02:18:26 2018 from 10.0.2.2
   vagrant@vagrant-ubuntu-trusty-64:~$  wsk action invoke 
/whisk.system/utils/echo -p message hello --result
   {
   "message": "hello"
   }
   ~/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant 
(vagrant_tmp_dir_override)
   ?  $ vagrant halt
   ==> default: Attempting graceful shutdown of VM...
   ~/Documents/dev/whisk/git/apache/incubator-openwhisk/tools/vagrant 
(vagrant_tmp_dir_override)
   ?  $ vagrant up
   Bringing machine 'default' up with 'virtualbox' provider...
   ==> default: Checking if box 'ubuntu/trusty64' is up to date...
   ==> default: There was a problem while downloading the metadata for your box
   ==> default: to check for updates. This is not an error, since it is usually 
due
   ==> default: to temporary network problems. This is just a warning. The 
problem
   ==> default: encountered was:
   ==> default:
   ==> default: The requested URL returned error: 404 Not Found
   ==> 

[GitHub] csantanapr opened a new pull request #3269: change tmp dir for vagrant

2018-02-09 Thread GitBox
csantanapr opened a new pull request #3269: change tmp dir for vagrant
URL: https://github.com/apache/incubator-openwhisk/pull/3269
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mrutkows opened a new issue #13: Add Travis logo (with live mastr build status) to README.md

2018-02-09 Thread GitBox
mrutkows opened a new issue #13: Add Travis logo (with live mastr build status) 
to README.md
URL: https://github.com/apache/incubator-openwhisk-package-deploy/issues/13
 
 
   This is dynamically provided by Travis and reads either "passing" or 
"failed" or "error" (an .svg file tied to your Travis).


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mrutkows opened a new issue #12: Add Apache 2.0 logo to (top of) README.md

2018-02-09 Thread GitBox
mrutkows opened a new issue #12: Add Apache 2.0 logo to (top of) README.md
URL: https://github.com/apache/incubator-openwhisk-package-deploy/issues/12
 
 
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. nginx is not present in docker ps.

2018-02-09 Thread GitBox
AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. 
nginx is not present in docker ps.
URL: 
https://github.com/apache/incubator-openwhisk/issues/2304#issuecomment-364605020
 
 
   Now I get a different error,
   
![image](https://user-images.githubusercontent.com/14912966/36055710-0aed7688-0e07-11e8-9af4-103bcff5fdd7.png)
   sorry for the headache!


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rabbah commented on issue #2304: Native deployment of openwhisk in vagrant vm. nginx is not present in docker ps.

2018-02-09 Thread GitBox
rabbah commented on issue #2304: Native deployment of openwhisk in vagrant vm. 
nginx is not present in docker ps.
URL: 
https://github.com/apache/incubator-openwhisk/issues/2304#issuecomment-364603925
 
 
   Remove the directory first. It?s likely owned by root and causes the issue 
you?re seeing. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] tysonnorris commented on a change in pull request #2957: splunk logstore

2018-02-09 Thread GitBox
tysonnorris commented on a change in pull request #2957: splunk logstore
URL: 
https://github.com/apache/incubator-openwhisk/pull/2957#discussion_r167375563
 
 

 ##
 File path: 
common/scala/src/main/scala/whisk/core/containerpool/logging/LogDriverLogStore.scala
 ##
 @@ -21,34 +21,21 @@ import akka.actor.ActorSystem
 import whisk.core.entity.Identity
 import pureconfig.loadConfigOrThrow
 import whisk.common.TransactionId
-import whisk.core.containerpool.Container
+import whisk.core.containerpool.{Container, ContainerArgsConfig}
 import whisk.core.entity.{ActivationLogs, ExecutableWhiskAction, 
WhiskActivation}
 
 import scala.concurrent.Future
-
-trait LogDriverLogStoreConfig {
-  def message: String
-  def dockerLogDriver: String
-  def dockerLogDriverOpts: Set[String]
-}
-
-case class ConsumerlessLogDriverLogStoreConfig(message: String,
-   dockerLogDriver: String,
-   dockerLogDriverOpts: 
Set[String])
-extends LogDriverLogStoreConfig
-
 /**
  * Docker log driver based LogStore impl. Uses docker log driver to emit 
container logs to an external store.
- * Fetching logs from that external store is not provided in this trait.
+ * Fetching logs from that external store is not provided in this trait. This 
SPI now requires the container
+ * args to be used as that is the place where the logs are shipped and 
fetching them here is a NOOP.
  */
 class LogDriverLogStore(actorSystem: ActorSystem,
-config: LogDriverLogStoreConfig =
-  
loadConfigOrThrow[ConsumerlessLogDriverLogStoreConfig]("whisk.logstore.log-driver"))
+config: ContainerArgsConfig =
+  
loadConfigOrThrow[ContainerArgsConfig]("whisk.container-factory.container-args"))
 extends LogStore {
-  val logDriverMessage = config.message
-  val logParameters = Map("--log-driver" -> Set(config.dockerLogDriver), 
"--log-opt" -> config.dockerLogDriverOpts)
 
-  override def containerParameters = logParameters.map(kv => (kv._1, 
kv._2.toSet)).toMap
+  override def containerParameters = config.extraArgs
 
 Review comment:
   I think that loading the ContainerArgsConfig here will cause doubling of the 
args when the container launches? 
   
   Historically, there were a handful of `docker run` args passed, in addition 
to special config handling for dns, network, and a couple others. Then LogStore 
SPI came, and added a couple other special handling. Then the 
ContainerArgsConfig provided "extraArgs" on top of those. 
   
   So each of the ContainerArgsConfigs docker run flags should only be used in 
one place, I think, and separately there is a question in my mind about whether 
these should ALL reside under extraArgs (vs continuing to handle as "some args 
are special", which mostly means that those special ones should never be 
included in extraArgs).
   
   So if we want people to add "--log-driver" via extra args, then 
LogDriverStore should just have an empty map for logParameters; and if we want 
people to use a special config for it, then it should not use extraArgs, but 
maybe either LogDriverConfig or ContainerArgsConfig.logDriverArgs. 

   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] tysonnorris commented on a change in pull request #2957: splunk logstore

2018-02-09 Thread GitBox
tysonnorris commented on a change in pull request #2957: splunk logstore
URL: 
https://github.com/apache/incubator-openwhisk/pull/2957#discussion_r167375563
 
 

 ##
 File path: 
common/scala/src/main/scala/whisk/core/containerpool/logging/LogDriverLogStore.scala
 ##
 @@ -21,34 +21,21 @@ import akka.actor.ActorSystem
 import whisk.core.entity.Identity
 import pureconfig.loadConfigOrThrow
 import whisk.common.TransactionId
-import whisk.core.containerpool.Container
+import whisk.core.containerpool.{Container, ContainerArgsConfig}
 import whisk.core.entity.{ActivationLogs, ExecutableWhiskAction, 
WhiskActivation}
 
 import scala.concurrent.Future
-
-trait LogDriverLogStoreConfig {
-  def message: String
-  def dockerLogDriver: String
-  def dockerLogDriverOpts: Set[String]
-}
-
-case class ConsumerlessLogDriverLogStoreConfig(message: String,
-   dockerLogDriver: String,
-   dockerLogDriverOpts: 
Set[String])
-extends LogDriverLogStoreConfig
-
 /**
  * Docker log driver based LogStore impl. Uses docker log driver to emit 
container logs to an external store.
- * Fetching logs from that external store is not provided in this trait.
+ * Fetching logs from that external store is not provided in this trait. This 
SPI now requires the container
+ * args to be used as that is the place where the logs are shipped and 
fetching them here is a NOOP.
  */
 class LogDriverLogStore(actorSystem: ActorSystem,
-config: LogDriverLogStoreConfig =
-  
loadConfigOrThrow[ConsumerlessLogDriverLogStoreConfig]("whisk.logstore.log-driver"))
+config: ContainerArgsConfig =
+  
loadConfigOrThrow[ContainerArgsConfig]("whisk.container-factory.container-args"))
 extends LogStore {
-  val logDriverMessage = config.message
-  val logParameters = Map("--log-driver" -> Set(config.dockerLogDriver), 
"--log-opt" -> config.dockerLogDriverOpts)
 
-  override def containerParameters = logParameters.map(kv => (kv._1, 
kv._2.toSet)).toMap
+  override def containerParameters = config.extraArgs
 
 Review comment:
   I think that loading the ContainerArgsConfig here will cause doubling of the 
args when the container launches? Historically, there were a handful of `docker 
run` args passed, in addition to special config handling for dns, network, and 
a couple others. Then LogStore SPI came, and added a couple other special 
handling. Then the ContainerArgsConfig provided "extraArgs" on top of those. 
   
   So each of the ContainerArgsConfigs docker run flags should only be used in 
one place, I think, and separately there is a question in my mind about whether 
these should ALL reside under extraArgs (vs continuing to handle as "some args 
are special", which mostly means that those special ones should never be 
included in extraArgs).
   
   So if we want people to add "--log-driver" via extra args, then 
LogDriverStore should just have an empty map for logParameters; and if we want 
people to use a special config for it, then it should not use extraArgs, but 
maybe either LogDriverConfig or ContainerArgsConfig.logDriverArgs. 

   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pritidesai commented on issue #715: Adding support for export managed project back to manifest

2018-02-09 Thread GitBox
pritidesai commented on issue #715: Adding support for export managed project 
back to manifest
URL: 
https://github.com/apache/incubator-openwhisk-wskdeploy/pull/715#issuecomment-364603453
 
 
   LGTM, please merge. I have created issue for manifest formatting here:
   https://github.com/apache/incubator-openwhisk-wskdeploy/issues/728


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pritidesai opened a new issue #728: Export Manifest - get rid of empty structures from exported manifest

2018-02-09 Thread GitBox
pritidesai opened a new issue #728: Export Manifest - get rid of empty 
structures from exported manifest
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/issues/728
 
 
   We added this new functionality with PR #715 which creates manifest file for 
the managed project so that the whole project can be replicated to any other 
openwhisk instance. However, the exported manifest file looks somewhat messy 
and not human readable. The exported file contains every different YAML structs 
defined in `wskdeploy` instead of having subset of them. For example, the 
exported file looks like this, for the manifest file at 
https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/tests/src/integration/managed-deployment/00-manifest-minus-second-package.yaml:
   
   ```
   application:
 name: ""
 namespace: ""
 credential: ""
 apiHost: ""
 version: ""
 packages: {}
 package:
   name: ""
   version: ""
   license: ""
   dependencies: {}
   namespace: ""
   credential: ""
   apiHost: ""
   actions: {}
   triggers: {}
   feeds: {}
   rules: {}
   inputs: {}
   sequences: {}
   apis: {}
   project:
 name: MyFirstManagedProject
 namespace: ""
 credential: ""
 apiHost: ""
 version: ""
 packages: {}
 package:
   name: ""
   version: ""
   license: ""
   dependencies: {}
   namespace: ""
   credential: ""
   apiHost: ""
   actions: {}
   triggers: {}
   feeds: {}
   rules: {}
   inputs: {}
   sequences: {}
   apis: {}
   packages:
 ManagedPackage-1:
   name: ManagedPackage-1
   version: 0.0.2
   license: ""
   dependencies: {}
   namespace: guest
   credential: ""
   apiHost: ""
   actions:
 HelloWorld-1:
   version: 0.0.2
   location: ""
   function: ManagedPackage-1/HelloWorld-1.js
   runtime: nodejs:6
   namespace: guest/ManagedPackage-1
   credential: ""
   inputs:
 name:
   value: ""
 place:
   value: ""
   outputs: {}
   name: HelloWorld-1
   exposedUrl: ""
   web-export: ""
   main: ""
   limits: null
 HelloWorld-2:
   version: 0.0.2
   location: ""
   function: ManagedPackage-1/HelloWorld-2.js
   runtime: nodejs:6
   namespace: guest/ManagedPackage-1
   credential: ""
   inputs:
 name:
   value: ""
 place:
   value: ""
   outputs: {}
   name: HelloWorld-2
   exposedUrl: ""
   web-export: ""
   main: ""
   limits: null
 HelloWorld-3:
   version: 0.0.2
   location: ""
   function: ManagedPackage-1/HelloWorld-3.js
   runtime: nodejs:6
   namespace: guest/ManagedPackage-1
   credential: ""
   inputs:
 name:
   value: ""
 place:
   value: ""
   outputs: {}
   name: HelloWorld-3
   exposedUrl: ""
   web-export: ""
   main: ""
   limits: null
   triggers:
 ManagedTrigger-1:
   feed: ""
   namespace: guest
   credential: ""
   inputs: {}
   name: ManagedTrigger-1
   source: ""
   feeds: {}
   rules: {}
   inputs: {}
   sequences:
 ManagedSequence-1:
   actions: HelloWorld-1,HelloWorld-2,HelloWorld-3
 ManagedSequence-2:
   actions: HelloWorld-1,HelloWorld-2,HelloWorld-3
   apis: {}
   package:
 name: ""
 version: ""
 license: ""
 dependencies: {}
 namespace: ""
 credential: ""
 apiHost: ""
 actions: {}
 triggers: {}
 feeds: {}
 rules: {}
 inputs: {}
 sequences: {}
 apis: {}
   filepath: ""
   ```
   
   Please update the YAML marshaling so that it produces more readable manifest.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. nginx is not present in docker ps.

2018-02-09 Thread GitBox
AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. 
nginx is not present in docker ps.
URL: 
https://github.com/apache/incubator-openwhisk/issues/2304#issuecomment-364602863
 
 
   I get "Destination /tmp/wskconf/nginx not writable" when trying 'wskdev 
edge': 
   
![image](https://user-images.githubusercontent.com/14912966/36055466-3dd6db90-0e05-11e8-988c-56d7b1326986.png)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mrutkows closed pull request #30: Add the description of phases and repos to be released

2018-02-09 Thread GitBox
mrutkows closed pull request #30: Add the description of phases and repos to be 
released
URL: https://github.com/apache/incubator-openwhisk-release/pull/30
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/docs/general_spec.md b/docs/general_spec.md
index f280a84..3a782ee 100644
--- a/docs/general_spec.md
+++ b/docs/general_spec.md
@@ -26,6 +26,32 @@ Please click on the work items listed as belows to access 
the detailed informati
 
 - [8. Release the artifacts](work_items.md#8-release-the-artifacts-open-issue) 
([open issue](https://github.com/apache/incubator-openwhisk-release/issues/22))
 
+## Different phases of implementations
+
+We plan to implement the specification in three phases:
+- **Phase 1: release of source code packages**: the source code of each 
OpenWhisk repositories is packaged into tar.gz
+file, and uploaded into the staging repository. This is the phase we are 
currently working on.
+- **Phase 2: release of binary packages**: the binary of each OpenWhisk 
repositories is packaged into tar.gz file, and uploaded into the staging 
repository.
+- **Phase 3: release of Docker image packages**: the Docker images of each 
OpenWhisk repositories are packaged into tar.gz files, if available, and 
uploaded into the staging repository.
+
+## List of OpenWhisk repositories to be released
+
+We plan to release the following OpenWhisk repositories:
+- OpenWhisk core: 
[incubator-openwhisk](https://github.com/apache/incubator-openwhisk)
+- OpenWhisk runtimes:
+- 
[incubator-openwhisk-runtime-nodejs](https://github.com/apache/incubator-openwhisk-runtime-nodejs)
+- 
[incubator-openwhisk-runtime-swift](https://github.com/apache/incubator-openwhisk-runtime-swift)
+- 
[incubator-openwhisk-runtime-php](https://github.com/apache/incubator-openwhisk-runtime-php)
+- 
[incubator-openwhisk-runtime-python](https://github.com/apache/incubator-openwhisk-runtime-python)
+- 
[incubator-openwhisk-runtime-java](https://github.com/apache/incubator-openwhisk-runtime-java)
+- 
[incubator-openwhisk-runtime-docker](https://github.com/apache/incubator-openwhisk-runtime-docker)
+- OpenWhisk catalog: 
[incubator-openwhisk-catalog](https://github.com/apache/incubator-openwhisk-catalog)
+- OpenWhisk API gateway: 
[incubator-openwhisk-apigateway](https://github.com/apache/incubator-openwhisk-apigateway)
+- OpenWhisk clients:
+- 
[incubator-openwhisk-client-go](https://github.com/apache/incubator-openwhisk-client-go)
+- 
[incubator-openwhisk-cli](https://github.com/apache/incubator-openwhisk-cli)
+- 
[incubator-openwhisk-wskdeploy](https://github.com/apache/incubator-openwhisk-wskdeploy)
+
 # Proposed implementation
 ## How to automate the release process for OpenWhisk?
 


 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] tysonnorris commented on a change in pull request #2957: splunk logstore

2018-02-09 Thread GitBox
tysonnorris commented on a change in pull request #2957: splunk logstore
URL: 
https://github.com/apache/incubator-openwhisk/pull/2957#discussion_r167372273
 
 

 ##
 File path: 
common/scala/src/main/scala/whisk/core/containerpool/logging/SplunkLogStore.scala
 ##
 @@ -100,8 +100,8 @@ class SplunkLogStore(
 "exec_mode" -> "oneshot",
 "search" -> search,
 "output_mode" -> "json",
-"earliest_time" -> formatter.format(activation.start),
-"latest_time" -> formatter.format(activation.end))).toEntity
 
 Review comment:
   I originally had this in there to limit the time range as much as possible 
for the splunk query, since the activation may have run days ago, lasted 10ms, 
and there may be millions of log events since then. 
   I'm not positive that splunk does better with a narrower time range, but I 
assumed it does - WDYT? 
   I could add it back in, but with end time + 5s to avoid any issues with 
collecting logs on short activations?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. nginx is not present in docker ps.

2018-02-09 Thread GitBox
AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. 
nginx is not present in docker ps.
URL: 
https://github.com/apache/incubator-openwhisk/issues/2304#issuecomment-364597489
 
 
   I get this when trying 'wskdev edge'
   
![image](https://user-images.githubusercontent.com/14912966/36054646-3e8f850a-0e00-11e8-8dc6-f56bbcd5d47f.png)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. nginx is not present in docker ps.

2018-02-09 Thread GitBox
AsmOK commented on issue #2304: Native deployment of openwhisk in vagrant vm. 
nginx is not present in docker ps.
URL: 
https://github.com/apache/incubator-openwhisk/issues/2304#issuecomment-364597489
 
 
   I get this when trying 'wskdev edge'
   
![image](https://user-images.githubusercontent.com/14912966/36054646-3e8f850a-0e00-11e8-8dc6-f56bbcd5d47f.png)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rabbah commented on issue #31: wsk commands return "[Errno 111] Connection refused"

2018-02-09 Thread GitBox
rabbah commented on issue #31: wsk commands return "[Errno 111] Connection 
refused"
URL: 
https://github.com/apache/incubator-openwhisk/issues/31#issuecomment-364592567
 
 
   Your nginx container is flopping. Likely the mount directly is owned by 
root. Check issue #32. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rabbah commented on issue #31: wsk commands return "[Errno 111] Connection refused"

2018-02-09 Thread GitBox
rabbah commented on issue #31: wsk commands return "[Errno 111] Connection 
refused"
URL: 
https://github.com/apache/incubator-openwhisk/issues/31#issuecomment-364592567
 
 
   Your nginx container is likely flopping. Likely the mount directly is owned 
by root. Check issue #32. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #31: wsk commands return "[Errno 111] Connection refused"

2018-02-09 Thread GitBox
AsmOK commented on issue #31: wsk commands return "[Errno 111] Connection 
refused"
URL: 
https://github.com/apache/incubator-openwhisk/issues/31#issuecomment-364592333
 
 
   I get a connection refused error.
   
![image](https://user-images.githubusercontent.com/14912966/36053844-15b87226-0dfc-11e8-9c3a-b76b7b2bc339.png)
   However, the containers are all there. Comparing to a properly running 
version, only a couchdb container is missing for me, but I'm using Cloudant, so 
that's the reason it's missing. 
   
![image](https://user-images.githubusercontent.com/14912966/36053921-6d34c356-0dfc-11e8-87ef-7c90d880cfc0.png)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #31: wsk commands return "[Errno 111] Connection refused"

2018-02-09 Thread GitBox
AsmOK commented on issue #31: wsk commands return "[Errno 111] Connection 
refused"
URL: 
https://github.com/apache/incubator-openwhisk/issues/31#issuecomment-364586716
 
 
   I have the same problem. However, the controller container is there.
   The output for docker ps is:
   
![image](https://user-images.githubusercontent.com/14912966/36052995-95e5849c-0df8-11e8-80bc-5e7f9928d495.png)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] AsmOK commented on issue #31: wsk commands return "[Errno 111] Connection refused"

2018-02-09 Thread GitBox
AsmOK commented on issue #31: wsk commands return "[Errno 111] Connection 
refused"
URL: 
https://github.com/apache/incubator-openwhisk/issues/31#issuecomment-364586716
 
 
   I have the same problem. However, the controller container is there.
   The output for docker ps is:
   
![image](https://user-images.githubusercontent.com/14912966/36052995-95e5849c-0df8-11e8-80bc-5e7f9928d495.png)
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] csantanapr closed pull request #157: add trigger rules to existing tests

2018-02-09 Thread GitBox
csantanapr closed pull request #157: add trigger rules to existing tests
URL: https://github.com/apache/incubator-openwhisk-package-cloudant/pull/157
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/actions/changesWebAction.js b/actions/changesWebAction.js
index 7078b73..3f02994 100644
--- a/actions/changesWebAction.js
+++ b/actions/changesWebAction.js
@@ -145,7 +145,7 @@ function main(params) {
 return getTrigger(db, triggerID);
 })
 .then(trigger => {
-if (!trigger.status.active) {
+if (trigger.status && trigger.status.active === false) {
 reject(sendError(400, `${params.triggerName} cannot be 
updated because it is disabled`));
 }
 if (params.filter || params.query_params) {
@@ -380,9 +380,7 @@ function updateTrigger(triggerDB, triggerID, existing, 
params) {
 })
 .then(trigger => {
 for (var key in params) {
-if (params[key]) {
-trigger[key] = params[key];
-}
+trigger[key] = params[key];
 }
 var status = {
 'active': true,
diff --git a/installCatalog.sh b/installCatalog.sh
index 0aef5a6..cfa5521 100755
--- a/installCatalog.sh
+++ b/installCatalog.sh
@@ -74,7 +74,7 @@ fi
 
 # Cloudant feed action
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/changes "$PACKAGE_HOME/actions/changes.js" \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/changes "$PACKAGE_HOME/actions/changes.js" \
 -t 9 \
 -a feed true \
 -a description 'Database change feed' \
@@ -83,102 +83,102 @@ $WSK_CLI -i --apihost "$EDGEHOST" action update --auth 
"$AUTH" cloudant/changes
 
 # Cloudant web feed action
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudantWeb/changesWebAction "$PACKAGE_HOME/actions/changesWebAction.js" \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudantWeb/changesWebAction "$PACKAGE_HOME/actions/changesWebAction.js" \
 -a description 'Create/Delete a trigger in cloudant provider Database' \
 --web true
 
 # Cloudant account actions
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/create-database \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/create-database \
 "$PACKAGE_HOME/actions/account-actions/create-database.js" \
 -a description 'Create Cloudant database' \
 -a parameters '[ {"name":"dbname", "required":true} ]'
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/read-database \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/read-database \
 "$PACKAGE_HOME/actions/account-actions/read-database.js" \
 -a description 'Read Cloudant database' \
 -a parameters '[ {"name":"dbname", "required":true} ]'
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/delete-database \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/delete-database \
 "$PACKAGE_HOME/actions/account-actions/delete-database.js" \
 -a description 'Delete Cloudant database' \
 -a parameters '[ {"name":"dbname", "required":true} ]'
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/list-all-databases \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/list-all-databases \
 "$PACKAGE_HOME/actions/account-actions/list-all-databases.js" \
 -a description 'List all Cloudant databases'
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/read-updates-feed \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/read-updates-feed \
 "$PACKAGE_HOME/actions/account-actions/read-updates-feed.js" \
 -a description 'Read updates feed from Cloudant account (non-continuous)' \
 -a parameters '[ {"name":"dbname", "required":true}, {"name":"params", 
"required":false} ]'
 
 # Cloudant database actions
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" 
cloudant/create-document \
+$WSK_CLI -i --apihost "$EDGEHOST" action update --kind nodejs:6 --auth "$AUTH" 
cloudant/create-document \
 "$PACKAGE_HOME/actions/database-actions/create-document.js" \
 -a description 'Create document in database' \
 -a parameters '[ {"name":"dbname", "required":true}, {"name":"doc", 
"required":true, "description": "The JSON document to insert"}, 
{"name":"params", "required":false} ]' \
 
-$WSK_CLI -i --apihost "$EDGEHOST" action update --auth "$AUTH" cloudant/read \
+$WSK_CLI 

[GitHub] csantanapr commented on issue #18: stop clone and own for actionproxy

2018-02-09 Thread GitBox
csantanapr commented on issue #18: stop clone and own for actionproxy
URL: 
https://github.com/apache/incubator-openwhisk-runtime-swift/pull/18#issuecomment-364579209
 
 
   >thanks for doing that.
   
   My goal in life is to make you happy jefe
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] jasonpet opened a new pull request #157: add trigger rules to existing tests

2018-02-09 Thread GitBox
jasonpet opened a new pull request #157: add trigger rules to existing tests
URL: https://github.com/apache/incubator-openwhisk-package-cloudant/pull/157
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] csantanapr commented on issue #18: stop clone and own for actionproxy

2018-02-09 Thread GitBox
csantanapr commented on issue #18: stop clone and own for actionproxy
URL: 
https://github.com/apache/incubator-openwhisk-runtime-swift/pull/18#issuecomment-364579209
 
 
   >thanks for doing that.
   My goal in life is to make you happy jefe
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] csantanapr commented on issue #10: Remove redundant file names from exclusion list.

2018-02-09 Thread GitBox
csantanapr commented on issue #10: Remove redundant file names from exclusion 
list.
URL: 
https://github.com/apache/incubator-openwhisk-runtime-swift/pull/10#issuecomment-364578070
 
 
   >The current Swift runtime does already supporting deploying an archive file 
with multiple Swift files with the Package.swift being ignored. Developers 
might want to use an archive file to include non-Swift resources (JSON config 
file, image or other static resources) or split their source code into multiple 
files. This behaviour is consistent with the other runtimes at the moment.
   
   I see,
   Well it's not supported if it's not tested and documented, it happens to 
work by chance.
   
   I don't see any problem if we want to support, but someone needs to submit a 
test case with a using a fixture with a zip that way we can capture any 
regressions. and then document this to users in the user docs.
   And yes it will match other runtimes like nodejs, python, php actions.zip
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] csantanapr commented on issue #10: Remove redundant file names from exclusion list.

2018-02-09 Thread GitBox
csantanapr commented on issue #10: Remove redundant file names from exclusion 
list.
URL: 
https://github.com/apache/incubator-openwhisk-runtime-swift/pull/10#issuecomment-364578070
 
 
   >The current Swift runtime does already supporting deploying an archive file 
with multiple Swift files with the Package.swift being ignored. Developers 
might want to use an archive file to include non-Swift resources (JSON config 
file, image or other static resources) or split their source code into multiple 
files. This behaviour is consistent with the other runtimes at the moment.
   
   I see,
   Well it's not supported if it's not tested and documented, it happens to 
work by chance.
   
   I don't see any problem if we want to support, but someone needs to submit a 
test case with a using a fixture with a zip that way we can capture any 
regressions. and then document this to users in the user docs.
   And yes it will match other runtimes like nodejs, python, php
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] csantanapr commented on issue #10: Remove redundant file names from exclusion list.

2018-02-09 Thread GitBox
csantanapr commented on issue #10: Remove redundant file names from exclusion 
list.
URL: 
https://github.com/apache/incubator-openwhisk-runtime-swift/pull/10#issuecomment-364578070
 
 
   >The current Swift runtime does already supporting deploying an archive file 
with multiple Swift files with the Package.swift being ignored. Developers 
might want to use an archive file to include non-Swift resources (JSON config 
file, image or other static resources) or split their source code into multiple 
files. This behaviour is consistent with the other runtimes at the moment.
   
   I see,
   Well it's not supported if it's not tested and documented, it happens to 
work by chance.
   
   I don't see any problem if we want to support, but we someone needs to 
submit a test case with a using a fixture with a zip that way we can capture 
any regressions. and then document this to users in the user docs.
   And yes it will match other runtimes like nodejs, python, php
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo closed pull request #727: making sure apigw token check is done when apis are defined

2018-02-09 Thread GitBox
houshengbo closed pull request #727: making sure apigw token check is done when 
apis are defined
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/pull/727
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/parsers/manifest_parser.go b/parsers/manifest_parser.go
index 87d76b3b..b8405b12 100644
--- a/parsers/manifest_parser.go
+++ b/parsers/manifest_parser.go
@@ -871,12 +871,6 @@ func (dm *YAMLParser) 
ComposeApiRecordsFromAllPackages(client *whisk.Config, man
var requests []*whisk.ApiCreateRequest = 
make([]*whisk.ApiCreateRequest, 0)
manifestPackages := make(map[string]Package)
 
-   // verify APIGW_ACCESS_TOKEN is set before composing APIs
-   // until this point, we dont know whether APIs are specified in 
manifest or not
-   if len(client.ApigwAccessToken) == 0 {
-   return nil, 
wskderrors.NewWhiskClientInvalidConfigError(wski18n.ID_MSG_CONFIG_MISSING_APIGW_ACCESS_TOKEN)
-   }
-
if manifest.Package.Packagename != "" {
return dm.ComposeApiRecords(client, 
manifest.Package.Packagename, manifest.Package, manifest.Filepath)
} else {
@@ -926,6 +920,14 @@ func (dm *YAMLParser) 
ComposeApiRecordsFromAllPackages(client *whisk.Config, man
 func (dm *YAMLParser) ComposeApiRecords(client *whisk.Config, packageName 
string, pkg Package, manifestPath string) ([]*whisk.ApiCreateRequest, error) {
var requests []*whisk.ApiCreateRequest = 
make([]*whisk.ApiCreateRequest, 0)
 
+   if pkg.Apis != nil {
+   // verify APIGW_ACCESS_TOKEN is set before composing APIs
+   // until this point, we dont know whether APIs are specified in 
manifest or not
+   if len(client.ApigwAccessToken) == 0 {
+   return nil, 
wskderrors.NewWhiskClientInvalidConfigError(wski18n.ID_MSG_CONFIG_MISSING_APIGW_ACCESS_TOKEN)
+   }
+   }
+
for apiName, apiDoc := range pkg.Apis {
for gatewayBasePath, gatewayBasePathMap := range apiDoc {
// append "/" to the gateway base path if its missing


 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pritidesai opened a new pull request #727: making sure apigw token check is done when apis are defined

2018-02-09 Thread GitBox
pritidesai opened a new pull request #727: making sure apigw token check is 
done when apis are defined
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/pull/727
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] tysonnorris commented on issue #2833: MesosContainerFactory

2018-02-09 Thread GitBox
tysonnorris commented on issue #2833: MesosContainerFactory
URL: 
https://github.com/apache/incubator-openwhisk/pull/2833#issuecomment-364574030
 
 
   @rabbah @markusthoemmes let me know if you have additional comments on this?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] tysonnorris commented on a change in pull request #2833: MesosContainerFactory

2018-02-09 Thread GitBox
tysonnorris commented on a change in pull request #2833: MesosContainerFactory
URL: 
https://github.com/apache/incubator-openwhisk/pull/2833#discussion_r167350754
 
 

 ##
 File path: common/scala/build.gradle
 ##
 @@ -40,6 +40,8 @@ dependencies {
 compile 'com.google.code.findbugs:jsr305:3.0.2'
 compile 'io.kamon:kamon-core_2.11:0.6.7'
 compile 'io.kamon:kamon-statsd_2.11:0.6.7'
+//for mesos
+compile 'com.adobe.api.platform.runtime:mesos-actor:0.0.3'
 
 Review comment:
   Not sure what parts or concerns there are specifically? 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pritidesai opened a new issue #726: API Gateway - Add README.md

2018-02-09 Thread GitBox
pritidesai opened a new issue #726: API Gateway - Add README.md
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/issues/726
 
 
   Add readme file under 
https://github.com/apache/incubator-openwhisk-wskdeploy/tree/master/tests/src/integration/apigateway
 explaining examples written in manifest.yaml.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pritidesai opened a new issue #725: API Gateway - Enable integration test

2018-02-09 Thread GitBox
pritidesai opened a new issue #725: API Gateway - Enable integration test
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/issues/725
 
 
   API Gateway integration test is failing in Travis with following error:
   
   ```
   Unable to obtain API(s) from the API Gateway: "connect ECONNREFUSED 
172.17.0.1:9000": HTTP Response Status: 502 Bad Gateway HTTP Response Body: 
{"error":"API creation failure: Unable to obtain API(s) from the API Gateway: 
\"connect ECONNREFUSED 172.17.0.1:9000\""}
   ```
   
   Enable the integration test and work with API Gateway/OpenWhisk team to fix 
this issue.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] pritidesai opened a new issue #724: API Gateway - Add support to specify response type in manifest file

2018-02-09 Thread GitBox
pritidesai opened a new issue #724: API Gateway - Add support to specify 
response type in manifest file
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/issues/724
 
 
   APIs are defined in manifest file with:
   
   ```
   apis:
  book-club:
   club:
   books:
   getBooks: GET
   postBooks: POST
   putBooks: PUT
   deleteBooks: DELETE
   ```
   
   Now, here four different APIs are getting created with specified Gateway 
Method (GET, POST, PUT, DELETE, etc), with default response type of `json`. As 
this current schema does not support specifying response type for each API. We 
need to update the schema so that response type can be specified, some possible 
options:
   
   ```
   apis:
  book-club:
   club:
   books:
   getBooks: GET,
   postBooks: POST,
   putBooks: PUT,
   deleteBooks: DELETE,
   ```
   
   or:
   
   ```
   apis:
  book-club:
   club:
   books:
   getBooks:
   method: GET
   response: 
   postBooks:
   method: POST
   response: 
   putBooks:
   method: PUT
   response: 
   deleteBooks:
   method: DELETE
   response: 
   ```
   
   please feel free to suggest any other option.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mrutkows closed issue #686: Delete APIs on undeploy

2018-02-09 Thread GitBox
mrutkows closed issue #686: Delete APIs on undeploy
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/issues/686
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mrutkows closed pull request #717: API Gateway deployment/undeployment

2018-02-09 Thread GitBox
mrutkows closed pull request #717: API Gateway deployment/undeployment
URL: https://github.com/apache/incubator-openwhisk-wskdeploy/pull/717
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json
index 4576bf6b..1758c5d9 100644
--- a/Godeps/Godeps.json
+++ b/Godeps/Godeps.json
@@ -105,11 +105,11 @@
},
{
"ImportPath": 
"github.com/apache/incubator-openwhisk-client-go/whisk",
-   "Rev": "cef179c81f07f86413c720623995c17bd1bddd7d"
+   "Rev": "d7cab4297a25e2cc25492b85b64e7ec000da9ffb"
},
{
"ImportPath": 
"github.com/apache/incubator-openwhisk-client-go/wski18n",
-   "Rev": "cef179c81f07f86413c720623995c17bd1bddd7d"
+   "Rev": "d7cab4297a25e2cc25492b85b64e7ec000da9ffb"
},
{
"ImportPath": "github.com/pelletier/go-buffruneio",
diff --git a/deployers/manifestreader.go b/deployers/manifestreader.go
index 06fbdcea..0442abc4 100644
--- a/deployers/manifestreader.go
+++ b/deployers/manifestreader.go
@@ -93,7 +93,7 @@ func (deployer *ManifestReader) HandleYaml(sdeployer 
*ServiceDeployer, manifestP
return wskderrors.NewYAMLFileFormatError(manifestName, err)
}
 
-   apis, err := manifestParser.ComposeApiRecordsFromAllPackages(manifest)
+   apis, err := 
manifestParser.ComposeApiRecordsFromAllPackages(deployer.serviceDeployer.ClientConfig,
 manifest)
if err != nil {
return wskderrors.NewYAMLFileFormatError(manifestName, err)
}
@@ -373,17 +373,16 @@ func (reader *ManifestReader) SetRules(rules 
[]*whisk.Rule) error {
 
 func (reader *ManifestReader) SetApis(ar []*whisk.ApiCreateRequest) error {
dep := reader.serviceDeployer
-   var apis []*whisk.ApiCreateRequest = make([]*whisk.ApiCreateRequest, 0)
 
dep.mt.Lock()
defer dep.mt.Unlock()
 
-   for _, api := range apis {
-   existApi, exist := dep.Deployment.Apis[api.ApiDoc.ApiName]
+   for _, api := range ar {
+   existApi, exist := dep.Deployment.Apis[api.ApiDoc.Action.Name]
if exist {
existApi.ApiDoc.ApiName = api.ApiDoc.ApiName
} else {
-   dep.Deployment.Apis[api.ApiDoc.ApiName] = api
+   dep.Deployment.Apis[api.ApiDoc.Action.Name] = api
}
 
}
diff --git a/deployers/servicedeployer.go b/deployers/servicedeployer.go
index 8861619b..14fc1c8b 100644
--- a/deployers/servicedeployer.go
+++ b/deployers/servicedeployer.go
@@ -927,14 +927,20 @@ func (deployer *ServiceDeployer) createAction(pkgname 
string, action *whisk.Acti
 // create api (API Gateway functionality)
 func (deployer *ServiceDeployer) createApi(api *whisk.ApiCreateRequest) error {
 
-   displayPreprocessingInfo(parsers.YAML_KEY_API, api.ApiDoc.ApiName, true)
+   apiPath := api.ApiDoc.ApiName + " " + api.ApiDoc.GatewayBasePath +
+   api.ApiDoc.GatewayRelPath + " " + api.ApiDoc.GatewayMethod
+   displayPreprocessingInfo(parsers.YAML_KEY_API, apiPath, true)
 
var err error
var response *http.Response
 
-   // TODO() Is there an api delete function? could not find it
+   apiCreateReqOptions := new(whisk.ApiCreateRequestOptions)
+   apiCreateReqOptions.SpaceGuid = 
strings.Split(deployer.Client.Config.AuthToken, ":")[0]
+   apiCreateReqOptions.AccessToken = 
deployer.Client.Config.ApigwAccessToken
+   // TODO() Add Response type apiCreateReqOptions.ResponseType
+
err = retry(DEFAULT_ATTEMPTS, DEFAULT_INTERVAL, func() error {
-   _, response, err = deployer.Client.Apis.Insert(api, nil, true)
+   _, response, err = deployer.Client.Apis.Insert(api, 
apiCreateReqOptions, true)
return err
})
 
@@ -942,7 +948,7 @@ func (deployer *ServiceDeployer) createApi(api 
*whisk.ApiCreateRequest) error {
return createWhiskClientError(err.(*whisk.WskError), response, 
parsers.YAML_KEY_API, true)
}
 
-   displayPostprocessingInfo(parsers.YAML_KEY_API, api.ApiDoc.ApiName, 
true)
+   displayPostprocessingInfo(parsers.YAML_KEY_API, apiPath, true)
return nil
 }
 
@@ -990,6 +996,9 @@ func (deployer *ServiceDeployer) UnDeploy(verifiedPlan 
*DeploymentProject) error
 }
 
 func (deployer *ServiceDeployer) unDeployAssets(verifiedPlan 
*DeploymentProject) error {
+   if err := deployer.UnDeployApis(verifiedPlan); err != nil {
+   return err
+   }
 
if err := deployer.UnDeployRules(verifiedPlan); err != nil {
 

[GitHub] houshengbo commented on issue #17: Step 2: Verify the compliance of the source code

2018-02-09 Thread GitBox
houshengbo commented on issue #17: Step 2: Verify the compliance of the source 
code
URL: 
https://github.com/apache/incubator-openwhisk-release/issues/17#issuecomment-364528004
 
 
   @daisy-ycguo @mrutkows Please check this page: 
https://plugins.gradle.org/plugin/org.nosphere.apache.rat/0.3.1.
   
   There is a RAT plugin for gradle. After we import the RAT plugin in 
build.gradle, we can generate the report by running ./gradlew rat. I think we 
will have the result, but we can use RAT in the gradle way.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo commented on issue #17: Step 2: Verify the compliance of the source code

2018-02-09 Thread GitBox
houshengbo commented on issue #17: Step 2: Verify the compliance of the source 
code
URL: 
https://github.com/apache/incubator-openwhisk-release/issues/17#issuecomment-364528004
 
 
   @daisy-ycguo @mrutkows Please check this page: 
https://plugins.gradle.org/plugin/org.nosphere.apache.rat/0.3.1.
   
   There is a gradle RAT plugin. After we import the RAT plugin in 
build.gradle, we can generate the report by running ./gradlew rat. I think we 
will have the result, but we can use RAT in the gradle way.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo commented on issue #17: Step 2: Verify the compliance of the source code

2018-02-09 Thread GitBox
houshengbo commented on issue #17: Step 2: Verify the compliance of the source 
code
URL: 
https://github.com/apache/incubator-openwhisk-release/issues/17#issuecomment-364528004
 
 
   @daisy-ycguo Please check this page: 
https://plugins.gradle.org/plugin/org.nosphere.apache.rat/0.3.1.
   
   There is a gradle RAT plugin. After we import the RAT plugin in 
build.gradle, we can generate the report by running ./gradlew rat.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo opened a new pull request #31: Move the artifacts from stage to release

2018-02-09 Thread GitBox
houshengbo opened a new pull request #31: Move the artifacts from stage to 
release
URL: https://github.com/apache/incubator-openwhisk-release/pull/31
 
 
   This PR enables this repository with the functionality to move the
   artifacts from the staging folder to the release folder.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vvraskin commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
vvraskin commented on a change in pull request #3240: Add a loadbalancer with 
local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167277639
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
+  }
+  if (compareAndSetState(current, next)) {
+true
+  } else {
+tryReleaseShared(releases)
+  }
+}
+
+@tailrec
+final def nonFairTryAcquireShared(acquires: Int): Int = {
+  val available = getState
+  val remaining = available - acquires
+  if (remaining < 0 || compareAndSetState(available, remaining)) {
 
 Review comment:
   Nice, was not aware of short circuiting ? 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] markusthoemmes commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
markusthoemmes commented on a change in pull request #3240: Add a loadbalancer 
with local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167275225
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
 
 Review comment:
   As the comment indicates, this catches an integer overflow (overflowing 
numbers will become negative), so I'd say an exception is warranted.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] markusthoemmes commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
markusthoemmes commented on a change in pull request #3240: Add a loadbalancer 
with local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167275225
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
 
 Review comment:
   As the comment indicates, this catches an integer overflow (overflowing 
numbers will become negative), so I'd say an exception is warranted. +1 on 
clarifying the error message.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] markusthoemmes commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
markusthoemmes commented on a change in pull request #3240: Add a loadbalancer 
with local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167273411
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
+  }
+  if (compareAndSetState(current, next)) {
+true
+  } else {
+tryReleaseShared(releases)
+  }
+}
+
+@tailrec
+final def nonFairTryAcquireShared(acquires: Int): Int = {
+  val available = getState
+  val remaining = available - acquires
+  if (remaining < 0 || compareAndSetState(available, remaining)) {
 
 Review comment:
   If we ask for 5 `remaining < 0` will be `true` and thus the second part of 
the line will not be executed due to short-circuiting.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] cbickel opened a new pull request #3268: Cleanup replication doc after testing replay of database.

2018-02-09 Thread GitBox
cbickel opened a new pull request #3268: Cleanup replication doc after testing 
replay of database.
URL: https://github.com/apache/incubator-openwhisk/pull/3268
 
 
   This test forgot to remove a replication document after the test.
   This PR fixes this.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] cbickel opened a new pull request #3267: Akka's advice of parameters.

2018-02-09 Thread GitBox
cbickel opened a new pull request #3267: Akka's advice of parameters.
URL: https://github.com/apache/incubator-openwhisk/pull/3267
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] cbickel opened a new pull request #3266: Use always all available controllers.

2018-02-09 Thread GitBox
cbickel opened a new pull request #3266: Use always all available controllers.
URL: https://github.com/apache/incubator-openwhisk/pull/3266
 
 
   If several controllers are specified, use always all of them.
   This PR deprecates the avaiability of an hot standby controller.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vvraskin commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
vvraskin commented on a change in pull request #3240: Add a loadbalancer with 
local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167257861
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
+  }
+  if (compareAndSetState(current, next)) {
+true
+  } else {
+tryReleaseShared(releases)
+  }
+}
+
 
 Review comment:
   I think short comments would be a boon here, what do you think?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vvraskin commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
vvraskin commented on a change in pull request #3240: Add a loadbalancer with 
local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167266067
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
+  }
+  if (compareAndSetState(current, next)) {
+true
+  } else {
+tryReleaseShared(releases)
+  }
+}
+
+@tailrec
+final def nonFairTryAcquireShared(acquires: Int): Int = {
+  val available = getState
+  val remaining = available - acquires
+  if (remaining < 0 || compareAndSetState(available, remaining)) {
 
 Review comment:
   I think it would make sense to split this condition and add a nested _if_ 
for `compareAndSetState(available, remaining))`.
   Given that we have 4 acquires available,say we ask for 5, given that there 
was no concurrent write it will update the state and return the `remaining` 
which is -1. It could cause to deadlock when no releases would follow, what do 
you think?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vvraskin commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
vvraskin commented on a change in pull request #3240: Add a loadbalancer with 
local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167261574
 
 

 ##
 File path: common/scala/src/main/scala/whisk/common/ForcableSemaphore.scala
 ##
 @@ -0,0 +1,116 @@
+/*
+ * 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 whisk.common
+
+import java.util.concurrent.locks.AbstractQueuedSynchronizer
+
+import scala.annotation.tailrec
+
+/**
+ * A Semaphore, which in addition to the usual features has means to force 
more clients to get permits.
+ *
+ * Like any usual Semaphore, this implementation will give away at most 
`maxAllowed` permits when used the "usual" way.
+ * In addition to that, it also has a `forceAcquire` method which will push 
the Semaphore's remaining permits into a
+ * negative value. Getting permits using `tryAcquire` will only be possible 
once the permits value is in a positive
+ * state again.
+ *
+ * As this is (now) only used for the loadbalancer's scheduling, this does not 
implement the "whole" Java Semaphore's
+ * interface but only the methods needed.
+ *
+ * @param maxAllowed maximum number of permits given away by `tryAcquire`
+ */
+class ForcableSemaphore(maxAllowed: Int) {
+  class Sync extends AbstractQueuedSynchronizer {
+setState(maxAllowed)
+
+def permits: Int = getState
+
+@tailrec
+override final def tryReleaseShared(releases: Int): Boolean = {
+  val current = getState
+  val next = current + releases
+  if (next < current) { // overflow
+throw new Error("Maximum permit count exceeded")
 
 Review comment:
   As far as I understood, this case will only happen when `releases` is a 
negative value. Maybe better to return false meaning that the counter was not 
updated, or clarify the exception message?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vvraskin commented on a change in pull request #3240: Add a loadbalancer with local state and horizontal invoker sharding.

2018-02-09 Thread GitBox
vvraskin commented on a change in pull request #3240: Add a loadbalancer with 
local state and horizontal invoker sharding.
URL: 
https://github.com/apache/incubator-openwhisk/pull/3240#discussion_r167257177
 
 

 ##
 File path: tests/src/test/scala/whisk/common/ForcableSemaphoreTests.scala
 ##
 @@ -0,0 +1,76 @@
+/*
+ * 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 whisk.common
+
+import org.junit.runner.RunWith
+import org.scalatest.{FlatSpec, Matchers}
+import org.scalatest.junit.JUnitRunner
+
+@RunWith(classOf[JUnitRunner])
+class ForcableSemaphoreTests extends FlatSpec with Matchers {
+  behavior of "ForcableSemaphore"
+
+  it should "allow to acquire the defined amount of permits only" in {
+val s = new ForcableSemaphore(2)
+s.tryAcquire() shouldBe true // 1 permit left
+s.tryAcquire() shouldBe true // 0 permits left
+s.tryAcquire() shouldBe false
+
+val s2 = new ForcableSemaphore(4)
+s2.tryAcquire(5) shouldBe false // only 4 permits available
+s2.tryAcquire(3) shouldBe true // 1 permit left
+s2.tryAcquire(2) shouldBe false // only 1 permit available
 
 Review comment:
   To fortify the test coverage should we also try to acquire 0 and negative 
permits here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo opened a new pull request #30: Add the description of phases and repos to be released

2018-02-09 Thread GitBox
houshengbo opened a new pull request #30: Add the description of phases and 
repos to be released
URL: https://github.com/apache/incubator-openwhisk-release/pull/30
 
 
   Closes: #27


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo closed issue #28: Missing LICENSE.txt file

2018-02-09 Thread GitBox
houshengbo closed issue #28: Missing LICENSE.txt file
URL: https://github.com/apache/incubator-openwhisk-release/issues/28
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] houshengbo closed pull request #29: Add LICENSE.txt file

2018-02-09 Thread GitBox
houshengbo closed pull request #29: Add LICENSE.txt file
URL: https://github.com/apache/incubator-openwhisk-release/pull/29
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 000..d645695
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+   Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+  "License" shall mean the terms and conditions for use, reproduction,
+  and distribution as defined by Sections 1 through 9 of this document.
+
+  "Licensor" shall mean the copyright owner or entity authorized by
+  the copyright owner that is granting the License.
+
+  "Legal Entity" shall mean the union of the acting entity and all
+  other entities that control, are controlled by, or are under common
+  control with that entity. For the purposes of this definition,
+  "control" means (i) the power, direct or indirect, to cause the
+  direction or management of such entity, whether by contract or
+  otherwise, or (ii) ownership of fifty percent (50%) or more of the
+  outstanding shares, or (iii) beneficial ownership of such entity.
+
+  "You" (or "Your") shall mean an individual or Legal Entity
+  exercising permissions granted by this License.
+
+  "Source" form shall mean the preferred form for making modifications,
+  including but not limited to software source code, documentation
+  source, and configuration files.
+
+  "Object" form shall mean any form resulting from mechanical
+  transformation or translation of a Source form, including but
+  not limited to compiled object code, generated documentation,
+  and conversions to other media types.
+
+  "Work" shall mean the work of authorship, whether in Source or
+  Object form, made available under the License, as indicated by a
+  copyright notice that is included in or attached to the work
+  (an example is provided in the Appendix below).
+
+  "Derivative Works" shall mean any work, whether in Source or Object
+  form, that is based on (or derived from) the Work and for which the
+  editorial revisions, annotations, elaborations, or other modifications
+  represent, as a whole, an original work of authorship. For the purposes
+  of this License, Derivative Works shall not include works that remain
+  separable from, or merely link (or bind by name) to the interfaces of,
+  the Work and Derivative Works thereof.
+
+  "Contribution" shall mean any work of authorship, including
+  the original version of the Work and any modifications or additions
+  to that Work or Derivative Works thereof, that is intentionally
+  submitted to Licensor for inclusion in the Work by the copyright owner
+  or by an individual or Legal Entity authorized to submit on behalf of
+  the copyright owner. For the purposes of this definition, "submitted"
+  means any form of electronic, verbal, or written communication sent
+  to the Licensor or its representatives, including but not limited to
+  communication on electronic mailing lists, source code control systems,
+  and issue tracking systems that are managed by, or on behalf of, the
+  Licensor for the purpose of discussing and improving the Work, but
+  excluding communication that is conspicuously marked or otherwise
+  designated in writing by the copyright owner as "Not a Contribution."
+
+  "Contributor" shall mean Licensor and any individual or Legal Entity
+  on behalf of whom a Contribution has been received by Licensor and
+  subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+  this License, each Contributor hereby grants to You a perpetual,
+  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+  copyright license to reproduce, prepare Derivative Works of,
+  publicly display, publicly perform, sublicense, and distribute the
+  Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+  this License, each Contributor hereby grants to You a perpetual,
+  worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+  (except as stated in this section) patent license to make, have made,
+  use, offer to sell, sell, import, and otherwise transfer the Work,
+  where such license applies only to those patent claims licensable
+  by such Contributor that 

[GitHub] kpavel commented on a change in pull request #715: Adding support for export managed project back to manifest

2018-02-09 Thread GitBox
kpavel commented on a change in pull request #715: Adding support for export 
managed project back to manifest
URL: 
https://github.com/apache/incubator-openwhisk-wskdeploy/pull/715#discussion_r167239098
 
 

 ##
 File path: cmd/export.go
 ##
 @@ -0,0 +1,266 @@
+/*
+ * 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 cmd
+
+import (
+   "errors"
+   "fmt"
+   "os"
+   "path/filepath"
+   "strings"
+
+   "github.com/apache/incubator-openwhisk-client-go/whisk"
+   "github.com/apache/incubator-openwhisk-wskdeploy/deployers"
+   "github.com/apache/incubator-openwhisk-wskdeploy/parsers"
+   "github.com/apache/incubator-openwhisk-wskdeploy/utils"
+   "github.com/apache/incubator-openwhisk-wskdeploy/wskderrors"
+   "github.com/spf13/cobra"
+)
+
+var exportCmd = {
+   Use:"export",
+   SuggestFor: []string{"capture"},
+   Short:  "Export project assets from OpenWhisk",
+   Long:   `Exports managed project assets from OpenWhisk to manifest 
and function files`,
+   RunE:   ExportCmdImp,
+}
+
+var config *whisk.Config
+
+func ExportAction(actionName string, packageName string, maniyaml 
*parsers.YAML) error {
+
+   pkg := maniyaml.Packages[packageName]
+   if pkg.Actions == nil {
+   pkg.Actions = make(map[string]parsers.Action)
+   maniyaml.Packages[packageName] = pkg
+   }
+
+   wskAction, _, err := client.Actions.Get(actionName)
+   if err != nil {
+   return err
+   }
+   if wskAction.Exec.Kind == "sequence" {
+   seq := new(parsers.Sequence)
+   for _, component := range wskAction.Exec.Components {
+   // must ommit namespace from seq component name
+   ExportAction(strings.SplitN(component, "/", 3)[2], 
packageName, maniyaml)
+   slices := strings.Split(component, "/")
+
+   // save in the seq list only action names
+   if len(seq.Actions) > 0 {
+   seq.Actions += ","
+   }
+
+   seq.Actions += slices[len(slices)-1]
+   }
+
+   pkg = maniyaml.Packages[packageName]
+   if pkg.Sequences == nil {
+   pkg.Sequences = make(map[string]parsers.Sequence)
+   }
+
+   pkg.Sequences[wskAction.Name] = *seq
+   } else {
+   parsedAction := *maniyaml.ComposeParsersAction(*wskAction)
+
+   // get the action file extension according to action kind (e.g. 
js for nodejs)
+   ext := utils.FileRuntimeExtensionsMap[wskAction.Exec.Kind]
+
+   manifestDir := filepath.Dir(utils.Flags.ManifestPath)
+
+   // store function file under action package name subdirectory 
in the specified manifest folder
+   functionDir := filepath.Join(manifestDir, packageName)
+   os.MkdirAll(functionDir, os.ModePerm)
+
+   // store function in manifest under path relative to manifest 
root
+   functionFile := filepath.Join(packageName, wskAction.Name) + 
"." + ext
+   parsedAction.Function = functionFile
+
+   // create function file at the full path
+   functionFile = filepath.Join(manifestDir, functionFile)
+   f, err := os.Create(functionFile)
+   if err != nil {
+   return wskderrors.NewFileReadError(functionFile, 
err.Error())
+   }
+
+   defer f.Close()
+
+   // store action function in the filesystem next to the 
manifest.yml
+   // TODO: consider to name files by namespace + action to make 
function file names uniqueue
+   f.Write([]byte(*wskAction.Exec.Code))
+   pkg.Actions[wskAction.Name] = parsedAction
+   }
+
+   maniyaml.Packages[packageName] = pkg
+   return nil
+}
+
+func ExportCmdImp(cmd *cobra.Command, args []string) error {
+
+   projectName := utils.Flags.ProjectPath
+   maniyaml := {}
+   maniyaml.Project.Name = projectName
+
+   config, _ = 

[GitHub] kpavel commented on a change in pull request #715: Adding support for export managed project back to manifest

2018-02-09 Thread GitBox
kpavel commented on a change in pull request #715: Adding support for export 
managed project back to manifest
URL: 
https://github.com/apache/incubator-openwhisk-wskdeploy/pull/715#discussion_r167239098
 
 

 ##
 File path: cmd/export.go
 ##
 @@ -0,0 +1,266 @@
+/*
+ * 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 cmd
+
+import (
+   "errors"
+   "fmt"
+   "os"
+   "path/filepath"
+   "strings"
+
+   "github.com/apache/incubator-openwhisk-client-go/whisk"
+   "github.com/apache/incubator-openwhisk-wskdeploy/deployers"
+   "github.com/apache/incubator-openwhisk-wskdeploy/parsers"
+   "github.com/apache/incubator-openwhisk-wskdeploy/utils"
+   "github.com/apache/incubator-openwhisk-wskdeploy/wskderrors"
+   "github.com/spf13/cobra"
+)
+
+var exportCmd = {
+   Use:"export",
+   SuggestFor: []string{"capture"},
+   Short:  "Export project assets from OpenWhisk",
+   Long:   `Exports managed project assets from OpenWhisk to manifest 
and function files`,
+   RunE:   ExportCmdImp,
+}
+
+var config *whisk.Config
+
+func ExportAction(actionName string, packageName string, maniyaml 
*parsers.YAML) error {
+
+   pkg := maniyaml.Packages[packageName]
+   if pkg.Actions == nil {
+   pkg.Actions = make(map[string]parsers.Action)
+   maniyaml.Packages[packageName] = pkg
+   }
+
+   wskAction, _, err := client.Actions.Get(actionName)
+   if err != nil {
+   return err
+   }
+   if wskAction.Exec.Kind == "sequence" {
+   seq := new(parsers.Sequence)
+   for _, component := range wskAction.Exec.Components {
+   // must ommit namespace from seq component name
+   ExportAction(strings.SplitN(component, "/", 3)[2], 
packageName, maniyaml)
+   slices := strings.Split(component, "/")
+
+   // save in the seq list only action names
+   if len(seq.Actions) > 0 {
+   seq.Actions += ","
+   }
+
+   seq.Actions += slices[len(slices)-1]
+   }
+
+   pkg = maniyaml.Packages[packageName]
+   if pkg.Sequences == nil {
+   pkg.Sequences = make(map[string]parsers.Sequence)
+   }
+
+   pkg.Sequences[wskAction.Name] = *seq
+   } else {
+   parsedAction := *maniyaml.ComposeParsersAction(*wskAction)
+
+   // get the action file extension according to action kind (e.g. 
js for nodejs)
+   ext := utils.FileRuntimeExtensionsMap[wskAction.Exec.Kind]
+
+   manifestDir := filepath.Dir(utils.Flags.ManifestPath)
+
+   // store function file under action package name subdirectory 
in the specified manifest folder
+   functionDir := filepath.Join(manifestDir, packageName)
+   os.MkdirAll(functionDir, os.ModePerm)
+
+   // store function in manifest under path relative to manifest 
root
+   functionFile := filepath.Join(packageName, wskAction.Name) + 
"." + ext
+   parsedAction.Function = functionFile
+
+   // create function file at the full path
+   functionFile = filepath.Join(manifestDir, functionFile)
+   f, err := os.Create(functionFile)
+   if err != nil {
+   return wskderrors.NewFileReadError(functionFile, 
err.Error())
+   }
+
+   defer f.Close()
+
+   // store action function in the filesystem next to the 
manifest.yml
+   // TODO: consider to name files by namespace + action to make 
function file names uniqueue
+   f.Write([]byte(*wskAction.Exec.Code))
+   pkg.Actions[wskAction.Name] = parsedAction
+   }
+
+   maniyaml.Packages[packageName] = pkg
+   return nil
+}
+
+func ExportCmdImp(cmd *cobra.Command, args []string) error {
+
+   projectName := utils.Flags.ProjectPath
+   maniyaml := {}
+   maniyaml.Project.Name = projectName
+
+   config, _ = 

[GitHub] mrutkows opened a new pull request #29: Add LICENSE.txt file

2018-02-09 Thread GitBox
mrutkows opened a new pull request #29: Add LICENSE.txt file
URL: https://github.com/apache/incubator-openwhisk-release/pull/29
 
 
   Fixes https://github.com/apache/incubator-openwhisk-release/issues/28
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mrutkows opened a new issue #28: Missing LICENSE.txt file

2018-02-09 Thread GitBox
mrutkows opened a new issue #28: Missing LICENSE.txt file
URL: https://github.com/apache/incubator-openwhisk-release/issues/28
 
 
   Please add LICENSE.txt file (with Apache 2) ASAP please.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] lionelvillard commented on issue #681: proper handling of 'default' package name

2018-02-09 Thread GitBox
lionelvillard commented on issue #681: proper handling of 'default' package name
URL: 
https://github.com/apache/incubator-openwhisk-wskdeploy/issues/681#issuecomment-364436723
 
 
   can we also provide a way to disable the warning?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mdeuser commented on issue #61: Adding placeholder for apigw access token

2018-02-09 Thread GitBox
mdeuser commented on issue #61: Adding placeholder for apigw access token
URL: 
https://github.com/apache/incubator-openwhisk-client-go/pull/61#issuecomment-364427037
 
 
   @pritidesai - can you help me understand why this new `ApigwAccessToken` 
client configuration value is needed and how it will be used
   
   @houshengbo 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] upgle opened a new pull request #3265: Change recently added metric key name. (very simple change)

2018-02-09 Thread GitBox
upgle opened a new pull request #3265: Change recently added metric key name. 
(very simple change)
URL: https://github.com/apache/incubator-openwhisk/pull/3265
 
 
   
   This PR is related with #2968
   and thank you for your commit @mhenke1 
   
   Currently our team is using Kamon with openTSDB (not statsd)
   but it is not supports to aggregate values with underscore(_).
   
   i think it is more common to use dot(.)
   As [mhenke1 
said](https://github.com/apache/incubator-openwhisk/pull/2968/files#r155776842),
 Grafana allows to aggregate values on any 'regexable' - sub-string of the 
metric name
   
   and already docker metric key is using dot
   ```scala
   def INVOKER_RUNC_CMD(cmd: String) = LogMarkerToken(invoker, s"runc.$cmd", 
start)
   ```
   
   Most of the metric key names already used is using camelcase, so i changed 
name convention also.
   
   ## before
   ```
   container_start_containerState_namespaceName_actionName
   ```
   
   ## after
   ```
   containerStart.containerState.namespaceName.actionName
   ```
   
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rahulqelfo closed issue #3263: Is there a way to debug the action containers?

2018-02-09 Thread GitBox
rahulqelfo closed issue #3263: Is there a way to debug the action containers?
URL: https://github.com/apache/incubator-openwhisk/issues/3263
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rahulqelfo commented on issue #3263: Is there a way to debug the action containers?

2018-02-09 Thread GitBox
rahulqelfo commented on issue #3263: Is there a way to debug the action 
containers?
URL: 
https://github.com/apache/incubator-openwhisk/issues/3263#issuecomment-364383600
 
 
   Oops my bad.
   
   Thanks for the clarification.Closing this issue.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] daisy-ycguo opened a new issue #222: A list of source files missing Apache license headers

2018-02-09 Thread GitBox
daisy-ycguo opened a new issue #222: A list of source files missing Apache 
license headers
URL: https://github.com/apache/incubator-openwhisk-cli/issues/222
 
 
   Following [Apache license header 
guideline](http://www.apache.org/legal/src-headers.html), **all human-readable 
Apache-developed files that are included within a distribution must include the 
header text with few exceptions**. You can find few exceptions here: [which 
files do not require a license 
header](http://www.apache.org/legal/src-headers.html#faq-exceptions).
   
   I used Apache Rat to check this repository after excluding a few files, and 
I got this report. We need to add Apache licensing header to below files.
   ```
   Unapproved licenses:
   
 ./.travis.yml
 ./CONTRIBUTING.md
 ./build.gradle
 ./gradle.properties
 ./notes.md
 ./settings.gradle
 ./gradle/docker.gradle
 ./tests/build.gradle
 ./tests/dat/actions/applicationError.js
 ./tests/dat/actions/argCheck.js
 ./tests/dat/actions/asyncError.js
 ./tests/dat/actions/base64Web.js
 ./tests/dat/actions/cat.js
 ./tests/dat/actions/corsHeaderMod.js
 ./tests/dat/actions/countdown.js
 ./tests/dat/actions/echo-web-http.js
 ./tests/dat/actions/echo.js
 ./tests/dat/actions/empty.js
 ./tests/dat/actions/emptyJSONResult.js
 ./tests/dat/actions/head.js
 ./tests/dat/actions/hello.js
 ./tests/dat/actions/hello.swift
 ./tests/dat/actions/helloAsync.js
 ./tests/dat/actions/helloContext.js
 ./tests/dat/actions/helloDeadline.js
 ./tests/dat/actions/helloOpenwhiskPackage.js
 ./tests/dat/actions/helloPromise.js
 ./tests/dat/actions/initexit.js
 ./tests/dat/actions/initforever.js
 ./tests/dat/actions/issue-1562.js
 ./tests/dat/actions/log.js
 ./tests/dat/actions/malformed.js
 ./tests/dat/actions/malformed.py
 ./tests/dat/actions/multipleHeaders.js
 ./tests/dat/actions/niam.js
 ./tests/dat/actions/niam.py
 ./tests/dat/actions/niam.swift
 ./tests/dat/actions/ping.js
 ./tests/dat/actions/pngWeb.js
 ./tests/dat/actions/printParams.js
 ./tests/dat/actions/runexit.js
 ./tests/dat/actions/sort.js
 ./tests/dat/actions/split.js
 ./tests/dat/actions/stdenv.py
 ./tests/dat/actions/textBody.js
 ./tests/dat/actions/timeout.js
 ./tests/dat/actions/wc.js
 ./tests/dat/actions/wcbin.js
 ./tests/dat/apigw/local.api.bad.yaml
 ./tests/dat/apigw/local.api.yaml
 ./tests/dat/apigw/testswaggerdoc1
 ./tests/dat/apigw/testswaggerdoc1V2
 ./tests/dat/apigw/testswaggerdoc2
 ./tests/dat/apigw/testswaggerdoc2V2
 ./tests/dat/apigw/testswaggerdocinvalid
 ./tests/src/dat/empty.js
 ./tests/src/dat/hello.js
 ./tests/src/dat/malformed.js
 ./tools/travis/test_openwhisk.sh
   ```
   The excluded files are:
   ```
   # files copied from third parties or created by tools
   gradlew
   gradlew.bat
   
   # JSON data file doesn't support annotation
   .*json
   
   # others
   .gitignore
   .rat-excludes
   .gradle.properties
   gradle-wrapper.properties
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] daisy-ycguo opened a new issue #273: A list of source files missing Apache license headers

2018-02-09 Thread GitBox
daisy-ycguo opened a new issue #273: A list of source files missing Apache 
license headers
URL: https://github.com/apache/incubator-openwhisk-apigateway/issues/273
 
 
   Following [Apache license header 
guideline](http://www.apache.org/legal/src-headers.html), **all human-readable 
Apache-developed files that are included within a distribution must include the 
header text with few exceptions**. You can find few exceptions here: [which 
files do not require a license 
header](http://www.apache.org/legal/src-headers.html#faq-exceptions).
   
   I used Apache Rat to check this repository after excluding a few files, and 
I got this report. We need to add Apache licensing header to below files.
   ```
   Unapproved licenses:
   
 ./.profiling.after
 ./.profiling.before
 ./.travis.yml
 ./DEPENDENCIES.md
 ./Dockerfile
 ./Makefile
 ./build_profiling.sh
 ./doc/profiling.md
 ./doc/v1/management_interface_v1.md
 ./doc/v1/policies.md
 ./doc/v1/security.md
 ./doc/v2/management_interface_v2.md
 ./tests/install-deps.sh
 ./tests/run-tests.sh
 ./tools/build/scanCode.cfg
 ./tools/travis/build.sh
 ./tools/travis/deploy.sh
 ./tools/travis/setup.sh
   ```
   The excluded files are:
   ```
   # files copied from third parties or created by tools
   gradlew
   gradlew.bat
   Godeps
   i18n_resources.go
   
   # JSON data file doesn't support annotation
   .*json
   
   # Test data
   
   # others
   .gitignore
   .rat-excludes
   .dockerignore
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rabbah commented on issue #3263: Is there a way to debug the action containers?

2018-02-09 Thread GitBox
rabbah commented on issue #3263: Is there a way to debug the action containers?
URL: 
https://github.com/apache/incubator-openwhisk/issues/3263#issuecomment-364373809
 
 
   result=true implies a blocking invoke. So  second invoke will end up reusing 
a previous container in that case.
   
   As for missing logs - do you know where your logs are stored? Usually they 
are in /tmp unless the location is changed in the environment files.  


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rahulqelfo commented on issue #3263: Is there a way to debug the action containers?

2018-02-09 Thread GitBox
rahulqelfo commented on issue #3263: Is there a way to debug the action 
containers?
URL: 
https://github.com/apache/incubator-openwhisk/issues/3263#issuecomment-364372630
 
 
   Thanks, @rabbah ,
   It seems there is a problem with the setup.I get the following error when I 
use the command given above:
   
   ./wskadmin syslog get -g a7418b688ebe4f6a818b688ebe7f6a65-1
   grep: /logs/controller0/controller0_logs.log: No such file or directory
   grep: /logs/invoker0/invoker0_logs.log: No such file or directory
   
   
   Also, the invoked actions are sequential and  non-blocking 
(blocking=false=true')


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] daisy-ycguo opened a new issue #256: A list of source files missing Apache license headers

2018-02-09 Thread GitBox
daisy-ycguo opened a new issue #256: A list of source files missing Apache 
license headers
URL: https://github.com/apache/incubator-openwhisk-catalog/issues/256
 
 
   Following [Apache license header 
guideline](http://www.apache.org/legal/src-headers.html), **all human-readable 
Apache-developed files that are included within a distribution must include the 
header text with few exceptions**. You can find few exceptions here: [which 
files do not require a license 
header](http://www.apache.org/legal/src-headers.html#faq-exceptions).
   
   I used Apache Rat to check this repository after excluding a few files, and 
I got this report. We need to add Apache licensing header to those files.
   ```
   Unapproved licenses:
   
 ./.travis.yml
 ./settings.gradle
 ./packages/installCatalog.sh
 ./packages/installCombinators.sh
 ./packages/installGit.sh
 ./packages/installSlack.sh
 ./packages/installSystem.sh
 ./packages/installWatson.sh
 ./packages/installWeather.sh
 ./packages/installWebSocket.sh
 ./packages/util.sh
 ./packages/validateParameter.sh
 ./packages/combinators/eca.js
 ./packages/combinators/forwarder.js
 ./packages/combinators/retry.js
 ./packages/combinators/trycatch.js
 ./packages/github/README.md
 ./packages/github/webhook.js
 ./packages/samples/cat/swift/cat.swift
 ./packages/samples/countdown/javascript/countdown.js
 ./packages/samples/curl/javascript/curl.js
 ./packages/samples/greeting/javascript/greeting.js
 ./packages/samples/head/swift/head.swift
 ./packages/samples/hello/java/build.gradle
 ./packages/samples/hello/java/src/main/java/hello/Hello.java
 ./packages/samples/hello/javascript/hello.js
 ./packages/samples/hello/swift/hello.swift
 ./packages/samples/helloAsync/javascript/helloAsync.js
 ./packages/samples/helloPromises/javascript/helloPromises.js
 ./packages/samples/httpGet/swift/httpGet.swift
 ./packages/samples/invoke/swift/invoke.swift
 ./packages/samples/printParames/javascript/printParams.js
 ./packages/samples/sort/swift/sort.swift
 ./packages/samples/split/swift/split.swift
 ./packages/samples/trigger/swift/trigger.swift
 ./packages/samples/wordcount/javascript/wordcount.js
 ./packages/samples/wordcount/swift/wordcount.swift
 ./packages/samples/wordcountBinary/javascript/wordcountBinary.js
 ./packages/slack/README.md
 ./packages/slack/post.js
 ./packages/utils/cat.js
 ./packages/utils/date.js
 ./packages/utils/echo.js
 ./packages/utils/head.js
 ./packages/utils/hosturl.js
 ./packages/utils/namespace.js
 ./packages/utils/smash.js
 ./packages/utils/sort.js
 ./packages/utils/split.js
 ./packages/watson-speechToText/README.md
 ./packages/watson-speechToText/speechToText.js
 ./packages/watson-textToSpeech/README.md
 ./packages/watson-textToSpeech/textToSpeech.js
 ./packages/watson-translator/README.md
 ./packages/watson-translator/languageId.js
 ./packages/watson-translator/translator.js
 ./packages/weather/README.md
 ./packages/weather/forecast.js
 ./packages/websocket/README.md
 ./packages/websocket/sendWebSocketMessageAction.js
 ./tests/build.gradle
 ./tools/travis/build.sh
 ./tools/travis/setup.sh
   ```
   The excluded files are:
   ```
   # files copied from third parties or created by tools
   gradlew
   gradlew.bat
   Godeps
   i18n_resources.go
   gradle-wrapper.properties
   
   # JSON data file doesn't support annotation
   .*json
   
   # others
   .gitignore
   .rat-excludes
   .gitattributes
   .jshintrc
   .scalafmt.conf
   .credentials.json.enc
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] daisy-ycguo opened a new issue #3264: A list of source files miss Apache license headers

2018-02-09 Thread GitBox
daisy-ycguo opened a new issue #3264: A list of source files miss Apache 
license headers
URL: https://github.com/apache/incubator-openwhisk/issues/3264
 
 
   Following [Apache license header 
guideline](http://www.apache.org/legal/src-headers.html), **all human-readable 
Apache-developed files that are included within a distribution must include the 
header text with few exceptions.**. You can find few exceptions here: [which 
files do not require a license 
header](http://www.apache.org/legal/src-headers.html#faq-exceptions).
   
   I used Apache Rat to check this repository after excluding a few files, and 
I got this report. We need to add Apache licensing header to those files.
   ```
   Unapproved licenses:
   
 ./.scalafmt.conf
 ./.travis.yml
 ./CREDITS.txt
 ./build.gradle
 ./settings.gradle
 ./actionRuntimes/actionProxy/Dockerfile
 ./actionRuntimes/actionProxy/README.md
 ./actionRuntimes/actionProxy/build.gradle
 ./actionRuntimes/javaAction/Dockerfile
 ./actionRuntimes/javaAction/build.gradle
 ./actionRuntimes/javaAction/delete-build-run.sh
 ./actionRuntimes/nodejs6Action/Dockerfile
 ./actionRuntimes/nodejs6Action/build.gradle
 ./actionRuntimes/nodejs8Action/Dockerfile
 ./actionRuntimes/nodejs8Action/build.gradle
 ./actionRuntimes/php7.1Action/Dockerfile
 ./actionRuntimes/php7.1Action/build.gradle
 ./actionRuntimes/python2Action/Dockerfile
 ./actionRuntimes/python2Action/build.gradle
 ./actionRuntimes/pythonAction/Dockerfile
 ./actionRuntimes/pythonAction/build.gradle
 ./actionRuntimes/swift3.1.1Action/Dockerfile
 ./actionRuntimes/swift3.1.1Action/build.gradle
 ./ansible/README.md
 ./ansible/README_DISTRIBUTED.md
 ./ansible/ansible.cfg
 ./ansible/apigateway.yml
 ./ansible/boot_instances_dist.yml
 ./ansible/controller.yml
 ./ansible/couchdb.yml
 ./ansible/edge.yml
 ./ansible/initdb.yml
 ./ansible/invoker.yml
 ./ansible/kafka.yml
 ./ansible/logs.yml
 ./ansible/openwhisk.yml
 ./ansible/postdeploy.yml
 ./ansible/prereq.yml
 ./ansible/prereq_build.yml
 ./ansible/properties.yml
 ./ansible/provision_env_dist.yml
 ./ansible/publish.yml
 ./ansible/recreateDesignDocs.yml
 ./ansible/registry.yml
 ./ansible/routemgmt.yml
 ./ansible/setup.yml
 ./ansible/teardown.yml
 ./ansible/wipe.yml
 ./ansible/environments/distributed/hosts
 ./ansible/environments/distributed/files/openstack/README_OS.md
 ./ansible/environments/distributed/files/openstack/openstack.env
 ./ansible/environments/distributed/group_vars/all
 ./ansible/environments/docker-machine/hosts.j2.ini
 ./ansible/environments/docker-machine/group_vars/all
 ./ansible/environments/local/hosts.j2.ini
 ./ansible/environments/local/group_vars/all
 ./ansible/files/package-versions.ini
 ./ansible/group_vars/all
 ./ansible/roles/apigateway/tasks/clean.yml
 ./ansible/roles/apigateway/tasks/deploy.yml
 ./ansible/roles/apigateway/tasks/main.yml
 ./ansible/roles/cli/files/createContentJson.sh
 ./ansible/roles/cli/tasks/clean.yml
 ./ansible/roles/cli/tasks/cli_remote_mode.yml
 ./ansible/roles/cli/tasks/copy_local_openwhisk_cli.yml
 ./ansible/roles/cli/tasks/deploy.yml
 ./ansible/roles/cli/tasks/download_cli.yml
 ./ansible/roles/cli/tasks/download_openwhisk_cli.yml
 ./ansible/roles/cli/tasks/main.yml
 ./ansible/roles/controller/tasks/clean.yml
 ./ansible/roles/controller/tasks/deploy.yml
 ./ansible/roles/controller/tasks/main.yml
 ./ansible/roles/couchdb/tasks/clean.yml
 ./ansible/roles/couchdb/tasks/deploy.yml
 ./ansible/roles/couchdb/tasks/main.yml
 ./ansible/roles/docker/tasks/clean.yml
 ./ansible/roles/docker/tasks/deploy.yml
 ./ansible/roles/docker/tasks/main.yml
 ./ansible/roles/docker/templates/docker.j2
 ./ansible/roles/invoker/tasks/clean.yml
 ./ansible/roles/invoker/tasks/deploy.yml
 ./ansible/roles/invoker/tasks/main.yml
 ./ansible/roles/kafka/tasks/clean.yml
 ./ansible/roles/kafka/tasks/deploy.yml
 ./ansible/roles/kafka/tasks/main.yml
 ./ansible/roles/nginx/files/genssl.sh
 ./ansible/roles/nginx/tasks/clean.yml
 ./ansible/roles/nginx/tasks/deploy.yml
 ./ansible/roles/nginx/tasks/main.yml
 ./ansible/roles/nginx/templates/nginx.conf.j2
 ./ansible/roles/prereq/tasks/clean.yml
 ./ansible/roles/prereq/tasks/deploy.yml
 ./ansible/roles/prereq/tasks/main.yml
 ./ansible/roles/redis/tasks/clean.yml
 ./ansible/roles/redis/tasks/deploy.yml
 ./ansible/roles/redis/tasks/main.yml
 ./ansible/roles/registry/tasks/clean.yml
 ./ansible/roles/registry/tasks/deploy.yml
 ./ansible/roles/registry/tasks/gencert.yml
 ./ansible/roles/registry/tasks/main.yml
 ./ansible/roles/registry/tasks/publish.yml
 ./ansible/roles/registry/templates/recycle-registry.py.j2
 

[GitHub] rabbah commented on issue #3263: Is there a way to debug the action containers?

2018-02-09 Thread GitBox
rabbah commented on issue #3263: Is there a way to debug the action containers?
URL: 
https://github.com/apache/incubator-openwhisk/issues/3263#issuecomment-364365552
 
 
   If you have the system logs still you can use
   
   wskadmin syslog get -g activation-id-1
   
   This will yield results from which you can infer the transaction id 
(tid_nnn). Repeat the wskadmin operation now using the transaction id.
   
   Then do the same for the other activation id. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] rahulqelfo opened a new issue #3263: Is there a way to debug the action containers?

2018-02-09 Thread GitBox
rahulqelfo opened a new issue #3263: Is there a way to debug the action 
containers?
URL: https://github.com/apache/incubator-openwhisk/issues/3263
 
 
   
   ## Environment details:
   
   * local deployment
   * Mac
   
   ## Steps to reproduce the issue:
   
   1.   Create an action 'Sleep' with the namespace 'guest'.The action sleeps 
for 50 seconds
   2.   Invoke the sleep action twice (simultaneously) and get the activation ID
   3.   Get the details using the two activationID's from the above step
   4.   The activation details in response should have the 'init' value to 
display two action containers were spawned up.
   
   I one of the test runs the same action container were used for both the 
invocations.So the activation details for invocation1 of sleep actions has the 
'init' value but invocation2 utilizes the same action container used by 
invocation1.
   
   How to debug the above scenario and see why same action container was used.
   
   Also, this cases occurred only twice of the 500 runs.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services