apache / openwhisk

Apache OpenWhisk is an open source serverless cloud platform
https://openwhisk.apache.org/
Apache License 2.0
6.54k stars 1.17k forks source link

Propose to add the deployment module for object storage #1466

Closed houshengbo closed 7 years ago

houshengbo commented 8 years ago

This issues proposes to add the deployment module for object storage in ansible to initialize a database for the relationship of triggers and containers, create a view to look up the trigger name by the container ID, and install the feed and trigger actions in-need for object storage. OpenWhisk should also be able to remove the actions, delete the view and the the database.

Background: Since we are about to use the messaging service to integrate with the object storage, we need to have one object storage feed action to build up the relationship between the trigger and the container of the object storage, and one trigger action to fire the corresponding trigger by looking up the relationship.

The feed action is called each time the trigger is created and the trigger action is called when the messaging service receives the message generated by the object storage. It is necessary to have a database maintaining the relationship between the trigger and the container and a view for the trigger action to query the trigger name by the container ID.

Both of the actions are maintained in another repo, but openwhisk needs to create the environment able to deploy and use the object storage .

houshengbo commented 8 years ago

@bjustin-ibm @dubeejw @csantanapr As we discussed for the feed action and trigger action important for object storage, I believe that we also need to initialize the openwhisk environment with a database saving the relationship between triggers and containers, and install the feed and trigger for object storage if this service will be launched.

csantanapr commented 8 years ago

let's keep the approach that we have today to keep the code in this repo "openwhisk" very generic and not specific to the details of the package. We already have something in place to install actions, let's use same approach. from ansible: Git clone package-x deploy: run package-x/installActions.sh arg1 arg2 arg3 ... run package-x/configureDB.sh arg1 arg2 arg3 ... clean: run package-x/deleteActions.sh arg1 arg2 arg3 ... run package-x/unconfigureDB.sh arg1 arg2 arg3 ...

markusthoemmes commented 8 years ago

Haven't we discussed at least briefly to store information like this right on the trigger?

I guess I don't understand the specific requirement to have a separate database here. Could you elaborate a bit more?

rabbah commented 7 years ago

This seems like a capability that can be layered on top of of the openwhisk core.