You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When garden-runc-release v1.19.11 was released, it broke compatibility with a specific edge case -- running inside a user namespace on a Linux 4.4 system. This is a rare scenario for Cloud Foundry, where guardian is run in the initial user namespace -- however it is not unusual for the concourse worker (and consequently guardian as well) to run in a container (= user namespace), like on Docker or k8s.
We didn't notice the impact this breaking change had on our users and actually shipped multiple subsequent releases before thoroughly investigating concourse/concourse#5711, and we still don't have a compelling workaround for users who cannot upgrade from Linux 4.4 or run in the initial user namespace.
If we plan to restore compatibility with the 4.4-user-namespace use case, the only path forward seems to be concourse/concourse#5407 since garden is not being actively maintained.
In any case, how can we prevent gaffes like this in the future?
Solution
Some subsystem of concourse -- the worker would be most relevant -- could get continuously exercised against older versions of Linux. The first idea that came to mind was:
add jobs to our pipelines which run the containerd integration tests on these workers, i.e. a containerd-linux-4.4 and a containerd-linux-3.19.
Questions
does GKE provide machine images for these versions of Linux? If so, are they capable of also running kubernetes nodes? If not, do we manage the configuration for these workers elsewhere? maybe raw google_compute_instances in terraform, provisioned similar to https://github.com/concourse/ci/blob/master/deployments/smoke/smoke.tf? If we manage these workers outside of k8s How do we meaningfully share config (like worker keys) between two config management systems?
is there a lighter-weight way to run a test that integrates with a different version of linux? rather than having a long-lived concourse worker running that linux kernel, maybe we do something more like bin-smoke but deployed on VMs with different kernels. This would mean we don't have to think about the lifecycle of this worker and its continuous upgrades, but it also means we would not really be dogfooding the older kernel experience.
The text was updated successfully, but these errors were encountered:
jamieklassen
changed the title
test against older Linux kernels
regressions on older Linux kernels
Jul 7, 2020
Problem
When garden-runc-release v1.19.11 was released, it broke compatibility with a specific edge case -- running inside a user namespace on a Linux 4.4 system. This is a rare scenario for Cloud Foundry, where guardian is run in the initial user namespace -- however it is not unusual for the concourse worker (and consequently guardian as well) to run in a container (= user namespace), like on Docker or k8s.
We didn't notice the impact this breaking change had on our users and actually shipped multiple subsequent releases before thoroughly investigating concourse/concourse#5711, and we still don't have a compelling workaround for users who cannot upgrade from Linux 4.4 or run in the initial user namespace.
If we plan to restore compatibility with the 4.4-user-namespace use case, the only path forward seems to be concourse/concourse#5407 since garden is not being actively maintained.
In any case, how can we prevent gaffes like this in the future?
Solution
Some subsystem of concourse -- the worker would be most relevant -- could get continuously exercised against older versions of Linux. The first idea that came to mind was:
linux-3.19
andlinux-4.4
, for example.containerd-linux-4.4
and acontainerd-linux-3.19
.Questions
google_compute_instance
s in terraform, provisioned similar to https://github.com/concourse/ci/blob/master/deployments/smoke/smoke.tf? If we manage these workers outside of k8s How do we meaningfully share config (like worker keys) between two config management systems?bin-smoke
but deployed on VMs with different kernels. This would mean we don't have to think about the lifecycle of this worker and its continuous upgrades, but it also means we would not really be dogfooding the older kernel experience.The text was updated successfully, but these errors were encountered: