Current behavior
When upgrading Cloud Foundry deployment from version v45.0.0 to v45.1.0+ or deploying CF v45.1.0, all the applications are crashing because of the breaking changes introduced in Diego release version 2.109. This regression occurs under a specific conditions thats why it went through the normal cf validation pipeline, for instance, if your foundation is offering two stacks(e.g, fs3 and fs4).
! The affected Diego versions are 2.109.0 to 2.112.0.
Steps to reproduce
- Deploy CF v45.1.0+ with two stacks (cflinuxfs3 and cflinuxfs4).
- Run CATS against it
- CATS fail and all the apps crashes.
You will observe that all the applications, start failing with the following error:
2024-12-26T22:17:15.47+0000 [PROXY/0] ERR /etc/cf-assets/envoy/envoy: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /etc/cf-assets/envoy/envoy)
2024-12-26T22:17:15.47+0000 [PROXY/0] ERR /etc/cf-assets/envoy/envoy: /lib/x86_64-linux-gnu/libpthread.so.0: version `GLIBC_2.30' not found (required by /etc/cf-assets/envoy/envoy)
2024-12-26T22:17:15.47+0000 [PROXY/0] ERR /etc/cf-assets/envoy/envoy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /etc/cf-assets/envoy/envoy)
2024-12-26T22:17:15.56+0000 [PROXY/0] OUT Exit status 1
2024-12-26T22:17:15.57+0000 [CELL/SSHD/0] OUT Exit status 0
2024-12-26T22:17:15.57+0000 [APP/PROC/WEB/0] OUT Exit status 143
2024-12-26T22:17:18.23+0000 [CELL/SSHD/0] OUT Exit status 0
2024-12-26T22:17:18.24+0000 [APP/PROC/WEB/0] OUT Exit status 143
When the envoy was bumped?
With Diego release v2.107.0 and v2.108.0, it was still using envoy version 1.28.7 and works well:
https://github.com/cloudfoundry/diego-release/blob/v2.107.0/config/blobs.yml
proxy/envoy-4848d6d548438b50d6d78187a7cfbe61e02d8b85-1.28.7.tgz
However, with Diego release v2.109, envoy was bumped to version 1.32.2 and we observed such behavior:
https://github.com/cloudfoundry/diego-release/blob/v2.109.0/config/blobs.yml
proxy/envoy-a0504e87c5a246cb097b37049b1e4dc7706c2a90-1.32.2.tgz:
Describe how the problem can be fixed?
There has been a detailed explanation provide by Diego Fidalgo: https://cloudfoundry.slack.com/archives/C02FM2BPE/p1735293118448499?thread_ts=1734709809.366679&cid=C02FM2BPE. Why such behavior is observed.
As follow-up, we can confirm that after creating a diego dev release with the code changes suggested. The issue is gone and CATS are passing despite being using the latest envoy version. The following code was patched here
stacks := make([]string, 0, len(rootFSes))
for stack := range rootFSes {
stacks = append(stacks, stack)
}
sort.Strings(stacks)
if len(stacks) > 0 {
mostRecentStack := stacks[len(stacks)-1]
gardenHealthcheckRootFS = rootFSes[mostRecentStack]
}
Desired behavior
After the upgrade or deploying CF v45.1.0+, the applications should not crash for a foundation with more then one stack offering.
Quick follow-up: We need to have a special release note that should be added to all the affected CF releases.
Affected Version
2.109.0,2.110.0, 2.111.0,2.112.0
Current behavior
When upgrading Cloud Foundry deployment from version v45.0.0 to v45.1.0+ or deploying CF v45.1.0, all the applications are crashing because of the breaking changes introduced in Diego release version 2.109. This regression occurs under a specific conditions thats why it went through the normal cf validation pipeline, for instance, if your foundation is offering two stacks(e.g, fs3 and fs4).
!
The affected Diego versions are 2.109.0 to 2.112.0.Steps to reproduce
You will observe that all the applications, start failing with the following error:
When the envoy was bumped?
With Diego release v2.107.0 and v2.108.0, it was still using envoy version 1.28.7 and works well:
However, with Diego release v2.109, envoy was bumped to version 1.32.2 and we observed such behavior:
Describe how the problem can be fixed?
There has been a detailed explanation provide by Diego Fidalgo: https://cloudfoundry.slack.com/archives/C02FM2BPE/p1735293118448499?thread_ts=1734709809.366679&cid=C02FM2BPE. Why such behavior is observed.
As follow-up, we can confirm that after creating a diego dev release with the code changes suggested. The issue is gone and CATS are passing despite being using the latest envoy version. The following code was patched here
Desired behavior
After the upgrade or deploying CF v45.1.0+, the applications should not crash for a foundation with more then one stack offering.
Quick follow-up: We need to have a special release note that should be added to all the affected CF releases.
Affected Version
2.109.0,2.110.0, 2.111.0,2.112.0