openwhiskibm-cloud-functions

idle_container configuration in openwhisk


Currently, the Invoker component configuration in the application.conf has the following configuration for container proxy :

  container-proxy {
    timeouts {
      # The "unusedTimeout" in the ContainerProxy,
      #aka 'How long should a container sit idle until we kill it?'
      idle-container = 10 minutes
      pause-grace = 50 milliseconds
  }

I installed openwhisk on kubernetes via Helm.

How can I configure the idle-container in the values.yaml or cluster.yaml? I tried the following method in values.yaml and cluster.yaml but does not work:

whisk:
  containerProxy:
    timeouts:
      idleContainer: "3minutes"

Solution

  • To override default values from a .conf file, you set environment variables that start with CONFIG_ in the invoker/controller pods. Concretely to change whisk.container-proxy.timeouts.idle-container you would define the environment variable CONFIG_whisk_containerProxy_timeouts_idleContainer to have the desired value.

    In the current OpenWhisk helm chart, this requires editing the yaml files for invoker-pod.yaml or container-pod.yaml to add the additional environment variable definition. There are multiple CONFIG_ variables being defined in these files, so you should have examples to follow.