Skip to content

Kubernetes termination grace period

What does this MR do?

Add a configuration option for the termination grace period of build pods.

Why was this MR needed?

When a build is finished (e.g. Pod is deleted) Kubernetes will send SIGTERM to applications in the containers of the Pod, which can be handled in order to effect graceful termination. SIGKILL is sent a configurable number of seconds later if the application does not terminate sooner (defaults to 30 seconds, controlled by spec.terminationGracePeriodSeconds).

Lots of fast, parallel builds will leave Pods of finished builds behind for 30 seconds, blocking cluster resources. With a lower (or even 0) terminationGracePeriodSeconds, Pods of finished builds will be cleaned up immediately.

Are there points in the code the reviewer needs to double check?

@munnerz could you give me a hint on how to integrate that into the existing tests?

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Merge request reports