Skip to content
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

fix(vm): manage pods network priority during a migration using the cilium label #642

Merged
merged 1 commit into from
Feb 4, 2025

Conversation

Isteb4k
Copy link
Contributor

@Isteb4k Isteb4k commented Jan 17, 2025

Description

Manage pods network priority during a migration using the cilium label

Why do we need it, and what problem does it solve?

During the VM migration process, two pods with the same address are created and packets are randomly delivered to them.

Solution:

To force delivery of packages to only one VM pod, the special label network.deckhouse.io/pod-common-ip-priority were added.
The label allows setting the priority of pod for cilium relative to other pods with the same IP address.
Network traffic will be directed to the pod with the higher priority. Absence of the label means default network behavior:
low < no label < high.

How does it work?

  1. When migration starts, the label is removed (if present) from the source pod (the default network behavior is applied).
  2. The target pod is immediately created with a lowered network priority.
  3. When migration completes, the target pod receives an elevated network priority (high), while the source pod has the default behavior (no label).

What is the expected result?

Packets are delivered as expected: initially only to the source pod during migration, and after migration completes, only to the target pod.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: core
type: fix
summary: manage pods network priority during a migration using the cilium label

Sorry, something went wrong.

@Isteb4k Isteb4k self-assigned this Jan 17, 2025
@Isteb4k Isteb4k force-pushed the fix/vm/pods-network-priotity-during-migration branch from 137729c to 283e80e Compare January 17, 2025 15:13
@Isteb4k Isteb4k added this to the v0.15.1 milestone Jan 17, 2025
@Isteb4k Isteb4k force-pushed the fix/vm/pods-network-priotity-during-migration branch 22 times, most recently from d8d4a2d to 2baebc9 Compare January 31, 2025 09:49
@Isteb4k Isteb4k marked this pull request as ready for review January 31, 2025 16:26
…lium label

Signed-off-by: Isteb4k <dmitry.rakitin@flant.com>
@Isteb4k Isteb4k force-pushed the fix/vm/pods-network-priotity-during-migration branch from 2baebc9 to 79ad517 Compare February 3, 2025 18:32
@Isteb4k Isteb4k merged commit 2fba84d into main Feb 4, 2025
15 checks passed
@Isteb4k Isteb4k deleted the fix/vm/pods-network-priotity-during-migration branch February 4, 2025 15:47
@Isteb4k Isteb4k modified the milestones: v0.15.1, v0.16.0 Feb 10, 2025
This was referenced Feb 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants