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

2nd iteration of the process #13

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

xpivarc
Copy link
Member

@xpivarc xpivarc commented Mar 3, 2025

What this PR does / why we need it:
This PR is based on #7 and feedback provided on uncoference and by side channels.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:

Release note:

NONE

@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Mar 3, 2025
@kubevirt-bot kubevirt-bot requested review from lyarwood and vladikr March 3, 2025 14:11
Copy link
Member

@dankenigsberg dankenigsberg left a comment

Choose a reason for hiding this comment

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

thanks for the update to the VEP process, here are very very partial nits

README.md Outdated
@@ -2,26 +2,96 @@

This repository is currently Work In Progress but will eventually be used to manage KubeVirt Enhancement Proposals (VEPs), emphasizing centralized prioritization and enhanced SIG involvement and collaboration.

## Process (DRAFT)
**WHY**
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
**WHY**
### WHY

Copy link
Contributor

Choose a reason for hiding this comment

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

Good catch @dankenigsberg! though I think it should be ## (double, not triple 😄)

README.md Outdated
Includes all the relevant information, including the design and the state.
**Glossary**
- VEP
- EF
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- EF
- EF: Enhancement Freeze

etc

README.md Outdated

2. Coordination - SIGs are responsible that the reviews are not lacking behind for more than week. Release team is making sure there is an active SIG representative.

**Labels**
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
**Labels**
### Labels

better use linkable md headers over manual formatting for subsections of the text.

@vladikr
Copy link
Member

vladikr commented Mar 4, 2025

@orelmisan could you please take a look? Does this clarify some of the topics we discussed during the unconference?

@xpivarc
Copy link
Member Author

xpivarc commented Mar 4, 2025

/cc @alaypatel07 @lyarwood

@vladikr
Copy link
Member

vladikr commented Mar 7, 2025

@vladikr
Copy link
Member

vladikr commented Mar 7, 2025

/cc @alicefr

@kubevirt-bot kubevirt-bot requested a review from alicefr March 7, 2025 13:17
* Stable release target (x.y):


* [] Alpha
Copy link
Member

Choose a reason for hiding this comment

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

Do we want this for Beta/Stable too?

README.md Outdated
@@ -2,26 +2,96 @@

This repository is currently Work In Progress but will eventually be used to manage KubeVirt Enhancement Proposals (VEPs), emphasizing centralized prioritization and enhanced SIG involvement and collaboration.

## Process (DRAFT)
**WHY**
The process aims to focus the community's efforts on prioritized pull requests, increase the review bandwidth, and ensure clear visibility of feature progress and associated issues. The relativly new split into SIGs requries defining common process to ensure synchronization between SIGs and uniformity of the project.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The process aims to focus the community's efforts on prioritized pull requests, increase the review bandwidth, and ensure clear visibility of feature progress and associated issues. The relativly new split into SIGs requries defining common process to ensure synchronization between SIGs and uniformity of the project.
The process aims to focus the community's efforts on prioritized pull requests, increase the review bandwidth, and ensure clear visibility of feature progress and associated issues. The relativly new split into SIGs requires defining a common process to ensure synchronization between SIGs and uniformity of the project.

README.md Outdated
2. **Visibility and Tracking**: The Author of VEP will open an issue to track their progress, maturity stages (alpha, beta, GA), list the associated bugs, and user feedback.
See what is required for every VEP's issue [Issue template](https://github.com/kubevirt/community/blob/main/design-proposals/proposal-template.md), each section should be filled.

3. **SIG Review and Collaboration**: Each VEP will have a target SIG or more in case of cross SIG feature, and the SIGs will assign a dedicated reviewer to oversee the proposal, collaborate with others SIGs as needed, and provide feedback or veto when necessary. The author and reviewers work towards merged VEP.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
3. **SIG Review and Collaboration**: Each VEP will have a target SIG or more in case of cross SIG feature, and the SIGs will assign a dedicated reviewer to oversee the proposal, collaborate with others SIGs as needed, and provide feedback or veto when necessary. The author and reviewers work towards merged VEP.
3. **SIG Review and Collaboration**: Each VEP will have one target SIG or more in case of a cross SIG feature, and the SIGs will assign a dedicated reviewer to oversee the proposal, collaborate with others SIGs as needed, and provide feedback or veto when necessary. The author and reviewers work towards merged VEP.

Copy link
Member

Choose a reason for hiding this comment

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

The author and reviewers work towards merged VEP

What does that mean? They work towards getting the VEP merged?

README.md Outdated

3. **SIG Review and Collaboration**: Each VEP will have a target SIG or more in case of cross SIG feature, and the SIGs will assign a dedicated reviewer to oversee the proposal, collaborate with others SIGs as needed, and provide feedback or veto when necessary. The author and reviewers work towards merged VEP.

Each SIG (Compute, Network, Storage) should sign-off the VEP with LGTM from representative (Sig-chair or approver of the sig) even if the proposal doesn't affect them. The sign-off works here as acknowledgment of the changes.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Each SIG (Compute, Network, Storage) should sign-off the VEP with LGTM from representative (Sig-chair or approver of the sig) even if the proposal doesn't affect them. The sign-off works here as acknowledgment of the changes.
Each SIG (Compute, Network, Storage) should sign-off the VEP with LGTM from a representative (Sig-chair or approver of the sig) even if the proposal doesn't affect them. The sign-off works here as acknowledgment of the changes.

README.md Outdated
4. **Centralized Prioritization**: At the start of each release cycle, all accepted VEPs will be designated as the project’s priority, focusing community efforts on the associated pull requests. Acceptance will be based on community support and a commitment to implementation.

- On the EF, approved VEPs will be announced to kubevirt-dev mailing list in order to draw attention to them.
- Each week a release team will check tracked VEP in order to assure activity
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- Each week a release team will check tracked VEP in order to assure activity
- Each week a release team will check tracked VEP in order to assure activity.

README.md Outdated
2. Target labels - There will be a lable in order to target the VEP for release.

**NOTE**
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for excepion, see <TODO>
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for excepion, see <TODO>
Acceptance of an enhancement doesn't guarantee that the feature will land in the current or later release. The process is a collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for an exception, see <TODO>

README.md Outdated
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for excepion, see <TODO>

## Deadlines
The particular dealines are always changing based on the release and are publish <Link to repo>. The following deadlines are important for the VEP:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The particular dealines are always changing based on the release and are publish <Link to repo>. The following deadlines are important for the VEP:
The particular dealines are always changing based on the release and are published here: <Link to repo>. The following deadlines are important for the VEP:

README.md Outdated

## Implementation Phases

1. **Alpha Rollout (v1.5 Cycle)**:
- [x] Create the `kubevirt/enhancements` repository.
- [x] Introduce a template for VEP submissions.
- [ ] Migrate one or two active designs to test the process.
- [x] Migrate one or two active designs to test the process.
- [ ] Refine the process based on feedback from initial VEPs.
Copy link
Member

Choose a reason for hiding this comment

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

We're already at this step?

README.md Outdated
Exception will be sent to kubevirt-dev mailing list, the following should not be missing:
1. Justification for exception
2. Additional time period that is required
3. In case of exception not being granted, what is the impact? (Thing about graduation, maturity of the feature, user impact, etc.)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
3. In case of exception not being granted, what is the impact? (Thing about graduation, maturity of the feature, user impact, etc.)
3. In case of exception not being granted, what is the impact? (Think about graduation, maturity of the feature, user impact, etc.)

README.md Outdated
3. Coordinate sigs, reviewers and approvers in order to progress the Enhancement

**Release check-ins**
Both the release team and approvers of the VEPs are responsible for weekly check-ins. The following are the goals of the check-ins:
Copy link
Member

Choose a reason for hiding this comment

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

Should results of these check-ins be tracked somewhere? E.g. a comment on the VEP?

Copy link
Contributor

Choose a reason for hiding this comment

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

