kernel-sru-workflow
Size: 2335
Comment:
|
Size: 9647
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from Kernel/kernel-sru-workflow.html | |
Line 3: | Line 4: |
=== Kernel SRU Workflow === | == Kernel SRU Workflow (proposed) == |
Line 9: | Line 10: |
We are taking advantage of existing Launchpad capabilities, though using them in ways they were not intended. |
We are taking advantage of existing Launchpad capabilities. |
Line 18: | Line 18: |
it that represent the different stages of the kernel cadence. The different series will be assigned to the team/person responsible for that stage. The assignee will set the status of the "series" they are working. |
it that represent the different stages of the kernel cadence. A "series" represents a task to be accomplished by a team/person. The different tasks will be assigned to the team/person responsible for that stage. The assignee will set the status of the tasks they are working. |
Line 22: | Line 23: |
||'''Series''' || '''Owner''' || '''Description''' ||Upload-to-ppa || Kernel Team || The kernel team has uploaded the source package for the release to the kernel team's ppa. ||Promote-to-proposed || Archive Admin Team || The package in the kernel team's ppa is copied to the '''proposed''' pocket in the archive. ||Verification-testing || Kernel Team || The bugs related to the release are being verified as having been fixed by the appropriate community member. ||Certification-testing || HW Certification Team || The kernel in '''proposed''' is tested via the certification tests. ||Regression-testing || QA Team || The kernel in '''proposed''' is tested for regressions. ||Promote-to-updates || Archive Admin Team || The package is copied from the '''proposed''' pocket to the '''updates''' pocket in the archive. ||Promote-to-security || Archive Admin Team || The package is copied from the '''proposed''' pocket to the '''security''' pocket in the archive. |
An automated script will run periodicaly to monitor the current state of the different tasks and change status when necessary. This script will be referred to below as the '''Workflow Mgr.''' The kernel team will develop this bot. |
Line 31: | Line 27: |
||'''Status''' || '''Description''' ||In Progress || The assigned team/person has begun the work associated with the given task. ||Invalid || The process state is not appropriate for the given kernel release. ||Fix Released || The assigned team/person has finished the task. |
=== An example: === 1. The kernel team creates a tracking bug, all tasks will be set to their initial state (status: '''Incomplete''') and be assigned to the appropriate team. 1. The kernel team sets the '''Create-upload-and-build-source-package''' task to the in-progress state (status: '''In Progress''') 1. The kernel team builds and uploads the source package to the kernel team ppa. Once the source package successfully builds and is ready to be copied to proposed the task state is changed to completed (status: '''Fix Released'''). 1. '''Workflow Mgr.''' detects that the state of the '''Create-upload-and-build-source-package''' task has completed and changes the '''Promote-to-proposed''' task to it's ready-to-start state (status: '''Confirmed'''). 1. An archive admin sets the '''Promote-to-proposed''' task to in-progress (status: '''In Progress''') and copies the package to the '''proposed''' pocket in the archive. 1. Once the package has been copied an archive admin sets the '''Promote-to-proposed''' task to completed (status: '''Fix Released'''). 1. '''Workflow Mgr.''' detects that the state of the '''Promote-to-proposed''' task is now completed and changes the state of the '''Verification-testing''' task to the in-progress state (status: '''In Progress'''). 1. Once all the bugs, not fixed by stable upstream releases, listed in the changlog have been marked '''verification-done''', the '''Workflow Mgr.''' changes the state of the '''Certification-testing''' and '''Regression-testing''' tasks to the ready-to-start state (status: '''Confirmed'''). 1. When the HW Certification team detects that the '''Certification-testing''' task is in the ready-to-start state (status: '''Confirmed''') and they start testing, they change the tasks state to in-progress (status: '''In Progress'''). 1. When the QA team detects that the '''Regression-testing''' task is in the ready-to-start state (status: '''Confirmed''') and they start testing, they change the tasks state to in-progress (status: '''In Progress'''). 1. Once certification testing completes, the HW certification team changes the state of the '''Certification-testing''' task to completed (status: '''Fix Released'''). If the testing was successfull the certification team adds a '''certification-testing-passed''' tag otherwise they add a '''certification-testing-failed''' tag. 1. Once regression testing completes, the QA test changes the state of the '''Regression-testing''' task to completed (status:'''Fix Released'''). If the testing was successfull the QA team adds a '''qa-testing-passed''' tag, otherwise they add a '''qa-testing-failed''' tag. 1. When both the '''Certification-testing''' and '''Regression-testing''' tasks have been set to completed states (status: '''Fix Released''') and both the '''certification-testing-passed''' and '''qa-testing-passed''' tags have been added by the appropriate team, the '''Workflow Mgr.''' changes the state of the '''Promote-to-updates''' task to the ready-to-start state (status:'''Confirmed'''). 1. An archive admin copies the package from '''proposed''' to the '''updates''' pocket in the archive and sets the '''Promote-to-updates''' task to completed (status: '''Fix Released'''). 1. If there were CVEs and if the '''Promote-to-security''' task is set to ready-to-start (status: '''Confirmed'''), the security team takes care of any tasks they deem necessary prior to having an archive admin copy the release to the '''security''' pocket. 1. Once the '''Promote-to-security''' task is set to completed (status: '''Fix Released''') the security team copies it to the '''security''' pocket. '''Note:''' Some tasks can move from '''Confirmed''' straight to '''Fix Released''' depending on the amount of time/effort involved in the task. === An example: === 1. Tracking bug created, all tasks will be status '''Incomplete''' and be assigned to the appropriate team. 1. '''Workflow Mgr.''' changes the state of '''Upload-to-ppa''' to '''Confirmed'''. 1. Kernel team sets the '''Upload-to-ppa''' task to '''In progress''' and uploads the source package. 1. The source package builds successfully and the kernel team sets the '''Upload-to-ppa''' task to '''Fix Released''' 1. '''Workflow Mgr.''' changes the state of '''Promote-to-proposed''' to '''Confirmed'''. 1. An archive admin sets the '''Promote-to-proposed''' task to '''In Progress''' and copies the package to the '''proposed''' pocket in the archive. 1. Once the package has been copied an archive admin sets the '''Promote-to-proposed''' task to '''Fix Released''' 1. '''Workflow Mgr.''' changes the state of '''Verification-testing''' to '''Confirmed'''. 1. Once all the bugs, not fixed by stable upstream releases, listed in the changled have been marked '''verification-done''' the '''Workflow Mgr.''' changes the state of '''Certification-testing''' and '''Regression-testing''' to '''Confirmed''' 1. The HW certification team changes the state of '''Certification-testing''' to '''In Progress''' and begins certification testing. 1. The QA test changes the state of '''Regression-testing''' to '''In Progress''' and begins regression testing. 1. Once certification testing completes, the HW certification team changes the state of '''Certification-testing''' to '''Fix Released'''. If the testing was successfull the certification team adds a '''certification-testing-passed''' tag otherwise they add a '''certification-testing-failed''' tag. 1. Once regression testing completes, the QA team changes the state of '''Regression-testing''' to '''Fix Released'''. If the testing was successfull the QA team adds a '''qa-testing-passed''' tag, otherwise they add '''qa-testing-failed''' tag. 1. When both '''Certification-testing''' and '''Regression-testing''' have been set to '''Fix Released''' the '''Workflow Mgr.''' changes the state of '''Promote-to-updates''' to '''Confirmed'''. 1. If there were CVEs related to the release, the '''Workflow Mgr.''' changes the state of '''Promote-to-security''' to '''Confirmed'''. 1. An archive admin copies the package from '''proposed''' to the '''updates''' pocket in the archive and sets the '''Promote-to-updates''' task as '''Fix Released'''. 1. If there were CVEs and if the '''Promote-to-security''' task is set to '''Confirmed''', the security team takes care of any tasks they deem necessary prior to having an archive admin copy the release to the '''security''' pocket. '''Note:''' Some tasks can move from '''Confirmed''' straight to '''Fix Released''' depending on the amount of time/effort involved in the task. === Series === ||'''Series''' || '''Owner''' || '''Description''' || ||Upload-to-ppa || Kernel Team || The kernel team has uploaded the source package for the release to the kernel team's ppa. || ||Promote-to-proposed || Archive Admin Team || The package in the kernel team's ppa is copied to the '''proposed''' pocket in the archive. || ||Verification-testing || Kernel Team || The bugs related to the release are being verified as having been fixed by the appropriate community member. || ||Certification-testing || HW Certification Team || The kernel in '''proposed''' is tested via the certification tests. || ||Regression-testing || QA Team || The kernel in '''proposed''' is tested for regressions. || ||Promote-to-updates || Archive Admin Team || The package is copied from the '''proposed''' pocket to the '''updates''' pocket in the archive. || ||Promote-to-security || Security Team || The package is copied from the '''proposed''' pocket to the '''security''' pocket in the archive. || === Status === ||'''Status''' || '''Description''' || ||Incomplete || The initial state of the task. This is not ready for the assigned team/person to begin working on that task. || ||Confirmed || The task is ready for the asigned team/person to begin working it.|| ||In Progress || The assigned team/person has begun the work associated with the given task. || ||Invalid || The process state is not appropriate for the given kernel release. || ||Fix Released || The assigned team/person has finished the task. || |
Kernel SRU Workflow (proposed)
The kernel release tracking bug is going to be changed to facilitate better communication between the responsible parties and clearer handoffs as the release progresses.
We are taking advantage of existing Launchpad capabilities.
When a kernel release tracking bug is created, it is created against the relevant kernel source package and nominated for the related Ubuntu series. The new process will target the bug against an additional project, the "Kernel SRU Workflow" project and nominate it for all the series that are defined for that project.
The "Kernel SRU Workflow" project has a number of custom "series" created for it that represent the different stages of the kernel cadence. A "series" represents a task to be accomplished by a team/person. The different tasks will be assigned to the team/person responsible for that stage. The assignee will set the status of the tasks they are working.
An automated script will run periodicaly to monitor the current state of the different tasks and change status when necessary. This script will be referred to below as the Workflow Mgr. The kernel team will develop this bot.
An example:
The kernel team creates a tracking bug, all tasks will be set to their initial state (status: Incomplete) and be assigned to the appropriate team.
The kernel team sets the Create-upload-and-build-source-package task to the in-progress state (status: In Progress)
The kernel team builds and uploads the source package to the kernel team ppa. Once the source package successfully builds and is ready to be copied to proposed the task state is changed to completed (status: Fix Released).
Workflow Mgr. detects that the state of the Create-upload-and-build-source-package task has completed and changes the Promote-to-proposed task to it's ready-to-start state (status: Confirmed).
An archive admin sets the Promote-to-proposed task to in-progress (status: In Progress) and copies the package to the proposed pocket in the archive.
Once the package has been copied an archive admin sets the Promote-to-proposed task to completed (status: Fix Released).
Workflow Mgr. detects that the state of the Promote-to-proposed task is now completed and changes the state of the Verification-testing task to the in-progress state (status: In Progress).
Once all the bugs, not fixed by stable upstream releases, listed in the changlog have been marked verification-done, the Workflow Mgr. changes the state of the Certification-testing and Regression-testing tasks to the ready-to-start state (status: Confirmed).
When the HW Certification team detects that the Certification-testing task is in the ready-to-start state (status: Confirmed) and they start testing, they change the tasks state to in-progress (status: In Progress).
When the QA team detects that the Regression-testing task is in the ready-to-start state (status: Confirmed) and they start testing, they change the tasks state to in-progress (status: In Progress).
Once certification testing completes, the HW certification team changes the state of the Certification-testing task to completed (status: Fix Released). If the testing was successfull the certification team adds a certification-testing-passed tag otherwise they add a certification-testing-failed tag.
Once regression testing completes, the QA test changes the state of the Regression-testing task to completed (status:Fix Released). If the testing was successfull the QA team adds a qa-testing-passed tag, otherwise they add a qa-testing-failed tag.
When both the Certification-testing and Regression-testing tasks have been set to completed states (status: Fix Released) and both the certification-testing-passed and qa-testing-passed tags have been added by the appropriate team, the Workflow Mgr. changes the state of the Promote-to-updates task to the ready-to-start state (status:Confirmed).
An archive admin copies the package from proposed to the updates pocket in the archive and sets the Promote-to-updates task to completed (status: Fix Released).
If there were CVEs and if the Promote-to-security task is set to ready-to-start (status: Confirmed), the security team takes care of any tasks they deem necessary prior to having an archive admin copy the release to the security pocket.
Once the Promote-to-security task is set to completed (status: Fix Released) the security team copies it to the security pocket.
Note: Some tasks can move from Confirmed straight to Fix Released depending on the amount of time/effort involved in the task.
An example:
Tracking bug created, all tasks will be status Incomplete and be assigned to the appropriate team.
Workflow Mgr. changes the state of Upload-to-ppa to Confirmed.
Kernel team sets the Upload-to-ppa task to In progress and uploads the source package.
The source package builds successfully and the kernel team sets the Upload-to-ppa task to Fix Released
Workflow Mgr. changes the state of Promote-to-proposed to Confirmed.
An archive admin sets the Promote-to-proposed task to In Progress and copies the package to the proposed pocket in the archive.
Once the package has been copied an archive admin sets the Promote-to-proposed task to Fix Released
Workflow Mgr. changes the state of Verification-testing to Confirmed.
Once all the bugs, not fixed by stable upstream releases, listed in the changled have been marked verification-done the Workflow Mgr. changes the state of Certification-testing and Regression-testing to Confirmed
The HW certification team changes the state of Certification-testing to In Progress and begins certification testing.
The QA test changes the state of Regression-testing to In Progress and begins regression testing.
Once certification testing completes, the HW certification team changes the state of Certification-testing to Fix Released. If the testing was successfull the certification team adds a certification-testing-passed tag otherwise they add a certification-testing-failed tag.
Once regression testing completes, the QA team changes the state of Regression-testing to Fix Released. If the testing was successfull the QA team adds a qa-testing-passed tag, otherwise they add qa-testing-failed tag.
When both Certification-testing and Regression-testing have been set to Fix Released the Workflow Mgr. changes the state of Promote-to-updates to Confirmed.
If there were CVEs related to the release, the Workflow Mgr. changes the state of Promote-to-security to Confirmed.
An archive admin copies the package from proposed to the updates pocket in the archive and sets the Promote-to-updates task as Fix Released.
If there were CVEs and if the Promote-to-security task is set to Confirmed, the security team takes care of any tasks they deem necessary prior to having an archive admin copy the release to the security pocket.
Note: Some tasks can move from Confirmed straight to Fix Released depending on the amount of time/effort involved in the task.
Series
Series |
Owner |
Description |
Upload-to-ppa |
Kernel Team |
The kernel team has uploaded the source package for the release to the kernel team's ppa. |
Promote-to-proposed |
Archive Admin Team |
The package in the kernel team's ppa is copied to the proposed pocket in the archive. |
Verification-testing |
Kernel Team |
The bugs related to the release are being verified as having been fixed by the appropriate community member. |
Certification-testing |
HW Certification Team |
The kernel in proposed is tested via the certification tests. |
Regression-testing |
QA Team |
The kernel in proposed is tested for regressions. |
Promote-to-updates |
Archive Admin Team |
The package is copied from the proposed pocket to the updates pocket in the archive. |
Promote-to-security |
Security Team |
The package is copied from the proposed pocket to the security pocket in the archive. |
Status
Status |
Description |
Incomplete |
The initial state of the task. This is not ready for the assigned team/person to begin working on that task. |
Confirmed |
The task is ready for the asigned team/person to begin working it. |
In Progress |
The assigned team/person has begun the work associated with the given task. |
Invalid |
The process state is not appropriate for the given kernel release. |
Fix Released |
The assigned team/person has finished the task. |
Kernel/kernel-sru-workflow (last edited 2023-12-06 20:01:36 by setuid)