### 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)