Reputation: 157
I am a little confused about the invocation flow of action sequence. I read the code, it shows that each sequence has a main action, which invoke each action in that sequence. In each invocation, the main action will issue an post to apihost, does it means the whole flow(from controller->kafka->dispather->invoker->container) will go through again and again?
Upvotes: 0
Views: 193
Reputation: 831
Conceptually that is how one can implement a sequence directly. In this commit https://github.com/openwhisk/openwhisk/commit/ca15c68d348a2a02cf9da54475e96b43d48a3dac) the sequence "main" is internalized into the controller and bypasses repeated authentication and entitlement checks. Requests internally are still posted to Kafka since that makes them subject to load balancing.
Upvotes: 1
Reputation: 3120
Update:
Quite recently (per ca15c68d348a2a02cf9da54475e96b43d48a3dac) sequences got a huge overhaul. The "root" action mentioned below is no longer needed and invocation of all the actions is internally orchestrated by the controller itself.
Due to this change being quite recent (as of 21st of November 2016) this might not be deployed to all the production environments there are.
What you described is basically right. The "root" action serves as an orchestrator to the "leaf" actions. The root action invokes the leaf actions one by one through the usual API, thus repeating that flow over and over again.
Upvotes: 1