You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwhisk.apache.org by Imesh Gunaratne <im...@gmail.com> on 2018/03/11 02:58:49 UTC

[Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Hi All,

I'm trying to do $subject to make it easier to add additional runtime
extensions without having to re-compile the CLI. To do this we may need to
query the list of runtimes available in OW via the OW API.

As I see OW CLI is using WO client go library [1] for invoking the OW API
and at the moment it has not exposed the runtime information which has been
added to the root context path:

HTTP GET /

{
"support": {
"github": "https://github.com/apache/incubator-openwhisk/issues",
"slack": "http://slack.openwhisk.org"
},
"description": "OpenWhisk",
"api_paths": [
"/api/v1"
],
"runtimes": {
"nodejs": [
{
"image": "openwhisk/nodejsaction:latest",
"deprecated": true,
"requireMain": false,
"default": false,
"attached": false,
"kind": "nodejs"
},
...
],
...
},
"limits": {
"actions_per_minute": 60,
"triggers_per_minute": 60,
"concurrent_actions": 30
}
}


I also see that the /api/v1 context path provides information about the API
and it has been exposed by the "InfoService" [2].

HTTP GET /api/v1
{
"api_version_path": "v1",
"description": "OpenWhisk API",
"swagger_paths": {
"ui": "/docs",
"api-docs": "/api-docs"
},
"build": "2018-03-10T16:52:39Z",
"api_version": "1.0.0",
"buildno": "latest"
}

I would like to ask whether the community has already discussed about this
and how you think we should expose the runtime information via the client
go library.

Would it be okay to add a new entity to the client go library to expose the
information on the API root context? If so, would it be okay to call it
"RootService"? Really appreciate your thoughts on this.

[1] https://github.com/apache/incubator-openwhisk-client-go
[2]
https://github.com/apache/incubator-openwhisk-client-go/blob/master/whisk/info.go#L39

Thanks
Imesh

-- 
Imesh Gunaratne
*https://medium.com/@imesh <ht...@imesh>*

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Imesh Gunaratne <im...@apache.org>.
On Sun, Mar 18, 2018 at 5:02 PM, Rodric Rabbah <ro...@gmail.com> wrote:

> The logs for the controller and invoker are in /tmp/wsklogs. You can cat
> them with “wskadmin syslog get controller0”.
>

Thanks Rodric for the quick response! I was able to read the controller
logs using the above methods. Will investigate this further and get back.

Thanks
Imesh


>
>
> -r
>
> On Mar 18, 2018, at 4:05 AM, Imesh Gunaratne <im...@apache.org> wrote:
>
> Hi Rodric,
>
> I was able to start OW using Docker for Mac using Ansible:
> https://github.com/apache/incubator-openwhisk/blob/
> master/ansible/README.md
>
> All ansible playbooks executed successfully including the one which
> configures the CLI and I got following containers running:
>
> imesh@imesh-mbp:~/dev/openwhisk/openwhisk-master/ansible$ docker ps
> CONTAINER ID        IMAGE                         COMMAND
>  CREATED             STATUS              PORTS
>                                                                     NAMES
> 558022652cad        nginx:1.11                    "nginx -g 'daemon ..."
> 38 minutes ago      Up 38 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp,
> 0.0.0.0:8443->8443/tcp                                      nginx
> be04e8295775        whisk/nodejs6action:latest    "/bin/sh -c 'node ..."
> 38 minutes ago      Up 38 minutes
>
> wsk00_1_prewarm_nodejs6
> 5d01753244d5        whisk/nodejs6action:latest    "/bin/sh -c 'node ..."
> 38 minutes ago      Up 38 minutes
>
> wsk00_2_prewarm_nodejs6
> a15f54babf8b        whisk/invoker:latest          "/bin/sh -c 'exec ..."
> 38 minutes ago      Up 38 minutes       0.0.0.0:17000->17000/tcp,
> 0.0.0.0:18000->18000/tcp, 0.0.0.0:12001->8080/tcp
>   invoker0
> 22447561ef9d        whisk/controller:latest       "/bin/sh -c 'exec ..."
> 39 minutes ago      Up 38 minutes       0.0.0.0:15000->15000/tcp,
> 0.0.0.0:16000->16000/tcp, 0.0.0.0:8000->2551/tcp, 0.0.0.0:10001->8080/tcp
>   controller0
> 6d92c7b5a650        wurstmeister/kafka:0.11.0.1   "start-kafka.sh"
> 39 minutes ago      Up 39 minutes       0.0.0.0:9072->9072/tcp,
> 0.0.0.0:9093->9093/tcp
>      kafka0
> a27aed007b9d        zookeeper:3.4                 "/docker-entrypoin..."
> 39 minutes ago      Up 39 minutes       0.0.0.0:2181->2181/tcp,
> 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp
>      zookeeper0
> df2a56c36be1        openwhisk/apigateway:0.9.10   "/usr/bin/dumb-ini..."
> About an hour ago   Up About an hour    80/tcp, 8423/tcp, 0.0.0.0:9000->9000/tcp,
> 0.0.0.0:9001->8080/tcp                                      apigateway
> 4bdcda06a6c0        redis:3.2                     "docker-entrypoint..."
> About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp
>                                                                      redis
> 300d3c3f735f        apache/couchdb:2.1            "tini -- /docker-e..."
> About an hour ago   Up About an hour    0.0.0.0:4369->4369/tcp,
> 0.0.0.0:5984->5984/tcp, 0.0.0.0:9100->9100/tcp
>      couchdb
> 6d0ddbd280e3        bobrik/socat                  "socat TCP4-LISTEN..."
> 2 hours ago         Up 2 hours          0.0.0.0:2376->2375/tcp
>
>  sad_austin
>
> However, I could not connect to OW using the CLI:
>
> bin/wsk action list
> error: Unable to obtain the list of actions for namespace 'default': Get
> http://localhost:10001/api/v1/namespaces/_/actions?limit=30&skip=0: EOF
> Run 'wsk --help' for usage.
>
> I also checked the logs of the controller but it was blank. Appreciate
> your thoughts on this.
>
> Thanks
> Imesh
>
> On Wed, Mar 14, 2018 at 5:23 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Hi Rodric,
>>
>> On Wed, Mar 14, 2018 at 2:39 PM, Rodric Rabbah <ro...@gmail.com> wrote:
>>
>>> Note that there’s a recent regression with vagrant; fixed by this pr
>>> https://github.com/apache/incubator-openwhisk/pull/3430
>>>
>>> I use docker for mac and recently noted we need to update our install
>>> docs; see https://github.com/apache/incubator-openwhisk/issues/3377
>>
>>
>> Great! Thanks for the pointers!
>>
>>>
>>> Can you post specific failures you encountered (or try slack)?
>>>
>>
>> What I did was, I built a new OW controller Docker image with my changes
>> and loaded it to the Vagrant VM and executed the Ansible playbook.
>> Afterwards, I was not able to access the OW API via the CLI and was
>> receiving a connection refuse error. I will check above PRs and try it out
>> again on both Vagrant and Docker for Mac.
>>
>> Thanks
>> Imesh
>>
>>>
>>> -r
>>>
>>> > On Mar 14, 2018, at 3:48 AM, Imesh Gunaratne <im...@apache.org> wrote:
>>> >
>>> >> On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <ro...@gmail.com>
>>> wrote:
>>> >>
>>> >> It’s used in the backend; I don’t think it has an impact on the client
>>> >> yet. Eventually all the execs will be attached, and the code
>>> potentially
>>> >> excluded on fetch (today the controller inlines the code into the
>>> rest of
>>> >> the metadata).
>>> >>
>>> >
>>> > Thanks Rodric! Noted!
>>> >
>>> > I updated the OW controller (API) to add the file extension property
>>> to the
>>> > runtimes and tried to deploy that change in OW Vagrant environment.
>>> > However, I could not get it deployed. Would you mind letting me know
>>> how
>>> > you setup an OW dev environment? Do you use Vagrant or Docker Machine?
>>> I
>>> > also followed [1] but that also did not work properly. I would like to
>>> know
>>> > how you normally do development.
>>> >
>>> > [1] https://github.com/apache/incubator-openwhisk/blob/
>>> > master/tools/macos/README.md
>>> >
>>> > Thanks
>>> > Imesh
>>> >
>>> >
>>> >> -r
>>> >>
>>> >>> On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>> >>>
>>> >>> Hi Rodric,
>>> >>>
>>> >>> May I know the meaning of the "attached" property in the Runtime
>>> >> definition:
>>> >>>
>>> >>> "java": [
>>> >>> {
>>> >>> "image": "openwhisk/java8action:latest",
>>> >>> "deprecated": false,
>>> >>> "requireMain": true,
>>> >>> "default": true,
>>> >>> "attached": true,
>>> >>> "kind": "java"
>>> >>> }
>>> >>> ],
>>> >>>
>>> >>> As I see it has only been set to true in Java. Does it mean attached
>>> file
>>> >>> is binary?
>>> >>>
>>> >>> Thanks
>>> >>> Imesh
>>> >>>
>>> >>>> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <imesh@apache.org
>>> >
>>> >> wrote:
>>> >>>>
>>> >>>>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com>
>>> >> wrote:
>>> >>>>>
>>> >>>>> The info should be available in the client. Bedside the runtimes,
>>> the
>>> >>>>> min, max and default duration values for the actions, as well as
>>> the
>>> >> memory
>>> >>>>> limits should be exposed. This would avoid more of the hardcover
>>> >> values as
>>> >>>>> well.
>>> >>>>
>>> >>>>
>>> >>>> Thanks for the quick response Rodric! Yes, definitely! Let’s expose
>>> >> above
>>> >>>> information and remove hard coded values from the CLI.
>>> >>>>
>>> >>>> I’m now in the process of implementing this, once verified will
>>> provide
>>> >> an
>>> >>>> update.
>>> >>>>
>>> >>>> Thanks
>>> >>>> Imesh
>>> >>>>
>>> >>>>
>>> >>>>>
>>> >>>>> -r
>>> >>>>>
>>> >>>>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <
>>> >> imesh.gunaratne@gmail.com>
>>> >>>>> wrote:
>>> >>>>>>
>>> >>>>>> Hi All,
>>> >>>>>>
>>> >>>>>> I'm trying to do $subject to make it easier to add additional
>>> runtime
>>> >>>>>> extensions without having to re-compile the CLI. To do this we may
>>> >> need
>>> >>>>> to
>>> >>>>>> query the list of runtimes available in OW via the OW API.
>>> >>>>>>
>>> >>>>>> As I see OW CLI is using WO client go library [1] for invoking
>>> the OW
>>> >>>>> API
>>> >>>>>> and at the moment it has not exposed the runtime information
>>> which has
>>> >>>>> been
>>> >>>>>> added to the root context path:
>>> >>>>>>
>>> >>>>>> HTTP GET /
>>> >>>>>>
>>> >>>>>> {
>>> >>>>>> "support": {
>>> >>>>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
>>> >>>>>> "slack": "http://slack.openwhisk.org"
>>> >>>>>> },
>>> >>>>>> "description": "OpenWhisk",
>>> >>>>>> "api_paths": [
>>> >>>>>> "/api/v1"
>>> >>>>>> ],
>>> >>>>>> "runtimes": {
>>> >>>>>> "nodejs": [
>>> >>>>>> {
>>> >>>>>> "image": "openwhisk/nodejsaction:latest",
>>> >>>>>> "deprecated": true,
>>> >>>>>> "requireMain": false,
>>> >>>>>> "default": false,
>>> >>>>>> "attached": false,
>>> >>>>>> "kind": "nodejs"
>>> >>>>>> },
>>> >>>>>> ...
>>> >>>>>> ],
>>> >>>>>> ...
>>> >>>>>> },
>>> >>>>>> "limits": {
>>> >>>>>> "actions_per_minute": 60,
>>> >>>>>> "triggers_per_minute": 60,
>>> >>>>>> "concurrent_actions": 30
>>> >>>>>> }
>>> >>>>>> }
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> I also see that the /api/v1 context path provides information
>>> about
>>> >> the
>>> >>>>> API
>>> >>>>>> and it has been exposed by the "InfoService" [2].
>>> >>>>>>
>>> >>>>>> HTTP GET /api/v1
>>> >>>>>> {
>>> >>>>>> "api_version_path": "v1",
>>> >>>>>> "description": "OpenWhisk API",
>>> >>>>>> "swagger_paths": {
>>> >>>>>> "ui": "/docs",
>>> >>>>>> "api-docs": "/api-docs"
>>> >>>>>> },
>>> >>>>>> "build": "2018-03-10T16:52:39Z",
>>> >>>>>> "api_version": "1.0.0",
>>> >>>>>> "buildno": "latest"
>>> >>>>>> }
>>> >>>>>>
>>> >>>>>> I would like to ask whether the community has already discussed
>>> about
>>> >>>>> this
>>> >>>>>> and how you think we should expose the runtime information via the
>>> >>>>> client
>>> >>>>>> go library.
>>> >>>>>>
>>> >>>>>> Would it be okay to add a new entity to the client go library to
>>> >> expose
>>> >>>>> the
>>> >>>>>> information on the API root context? If so, would it be okay to
>>> call
>>> >> it
>>> >>>>>> "RootService"? Really appreciate your thoughts on this.
>>> >>>>>>
>>> >>>>>> [1] https://github.com/apache/incubator-openwhisk-client-go
>>> >>>>>> [2]
>>> >>>>>> https://github.com/apache/incubator-openwhisk-client-go/
>>> >>>>> blob/master/whisk/info.go#L39
>>> >>>>>>
>>> >>>>>> Thanks
>>> >>>>>> Imesh
>>> >>>>>>
>>> >>>>>> --
>>> >>>>>> Imesh Gunaratne
>>> >>>>>> *https://medium.com/@imesh <ht...@imesh>*
>>> >>>>>
>>> >>>> --
>>> >>>> Imesh Gunaratne
>>> >>>>
>>> >>>> Software Architect, WSO2
>>> >>>> Committer & PMC Member, Apache Stratos
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Imesh Gunaratne
>>> >>>
>>> >>> Software Architect, WSO2
>>> >>> Committer & PMC Member, Apache Stratos
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Imesh Gunaratne
>>> >
>>> > Software Architect, WSO2
>>> > Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Software Architect, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Software Architect, WSO2
> Committer & PMC Member, Apache Stratos
>
>


-- 
Imesh Gunaratne

Software Architect, WSO2
Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Rodric Rabbah <ro...@gmail.com>.
The logs for the controller and invoker are in /tmp/wsklogs. You can cat them with “wskadmin syslog get controller0”. 

-r

> On Mar 18, 2018, at 4:05 AM, Imesh Gunaratne <im...@apache.org> wrote:
> 
> Hi Rodric,
> 
> I was able to start OW using Docker for Mac using Ansible:
> https://github.com/apache/incubator-openwhisk/blob/master/ansible/README.md
> 
> All ansible playbooks executed successfully including the one which configures the CLI and I got following containers running:
> 
> imesh@imesh-mbp:~/dev/openwhisk/openwhisk-master/ansible$ docker ps
> CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                                                                                                 NAMES
> 558022652cad        nginx:1.11                    "nginx -g 'daemon ..."   38 minutes ago      Up 38 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8443->8443/tcp                                      nginx
> be04e8295775        whisk/nodejs6action:latest    "/bin/sh -c 'node ..."   38 minutes ago      Up 38 minutes                                                                                                             wsk00_1_prewarm_nodejs6
> 5d01753244d5        whisk/nodejs6action:latest    "/bin/sh -c 'node ..."   38 minutes ago      Up 38 minutes                                                                                                             wsk00_2_prewarm_nodejs6
> a15f54babf8b        whisk/invoker:latest          "/bin/sh -c 'exec ..."   38 minutes ago      Up 38 minutes       0.0.0.0:17000->17000/tcp, 0.0.0.0:18000->18000/tcp, 0.0.0.0:12001->8080/tcp                           invoker0
> 22447561ef9d        whisk/controller:latest       "/bin/sh -c 'exec ..."   39 minutes ago      Up 38 minutes       0.0.0.0:15000->15000/tcp, 0.0.0.0:16000->16000/tcp, 0.0.0.0:8000->2551/tcp, 0.0.0.0:10001->8080/tcp   controller0
> 6d92c7b5a650        wurstmeister/kafka:0.11.0.1   "start-kafka.sh"         39 minutes ago      Up 39 minutes       0.0.0.0:9072->9072/tcp, 0.0.0.0:9093->9093/tcp                                                        kafka0
> a27aed007b9d        zookeeper:3.4                 "/docker-entrypoin..."   39 minutes ago      Up 39 minutes       0.0.0.0:2181->2181/tcp, 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp                                zookeeper0
> df2a56c36be1        openwhisk/apigateway:0.9.10   "/usr/bin/dumb-ini..."   About an hour ago   Up About an hour    80/tcp, 8423/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:9001->8080/tcp                                      apigateway
> 4bdcda06a6c0        redis:3.2                     "docker-entrypoint..."   About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp                                                                                redis
> 300d3c3f735f        apache/couchdb:2.1            "tini -- /docker-e..."   About an hour ago   Up About an hour    0.0.0.0:4369->4369/tcp, 0.0.0.0:5984->5984/tcp, 0.0.0.0:9100->9100/tcp                                couchdb
> 6d0ddbd280e3        bobrik/socat                  "socat TCP4-LISTEN..."   2 hours ago         Up 2 hours          0.0.0.0:2376->2375/tcp                                                                                sad_austin
> 
> However, I could not connect to OW using the CLI:
> 
> bin/wsk action list
> error: Unable to obtain the list of actions for namespace 'default': Get http://localhost:10001/api/v1/namespaces/_/actions?limit=30&skip=0: EOF
> Run 'wsk --help' for usage.
> 
> I also checked the logs of the controller but it was blank. Appreciate your thoughts on this.
> 
> Thanks
> Imesh
> 
>> On Wed, Mar 14, 2018 at 5:23 PM, Imesh Gunaratne <im...@apache.org> wrote:
>> Hi Rodric,
>> 
>> On Wed, Mar 14, 2018 at 2:39 PM, Rodric Rabbah <ro...@gmail.com> wrote:
>>> Note that there’s a recent regression with vagrant; fixed by this pr https://github.com/apache/incubator-openwhisk/pull/3430
>>> 
>>> I use docker for mac and recently noted we need to update our install docs; see https://github.com/apache/incubator-openwhisk/issues/3377
>> 
>> Great! Thanks for the pointers! 
>>> 
>>> Can you post specific failures you encountered (or try slack)?
>> 
>> What I did was, I built a new OW controller Docker image with my changes and loaded it to the Vagrant VM and executed the Ansible playbook. Afterwards, I was not able to access the OW API via the CLI and was receiving a connection refuse error. I will check above PRs and try it out again on both Vagrant and Docker for Mac.
>> 
>> Thanks
>> Imesh
>>> 
>>> -r
>>> 
>>> > On Mar 14, 2018, at 3:48 AM, Imesh Gunaratne <im...@apache.org> wrote:
>>> >
>>> >> On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <ro...@gmail.com> wrote:
>>> >>
>>> >> It’s used in the backend; I don’t think it has an impact on the client
>>> >> yet. Eventually all the execs will be attached, and the code potentially
>>> >> excluded on fetch (today the controller inlines the code into the rest of
>>> >> the metadata).
>>> >>
>>> >
>>> > Thanks Rodric! Noted!
>>> >
>>> > I updated the OW controller (API) to add the file extension property to the
>>> > runtimes and tried to deploy that change in OW Vagrant environment.
>>> > However, I could not get it deployed. Would you mind letting me know how
>>> > you setup an OW dev environment? Do you use Vagrant or Docker Machine? I
>>> > also followed [1] but that also did not work properly. I would like to know
>>> > how you normally do development.
>>> >
>>> > [1] https://github.com/apache/incubator-openwhisk/blob/
>>> > master/tools/macos/README.md
>>> >
>>> > Thanks
>>> > Imesh
>>> >
>>> >
>>> >> -r
>>> >>
>>> >>> On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org> wrote:
>>> >>>
>>> >>> Hi Rodric,
>>> >>>
>>> >>> May I know the meaning of the "attached" property in the Runtime
>>> >> definition:
>>> >>>
>>> >>> "java": [
>>> >>> {
>>> >>> "image": "openwhisk/java8action:latest",
>>> >>> "deprecated": false,
>>> >>> "requireMain": true,
>>> >>> "default": true,
>>> >>> "attached": true,
>>> >>> "kind": "java"
>>> >>> }
>>> >>> ],
>>> >>>
>>> >>> As I see it has only been set to true in Java. Does it mean attached file
>>> >>> is binary?
>>> >>>
>>> >>> Thanks
>>> >>> Imesh
>>> >>>
>>> >>>> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org>
>>> >> wrote:
>>> >>>>
>>> >>>>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com>
>>> >> wrote:
>>> >>>>>
>>> >>>>> The info should be available in the client. Bedside the runtimes, the
>>> >>>>> min, max and default duration values for the actions, as well as the
>>> >> memory
>>> >>>>> limits should be exposed. This would avoid more of the hardcover
>>> >> values as
>>> >>>>> well.
>>> >>>>
>>> >>>>
>>> >>>> Thanks for the quick response Rodric! Yes, definitely! Let’s expose
>>> >> above
>>> >>>> information and remove hard coded values from the CLI.
>>> >>>>
>>> >>>> I’m now in the process of implementing this, once verified will provide
>>> >> an
>>> >>>> update.
>>> >>>>
>>> >>>> Thanks
>>> >>>> Imesh
>>> >>>>
>>> >>>>
>>> >>>>>
>>> >>>>> -r
>>> >>>>>
>>> >>>>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <
>>> >> imesh.gunaratne@gmail.com>
>>> >>>>> wrote:
>>> >>>>>>
>>> >>>>>> Hi All,
>>> >>>>>>
>>> >>>>>> I'm trying to do $subject to make it easier to add additional runtime
>>> >>>>>> extensions without having to re-compile the CLI. To do this we may
>>> >> need
>>> >>>>> to
>>> >>>>>> query the list of runtimes available in OW via the OW API.
>>> >>>>>>
>>> >>>>>> As I see OW CLI is using WO client go library [1] for invoking the OW
>>> >>>>> API
>>> >>>>>> and at the moment it has not exposed the runtime information which has
>>> >>>>> been
>>> >>>>>> added to the root context path:
>>> >>>>>>
>>> >>>>>> HTTP GET /
>>> >>>>>>
>>> >>>>>> {
>>> >>>>>> "support": {
>>> >>>>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
>>> >>>>>> "slack": "http://slack.openwhisk.org"
>>> >>>>>> },
>>> >>>>>> "description": "OpenWhisk",
>>> >>>>>> "api_paths": [
>>> >>>>>> "/api/v1"
>>> >>>>>> ],
>>> >>>>>> "runtimes": {
>>> >>>>>> "nodejs": [
>>> >>>>>> {
>>> >>>>>> "image": "openwhisk/nodejsaction:latest",
>>> >>>>>> "deprecated": true,
>>> >>>>>> "requireMain": false,
>>> >>>>>> "default": false,
>>> >>>>>> "attached": false,
>>> >>>>>> "kind": "nodejs"
>>> >>>>>> },
>>> >>>>>> ...
>>> >>>>>> ],
>>> >>>>>> ...
>>> >>>>>> },
>>> >>>>>> "limits": {
>>> >>>>>> "actions_per_minute": 60,
>>> >>>>>> "triggers_per_minute": 60,
>>> >>>>>> "concurrent_actions": 30
>>> >>>>>> }
>>> >>>>>> }
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> I also see that the /api/v1 context path provides information about
>>> >> the
>>> >>>>> API
>>> >>>>>> and it has been exposed by the "InfoService" [2].
>>> >>>>>>
>>> >>>>>> HTTP GET /api/v1
>>> >>>>>> {
>>> >>>>>> "api_version_path": "v1",
>>> >>>>>> "description": "OpenWhisk API",
>>> >>>>>> "swagger_paths": {
>>> >>>>>> "ui": "/docs",
>>> >>>>>> "api-docs": "/api-docs"
>>> >>>>>> },
>>> >>>>>> "build": "2018-03-10T16:52:39Z",
>>> >>>>>> "api_version": "1.0.0",
>>> >>>>>> "buildno": "latest"
>>> >>>>>> }
>>> >>>>>>
>>> >>>>>> I would like to ask whether the community has already discussed about
>>> >>>>> this
>>> >>>>>> and how you think we should expose the runtime information via the
>>> >>>>> client
>>> >>>>>> go library.
>>> >>>>>>
>>> >>>>>> Would it be okay to add a new entity to the client go library to
>>> >> expose
>>> >>>>> the
>>> >>>>>> information on the API root context? If so, would it be okay to call
>>> >> it
>>> >>>>>> "RootService"? Really appreciate your thoughts on this.
>>> >>>>>>
>>> >>>>>> [1] https://github.com/apache/incubator-openwhisk-client-go
>>> >>>>>> [2]
>>> >>>>>> https://github.com/apache/incubator-openwhisk-client-go/
>>> >>>>> blob/master/whisk/info.go#L39
>>> >>>>>>
>>> >>>>>> Thanks
>>> >>>>>> Imesh
>>> >>>>>>
>>> >>>>>> --
>>> >>>>>> Imesh Gunaratne
>>> >>>>>> *https://medium.com/@imesh <ht...@imesh>*
>>> >>>>>
>>> >>>> --
>>> >>>> Imesh Gunaratne
>>> >>>>
>>> >>>> Software Architect, WSO2
>>> >>>> Committer & PMC Member, Apache Stratos
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Imesh Gunaratne
>>> >>>
>>> >>> Software Architect, WSO2
>>> >>> Committer & PMC Member, Apache Stratos
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Imesh Gunaratne
>>> >
>>> > Software Architect, WSO2
>>> > Committer & PMC Member, Apache Stratos
>> 
>> 
>> 
>> 
>> -- 
>> Imesh Gunaratne
>> 
>> Software Architect, WSO2
>> Committer & PMC Member, Apache Stratos
> 
> 
> 
> -- 
> Imesh Gunaratne
> 
> Software Architect, WSO2
> Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Imesh Gunaratne <im...@apache.org>.
Hi Rodric,

I was able to start OW using Docker for Mac using Ansible:
https://github.com/apache/incubator-openwhisk/blob/master/ansible/README.md

All ansible playbooks executed successfully including the one which
configures the CLI and I got following containers running:

imesh@imesh-mbp:~/dev/openwhisk/openwhisk-master/ansible$ docker ps
CONTAINER ID        IMAGE                         COMMAND
 CREATED             STATUS              PORTS
                                                                    NAMES
558022652cad        nginx:1.11                    "nginx -g 'daemon ..."
38 minutes ago      Up 38 minutes       0.0.0.0:80->80/tcp,
0.0.0.0:443->443/tcp,
0.0.0.0:8443->8443/tcp                                      nginx
be04e8295775        whisk/nodejs6action:latest    "/bin/sh -c 'node ..."
38 minutes ago      Up 38 minutes

wsk00_1_prewarm_nodejs6
5d01753244d5        whisk/nodejs6action:latest    "/bin/sh -c 'node ..."
38 minutes ago      Up 38 minutes

wsk00_2_prewarm_nodejs6
a15f54babf8b        whisk/invoker:latest          "/bin/sh -c 'exec ..."
38 minutes ago      Up 38 minutes       0.0.0.0:17000->17000/tcp,
0.0.0.0:18000->18000/tcp, 0.0.0.0:12001->8080/tcp
invoker0
22447561ef9d        whisk/controller:latest       "/bin/sh -c 'exec ..."
39 minutes ago      Up 38 minutes       0.0.0.0:15000->15000/tcp,
0.0.0.0:16000->16000/tcp, 0.0.0.0:8000->2551/tcp, 0.0.0.0:10001->8080/tcp
controller0
6d92c7b5a650        wurstmeister/kafka:0.11.0.1   "start-kafka.sh"
39 minutes ago      Up 39 minutes       0.0.0.0:9072->9072/tcp,
0.0.0.0:9093->9093/tcp
                                                       kafka0
a27aed007b9d        zookeeper:3.4                 "/docker-entrypoin..."
39 minutes ago      Up 39 minutes       0.0.0.0:2181->2181/tcp,
0.0.0.0:2888->2888/tcp,
0.0.0.0:3888->3888/tcp                                zookeeper0
df2a56c36be1        openwhisk/apigateway:0.9.10   "/usr/bin/dumb-ini..."
About an hour ago   Up About an hour    80/tcp, 8423/tcp,
0.0.0.0:9000->9000/tcp,
0.0.0.0:9001->8080/tcp                                      apigateway
4bdcda06a6c0        redis:3.2                     "docker-entrypoint..."
About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp
                                                                   redis
300d3c3f735f        apache/couchdb:2.1            "tini -- /docker-e..."
About an hour ago   Up About an hour    0.0.0.0:4369->4369/tcp,
0.0.0.0:5984->5984/tcp,
0.0.0.0:9100->9100/tcp                                couchdb
6d0ddbd280e3        bobrik/socat                  "socat TCP4-LISTEN..."
2 hours ago         Up 2 hours          0.0.0.0:2376->2375/tcp

 sad_austin

However, I could not connect to OW using the CLI:

bin/wsk action list
error: Unable to obtain the list of actions for namespace 'default': Get
http://localhost:10001/api/v1/namespaces/_/actions?limit=30&skip=0: EOF
Run 'wsk --help' for usage.

I also checked the logs of the controller but it was blank. Appreciate your
thoughts on this.

Thanks
Imesh

On Wed, Mar 14, 2018 at 5:23 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi Rodric,
>
> On Wed, Mar 14, 2018 at 2:39 PM, Rodric Rabbah <ro...@gmail.com> wrote:
>
>> Note that there’s a recent regression with vagrant; fixed by this pr
>> https://github.com/apache/incubator-openwhisk/pull/3430
>>
>> I use docker for mac and recently noted we need to update our install
>> docs; see https://github.com/apache/incubator-openwhisk/issues/3377
>
>
> Great! Thanks for the pointers!
>
>>
>> Can you post specific failures you encountered (or try slack)?
>>
>
> What I did was, I built a new OW controller Docker image with my changes
> and loaded it to the Vagrant VM and executed the Ansible playbook.
> Afterwards, I was not able to access the OW API via the CLI and was
> receiving a connection refuse error. I will check above PRs and try it out
> again on both Vagrant and Docker for Mac.
>
> Thanks
> Imesh
>
>>
>> -r
>>
>> > On Mar 14, 2018, at 3:48 AM, Imesh Gunaratne <im...@apache.org> wrote:
>> >
>> >> On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <ro...@gmail.com>
>> wrote:
>> >>
>> >> It’s used in the backend; I don’t think it has an impact on the client
>> >> yet. Eventually all the execs will be attached, and the code
>> potentially
>> >> excluded on fetch (today the controller inlines the code into the rest
>> of
>> >> the metadata).
>> >>
>> >
>> > Thanks Rodric! Noted!
>> >
>> > I updated the OW controller (API) to add the file extension property to
>> the
>> > runtimes and tried to deploy that change in OW Vagrant environment.
>> > However, I could not get it deployed. Would you mind letting me know how
>> > you setup an OW dev environment? Do you use Vagrant or Docker Machine? I
>> > also followed [1] but that also did not work properly. I would like to
>> know
>> > how you normally do development.
>> >
>> > [1] https://github.com/apache/incubator-openwhisk/blob/
>> > master/tools/macos/README.md
>> >
>> > Thanks
>> > Imesh
>> >
>> >
>> >> -r
>> >>
>> >>> On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>> >>>
>> >>> Hi Rodric,
>> >>>
>> >>> May I know the meaning of the "attached" property in the Runtime
>> >> definition:
>> >>>
>> >>> "java": [
>> >>> {
>> >>> "image": "openwhisk/java8action:latest",
>> >>> "deprecated": false,
>> >>> "requireMain": true,
>> >>> "default": true,
>> >>> "attached": true,
>> >>> "kind": "java"
>> >>> }
>> >>> ],
>> >>>
>> >>> As I see it has only been set to true in Java. Does it mean attached
>> file
>> >>> is binary?
>> >>>
>> >>> Thanks
>> >>> Imesh
>> >>>
>> >>>> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org>
>> >> wrote:
>> >>>>
>> >>>>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com>
>> >> wrote:
>> >>>>>
>> >>>>> The info should be available in the client. Bedside the runtimes,
>> the
>> >>>>> min, max and default duration values for the actions, as well as the
>> >> memory
>> >>>>> limits should be exposed. This would avoid more of the hardcover
>> >> values as
>> >>>>> well.
>> >>>>
>> >>>>
>> >>>> Thanks for the quick response Rodric! Yes, definitely! Let’s expose
>> >> above
>> >>>> information and remove hard coded values from the CLI.
>> >>>>
>> >>>> I’m now in the process of implementing this, once verified will
>> provide
>> >> an
>> >>>> update.
>> >>>>
>> >>>> Thanks
>> >>>> Imesh
>> >>>>
>> >>>>
>> >>>>>
>> >>>>> -r
>> >>>>>
>> >>>>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <
>> >> imesh.gunaratne@gmail.com>
>> >>>>> wrote:
>> >>>>>>
>> >>>>>> Hi All,
>> >>>>>>
>> >>>>>> I'm trying to do $subject to make it easier to add additional
>> runtime
>> >>>>>> extensions without having to re-compile the CLI. To do this we may
>> >> need
>> >>>>> to
>> >>>>>> query the list of runtimes available in OW via the OW API.
>> >>>>>>
>> >>>>>> As I see OW CLI is using WO client go library [1] for invoking the
>> OW
>> >>>>> API
>> >>>>>> and at the moment it has not exposed the runtime information which
>> has
>> >>>>> been
>> >>>>>> added to the root context path:
>> >>>>>>
>> >>>>>> HTTP GET /
>> >>>>>>
>> >>>>>> {
>> >>>>>> "support": {
>> >>>>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
>> >>>>>> "slack": "http://slack.openwhisk.org"
>> >>>>>> },
>> >>>>>> "description": "OpenWhisk",
>> >>>>>> "api_paths": [
>> >>>>>> "/api/v1"
>> >>>>>> ],
>> >>>>>> "runtimes": {
>> >>>>>> "nodejs": [
>> >>>>>> {
>> >>>>>> "image": "openwhisk/nodejsaction:latest",
>> >>>>>> "deprecated": true,
>> >>>>>> "requireMain": false,
>> >>>>>> "default": false,
>> >>>>>> "attached": false,
>> >>>>>> "kind": "nodejs"
>> >>>>>> },
>> >>>>>> ...
>> >>>>>> ],
>> >>>>>> ...
>> >>>>>> },
>> >>>>>> "limits": {
>> >>>>>> "actions_per_minute": 60,
>> >>>>>> "triggers_per_minute": 60,
>> >>>>>> "concurrent_actions": 30
>> >>>>>> }
>> >>>>>> }
>> >>>>>>
>> >>>>>>
>> >>>>>> I also see that the /api/v1 context path provides information about
>> >> the
>> >>>>> API
>> >>>>>> and it has been exposed by the "InfoService" [2].
>> >>>>>>
>> >>>>>> HTTP GET /api/v1
>> >>>>>> {
>> >>>>>> "api_version_path": "v1",
>> >>>>>> "description": "OpenWhisk API",
>> >>>>>> "swagger_paths": {
>> >>>>>> "ui": "/docs",
>> >>>>>> "api-docs": "/api-docs"
>> >>>>>> },
>> >>>>>> "build": "2018-03-10T16:52:39Z",
>> >>>>>> "api_version": "1.0.0",
>> >>>>>> "buildno": "latest"
>> >>>>>> }
>> >>>>>>
>> >>>>>> I would like to ask whether the community has already discussed
>> about
>> >>>>> this
>> >>>>>> and how you think we should expose the runtime information via the
>> >>>>> client
>> >>>>>> go library.
>> >>>>>>
>> >>>>>> Would it be okay to add a new entity to the client go library to
>> >> expose
>> >>>>> the
>> >>>>>> information on the API root context? If so, would it be okay to
>> call
>> >> it
>> >>>>>> "RootService"? Really appreciate your thoughts on this.
>> >>>>>>
>> >>>>>> [1] https://github.com/apache/incubator-openwhisk-client-go
>> >>>>>> [2]
>> >>>>>> https://github.com/apache/incubator-openwhisk-client-go/
>> >>>>> blob/master/whisk/info.go#L39
>> >>>>>>
>> >>>>>> Thanks
>> >>>>>> Imesh
>> >>>>>>
>> >>>>>> --
>> >>>>>> Imesh Gunaratne
>> >>>>>> *https://medium.com/@imesh <ht...@imesh>*
>> >>>>>
>> >>>> --
>> >>>> Imesh Gunaratne
>> >>>>
>> >>>> Software Architect, WSO2
>> >>>> Committer & PMC Member, Apache Stratos
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Imesh Gunaratne
>> >>>
>> >>> Software Architect, WSO2
>> >>> Committer & PMC Member, Apache Stratos
>> >>
>> >
>> >
>> >
>> > --
>> > Imesh Gunaratne
>> >
>> > Software Architect, WSO2
>> > Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Software Architect, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Software Architect, WSO2
Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Imesh Gunaratne <im...@apache.org>.
Hi Rodric,

On Wed, Mar 14, 2018 at 2:39 PM, Rodric Rabbah <ro...@gmail.com> wrote:

> Note that there’s a recent regression with vagrant; fixed by this pr
> https://github.com/apache/incubator-openwhisk/pull/3430
>
> I use docker for mac and recently noted we need to update our install
> docs; see https://github.com/apache/incubator-openwhisk/issues/3377


Great! Thanks for the pointers!

>
> Can you post specific failures you encountered (or try slack)?
>

What I did was, I built a new OW controller Docker image with my changes
and loaded it to the Vagrant VM and executed the Ansible playbook.
Afterwards, I was not able to access the OW API via the CLI and was
receiving a connection refuse error. I will check above PRs and try it out
again on both Vagrant and Docker for Mac.

Thanks
Imesh

>
> -r
>
> > On Mar 14, 2018, at 3:48 AM, Imesh Gunaratne <im...@apache.org> wrote:
> >
> >> On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <ro...@gmail.com>
> wrote:
> >>
> >> It’s used in the backend; I don’t think it has an impact on the client
> >> yet. Eventually all the execs will be attached, and the code potentially
> >> excluded on fetch (today the controller inlines the code into the rest
> of
> >> the metadata).
> >>
> >
> > Thanks Rodric! Noted!
> >
> > I updated the OW controller (API) to add the file extension property to
> the
> > runtimes and tried to deploy that change in OW Vagrant environment.
> > However, I could not get it deployed. Would you mind letting me know how
> > you setup an OW dev environment? Do you use Vagrant or Docker Machine? I
> > also followed [1] but that also did not work properly. I would like to
> know
> > how you normally do development.
> >
> > [1] https://github.com/apache/incubator-openwhisk/blob/
> > master/tools/macos/README.md
> >
> > Thanks
> > Imesh
> >
> >
> >> -r
> >>
> >>> On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org> wrote:
> >>>
> >>> Hi Rodric,
> >>>
> >>> May I know the meaning of the "attached" property in the Runtime
> >> definition:
> >>>
> >>> "java": [
> >>> {
> >>> "image": "openwhisk/java8action:latest",
> >>> "deprecated": false,
> >>> "requireMain": true,
> >>> "default": true,
> >>> "attached": true,
> >>> "kind": "java"
> >>> }
> >>> ],
> >>>
> >>> As I see it has only been set to true in Java. Does it mean attached
> file
> >>> is binary?
> >>>
> >>> Thanks
> >>> Imesh
> >>>
> >>>> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org>
> >> wrote:
> >>>>
> >>>>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com>
> >> wrote:
> >>>>>
> >>>>> The info should be available in the client. Bedside the runtimes, the
> >>>>> min, max and default duration values for the actions, as well as the
> >> memory
> >>>>> limits should be exposed. This would avoid more of the hardcover
> >> values as
> >>>>> well.
> >>>>
> >>>>
> >>>> Thanks for the quick response Rodric! Yes, definitely! Let’s expose
> >> above
> >>>> information and remove hard coded values from the CLI.
> >>>>
> >>>> I’m now in the process of implementing this, once verified will
> provide
> >> an
> >>>> update.
> >>>>
> >>>> Thanks
> >>>> Imesh
> >>>>
> >>>>
> >>>>>
> >>>>> -r
> >>>>>
> >>>>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <
> >> imesh.gunaratne@gmail.com>
> >>>>> wrote:
> >>>>>>
> >>>>>> Hi All,
> >>>>>>
> >>>>>> I'm trying to do $subject to make it easier to add additional
> runtime
> >>>>>> extensions without having to re-compile the CLI. To do this we may
> >> need
> >>>>> to
> >>>>>> query the list of runtimes available in OW via the OW API.
> >>>>>>
> >>>>>> As I see OW CLI is using WO client go library [1] for invoking the
> OW
> >>>>> API
> >>>>>> and at the moment it has not exposed the runtime information which
> has
> >>>>> been
> >>>>>> added to the root context path:
> >>>>>>
> >>>>>> HTTP GET /
> >>>>>>
> >>>>>> {
> >>>>>> "support": {
> >>>>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
> >>>>>> "slack": "http://slack.openwhisk.org"
> >>>>>> },
> >>>>>> "description": "OpenWhisk",
> >>>>>> "api_paths": [
> >>>>>> "/api/v1"
> >>>>>> ],
> >>>>>> "runtimes": {
> >>>>>> "nodejs": [
> >>>>>> {
> >>>>>> "image": "openwhisk/nodejsaction:latest",
> >>>>>> "deprecated": true,
> >>>>>> "requireMain": false,
> >>>>>> "default": false,
> >>>>>> "attached": false,
> >>>>>> "kind": "nodejs"
> >>>>>> },
> >>>>>> ...
> >>>>>> ],
> >>>>>> ...
> >>>>>> },
> >>>>>> "limits": {
> >>>>>> "actions_per_minute": 60,
> >>>>>> "triggers_per_minute": 60,
> >>>>>> "concurrent_actions": 30
> >>>>>> }
> >>>>>> }
> >>>>>>
> >>>>>>
> >>>>>> I also see that the /api/v1 context path provides information about
> >> the
> >>>>> API
> >>>>>> and it has been exposed by the "InfoService" [2].
> >>>>>>
> >>>>>> HTTP GET /api/v1
> >>>>>> {
> >>>>>> "api_version_path": "v1",
> >>>>>> "description": "OpenWhisk API",
> >>>>>> "swagger_paths": {
> >>>>>> "ui": "/docs",
> >>>>>> "api-docs": "/api-docs"
> >>>>>> },
> >>>>>> "build": "2018-03-10T16:52:39Z",
> >>>>>> "api_version": "1.0.0",
> >>>>>> "buildno": "latest"
> >>>>>> }
> >>>>>>
> >>>>>> I would like to ask whether the community has already discussed
> about
> >>>>> this
> >>>>>> and how you think we should expose the runtime information via the
> >>>>> client
> >>>>>> go library.
> >>>>>>
> >>>>>> Would it be okay to add a new entity to the client go library to
> >> expose
> >>>>> the
> >>>>>> information on the API root context? If so, would it be okay to call
> >> it
> >>>>>> "RootService"? Really appreciate your thoughts on this.
> >>>>>>
> >>>>>> [1] https://github.com/apache/incubator-openwhisk-client-go
> >>>>>> [2]
> >>>>>> https://github.com/apache/incubator-openwhisk-client-go/
> >>>>> blob/master/whisk/info.go#L39
> >>>>>>
> >>>>>> Thanks
> >>>>>> Imesh
> >>>>>>
> >>>>>> --
> >>>>>> Imesh Gunaratne
> >>>>>> *https://medium.com/@imesh <ht...@imesh>*
> >>>>>
> >>>> --
> >>>> Imesh Gunaratne
> >>>>
> >>>> Software Architect, WSO2
> >>>> Committer & PMC Member, Apache Stratos
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Imesh Gunaratne
> >>>
> >>> Software Architect, WSO2
> >>> Committer & PMC Member, Apache Stratos
> >>
> >
> >
> >
> > --
> > Imesh Gunaratne
> >
> > Software Architect, WSO2
> > Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Software Architect, WSO2
Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Rodric Rabbah <ro...@gmail.com>.
Note that there’s a recent regression with vagrant; fixed by this pr https://github.com/apache/incubator-openwhisk/pull/3430


I use docker for mac and recently noted we need to update our install docs; see https://github.com/apache/incubator-openwhisk/issues/3377

Can you post specific failures you encountered (or try slack)?

-r

> On Mar 14, 2018, at 3:48 AM, Imesh Gunaratne <im...@apache.org> wrote:
> 
>> On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <ro...@gmail.com> wrote:
>> 
>> It’s used in the backend; I don’t think it has an impact on the client
>> yet. Eventually all the execs will be attached, and the code potentially
>> excluded on fetch (today the controller inlines the code into the rest of
>> the metadata).
>> 
> 
> Thanks Rodric! Noted!
> 
> I updated the OW controller (API) to add the file extension property to the
> runtimes and tried to deploy that change in OW Vagrant environment.
> However, I could not get it deployed. Would you mind letting me know how
> you setup an OW dev environment? Do you use Vagrant or Docker Machine? I
> also followed [1] but that also did not work properly. I would like to know
> how you normally do development.
> 
> [1] https://github.com/apache/incubator-openwhisk/blob/
> master/tools/macos/README.md
> 
> Thanks
> Imesh
> 
> 
>> -r
>> 
>>> On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org> wrote:
>>> 
>>> Hi Rodric,
>>> 
>>> May I know the meaning of the "attached" property in the Runtime
>> definition:
>>> 
>>> "java": [
>>> {
>>> "image": "openwhisk/java8action:latest",
>>> "deprecated": false,
>>> "requireMain": true,
>>> "default": true,
>>> "attached": true,
>>> "kind": "java"
>>> }
>>> ],
>>> 
>>> As I see it has only been set to true in Java. Does it mean attached file
>>> is binary?
>>> 
>>> Thanks
>>> Imesh
>>> 
>>>> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>>> 
>>>>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com>
>> wrote:
>>>>> 
>>>>> The info should be available in the client. Bedside the runtimes, the
>>>>> min, max and default duration values for the actions, as well as the
>> memory
>>>>> limits should be exposed. This would avoid more of the hardcover
>> values as
>>>>> well.
>>>> 
>>>> 
>>>> Thanks for the quick response Rodric! Yes, definitely! Let’s expose
>> above
>>>> information and remove hard coded values from the CLI.
>>>> 
>>>> I’m now in the process of implementing this, once verified will provide
>> an
>>>> update.
>>>> 
>>>> Thanks
>>>> Imesh
>>>> 
>>>> 
>>>>> 
>>>>> -r
>>>>> 
>>>>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <
>> imesh.gunaratne@gmail.com>
>>>>> wrote:
>>>>>> 
>>>>>> Hi All,
>>>>>> 
>>>>>> I'm trying to do $subject to make it easier to add additional runtime
>>>>>> extensions without having to re-compile the CLI. To do this we may
>> need
>>>>> to
>>>>>> query the list of runtimes available in OW via the OW API.
>>>>>> 
>>>>>> As I see OW CLI is using WO client go library [1] for invoking the OW
>>>>> API
>>>>>> and at the moment it has not exposed the runtime information which has
>>>>> been
>>>>>> added to the root context path:
>>>>>> 
>>>>>> HTTP GET /
>>>>>> 
>>>>>> {
>>>>>> "support": {
>>>>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
>>>>>> "slack": "http://slack.openwhisk.org"
>>>>>> },
>>>>>> "description": "OpenWhisk",
>>>>>> "api_paths": [
>>>>>> "/api/v1"
>>>>>> ],
>>>>>> "runtimes": {
>>>>>> "nodejs": [
>>>>>> {
>>>>>> "image": "openwhisk/nodejsaction:latest",
>>>>>> "deprecated": true,
>>>>>> "requireMain": false,
>>>>>> "default": false,
>>>>>> "attached": false,
>>>>>> "kind": "nodejs"
>>>>>> },
>>>>>> ...
>>>>>> ],
>>>>>> ...
>>>>>> },
>>>>>> "limits": {
>>>>>> "actions_per_minute": 60,
>>>>>> "triggers_per_minute": 60,
>>>>>> "concurrent_actions": 30
>>>>>> }
>>>>>> }
>>>>>> 
>>>>>> 
>>>>>> I also see that the /api/v1 context path provides information about
>> the
>>>>> API
>>>>>> and it has been exposed by the "InfoService" [2].
>>>>>> 
>>>>>> HTTP GET /api/v1
>>>>>> {
>>>>>> "api_version_path": "v1",
>>>>>> "description": "OpenWhisk API",
>>>>>> "swagger_paths": {
>>>>>> "ui": "/docs",
>>>>>> "api-docs": "/api-docs"
>>>>>> },
>>>>>> "build": "2018-03-10T16:52:39Z",
>>>>>> "api_version": "1.0.0",
>>>>>> "buildno": "latest"
>>>>>> }
>>>>>> 
>>>>>> I would like to ask whether the community has already discussed about
>>>>> this
>>>>>> and how you think we should expose the runtime information via the
>>>>> client
>>>>>> go library.
>>>>>> 
>>>>>> Would it be okay to add a new entity to the client go library to
>> expose
>>>>> the
>>>>>> information on the API root context? If so, would it be okay to call
>> it
>>>>>> "RootService"? Really appreciate your thoughts on this.
>>>>>> 
>>>>>> [1] https://github.com/apache/incubator-openwhisk-client-go
>>>>>> [2]
>>>>>> https://github.com/apache/incubator-openwhisk-client-go/
>>>>> blob/master/whisk/info.go#L39
>>>>>> 
>>>>>> Thanks
>>>>>> Imesh
>>>>>> 
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>> *https://medium.com/@imesh <ht...@imesh>*
>>>>> 
>>>> --
>>>> Imesh Gunaratne
>>>> 
>>>> Software Architect, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Imesh Gunaratne
>>> 
>>> Software Architect, WSO2
>>> Committer & PMC Member, Apache Stratos
>> 
> 
> 
> 
> -- 
> Imesh Gunaratne
> 
> Software Architect, WSO2
> Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Imesh Gunaratne <im...@apache.org>.
On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <ro...@gmail.com> wrote:

> It’s used in the backend; I don’t think it has an impact on the client
> yet. Eventually all the execs will be attached, and the code potentially
> excluded on fetch (today the controller inlines the code into the rest of
> the metadata).
>

Thanks Rodric! Noted!

I updated the OW controller (API) to add the file extension property to the
runtimes and tried to deploy that change in OW Vagrant environment.
However, I could not get it deployed. Would you mind letting me know how
you setup an OW dev environment? Do you use Vagrant or Docker Machine? I
also followed [1] but that also did not work properly. I would like to know
how you normally do development.

[1] https://github.com/apache/incubator-openwhisk/blob/
master/tools/macos/README.md

Thanks
Imesh


> -r
>
> > On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org> wrote:
> >
> > Hi Rodric,
> >
> > May I know the meaning of the "attached" property in the Runtime
> definition:
> >
> > "java": [
> > {
> > "image": "openwhisk/java8action:latest",
> > "deprecated": false,
> > "requireMain": true,
> > "default": true,
> > "attached": true,
> > "kind": "java"
> > }
> > ],
> >
> > As I see it has only been set to true in Java. Does it mean attached file
> > is binary?
> >
> > Thanks
> > Imesh
> >
> >> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org>
> wrote:
> >>
> >>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com>
> wrote:
> >>>
> >>> The info should be available in the client. Bedside the runtimes, the
> >>> min, max and default duration values for the actions, as well as the
> memory
> >>> limits should be exposed. This would avoid more of the hardcover
> values as
> >>> well.
> >>
> >>
> >> Thanks for the quick response Rodric! Yes, definitely! Let’s expose
> above
> >> information and remove hard coded values from the CLI.
> >>
> >> I’m now in the process of implementing this, once verified will provide
> an
> >> update.
> >>
> >> Thanks
> >> Imesh
> >>
> >>
> >>>
> >>> -r
> >>>
> >>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <
> imesh.gunaratne@gmail.com>
> >>> wrote:
> >>>>
> >>>> Hi All,
> >>>>
> >>>> I'm trying to do $subject to make it easier to add additional runtime
> >>>> extensions without having to re-compile the CLI. To do this we may
> need
> >>> to
> >>>> query the list of runtimes available in OW via the OW API.
> >>>>
> >>>> As I see OW CLI is using WO client go library [1] for invoking the OW
> >>> API
> >>>> and at the moment it has not exposed the runtime information which has
> >>> been
> >>>> added to the root context path:
> >>>>
> >>>> HTTP GET /
> >>>>
> >>>> {
> >>>> "support": {
> >>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
> >>>> "slack": "http://slack.openwhisk.org"
> >>>> },
> >>>> "description": "OpenWhisk",
> >>>> "api_paths": [
> >>>> "/api/v1"
> >>>> ],
> >>>> "runtimes": {
> >>>> "nodejs": [
> >>>> {
> >>>> "image": "openwhisk/nodejsaction:latest",
> >>>> "deprecated": true,
> >>>> "requireMain": false,
> >>>> "default": false,
> >>>> "attached": false,
> >>>> "kind": "nodejs"
> >>>> },
> >>>> ...
> >>>> ],
> >>>> ...
> >>>> },
> >>>> "limits": {
> >>>> "actions_per_minute": 60,
> >>>> "triggers_per_minute": 60,
> >>>> "concurrent_actions": 30
> >>>> }
> >>>> }
> >>>>
> >>>>
> >>>> I also see that the /api/v1 context path provides information about
> the
> >>> API
> >>>> and it has been exposed by the "InfoService" [2].
> >>>>
> >>>> HTTP GET /api/v1
> >>>> {
> >>>> "api_version_path": "v1",
> >>>> "description": "OpenWhisk API",
> >>>> "swagger_paths": {
> >>>> "ui": "/docs",
> >>>> "api-docs": "/api-docs"
> >>>> },
> >>>> "build": "2018-03-10T16:52:39Z",
> >>>> "api_version": "1.0.0",
> >>>> "buildno": "latest"
> >>>> }
> >>>>
> >>>> I would like to ask whether the community has already discussed about
> >>> this
> >>>> and how you think we should expose the runtime information via the
> >>> client
> >>>> go library.
> >>>>
> >>>> Would it be okay to add a new entity to the client go library to
> expose
> >>> the
> >>>> information on the API root context? If so, would it be okay to call
> it
> >>>> "RootService"? Really appreciate your thoughts on this.
> >>>>
> >>>> [1] https://github.com/apache/incubator-openwhisk-client-go
> >>>> [2]
> >>>> https://github.com/apache/incubator-openwhisk-client-go/
> >>> blob/master/whisk/info.go#L39
> >>>>
> >>>> Thanks
> >>>> Imesh
> >>>>
> >>>> --
> >>>> Imesh Gunaratne
> >>>> *https://medium.com/@imesh <ht...@imesh>*
> >>>
> >> --
> >> Imesh Gunaratne
> >>
> >> Software Architect, WSO2
> >> Committer & PMC Member, Apache Stratos
> >>
> >
> >
> >
> > --
> > Imesh Gunaratne
> >
> > Software Architect, WSO2
> > Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Software Architect, WSO2
Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Rodric Rabbah <ro...@gmail.com>.
It’s used in the backend; I don’t think it has an impact on the client yet. Eventually all the execs will be attached, and the code potentially excluded on fetch (today the controller inlines the code into the rest of the metadata). 

-r

> On Mar 11, 2018, at 7:58 AM, Imesh Gunaratne <im...@apache.org> wrote:
> 
> Hi Rodric,
> 
> May I know the meaning of the "attached" property in the Runtime definition:
> 
> "java": [
> {
> "image": "openwhisk/java8action:latest",
> "deprecated": false,
> "requireMain": true,
> "default": true,
> "attached": true,
> "kind": "java"
> }
> ],
> 
> As I see it has only been set to true in Java. Does it mean attached file
> is binary?
> 
> Thanks
> Imesh
> 
>> On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org> wrote:
>> 
>>> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com> wrote:
>>> 
>>> The info should be available in the client. Bedside the runtimes, the
>>> min, max and default duration values for the actions, as well as the memory
>>> limits should be exposed. This would avoid more of the hardcover values as
>>> well.
>> 
>> 
>> Thanks for the quick response Rodric! Yes, definitely! Let’s expose above
>> information and remove hard coded values from the CLI.
>> 
>> I’m now in the process of implementing this, once verified will provide an
>> update.
>> 
>> Thanks
>> Imesh
>> 
>> 
>>> 
>>> -r
>>> 
>>>> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <im...@gmail.com>
>>> wrote:
>>>> 
>>>> Hi All,
>>>> 
>>>> I'm trying to do $subject to make it easier to add additional runtime
>>>> extensions without having to re-compile the CLI. To do this we may need
>>> to
>>>> query the list of runtimes available in OW via the OW API.
>>>> 
>>>> As I see OW CLI is using WO client go library [1] for invoking the OW
>>> API
>>>> and at the moment it has not exposed the runtime information which has
>>> been
>>>> added to the root context path:
>>>> 
>>>> HTTP GET /
>>>> 
>>>> {
>>>> "support": {
>>>> "github": "https://github.com/apache/incubator-openwhisk/issues",
>>>> "slack": "http://slack.openwhisk.org"
>>>> },
>>>> "description": "OpenWhisk",
>>>> "api_paths": [
>>>> "/api/v1"
>>>> ],
>>>> "runtimes": {
>>>> "nodejs": [
>>>> {
>>>> "image": "openwhisk/nodejsaction:latest",
>>>> "deprecated": true,
>>>> "requireMain": false,
>>>> "default": false,
>>>> "attached": false,
>>>> "kind": "nodejs"
>>>> },
>>>> ...
>>>> ],
>>>> ...
>>>> },
>>>> "limits": {
>>>> "actions_per_minute": 60,
>>>> "triggers_per_minute": 60,
>>>> "concurrent_actions": 30
>>>> }
>>>> }
>>>> 
>>>> 
>>>> I also see that the /api/v1 context path provides information about the
>>> API
>>>> and it has been exposed by the "InfoService" [2].
>>>> 
>>>> HTTP GET /api/v1
>>>> {
>>>> "api_version_path": "v1",
>>>> "description": "OpenWhisk API",
>>>> "swagger_paths": {
>>>> "ui": "/docs",
>>>> "api-docs": "/api-docs"
>>>> },
>>>> "build": "2018-03-10T16:52:39Z",
>>>> "api_version": "1.0.0",
>>>> "buildno": "latest"
>>>> }
>>>> 
>>>> I would like to ask whether the community has already discussed about
>>> this
>>>> and how you think we should expose the runtime information via the
>>> client
>>>> go library.
>>>> 
>>>> Would it be okay to add a new entity to the client go library to expose
>>> the
>>>> information on the API root context? If so, would it be okay to call it
>>>> "RootService"? Really appreciate your thoughts on this.
>>>> 
>>>> [1] https://github.com/apache/incubator-openwhisk-client-go
>>>> [2]
>>>> https://github.com/apache/incubator-openwhisk-client-go/
>>> blob/master/whisk/info.go#L39
>>>> 
>>>> Thanks
>>>> Imesh
>>>> 
>>>> --
>>>> Imesh Gunaratne
>>>> *https://medium.com/@imesh <ht...@imesh>*
>>> 
>> --
>> Imesh Gunaratne
>> 
>> Software Architect, WSO2
>> Committer & PMC Member, Apache Stratos
>> 
> 
> 
> 
> -- 
> Imesh Gunaratne
> 
> Software Architect, WSO2
> Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Imesh Gunaratne <im...@apache.org>.
Hi Rodric,

May I know the meaning of the "attached" property in the Runtime definition:

"java": [
{
"image": "openwhisk/java8action:latest",
"deprecated": false,
"requireMain": true,
"default": true,
"attached": true,
"kind": "java"
}
],

As I see it has only been set to true in Java. Does it mean attached file
is binary?

Thanks
Imesh

On Sun, Mar 11, 2018 at 11:03 AM, Imesh Gunaratne <im...@apache.org> wrote:

> On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com> wrote:
>
>> The info should be available in the client. Bedside the runtimes, the
>> min, max and default duration values for the actions, as well as the memory
>> limits should be exposed. This would avoid more of the hardcover values as
>> well.
>
>
> Thanks for the quick response Rodric! Yes, definitely! Let’s expose above
> information and remove hard coded values from the CLI.
>
> I’m now in the process of implementing this, once verified will provide an
> update.
>
> Thanks
> Imesh
>
>
>>
>> -r
>>
>> > On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <im...@gmail.com>
>> wrote:
>> >
>> > Hi All,
>> >
>> > I'm trying to do $subject to make it easier to add additional runtime
>> > extensions without having to re-compile the CLI. To do this we may need
>> to
>> > query the list of runtimes available in OW via the OW API.
>> >
>> > As I see OW CLI is using WO client go library [1] for invoking the OW
>> API
>> > and at the moment it has not exposed the runtime information which has
>> been
>> > added to the root context path:
>> >
>> > HTTP GET /
>> >
>> > {
>> > "support": {
>> > "github": "https://github.com/apache/incubator-openwhisk/issues",
>> > "slack": "http://slack.openwhisk.org"
>> > },
>> > "description": "OpenWhisk",
>> > "api_paths": [
>> > "/api/v1"
>> > ],
>> > "runtimes": {
>> > "nodejs": [
>> > {
>> > "image": "openwhisk/nodejsaction:latest",
>> > "deprecated": true,
>> > "requireMain": false,
>> > "default": false,
>> > "attached": false,
>> > "kind": "nodejs"
>> > },
>> > ...
>> > ],
>> > ...
>> > },
>> > "limits": {
>> > "actions_per_minute": 60,
>> > "triggers_per_minute": 60,
>> > "concurrent_actions": 30
>> > }
>> > }
>> >
>> >
>> > I also see that the /api/v1 context path provides information about the
>> API
>> > and it has been exposed by the "InfoService" [2].
>> >
>> > HTTP GET /api/v1
>> > {
>> > "api_version_path": "v1",
>> > "description": "OpenWhisk API",
>> > "swagger_paths": {
>> > "ui": "/docs",
>> > "api-docs": "/api-docs"
>> > },
>> > "build": "2018-03-10T16:52:39Z",
>> > "api_version": "1.0.0",
>> > "buildno": "latest"
>> > }
>> >
>> > I would like to ask whether the community has already discussed about
>> this
>> > and how you think we should expose the runtime information via the
>> client
>> > go library.
>> >
>> > Would it be okay to add a new entity to the client go library to expose
>> the
>> > information on the API root context? If so, would it be okay to call it
>> > "RootService"? Really appreciate your thoughts on this.
>> >
>> > [1] https://github.com/apache/incubator-openwhisk-client-go
>> > [2]
>> > https://github.com/apache/incubator-openwhisk-client-go/
>> blob/master/whisk/info.go#L39
>> >
>> > Thanks
>> > Imesh
>> >
>> > --
>> > Imesh Gunaratne
>> > *https://medium.com/@imesh <ht...@imesh>*
>>
> --
> Imesh Gunaratne
>
> Software Architect, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Software Architect, WSO2
Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Imesh Gunaratne <im...@apache.org>.
On Sun, Mar 11, 2018 at 10:14 AM Rodric Rabbah <ro...@gmail.com> wrote:

> The info should be available in the client. Bedside the runtimes, the min,
> max and default duration values for the actions, as well as the memory
> limits should be exposed. This would avoid more of the hardcover values as
> well.


Thanks for the quick response Rodric! Yes, definitely! Let’s expose above
information and remove hard coded values from the CLI.

I’m now in the process of implementing this, once verified will provide an
update.

Thanks
Imesh


>
> -r
>
> > On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <im...@gmail.com>
> wrote:
> >
> > Hi All,
> >
> > I'm trying to do $subject to make it easier to add additional runtime
> > extensions without having to re-compile the CLI. To do this we may need
> to
> > query the list of runtimes available in OW via the OW API.
> >
> > As I see OW CLI is using WO client go library [1] for invoking the OW API
> > and at the moment it has not exposed the runtime information which has
> been
> > added to the root context path:
> >
> > HTTP GET /
> >
> > {
> > "support": {
> > "github": "https://github.com/apache/incubator-openwhisk/issues",
> > "slack": "http://slack.openwhisk.org"
> > },
> > "description": "OpenWhisk",
> > "api_paths": [
> > "/api/v1"
> > ],
> > "runtimes": {
> > "nodejs": [
> > {
> > "image": "openwhisk/nodejsaction:latest",
> > "deprecated": true,
> > "requireMain": false,
> > "default": false,
> > "attached": false,
> > "kind": "nodejs"
> > },
> > ...
> > ],
> > ...
> > },
> > "limits": {
> > "actions_per_minute": 60,
> > "triggers_per_minute": 60,
> > "concurrent_actions": 30
> > }
> > }
> >
> >
> > I also see that the /api/v1 context path provides information about the
> API
> > and it has been exposed by the "InfoService" [2].
> >
> > HTTP GET /api/v1
> > {
> > "api_version_path": "v1",
> > "description": "OpenWhisk API",
> > "swagger_paths": {
> > "ui": "/docs",
> > "api-docs": "/api-docs"
> > },
> > "build": "2018-03-10T16:52:39Z",
> > "api_version": "1.0.0",
> > "buildno": "latest"
> > }
> >
> > I would like to ask whether the community has already discussed about
> this
> > and how you think we should expose the runtime information via the client
> > go library.
> >
> > Would it be okay to add a new entity to the client go library to expose
> the
> > information on the API root context? If so, would it be okay to call it
> > "RootService"? Really appreciate your thoughts on this.
> >
> > [1] https://github.com/apache/incubator-openwhisk-client-go
> > [2]
> >
> https://github.com/apache/incubator-openwhisk-client-go/blob/master/whisk/info.go#L39
> >
> > Thanks
> > Imesh
> >
> > --
> > Imesh Gunaratne
> > *https://medium.com/@imesh <ht...@imesh>*
>
-- 
Imesh Gunaratne

Software Architect, WSO2
Committer & PMC Member, Apache Stratos

Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json

Posted by Rodric Rabbah <ro...@gmail.com>.
The info should be available in the client. Bedside the runtimes, the min, max and default duration values for the actions, as well as the memory limits should be exposed. This would avoid more of the hardcover values as well.  

-r

> On Mar 10, 2018, at 9:58 PM, Imesh Gunaratne <im...@gmail.com> wrote:
> 
> Hi All,
> 
> I'm trying to do $subject to make it easier to add additional runtime
> extensions without having to re-compile the CLI. To do this we may need to
> query the list of runtimes available in OW via the OW API.
> 
> As I see OW CLI is using WO client go library [1] for invoking the OW API
> and at the moment it has not exposed the runtime information which has been
> added to the root context path:
> 
> HTTP GET /
> 
> {
> "support": {
> "github": "https://github.com/apache/incubator-openwhisk/issues",
> "slack": "http://slack.openwhisk.org"
> },
> "description": "OpenWhisk",
> "api_paths": [
> "/api/v1"
> ],
> "runtimes": {
> "nodejs": [
> {
> "image": "openwhisk/nodejsaction:latest",
> "deprecated": true,
> "requireMain": false,
> "default": false,
> "attached": false,
> "kind": "nodejs"
> },
> ...
> ],
> ...
> },
> "limits": {
> "actions_per_minute": 60,
> "triggers_per_minute": 60,
> "concurrent_actions": 30
> }
> }
> 
> 
> I also see that the /api/v1 context path provides information about the API
> and it has been exposed by the "InfoService" [2].
> 
> HTTP GET /api/v1
> {
> "api_version_path": "v1",
> "description": "OpenWhisk API",
> "swagger_paths": {
> "ui": "/docs",
> "api-docs": "/api-docs"
> },
> "build": "2018-03-10T16:52:39Z",
> "api_version": "1.0.0",
> "buildno": "latest"
> }
> 
> I would like to ask whether the community has already discussed about this
> and how you think we should expose the runtime information via the client
> go library.
> 
> Would it be okay to add a new entity to the client go library to expose the
> information on the API root context? If so, would it be okay to call it
> "RootService"? Really appreciate your thoughts on this.
> 
> [1] https://github.com/apache/incubator-openwhisk-client-go
> [2]
> https://github.com/apache/incubator-openwhisk-client-go/blob/master/whisk/info.go#L39
> 
> Thanks
> Imesh
> 
> -- 
> Imesh Gunaratne
> *https://medium.com/@imesh <ht...@imesh>*