mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
fn: runner status and docker load images (#1116)
* fn: runner status and docker load images Introducing a function run for pure runner Status calls. Previously, Status gRPC calls returned active inflight request counts with the purpose of a simple health checker. However this is not sufficient since it does not show if agent or docker is healthy. With this change, if pure runner is configured with a status image, that image is executed through docker. The call uses zero memory/cpu/tmpsize settings to ensure resource tracker does not block it. However, operators might not always have a docker repository accessible/available for status image. Or operators might not want the status to go over the network. To allow such cases, and in general possibly caching docker images, added a new environment variable FN_DOCKER_LOAD_FILE. If this is set, fn-agent during startup will load these images that were previously saved with 'docker save' into docker.
This commit is contained in:
@@ -31,7 +31,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
LBAddress = "http://127.0.0.1:8081"
|
||||
LBAddress = "http://127.0.0.1:8081"
|
||||
StatusImage = "fnproject/fn-status-checker:latest"
|
||||
)
|
||||
|
||||
func LB() (string, error) {
|
||||
@@ -276,7 +277,10 @@ func SetUpPureRunnerNode(ctx context.Context, nodeNum int) (*server.Server, erro
|
||||
cancelCtx, cancel := context.WithCancel(ctx)
|
||||
|
||||
// now create pure-runner that wraps agent.
|
||||
pureRunner, err := agent.NewPureRunner(cancel, grpcAddr, agent.PureRunnerWithAgent(innerAgent))
|
||||
pureRunner, err := agent.NewPureRunner(cancel, grpcAddr,
|
||||
agent.PureRunnerWithAgent(innerAgent),
|
||||
agent.PureRunnerWithStatusImage(StatusImage),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user