Skip to content

Graduate the DynamicPodInterfaceNaming FG #13243

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

Merged
merged 4 commits into from
Nov 30, 2024

Conversation

orelmisan
Copy link
Member

@orelmisan orelmisan commented Nov 13, 2024

What this PR does

The DynamicPodInterfaceNaming feature-gate was introduced in v1.4 by PR #13078.

The feature works well for at least two projects.
No negative feedbacks were received from the community on the implementation other than the fact that is does
not support migration between two different primary interface names (in this case the migration will fail).

This scenario is not supposed to be supported for the foreseeable future.

Fixes #

Why we need it and why it was done in this way

The following tradeoffs were made:

The following alternatives were considered:

Links to places where the discussion took place:

Special notes for your reviewer

Checklist

This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

Release note

Dynamic pod interface naming is declared GA

Sorry, something went wrong.

@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: no Indicates the PR's author has not DCO signed all their commits. size/L area/controller sig/compute sig/network labels Nov 13, 2024
@dosubot dosubot bot added the kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API label Nov 13, 2024
@orelmisan orelmisan force-pushed the ga-dynamic-pod-iface-naming branch from fed5e8c to 2f6b423 Compare November 13, 2024 09:05
@kubevirt-bot kubevirt-bot added dco-signoff: yes Indicates the PR's author has DCO signed all their commits. and removed dco-signoff: no Indicates the PR's author has not DCO signed all their commits. labels Nov 13, 2024
@orelmisan
Copy link
Member Author

/uncc @RamLavi @0xFelix
/cc @nirdothan

@kubevirt-bot kubevirt-bot requested review from nirdothan and removed request for 0xFelix and RamLavi November 13, 2024 09:07
Copy link
Contributor

@ormergi ormergi left a comment

Choose a reason for hiding this comment

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

LGTM

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Nov 14, 2024
@kubevirt-bot
Copy link
Contributor

Pull requests that are marked with lgtm should receive a review
from an approver within 1 week.

After that period the bot marks them with the label needs-approver-review.

/label needs-approver-review

@kubevirt-bot kubevirt-bot added the needs-approver-review Indicates that a PR requires a review from an approver. label Nov 21, 2024
@EdDev
Copy link
Member

EdDev commented Nov 21, 2024

@vladikr , per your suggestion, here is the added option on the original design proposal to consider a scenario in which the pod iface name may change: kubevirt/community#356

We will do our best to reject support for such an edge scenario, but if we fail, we do have a way to mitigate it.

Hope this makes the graduation of the feature safer.

Copy link
Member

@EdDev EdDev left a comment

Choose a reason for hiding this comment

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

Thank you!

/approve

@vladikr
Copy link
Member

vladikr commented Nov 24, 2024

@vladikr , per your suggestion, here is the added option on the original design proposal to consider a scenario in which the pod iface name may change: kubevirt/community#356

We will do our best to reject support for such an edge scenario, but if we fail, we do have a way to mitigate it.

Hope this makes the graduation of the feature safer.

@EdDev It doesn't look like what I've suggested can fully mitigate the failure to live migrate VMs that are using this feature in case the target pod interface name changes.
As @orelmisan pointed out I've missed that you are deriving the interface name from the tap device name.
We need a mitigation before we can graduate this, otherwise, I fear that users will face severe consequences if the interface name changes.

orelmisan added a commit to orelmisan/hyperconverged-cluster-operator that referenced this pull request Nov 26, 2024
Following the graduation of the `DynamicPodInterfaceNaming`
feature gate in [1], enable it by default.

[1] kubevirt/kubevirt#13243

Signed-off-by: Orel Misan <omisan@redhat.com>
orelmisan added a commit to orelmisan/hyperconverged-cluster-operator that referenced this pull request Nov 26, 2024
Following the graduation of KubeVirt's `DynamicPodInterfaceNaming`
feature gate[1], enable it by default.

[1] kubevirt/kubevirt#13243

Signed-off-by: Orel Misan <omisan@redhat.com>
@orelmisan
Copy link
Member Author

Change: Rebase.

This is done in preparation for the feature-gate's graduation
to GA.

This reverts commit af28187.

Signed-off-by: Orel Misan <omisan@redhat.com>
The DynamicPodInterfaceNaming feature-gate was introduced
in v1.4 by PR kubevirt#13078.

The feature works well for at least two projects.
No negative feedbacks were received from the community
on the implementation other than the fact that is does
not support migration between two different primary interface
names (in this case the migration will fail).

This scenario is not supposed to be supported for the
foreseeable future.

Signed-off-by: Orel Misan <omisan@redhat.com>
@orelmisan orelmisan force-pushed the ga-dynamic-pod-iface-naming branch from ece89a3 to 11cf0e3 Compare November 28, 2024 14:33
@orelmisan
Copy link
Member Author

Change: Added a generated file that was required following the rebase.

@ormergi
Copy link
Contributor

ormergi commented Nov 28, 2024

/lgtm

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Nov 28, 2024
@orelmisan
Copy link
Member Author

orelmisan commented Nov 29, 2024

@vladikr Following the merge of PR #13374, could we move forward with this one? Please let me know if there's anything else needed on my end to proceed.

@vladikr
Copy link
Member

vladikr commented Nov 29, 2024

@vladikr Following the merge of PR #13374, could we move forward with this one? Please let me know if there's anything else needed on my end to proceed.

yes, thanks @orelmisan . I was waiting for the backport pr to get merged.

@orelmisan
Copy link
Member Author

@vladikr Following the merge of PR #13374, could we move forward with this one? Please let me know if there's anything else needed on my end to proceed.

yes, thanks @orelmisan . I was waiting for the backport pr to get merged.

Thank you @vladikr, would it be possible for you to approve and hold?

@vladikr
Copy link
Member

vladikr commented Nov 29, 2024

/approve
/hold

@kubevirt-bot kubevirt-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 29, 2024
@kubevirt-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: EdDev, vladikr

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 29, 2024
@kubevirt-commenter-bot
Copy link

Required labels detected, running phase 2 presubmits:
/test pull-kubevirt-e2e-windows2016
/test pull-kubevirt-e2e-kind-1.30-vgpu
/test pull-kubevirt-e2e-kind-sriov
/test pull-kubevirt-e2e-k8s-1.30-ipv6-sig-network
/test pull-kubevirt-e2e-k8s-1.29-sig-network
/test pull-kubevirt-e2e-k8s-1.29-sig-storage
/test pull-kubevirt-e2e-k8s-1.29-sig-compute
/test pull-kubevirt-e2e-k8s-1.29-sig-operator
/test pull-kubevirt-e2e-k8s-1.30-sig-network
/test pull-kubevirt-e2e-k8s-1.30-sig-storage
/test pull-kubevirt-e2e-k8s-1.30-sig-compute
/test pull-kubevirt-e2e-k8s-1.30-sig-operator

@orelmisan
Copy link
Member Author

#13387 was merged.
/unhold

@kubevirt-bot kubevirt-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 30, 2024
@orelmisan
Copy link
Member Author

/retest-required

@orelmisan
Copy link
Member Author

/test pull-kubevirt-unit-test-s390x

@kubevirt-bot kubevirt-bot merged commit 4dbd00b into kubevirt:main Nov 30, 2024
39 checks passed
@orelmisan orelmisan deleted the ga-dynamic-pod-iface-naming branch November 30, 2024 10:23
@kubevirt-bot
Copy link
Contributor

/remove-label needs-approver-review

@kubevirt-bot kubevirt-bot removed the needs-approver-review Indicates that a PR requires a review from an approver. label Nov 30, 2024
kubevirt-bot pushed a commit to kubevirt/hyperconverged-cluster-operator that referenced this pull request Nov 30, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Following the graduation of KubeVirt's `DynamicPodInterfaceNaming`
feature gate[1], enable it by default.

[1] kubevirt/kubevirt#13243

Signed-off-by: Orel Misan <omisan@redhat.com>
orelmisan added a commit to orelmisan/hyperconverged-cluster-operator that referenced this pull request Mar 4, 2025
The dynamic pod interface naming feature was declared GA in
KubeVirt v1.5 [1].
There is no longer a need to set this FG.

[1] kubevirt/kubevirt#13243

Signed-off-by: Orel Misan <omisan@redhat.com>
@kubevirt-bot kubevirt-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Mar 9, 2025
kubevirt-bot pushed a commit to kubevirt/hyperconverged-cluster-operator that referenced this pull request Mar 9, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* KubeVirt default FG: Remove NetworkBindingPlugins

The network binding plugins feature was declared GA in
KubeVirt v1.5 [1].
There is no longer a need to set this FG.

[1] kubevirt/kubevirt#13314

Signed-off-by: Orel Misan <omisan@redhat.com>

* KubeVirt default FG: Remove DynamicPodInterfaceNaming

The dynamic pod interface naming feature was declared GA in
KubeVirt v1.5 [1].
There is no longer a need to set this FG.

[1] kubevirt/kubevirt#13243

Signed-off-by: Orel Misan <omisan@redhat.com>

---------

Signed-off-by: Orel Misan <omisan@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/controller dco-signoff: yes Indicates the PR's author has DCO signed all their commits. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/compute sig/network size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants