openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Imesh Gunaratne <im...@apache.org>
Subject Re: [Dev] Move hard coded runtime configurations from OpenWhisk CLI to the runtimes.json
Date Sun, 18 Mar 2018 08:05:56 GMT
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 <imesh@apache.org> wrote:

> Hi Rodric,
>
> On Wed, Mar 14, 2018 at 2:39 PM, Rodric Rabbah <rodric@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 <imesh@apache.org> wrote:
>> >
>> >> On Sun, Mar 11, 2018 at 6:13 PM, Rodric Rabbah <rodric@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 <imesh@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 <rodric@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 <https://medium.com/@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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message