openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 甯尤刚<ning.youg...@navercorp.com>
Subject RE: [discuss]Operation-invoker side-change prewarm container
Date Tue, 22 Jan 2019 02:36:28 GMT
here is the patch: https://github.com/apache/incubator-openwhisk/pull/4225

-----Original Message-----
From: "蒋鹏程"<jiang.pengcheng@navercorp.com>
To: <dev@openwhisk.apache.org>;
Cc:
Sent: 2019-01-22 (星期二) 11:27:56
Subject: [discuss]Operation-invoker side-change prewarm container
 
### 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)
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message