-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.11 backports 2022-04-26 #19573
v1.11 backports 2022-04-26 #19573
Conversation
/test-backport-1.11 |
f7e1a74
to
7502fee
Compare
/test-backport-1.11 Job 'Cilium-PR-K8s-1.21-kernel-4.9' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment |
runtime VM provisioning fail, restarting |
/test-runtime |
/test-1.21-4.9 |
@cilium/tophat CI passed, marking this as ready-to-merge. |
This will need backport of #19626 as well to prevent a data race. |
Removing the ready-to-merge label - #19573 (comment). This showed up in the list of PRs to be merged by tophat because I wasn't filtering draft PRs. |
I should probably qualify my approval above in that there is also a question on the v1.10 backport that I raised here which makes me wonder whether policy updates are being triggered too early during startup, which could lead to unexpected policy behaviour. EDIT: Resolved, see #19574 (review) . |
Added backport of #19626 |
@jrajahalme Can you rebase the PR so that we can trigger CI tests? |
/test-backport-1.11 |
@aditighag rebased :-) |
Still seeing this 😕 |
[ upstream commit b61a347 ] ipcache SupportDump() and SupportsDelete() open the map to probe for the support if the map is not already open and also schedule the bpf-map-sync-cilium_ipcache controller. If the controller is run before initMaps(), initMaps will fail as the controller will leave the map open and initMaps() assumes this not be the case. Solve this by not trying to detect dump support, but try dump and see if it succeeds. This fixes Cilium Agent crash on kernels that do not support ipcache dump operations and when certain Cilium features are enabled on slow machines that caused the scheduled controller to run too soon. Fixes: 19360 Fixes: 19495 Signed-off-by: Jarno Rajahalme <jarno@isovalent.com> Signed-off-by: Cilium Maintainers <maintainer@cilium.io>
[ upstream commit 2e5f35b ] Move local identity allocator initialization to NewCachingIdentityAllocator() so that it is initialized when the allocator is returned to the caller. Also make the events channel and start the watcher in NewCachingIdentityAllocator(). Close() will no longer GC the local identity allocator or stop the watcher. Now that the locally allocated identities are persisted via the bpf ipcache map across restarts, recycling them at runtime via Close() would be inappropriate. This is then used in daemon bootstrap to restore locally allocated identities before new policies can be received via Cilium API or k8s API. This fixes the issue where CIDR policies were received from k8s before locally allocated (CIDR) identities were restored, causing the identities derived from the received policy to be newly allocated with different numeric identity values, ultimately causing policy drops during Cilium restart. Fixes: cilium#19360 Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
[ upstream commit 916765b ] InitK8sSubsystem() starts all k8s watchers concurrently, some of which do call into K8sCacheIsSynced() via ipcache/metadata.InjectLabels(), and possibly also from elsewhere. Initialize k8sCachesSynced before any watchers are started to make this access safe. This fixes data race detected by race detection builds. Fixes: cilium#19614 Fixes: cilium#19556 Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
961baad
to
911fec0
Compare
@aditighag rebased to a local v1.11 branch by accident, now this should be all-OK.
|
/test-backport-1.11 Job 'Cilium-PR-K8s-1.22-kernel-4.19' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment Job 'Cilium-PR-Runtime-net-next' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment Job 'Cilium-PR-K8s-1.21-kernel-4.9' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment |
retesting runtime tests due to unit test timeout |
/test-runtime |
/test-1.22-4.19 |
/test-1.21-4.9 |
/test-1.19-4.9 |
Restarted tests due to provisioning fails and unrelated flakes (checked agent logs). |
Once this PR is merged, you can update the PR labels via: