Background #
I think openwhisk needs some operation tools(page or API) to admin, for example:

real-time status of Action, Controller, Invoker, etc.
Change prewarm runtime container for invokers

here, we just discuss Change prewarm container for invokers
Requirements #

Admin can add/delete extra prewarm container via controller.
​
The flow may like this, admin sends a HTTP request to the controller, 
controller sends that request info to all invokers through kafka,
invoker gets the request info, parse the prewarm runtime info, and do 
add/delete prewarm container
Note, the prewarm runtime request info's image should be included in 
${OPENWHISK_HOME}/ansible/files/runtimes.json ,
if unknow prewarm runtime image is sent to invoker, invoker should reject the 
request.
​

Need to support different prewarm runtime for different invokers?
​
In future, invokers may support group concept, which means, some invokers's 
cpu, memory is very good, these invokers can execute some height works.
but some invokers may execute some light works.
In this situation, we may consider heterogeneous invoker cluster support, so 
invokers needs to support different prewarm runtime also.
So admin can send the http request to invoker to add/delete prewarm container.


Question? #
Manipulating a single invoker in this case results in a divergence to the 
global configuration. If that invoker restarts, what happens?
If invoker restarts, the invoker will read the global runtime.json to create 
prewarm container( the extra adding prewarm container will be gone, because the 
invoker can't remember its previous state)

Reply via email to