+1. comment on the tracking issue is also what k8s are doing.

Copy link

@jean-edouard jean-edouard left a comment

Choose a reason for hiding this comment

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

This makes sense, I do worry that it might be too process-heavy, but we can always adjust in the future.
Many TODOs left, are they meant to be fixed by the 3rd iteration PR? If not, maybe this PR should be switched to draft.
See in-line for more, mostly typo fixes, nothing major.

README.md Outdated
@@ -2,26 +2,96 @@

This repository is currently Work In Progress but will eventually be used to manage KubeVirt Enhancement Proposals (VEPs), emphasizing centralized prioritization and enhanced SIG involvement and collaboration.

## Process (DRAFT)
**WHY**
The process aims to focus the community's efforts on prioritized pull requests, increase the review bandwidth, and ensure clear visibility of feature progress and associated issues. The relativly new split into SIGs requries defining common process to ensure synchronization between SIGs and uniformity of the project.

Choose a reason for hiding this comment

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

Suggested change
The process aims to focus the community's efforts on prioritized pull requests, increase the review bandwidth, and ensure clear visibility of feature progress and associated issues. The relativly new split into SIGs requries defining common process to ensure synchronization between SIGs and uniformity of the project.
The process aims to focus the community's efforts on prioritized pull requests, increase the review bandwidth, and ensure clear visibility of feature progress and associated issues. The relatively new split into SIGs requires defining a common process to ensure synchronization between SIGs and uniformity of the project.

README.md Outdated
The VEP owner is responsible to update it as its development progresses, until it is fully mature (or deprecated).
## Process (DRAFT 2nd iteration)

