[incubator-openwhisk-website] branch asf-site updated: Automatic Site Publish by Jenkins

2018-09-11 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new 204fd03  Automatic Site Publish by Jenkins
204fd03 is described below

commit 204fd034e65673ab8d078f2dbf645466b1fec503
Author: jenkins 
AuthorDate: Wed Sep 12 00:54:28 2018 +

Automatic Site Publish by Jenkins
---
 community.html | 112 +++--
 css/main-v1.css|   2 +-
 documentation.html | 156 +++--
 downloads.html | 123 ---
 events.html| 108 ++--
 feed.xml   |   2 +-
 images/elements/circle-minus.png   | Bin 0 -> 19863 bytes
 images/elements/circle-plus.png| Bin 0 -> 19937 bytes
 images/elements/expand-collapse-circle.psd | Bin 0 -> 26136 bytes
 index.html | 108 ++--
 slack.html | 108 ++--
 11 files changed, 506 insertions(+), 213 deletions(-)

diff --git a/community.html b/community.html
index c781095..24d9847 100644
--- a/community.html
+++ b/community.html
@@ -27,47 +27,95 @@
 
 
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-var coll = document.getElementsByClassName("collapsible-toggle");
-var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+var sibling = coll[i].nextElementSibling;
 
-// Apply exapandable (arrows) to all menuitems with a sibling
-for (i = 0; i < coll.length; i++) {
-  var sibling = coll[i].nextElementSibling;
+if(sibling!==null){
+coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+// (top right bottom left)
+// make room on left for image/icon
+sibling.style.padding = "0px 0px 0px 20px";
+}
 
+// Set "click" event listener on all menuitems
+coll[i].addEventListener("click", function() {
+  var sibling = this.nextElementSibling;
+  // toggle menu open/close states
   if(sibling!==null){
-  coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-  // (top right bottom left)
-  sibling.style.padding = "0px 0px 0px 20px";
+if (sibling.style.display === "block") {
+  this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+  sibling.style.display = "none";
+} else {
+  this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+  sibling.style.display = "block";
+}
   }
 
-  // Set "click" event listener on all menuitems
-  coll[i].addEventListener("click", function() {
-var sibling = this.nextElementSibling;
-// toggle menu open/close states
-if(sibling!==null){
-  if (sibling.style.display === "block") {
-this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-sibling.style.display = "none";
-  } else {
-this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-sibling.style.display = "block";
-  }
-}
+});
+  }
+}
+
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
 
-  });
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+var sibling = coll[i].nextElementSibling;
+
+if(sibling!==null){
+  sibling.setAttribute('data-display', sibling.style.display);
+  if(coll[i].classList.contains("section-toggle-start-open")){
+coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+  } else {
+coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+  }
 }
-}
 
-function openIndex() {
-  console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+// Set "click" event listener on all menuitems
+coll[i].addEventListener("click", function() {
+  var sibling = this.nextElementSibling;
+  // toggle menu open/close states
+  if(sibling!==null){
+console.log("sibling.style.display: ["+sibling.style.display+"]");
+if (sibling.style.display !== "none") {
+  console.log("collapsing");
+  

[incubator-openwhisk-website] branch master updated: Add support for collapsible sections (#337)

2018-09-11 Thread pdesai
This is an automated email from the ASF dual-hosted git repository.

pdesai pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git


The following commit(s) were added to refs/heads/master by this push:
 new ba44815  Add support for collapsible sections (#337)
ba44815 is described below

commit ba448156176bf24757116c0dbdae84d3580d224b
Author: Matt Rutkowski 
AuthorDate: Tue Sep 11 19:52:24 2018 -0500

Add support for collapsible sections (#337)

* Add support for collapsible sections

* Add support for collapsible sections

* Add support for collapsible sections
---
 _includes/index/index.js   | 108 +
 _layouts/community.html|   4 +-
 _layouts/documentation.html|  48 ++---
 _layouts/downloads.html|  15 ++--
 _scss/_base.scss   |  74 ++--
 _scss/_variables.scss  |   2 +-
 images/elements/circle-minus.png   | Bin 0 -> 19863 bytes
 images/elements/circle-plus.png| Bin 0 -> 19937 bytes
 images/elements/expand-collapse-circle.psd | Bin 0 -> 26136 bytes
 9 files changed, 182 insertions(+), 69 deletions(-)

diff --git a/_includes/index/index.js b/_includes/index/index.js
index 50f8535..41fdae7 100644
--- a/_includes/index/index.js
+++ b/_includes/index/index.js
@@ -1,42 +1,90 @@
 
 function applyCollapsible() {
+  addListenersToIndex();
+  addListenersToSections();
+}
+
+function addListenersToIndex()
+{
+  var coll = document.getElementsByClassName("index-menu-toggle");
+  var i;
 
-var coll = document.getElementsByClassName("collapsible-toggle");
-var i;
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+var sibling = coll[i].nextElementSibling;
 
-// Apply exapandable (arrows) to all menuitems with a sibling
-for (i = 0; i < coll.length; i++) {
-  var sibling = coll[i].nextElementSibling;
+if(sibling!==null){
+coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+// (top right bottom left)
+// make room on left for image/icon
+sibling.style.padding = "0px 0px 0px 20px";
+}
 
+// Set "click" event listener on all menuitems
+coll[i].addEventListener("click", function() {
+  var sibling = this.nextElementSibling;
+  // toggle menu open/close states
   if(sibling!==null){
-  coll[i].style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-  // (top right bottom left)
-  sibling.style.padding = "0px 0px 0px 20px";
+if (sibling.style.display === "block") {
+  this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
+  sibling.style.display = "none";
+} else {
+  this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
+  sibling.style.display = "block";
+}
   }
 
-  // Set "click" event listener on all menuitems
-  coll[i].addEventListener("click", function() {
-var sibling = this.nextElementSibling;
-// toggle menu open/close states
-if(sibling!==null){
-  if (sibling.style.display === "block") {
-this.style.listStyleImage = 
"url('../images/elements/arrow-right-12px.png')";
-sibling.style.display = "none";
-  } else {
-this.style.listStyleImage = 
"url('../images/elements/arrow-down-12px.png')";
-sibling.style.display = "block";
-  }
-}
+});
+  }
+}
+
+function addListenersToSections()
+{
+  var coll = document.getElementsByClassName("section-toggle");
+  var i;
+
+  // Apply exapandable (arrows) to all menuitems with a sibling
+  for (i = 0; i < coll.length; i++) {
+var sibling = coll[i].nextElementSibling;
 
-  });
+if(sibling!==null){
+  sibling.setAttribute('data-display', sibling.style.display);
+  if(coll[i].classList.contains("section-toggle-start-open")){
+coll[i].style.backgroundImage = 
"url('../images/elements/circle-minus.png')";
+  } else {
+coll[i].style.backgroundImage = 
"url('../images/elements/circle-plus.png')";
+  }
 }
-}
 
-function openIndex() {
-  console.log("openIndex")
-  document.getElementById("index").style.display = "block";
-}
-function closeIndex() {
-console.log("closeIndex")
-  document.getElementById("index").style.display = "none";
+// Set "click" event listener on all menuitems
+coll[i].addEventListener("click", function() {
+  var sibling = this.nextElementSibling;
+  // toggle menu open/close states
+  if(sibling!==null){
+console.log("sibling.style.display: ["+sibling.style.display+"]");
+if (sibling.style.display !== "none") {
+  console.log("collapsing");
+  

[incubator-openwhisk-deploy-kube] branch master updated: enable external db for alarm and kafka provider (#295)

2018-09-11 Thread dgrove
This is an automated email from the ASF dual-hosted git repository.

dgrove pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-deploy-kube.git


The following commit(s) were added to refs/heads/master by this push:
 new d1e1863  enable external db for alarm and kafka provider (#295)
d1e1863 is described below

commit d1e18633c477e504e979b143a0839073f02d5894
Author: Ying Chun Guo 
AuthorDate: Wed Sep 12 00:00:32 2018 +0800

enable external db for alarm and kafka provider (#295)
---
 helm/openwhisk-providers/charts/ow-alarm/README.md | 30 +++---
 .../charts/ow-alarm/configMapFiles/myTask.sh   |  2 +-
 .../ow-alarm/templates/installPkgAlarmJob.yaml | 21 ++-
 .../ow-alarm/templates/pkgAlarmProvider.yaml   | 14 +-
 .../charts/ow-alarm/values.yaml| 10 +++-
 .../charts/ow-cloudant/README.md   | 16 +---
 .../charts/ow-cloudant/values.yaml |  2 +-
 helm/openwhisk-providers/charts/ow-kafka/README.md | 29 ++---
 .../ow-kafka/templates/installPkgKafkaJob.yaml | 21 ++-
 .../ow-kafka/templates/pkgKafkaProvider.yaml   | 13 +-
 .../charts/ow-kafka/values.yaml| 10 +++-
 11 files changed, 149 insertions(+), 19 deletions(-)

diff --git a/helm/openwhisk-providers/charts/ow-alarm/README.md 
b/helm/openwhisk-providers/charts/ow-alarm/README.md
index f5415ae..1d2dee6 100644
--- a/helm/openwhisk-providers/charts/ow-alarm/README.md
+++ b/helm/openwhisk-providers/charts/ow-alarm/README.md
@@ -21,11 +21,33 @@
 
 This chart is to deploy alarm provider and package to OpenWhisk on a 
Kubernetes using Helm.
 
-## Preconditions
+## Config a CouchDB instance
 
-Alarm package can only be successfully installed under these two preconditions:
-+ persistentvolumes (aka 'pv') is defined in the Kubernetes cluster. You can 
verify by `kubectl get pv`.
-+ Kubernetes DNS is used as the DNS server in action containers. In order to 
achieve it, you can set `KubernetesContainerFactory` as the [Invoker Container 
Factory](https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/docs/configurationChoices.md#invoker-container-factory)
 in the Kubernetes cluster by adding below configuration in the 
`mycluster.yaml` when you deploy OpenWhisk with Helm:
+A CouchDB instance is required to save the event data. You can use the same 
CouchDB instance as part of the OpenWhisk deployment or you can use a different 
CouchDB instance. To use the same CouchDB instance as OpenWhisk, config 
`values.yaml` as:
+```
+db:
+  external: false
+  prefix: "alm"
+```
+To use a different CouchDB instance, config the database parameters in 
`value.yaml` as:
+```
+db:
+  external: true
+  prefix: "cldt"
+  host: "0.0.0.0"
+  port: 5984
+  protocol: "http"
+  username: "admin"
+  password: "secret"
+```
+
+## Config a persistentvolumes
+persistentvolumes (aka 'pv') is defined in the Kubernetes cluster. You can 
verify by `kubectl get pv`.
+
+## Enable action containers use Kubernetes DNS
+You need to enable action containers to use Kubernetes DNS when you want to 
use the same CouchDB instance as part of the OpenWhisk deployment to save event 
data.
+
+The easiest way to do this is to set `KubernetesContainerFactory` as the 
[Invoker Container 
Factory](https://github.com/apache/incubator-openwhisk-deploy-kube/blob/master/docs/configurationChoices.md#invoker-container-factory)
 in the Kubernetes cluster by adding below configuration in the 
`mycluster.yaml` when you deploy OpenWhisk with Helm:
 ```
 # Invoker configurations
 invoker:
diff --git a/helm/openwhisk-providers/charts/ow-alarm/configMapFiles/myTask.sh 
b/helm/openwhisk-providers/charts/ow-alarm/configMapFiles/myTask.sh
index c887021..27f46f1 100644
--- a/helm/openwhisk-providers/charts/ow-alarm/configMapFiles/myTask.sh
+++ b/helm/openwhisk-providers/charts/ow-alarm/configMapFiles/myTask.sh
@@ -11,7 +11,7 @@ apk add --update nodejs-npm
 
 git clone https://github.com/apache/incubator-openwhisk-package-alarms.git
 
-export DB_URL=http://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT
+export DB_URL=$DB_PROTOCOL://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT
 pushd /incubator-openwhisk-package-alarms
   ./installCatalog.sh $AUTH $APIHOST $DB_URL $DB_PREFIX $APIHOST
 popd
diff --git 
a/helm/openwhisk-providers/charts/ow-alarm/templates/installPkgAlarmJob.yaml 
b/helm/openwhisk-providers/charts/ow-alarm/templates/installPkgAlarmJob.yaml
index e60f47f..fdddef9 100644
--- a/helm/openwhisk-providers/charts/ow-alarm/templates/installPkgAlarmJob.yaml
+++ b/helm/openwhisk-providers/charts/ow-alarm/templates/installPkgAlarmJob.yaml
@@ -37,12 +37,30 @@ spec:
   configMapKeyRef:
 name: whisk.config
 key: whisk_api_host_nameAndPort
+  {{- if .Values.alarmprovider.db.external }}
+  # Config database using the external cloudant 

[incubator-openwhisk-client-js] branch master updated: fix missing pass-through of user-agent in namespace.list and .get, and activation.get (#136)

2018-09-11 Thread jamesthomas
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 2934497  fix missing pass-through of user-agent in namespace.list and 
.get, and activation.get (#136)
2934497 is described below

commit 29344973dd0960f533f317cedf99726ce49083a0
Author: Nick Mitchell 
AuthorDate: Tue Sep 11 09:45:25 2018 -0400

fix missing pass-through of user-agent in namespace.list and .get, and 
activation.get (#136)

also add a noUserAgent option, to prevent assigning a default user-agent

Fixes #135
---
 README.md |  8 
 lib/activations.js|  2 +-
 lib/client.js | 12 +-
 lib/namespaces.js | 14 +++
 test/unit/activations.test.js | 17 
 test/unit/namespaces.test.js  | 92 +++
 6 files changed, 135 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index dd4a346..c0cdf52 100644
--- a/README.md
+++ b/README.md
@@ -123,6 +123,14 @@ option to the API calls themselves. For example, one might 
specify a
 ow.actions.invoke({ 'User-Agent': 'myClient', name, params })
 ```
 
+In some cases, you may need to have *no* User-Agent header. To
+override the default header behavior, you may pass `noUserAgent: true`
+in your options structure, e.g.
+
+```javascript
+ow.actions.invoke({ noUserAgent: true, name, params })
+```
+
 ## Examples
 
 ### invoke action, blocking for result
diff --git a/lib/activations.js b/lib/activations.js
index 055d479..38bb042 100644
--- a/lib/activations.js
+++ b/lib/activations.js
@@ -30,7 +30,7 @@ class Activations extends BaseOperation {
 const id = this.getActivation(options)
 const namespace = this.namespace(options)
 const urlPath = `namespaces/${namespace}/activations/${id}` + (path ? 
`/${path}` : '')
-return this.client.request('GET', urlPath)
+return this.client.request('GET', urlPath, options)
   }
 
   getActivation (options) {
diff --git a/lib/client.js b/lib/client.js
index 7dd0982..180a5b9 100644
--- a/lib/client.js
+++ b/lib/client.js
@@ -67,6 +67,7 @@ class Client {
* @param {string} [options.apigw_token]
* @param {string} [options.apigw_space_guid]
* @param {Function} [options.auth_handler]
+   * @param {boolean} [options.noUserAgent]
*/
   constructor (options) {
 this.options = this.parseOptions(options || {})
@@ -98,7 +99,7 @@ class Client {
   throw new Error(`${messages.INVALID_OPTIONS_ERROR} Missing either api or 
apihost parameters.`)
 }
 
-return {apiKey: apiKey, api, ignoreCerts: ignoreCerts, namespace: 
options.namespace, apigwToken: apigwToken, apigwSpaceGuid: apigwSpaceGuid, 
authHandler: options.auth_handler}
+return {apiKey: apiKey, api, ignoreCerts: ignoreCerts, namespace: 
options.namespace, apigwToken: apigwToken, apigwSpaceGuid: apigwSpaceGuid, 
authHandler: options.auth_handler, noUserAgent: options.noUserAgent}
   }
 
   urlFromApihost (apihost) {
@@ -120,7 +121,7 @@ class Client {
 
   params (method, path, options) {
 return this.authHeader().then(header => {
-  return Object.assign({
+  const parms = Object.assign({
 json: true,
 method: method,
 url: this.pathUrl(path),
@@ -130,6 +131,13 @@ class Client {
   Authorization: header
 }
   }, options)
+
+  if (this.options.noUserAgent || parms.noUserAgent) {
+// caller asked for no user agent?
+parms.headers['User-Agent'] = undefined
+  }
+
+  return parms
 })
   }
 
diff --git a/lib/namespaces.js b/lib/namespaces.js
index e9d8a81..940dd49 100644
--- a/lib/namespaces.js
+++ b/lib/namespaces.js
@@ -6,15 +6,15 @@
 const BaseOperation = require('./base_operation')
 
 class Namespaces extends BaseOperation {
-  list () {
-return this.client.request('GET', 'namespaces')
+  list (options) {
+return this.client.request('GET', 'namespaces', options)
   }
 
-  get () {
-let actions = this.client.request('GET', 'namespaces/_/actions')
-let packages = this.client.request('GET', 'namespaces/_/packages')
-let triggers = this.client.request('GET', 'namespaces/_/triggers')
-let rules = this.client.request('GET', 'namespaces/_/rules')
+  get (options) {
+let actions = this.client.request('GET', 'namespaces/_/actions', options)
+let packages = this.client.request('GET', 'namespaces/_/packages', options)
+let triggers = this.client.request('GET', 'namespaces/_/triggers', options)
+let rules = this.client.request('GET', 'namespaces/_/rules', options)
 return Promise
   .all([actions, packages, triggers, rules])
   .then(([actions, packages, triggers, rules]) => ({actions, packages, 
triggers, rules}))
diff --git a/test/unit/activations.test.js b/test/unit/activations.test.js
index 

[incubator-openwhisk] branch master updated: Upgrade caffeine to get multi expiry support with latest fixes. (#4016)

2018-09-11 Thread markusthoemmes
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new cfd50ee  Upgrade caffeine to get multi expiry support with latest 
fixes. (#4016)
cfd50ee is described below

commit cfd50eee4194142e95bad6dfd8bf96ff08187050
Author: Martin Henke 
AuthorDate: Tue Sep 11 11:50:13 2018 +0200

Upgrade caffeine to get multi expiry support with latest fixes. (#4016)
---
 common/scala/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/scala/build.gradle b/common/scala/build.gradle
index cbeed11..c6eb005 100644
--- a/common/scala/build.gradle
+++ b/common/scala/build.gradle
@@ -58,7 +58,7 @@ dependencies {
 compile ('com.fasterxml.uuid:java-uuid-generator:3.1.3') {
 exclude group: 'log4j'
 }
-compile 'com.github.ben-manes.caffeine:caffeine:2.4.0'
+compile 'com.github.ben-manes.caffeine:caffeine:2.6.2'
 compile 'com.google.code.findbugs:jsr305:3.0.2'
 compile 'io.fabric8:kubernetes-client:4.0.3'
 compile 'io.kamon:kamon-core_2.11:0.6.7'