You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openwhisk.apache.org by GitBox <gi...@apache.org> on 2021/03/27 13:02:56 UTC

[GitHub] [openwhisk] Sheshadri-1992 commented on issue #2928: What is distributed openwhisk and how is it installed?

Sheshadri-1992 commented on issue #2928:
URL: https://github.com/apache/openwhisk/issues/2928#issuecomment-808729786


   > OpenWhisk is being deployed distributed by default. Distributed means, that the components are distributed to multiple machines (it does not mean sharding/federation).
   > 
   > Locally, we deploy everything to one machine, but that is a deploytime detail. For our deployment we use [ansible](https://www.ansible.com/how-ansible-works). A deployment is defined by a group_vars file and a hosts file. One example for such a definition is the **local** environment, found here: https://github.com/apache/incubator-openwhisk/tree/master/ansible/environments/local
   > 
   > If you look through one of the hosts files, you'll see that there is a list of machines defined for every component individually. Fill in multiple IPs for the invokers and you'll get multiple invokers, one on each of the machines you entered (`ansible_host` is the address of the machine). In the local case that's `172.17.0.1` (docker's interface) but can really be any remote IP as well. Remoteness is "hidden" by ansible.
   > 
   > Let me know if you need further details!
   
   Hello,
   I am a PhD student from IISc Bangalore, I am trying a multiple invoker deployment to host a few serverless applications for my research. Using Apache OpenWhisk, I wanted to see first hand how the internals of a serverless platform work and what overheads are involved in hosting an application.
   I could successfully follow steps for single server based deployment. 
   
   However, there are some issues for distributed OpenWhisk deployment. I am listing them here.
   1. Unable to issue action requests through ngnix server (Though nginx is up and running)
   2. For the distributed deployment, I did edit the hosts and hosts.j2.ini file in the /openwhisk/ansible/environments/local/ (Ref : https://github.com/apache/openwhisk/blob/master/ansible/environments/local/hosts.j2.ini) to include IPs of multiple invokers
   3. The invokers are not getting spawned for the remote machine. After 12 tries it is failing.
   
   I request you to kindly suggest me on how to specify configuration files for multiple invokers.
   
   This is my hosts file and hosts.j2.ini file, I have modified them both.
   ![ow-1](https://user-images.githubusercontent.com/8033368/112721346-548eae00-8f29-11eb-93e3-1f995bbfddcd.png)
   
   This is what is happening when I run **ansible-playbook -i environments/$ENVIRONMENT openwhisk.yml**
   ![ow-2](https://user-images.githubusercontent.com/8033368/112721415-93bcff00-8f29-11eb-9cf7-d38a573c7bcc.png)
   
   Two invokers are being created in the same host itself.
   ![ow-3](https://user-images.githubusercontent.com/8033368/112721428-ac2d1980-8f29-11eb-9fe4-b4866856c494.png)
   
   If I set the apihost host to the ngnix ip and port, it refuses connection and returns HTTP 400 response
   ![ow-4](https://user-images.githubusercontent.com/8033368/112721456-d7b00400-8f29-11eb-9249-3887c0afbecf.png)
   
   However, as suggested in one of the comments, if I set it to controller's IP and port, I can create actions and invoke them
   ![ow-5](https://user-images.githubusercontent.com/8033368/112721471-f1514b80-8f29-11eb-9737-874a6c8796b4.png)
   
   These are all the services that are up and running 
   ![ow-6](https://user-images.githubusercontent.com/8033368/112721497-11810a80-8f2a-11eb-94c9-b81f649cbcc2.png)
   
   I followed the deployment instructions given in this url : https://github.com/apache/openwhisk/blob/master/ansible/README.md
   
   Awaiting your valuable suggestions! @rabbah @spattewar @markusthoemmes 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org