1. **VEP Creation**: VEP authors will initiate proposals via PRs to the `kubevirt/enhancements` repository. See what is required for every VEP - [Design proposal template](https://github.com/kubevirt/community/blob/main/design-proposals/proposal-template.md), each section needs to be filled even if the section doesn't apply to the VEP.

Choose a reason for hiding this comment

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

How do you fill a section that doesn't apply? Also:

Suggested change
1. **VEP Creation**: VEP authors will initiate proposals via PRs to the `kubevirt/enhancements` repository. See what is required for every VEP - [Design proposal template](https://github.com/kubevirt/community/blob/main/design-proposals/proposal-template.md), each section needs to be filled even if the section doesn't apply to the VEP.
1. **VEP Creation**: VEP authors will initiate proposals via PRs to the `kubevirt/enhancements` repository. See the [VEP template](https://github.com/kubevirt/enhancements/blob/main/veps/NNNN-vep-template/vep.md), each section needs to be filled even if the section doesn't apply to the VEP.

README.md Outdated
1. **VEP Creation**: VEP authors will initiate proposals via PRs to the `kubevirt/enhancements` repository. See what is required for every VEP - [Design proposal template](https://github.com/kubevirt/community/blob/main/design-proposals/proposal-template.md), each section needs to be filled even if the section doesn't apply to the VEP.

2. **Visibility and Tracking**: The Author of VEP will open an issue to track their progress, maturity stages (alpha, beta, GA), list the associated bugs, and user feedback.
See what is required for every VEP's issue [Issue template](https://github.com/kubevirt/community/blob/main/design-proposals/proposal-template.md), each section should be filled.

Choose a reason for hiding this comment

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

Suggested change
See what is required for every VEP's issue [Issue template](https://github.com/kubevirt/community/blob/main/design-proposals/proposal-template.md), each section should be filled.
See the [VEP issue template](https://github.com/kubevirt/enhancements/blob/main/.github/ISSUE_TEMPLATE/vep.md), each section should be filled.

README.md Outdated

3. **SIG Review and Collaboration**: Each VEP will have a target SIG or more in case of cross SIG feature, and the SIGs will assign a dedicated reviewer to oversee the proposal, collaborate with others SIGs as needed, and provide feedback or veto when necessary. The author and reviewers work towards merged VEP.

Each SIG (Compute, Network, Storage) should sign-off the VEP with LGTM from representative (Sig-chair or approver of the sig) even if the proposal doesn't affect them. The sign-off works here as acknowledgment of the changes.

Choose a reason for hiding this comment

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

Suggested change
Each SIG (Compute, Network, Storage) should sign-off the VEP with LGTM from representative (Sig-chair or approver of the sig) even if the proposal doesn't affect them. The sign-off works here as acknowledgment of the changes.
Each SIG (Compute, Network, Storage) should sign-off on the VEP with an LGTM from a SIG representative (chair or approver), even if the proposal doesn't affect them. The sign-off works here as acknowledgment of the changes.

README.md Outdated
**Release check-ins**
Both the release team and approvers of the VEPs are responsible for weekly check-ins. The following are the goals of the check-ins:
1. Re-targeting of VEP - In case of implementation not converging, new blockers being discovered, pushback of community or withdrawal of approver the VEP needs to be re-targeted. The VEP needs to be updated with new target. The SIGs should shift the focus on tracked VEPs.
Re-targeting could be also rejection of the VEP completly in case it is not implentable.

Choose a reason for hiding this comment

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

Suggested change
Re-targeting could be also rejection of the VEP completly in case it is not implentable.
Re-targeting could be also rejection of the VEP completely in case it is not implementable.

README.md Outdated
**Labels**
For easier managment of the release and VEPs the following labels will be used:

1. SIG labels - Each SIG will have a label in order to sort what SIGs is responsible for the VEP.

Choose a reason for hiding this comment

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

Suggested change
1. SIG labels - Each SIG will have a label in order to sort what SIGs is responsible for the VEP.
1. SIG labels - Each SIG will have a label in order to sort which SIG is responsible for the VEP.

README.md Outdated
For easier managment of the release and VEPs the following labels will be used:

1. SIG labels - Each SIG will have a label in order to sort what SIGs is responsible for the VEP.
2. Target labels - There will be a lable in order to target the VEP for release.

Choose a reason for hiding this comment

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

Suggested change
2. Target labels - There will be a lable in order to target the VEP for release.
2. Target labels - There will be a label in order to target the VEP for release.

README.md Outdated
2. Target labels - There will be a lable in order to target the VEP for release.

**NOTE**
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for excepion, see <TODO>

Choose a reason for hiding this comment

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

Suggested change
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for excepion, see <TODO>
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is a collaborative effort between contributors and approvers. Features not landing in the release branch prior to FF will need to file for an exception, see <TODO>

README.md Outdated
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will need to file for excepion, see <TODO>

## Deadlines
The particular dealines are always changing based on the release and are publish <Link to repo>. The following deadlines are important for the VEP:

Choose a reason for hiding this comment

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

Suggested change
The particular dealines are always changing based on the release and are publish <Link to repo>. The following deadlines are important for the VEP:
The particular dealines are always changing based on the release and are published <Link to repo>. The following deadlines are important for the VEP:

README.md Outdated

## Exceptions
Exceptions are serving for any edge case that is not specified in this documment, by release team/repository or within KubeVirt repository.
Typically an exeption would be asked to allow contributors to continue to working on VEP/PRs/code after the EF or FF respectivly.

Choose a reason for hiding this comment

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

Suggested change
Typically an exeption would be asked to allow contributors to continue to working on VEP/PRs/code after the EF or FF respectivly.
Typically an exception would be asked to allow contributors to continue to working on VEP/PRs/code after the EF or FF respectively.

@jean-edouard
Copy link

@0xFelix and I reviewed this at the exact same time, sorry for the duplicates...

Copy link
Member

@orelmisan orelmisan 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 for the PR @xpivarc.

Please consider making the README document dedicated mostly for VEP authors, for example:

  1. What has to be done? in what order?
  2. Whose signoffs do you need to have in order to move forward?
  3. What are the deadlines?
  4. Who do you need to contact in case you don't meet the deadlines? and how?

IMO it would help separating approver-specific content to a dedicated document, because having all the info here saturates VEP authors with info that is less relevant to them.

@vladikr
Copy link
Member

vladikr commented Mar 12, 2025

Thank you for the PR @xpivarc.

Please consider making the README document dedicated mostly for VEP authors, for example:

  1. What has to be done? in what order?
  2. Whose signoffs do you need to have in order to move forward?
  3. What are the deadlines?
  4. Who do you need to contact in case you don't meet the deadlines? and how?

IMO it would help separating approver-specific content to a dedicated document, because having all the info here saturates VEP authors with info that is less relevant to them.

@orelmisan that's a good idea to have a focused view from the author's perspective. I feel that this could be a follow up. what do you think?
I would like first to see that process as a whole is understood and then we could create a dedicated view for the authors.

@alaypatel07
Copy link

There was a discussion topic raised in community meeting on March 12. How can VEP authors make sure that the VEP gets review cycles on the design?

There are certain steps that needs to be documented regarding this:

  1. VEP authors should be encouraged to talk about the design in the unconference sessions to bring everyone on the same page about the problem, use-cases/design etc. Ideally this will help VEP authors to find a right sponsoring SIG for the VEP
  2. VEP authors should join the relevant sig calls for further discussions, seeking for reviews
  3. VEP authors can ask for reviews on community calls if this is a cross-sig VEP.

Documenting this would be essential for folks who are not familiar with the process, but have a design/feature that needs to be implemented in KubeVirt

cc @vladikr @awels please add thoughts that I missed from that discussion, thanks.

@awels
Copy link
Member

awels commented Mar 12, 2025

Maybe we can add labels to the VEPs to help authors indicate which sigs they think they VEP belongs to? This will maybe also help get cross sig attention to the VEP.

@lyarwood
Copy link
Member

Maybe we can add labels to the VEPs to help authors indicate which sigs they think they VEP belongs to? This will maybe also help get cross sig attention to the VEP.

Yup we should also adjust the PR template to ensure these are set from the start as they now are for the tracking issues.

Copy link
Contributor

@iholder101 iholder101 left a comment

Choose a reason for hiding this comment

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

Great stuff @xpivarc! Thank you!

Comment on lines 8 to 9
- [ ] (R) Target version must be explicitly mentioned and approved
- [ ] (R) Graduation criteria cannot be missing
Copy link
Contributor

Choose a reason for hiding this comment

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

nit

Suggested change
- [ ] (R) Target version must be explicitly mentioned and approved
- [ ] (R) Graduation criteria cannot be missing
- [ ] (R) Target version is explicitly mentioned and approved
- [ ] (R) Graduation criteria filled



* [] Alpha
* [] VEP PRs:
Copy link
Contributor

Choose a reason for hiding this comment

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

I would drop this one. If someone's interested, this is visible through git's history.

Copy link
Member

Choose a reason for hiding this comment

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

I'd move all of this PR tracking into additional context below as comment and mark it as optional.

Choose a reason for hiding this comment

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

Why? I think it is great having the tracker issue as a single source of truth for the enhancement.

Copy link
Contributor

Choose a reason for hiding this comment

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

I just don't understand which information this adds.
It links the updated VEP, and one can easily see the VEP changes through github, which is the source of truth for tracking VEP PR history. Copying & pasting PRs to over here could lead to human mistakes and duplicates a single source of truth to a second one.

I don't have a problem with what @lyarwood suggested, but I don't want to enforce yet another task on VEP owners, especially if it brings no new information. The process already carries a burden on VEP owners, so I want to keep it to the minimum necessary.

* [] VEP PRs:
* [] Code PRs:
* [] Docs PRs:
* [] Bugs:
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this one can be dropped as well?

README.md Outdated
**NOTE**
Acceptance of enhancement doesn't guarantee that the feature will land in the current or later release. The process is collaborative effort between contributor/s and Approvers. Features not landing to release branch prior to FF will be reverted based on their state (GA/Beta/Alpha, Off/On by default) that reflects how harmfull keeping the code is to the system.

## Approvers responsibility
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## Approvers responsibility
## SIGs' responsibility

README.md Outdated
3. Verify that Enhancement was implemented and doesn't need any update
4. Track any bugs
2. Weekly check-in on progress of Enhancement and its implementation
3. Coordinate sigs, reviewers and approvers in order to progress the Enhancement
Copy link
Contributor

Choose a reason for hiding this comment

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

My opinion is:
The VEP owner responsibility: coordinate between SIGs.
SIG responsibility: Prioritize VEP, decide if to track or not for the upcoming release, assign reviewers/approvers.

In other words, while each SIG has its own responsibilities, the VEP owner should be the one to do the actual coordination. As an example, if a VEP is owned by sig-compute but demands an ACK from sig-storage, the VEP owner should be joining the sig-storage meeting and ask for help.

README.md Outdated
1. Re-targeting of VEP - In case of implementation not converging, new blockers being discovered, pushback of community or withdrawal of approver the VEP needs to be re-targeted. The VEP needs to be updated with new target. The SIGs should shift the focus on tracked VEPs.
Re-targeting could be also rejection of the VEP completly in case it is not implentable.

2. Coordination - SIGs are responsible that the reviews are not lacking behind for more than week. Release team is making sure there is an active SIG representative.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd remove the 1 week deadline and keep things a bit more vague.

Suggested change
2. Coordination - SIGs are responsible that the reviews are not lacking behind for more than week. Release team is making sure there is an active SIG representative.
2. Coordination - SIGs are responsible that the reviews are not lacking behind. Release team is making sure there is an active SIG representative.

README.md Outdated
Comment on lines 56 to 57
1. SIG labels - Each SIG will have a label in order to sort what SIGs is responsible for the VEP.
2. Target labels - There will be a lable in order to target the VEP for release.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we list some examples? Such as:
/sig compute
/tracked no
/target alpha

(I hope these are correct. maybe @dhiller can keep me honest)

Copy link

Choose a reason for hiding this comment

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

The labels are all controlled via the prow label plugin.

Snippet from docs:

Labels of the following types can be manipulated: 'area/*',
'committee/*', 'kind/*', 'language/*', 'priority/*', 'sig/*',
'triage/*', and 'wg/*'.

leading to

What we need to do for custom labels like tracked/... and target/... is to create them in k/project-infra's labels.yaml and configure them to be usable in the labels plugin so that a defined group of people can use them. FYI - here's what labels kubernetes has

This would then enable comments like

/(remove-)label tracked/no
/(remove-)label target/alpha

which would then apply or remove the custom labels. If you already know which labels you need here, I'd be happy to help set up a PR. However, you should also think about the users who can apply those, so we can also create a GH team for this circle.

See here for examples:

Happy to help here if required.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks @dhiller! This all looks great!

README.md Outdated
Comment on lines 64 to 65
1. Enhancement Freeze - The deadline for this milestone is Alpha release of KubeVirt. See <TODO link to release repo>
2. Feature Freeze - This is tracked by each release <TODO link to release repo>
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe add another step before these two:

  • VEP planning - at the beginning of every release cycle, each SIG would prioritize VEPs and decide which ones are being tracked for the upcoming release.

README.md Outdated
Typically an exeption would be asked to allow contributors to continue to working on VEP/PRs/code after the EF or FF respectivly.
Exceptions can be asked before actual EF/FF.

**How to ask for expection?**
Copy link
Contributor

Choose a reason for hiding this comment

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

nit, typo:

Suggested change
**How to ask for expection?**
**How to ask for an expectation?**

2. Additional time period that is required
3. In case of exception not being granted, what is the impact? (Thing about graduation, maturity of the feature, user impact, etc.)

## Common Questions
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe add:

How to raise attention for my VEP?
Every SIG has a recurring meeting. The VEP owner is encouraged to join the meeting and introduce the VEP to the community.

What if my VEP relates to more than one SIG?
VEPs can relate to multiple SIGs, but a single SIG should always own it. VEP owners can reach out to the SIG that seems most relevant for them. The SIG will either own the VEP or suggest that another SIG would own it.

As a VEP owner, can I change implementation and only then update the VEP?
While doing so is valid, it is discouraged. If an implementation was already merged but is ruled out as part of the VEP update this might lead to reverts, and the VEP owner should be aware of this risk. It is always recommended to merge a VEP update before starting to implement.

@iholder101
Copy link
Contributor

Maybe we can add labels to the VEPs to help authors indicate which sigs they think they VEP belongs to? This will maybe also help get cross sig attention to the VEP.

I think it's already there?

@awels
Copy link
Member

awels commented Mar 13, 2025

Looks like I was doing the process wrong, I never opened an issue, just the PR. Let me fix that.

@fossedihelm fossedihelm force-pushed the 2nd-iteration branch 2 times, most recently from a053345 to 0c491c5 Compare March 21, 2025 14:06
* [] Additional Beta criteria
* [] GA (v1.7.0?)
* [] Additional GA criteria
* Alpha release target (x.y):
Copy link
Member

Choose a reason for hiding this comment

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

supernit - vX.Y.0



* [] Alpha
* [] VEP PRs:
Copy link
Member

Choose a reason for hiding this comment

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

I'd move all of this PR tracking into additional context below as comment and mark it as optional.

@@ -5,6 +5,8 @@
Items marked with (R) are required *prior to targeting to a milestone / release*.

- [ ] (R) Enhancement issue created, which links to VEP dir in [kubevirt/enhancements] (not the initial VEP PR)
- [ ] (R) Target version is explicitly mentioned and approved
Copy link
Member

Choose a reason for hiding this comment

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

Target version for what? Alpha, Beta, GA or all of them? Would it be easier to say something like Feature lifecycle phase targets documented and approved in issue?

Choose a reason for hiding this comment

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

done, thanks!

This was identified as required checklist points in order
to remove any ambiguity.

Signed-off-by: Luboslav Pivarc <[email protected]>
fossedihelm and others added 3 commits March 21, 2025 16:15
Make sure the contributor tracks following:
VEP, code, docs PRs.

Signed-off-by: Luboslav Pivarc <[email protected]>
Signed-off-by: Luboslav Pivarc <[email protected]>
@fossedihelm
Copy link

@iholder101 @jean-edouard @0xFelix @vladikr I should have handled all the comments. PTAL

Comment on lines +59 to +61
* Alpha release target (x.y):
* Beta release target (x.y):
* Stable release target (x.y):
Copy link
Contributor

Choose a reason for hiding this comment

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

This is for a target graduation. Targets are aspirations that might not happen in reality.
Do we want to add another section for the current phase?

Copy link
Member

Choose a reason for hiding this comment

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

I think the current phase should be in the issue. The VEP is targeted to a specific phase.

README.md Outdated

**Glossary**

- VEP
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- VEP
- VEP: Virtualization Enhancement Proposal

Choose a reason for hiding this comment

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

done

README.md Outdated
Comment on lines 18 to 19
- Alpha/Beta
- release team
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we remove these? Or do we want to explain their meaning?

Choose a reason for hiding this comment

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

done

README.md Outdated
@@ -1,27 +1,163 @@
# KubeVirt Enhancements Tracking and Backlog

This repository is currently Work In Progress but will eventually be used to manage KubeVirt Enhancement Proposals (VEPs), emphasizing centralized prioritization and enhanced SIG involvement and collaboration.
This repository is currently Work In Progress but will eventually be used to manage KubeVirt Enhancement Proposals (
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd avoid mentioning that this is work-in-progress.
de-facto, old design proposals are deprecated. It's true that we don't officially commit to VEPs yet, but a new user should definitely pick it over the old design proposals.

Copy link
Member

Choose a reason for hiding this comment

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

I agree

README.md Outdated
- Alpha/Beta
- release team

## Process (DRAFT 2nd iteration)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## Process (DRAFT 2nd iteration)
## Process

README.md Outdated
See the [VEP issue template](https://github.com/kubevirt/enhancements/blob/main/.github/ISSUE_TEMPLATE/vep.md),
each section should be filled.

3. **SIG Review and Collaboration**: Each VEP will have one target SIG. In case of a cross SIG feature, the most relevant
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
3. **SIG Review and Collaboration**: Each VEP will have one target SIG. In case of a cross SIG feature, the most relevant
3. **SIG Review and Collaboration**: Although each VEP can have multiple target SIGs, it needs to have a single owning SIG. In case of a cross SIG feature, the most relevant

README.md Outdated
Comment on lines 65 to 66
The responsibility of the SIGs is to make sure the VEP is implemented, not diverging and that the implementation
is not lacking behind the VEP, following this non-exhaustive list meant as checklist:
Copy link
Contributor

Choose a reason for hiding this comment

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

To emphasize that the SIG is not responsible that the VEP is implemented but is committed to help the VEP owner to do so.

Suggested change
The responsibility of the SIGs is to make sure the VEP is implemented, not diverging and that the implementation
is not lacking behind the VEP, following this non-exhaustive list meant as checklist:
The responsibility of the SIGs is to do their best to help ensure the VEP is implemented, not diverging and that the implementation
is not lacking behind the VEP, following this non-exhaustive list meant as checklist:

Comment on lines +105 to +111
## Deadlines

The particular deadlines are always changing based on the release and are published here: [kubevrirt/sig-release](https://github.com/kubevirt/sig-release).
The following deadlines are important for the VEP:

1. VEP planning - at the beginning of every release cycle, each SIG would prioritize VEPs and decide which ones are being tracked for the upcoming release.
2. Enhancement Freeze - The deadline for this milestone is Alpha release of KubeVirt. See [kubevrirt/sig-release](https://github.com/kubevirt/sig-release/releases)
3. Code Freeze - This is tracked by each release [kubevrirt/sig-release](https://github.com/kubevirt/sig-release/releases)
Copy link
Contributor

Choose a reason for hiding this comment

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

Awesome! 🎉
for the record: k8s have docs freeze and tests freeze, but I'm not sure we need those.

Choose a reason for hiding this comment

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

For sure, we don't need them currently. :)

Copy link
Contributor

@iholder101 iholder101 left a comment

Choose a reason for hiding this comment

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

<commented by mistake, can't delete it for some reason. please ignore.>

Signed-off-by: Luboslav Pivarc <[email protected]>
Co-authored-by: fossedihelm <[email protected]>
@fossedihelm
Copy link

Thanks @iholder101 addressed your comments

@vladikr
Copy link
Member

vladikr commented Apr 2, 2025

Thank @fossedihelm !
To me, it looks good already. I think we can create a section dedicated only to the VEP author, as @orelmisan pointed out, as follow up.
I would prefer to merge this, to reflect what we have agreed on already and continue improving with follow ups.

/approve

@kubevirt-bot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 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 Apr 2, 2025
@fossedihelm
Copy link

Thank @fossedihelm ! To me, it looks good already. I think we can create a section dedicated only to the VEP author, as @orelmisan pointed out, as follow up. I would prefer to merge this, to reflect what we have agreed on already and continue improving with follow ups.

Of course, I agree and I would also prefer to leave it for a follow-up.
Thanks

@iholder101
Copy link
Contributor

Thanks a lot @fossedihelm and everyone else involved. This is a great step forward!
/lgtm

Since so many people have participated in reviewing this, I'll hold this just to give others a chance to raise concerns if there are any. I think we can remove the hold within 24 hours if there are no objections.

/hold
@jean-edouard @alaypatel07 @dankenigsberg @lyarwood @orelmisan

@kubevirt-bot kubevirt-bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm Indicates that a PR is ready to be merged. labels Apr 3, 2025
@orelmisan
Copy link
Member

Are we abandoning #7?

@fossedihelm
Copy link

Are we abandoning #7?

This PR includes #7 commits, so yes!

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. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet