Skip to content

Conversation

@david-baylibre
Copy link

@david-baylibre david-baylibre commented Dec 15, 2025

Existing Issue

Fixes #374 .

  • Rename worker configmap for a more generic name
  • Add post start hook that detaches deleted loop devices from previous workers which are filling up node space
  • Get Concourse pid dynamically
  • Detach loop devices post shutdown

Contributor Checklist

  • master

Make configmap more generic

Signed-off-by: David Rozé <droze@baylibre.com>
Detach deleted loop devices from previous worker instances.
It should be done when the worker stops but it's not.
Space isn't released, leading the node space to fill up quickly.
This will always happen upon a worker crash or forcing a pod to terminate

Signed-off-by: David Rozé <droze@baylibre.com>
Concourse process may no longer have PID 1 if some conditions are met
eg shareProcessNamespace is used

Signed-off-by: David Rozé <droze@baylibre.com>
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Dec 15, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

Comment on lines 132 to 133
- name: teardown
image: busybox
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the extra image being pulled in like this. It should be obvious which images the chart uses, which is currently concourse/concourse and postgres. This could also fail if being deployed in an environment where Docker hub is not available. I'm going to be very cautious about bringing in another dependency like this into the chart.

I was going to propose using the concourse/concourse image, but sadly not all the tools used in the scripts you added are part of the pre-7.14 images.

Since 7.14 concourse/concourse is based on wolfi which comes with the busybox binary, so your scripts would work fine on the latest images.

We could move forward with this change, but it would be a major bump of the chart since the scripts won't work on <7.14 versions of Concourse.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

concourse/concourse is pretty big for a sidecar container that just waits. wolfi is perfect, tiny, and does not require many changes.
Just tested and pushed

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like having to install losetup while booting the sidecar container but it's not present on the wolfi docker image, even in the busybox binary.
Concourse does contain all the required tools (losetup/lsof/pgrep) so this looks like the best option to me. As for the image size, main and sidecar containers run on the same node so this isn't an issue.
I'll update the PR if you're ok with this @taylorsilva

@taylorsilva taylorsilva moved this from Todo to Waiting on Contributor in Pull Requests Dec 16, 2025
Add sidecar container teardown

Monitor Concourse processes post shutdown
and detach main container loop devices left alone.
Disk space is released on the node from the dead pod.

Signed-off-by: David Rozé <droze@baylibre.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Waiting on Contributor

Development

Successfully merging this pull request may close these issues.

2 participants