m (→Owner) |
|||
(18 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<!-- Self Contained or System Wide Change Proposal? | <!-- Self Contained or System Wide Change Proposal? | ||
Use this guide to determine to which category your proposed change belongs to. | Use this guide to determine to which category your proposed change belongs to. | ||
Line 35: | Line 33: | ||
This should link to your home wiki page so we know who you are. | This should link to your home wiki page so we know who you are. | ||
--> | --> | ||
* Name: [[User: | * Name: [[User:Bowlofeggs| Randy Barlow]] | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | <!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | ||
* Email: | * Email: bowlofeggs@fedoraproject.org | ||
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> --> | * Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->[mailto:sclark@fedoraproject.org Simon Clark] ([[User:sclark|sclark]]) | ||
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | <!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | ||
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | * FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | ||
Line 48: | Line 46: | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/ | * Targeted release: [[Releases/27 | Fedora 27 ]] | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | <!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | ||
Line 58: | Line 56: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1352587 #1352587] | ||
== Detailed Description == | == Detailed Description == | ||
Line 74: | Line 72: | ||
* Proposal owners: | * Proposal owners: | ||
<!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
** Database model changes | ** Document the existing REST API: https://github.com/fedora-infra/bodhi/issues/1323 | ||
** | ** Requirements gathering | ||
** Web UI changes | ** Database model changes: https://github.com/fedora-infra/bodhi/issues/1324 | ||
** | ** Modify the REST API so that the content type can be specified. It would be ideal to do this backwards-compatible if possible, but we can also release Bodhi 3.0.0 if we need to make an incompatible change: https://github.com/fedora-infra/bodhi/issues/1325 | ||
** Modify fedmsgs so they declare which content type is being references: https://github.com/fedora-infra/bodhi/issues/1326 | |||
** Python bindings modifications: https://github.com/fedora-infra/bodhi/issues/1327 | |||
** CLI modifications: https://github.com/fedora-infra/bodhi/issues/1328 | |||
** Documentation | |||
** Web UI changes: https://github.com/fedora-infra/bodhi/issues/1329 | |||
** Masher modifications to the push process: https://github.com/fedora-infra/bodhi/issues/1330 | |||
** Unit tests | ** Unit tests | ||
** Upstream tracker issue: https://github.com/fedora-infra/bodhi/issues/653 | ** Upstream tracker issue: https://github.com/fedora-infra/bodhi/issues/653 | ||
** Upstream milestone for this effort: https://github.com/fedora-infra/bodhi/milestone/4 | |||
* Other developers: | * Other developers: | ||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
** QA: Taskotron will need handle kicking off tests for non-RPM updates | ** QA: Taskotron will need handle kicking off tests for non-RPM updates | ||
Line 90: | Line 94: | ||
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuid required? If a rel-eng ticket exists, add a link here. | <!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuid required? If a rel-eng ticket exists, add a link here. | ||
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.--> | Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.--> | ||
** We will need to ensure that the current signing process will work with non-RPM content | ** We will need to ensure that the current signing process will work with non-RPM content | ||
** Ensure that the new content has a proper home in the directory structure. | ** Ensure that the new content has a proper home in the directory structure. | ||
** [https://pagure.io/releng/issue/6660 Releng ticket: #6660] | |||
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings --> | <!-- Please check the list of Fedora release deliverables and list all the differences the feature brings --> | ||
Line 148: | Line 151: | ||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
** We can simply switch back to the old compose processes for these components instead of using Bodhi. | ** We can simply switch back to the old compose processes for these components instead of using Bodhi. | ||
* Contingency deadline: | * Contingency deadline: F26 Beta <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Line 166: | Line 169: | ||
--> | --> | ||
[[Category: | [[Category:ChangeAcceptedF27]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> |
Latest revision as of 16:20, 27 October 2017
Bodhi Non-RPM Artifacts
Summary
Bodhi, the Fedora Updates System, should be able to process more than just RPMs.
Owner
- Name: Randy Barlow
- Email: bowlofeggs@fedoraproject.org
- Release notes owner: Simon Clark (sclark)
Current status
Detailed Description
As Fedora starts to deliver more than just RPMs and ISOs, we need a way to handle delivering updates to these artifacts. Bodhi currently handles this workflow for RPMs only, but we want to start using it for other content, such as Docker containers, Flatpak apps, OSTrees, etc. If it can be tagged in Koji, it should be accepted by Bodhi.
Benefit to Fedora
By using Bodhi for the updates process for all artifacts, we are able to better leverage community testers, enforce gating based on automated test results, handle bugzilla interactions, send email announcements, etc.
Scope
- Proposal owners:
- Document the existing REST API: https://github.com/fedora-infra/bodhi/issues/1323
- Requirements gathering
- Database model changes: https://github.com/fedora-infra/bodhi/issues/1324
- Modify the REST API so that the content type can be specified. It would be ideal to do this backwards-compatible if possible, but we can also release Bodhi 3.0.0 if we need to make an incompatible change: https://github.com/fedora-infra/bodhi/issues/1325
- Modify fedmsgs so they declare which content type is being references: https://github.com/fedora-infra/bodhi/issues/1326
- Python bindings modifications: https://github.com/fedora-infra/bodhi/issues/1327
- CLI modifications: https://github.com/fedora-infra/bodhi/issues/1328
- Documentation
- Web UI changes: https://github.com/fedora-infra/bodhi/issues/1329
- Masher modifications to the push process: https://github.com/fedora-infra/bodhi/issues/1330
- Unit tests
- Upstream tracker issue: https://github.com/fedora-infra/bodhi/issues/653
- Upstream milestone for this effort: https://github.com/fedora-infra/bodhi/milestone/4
- Other developers:
- QA: Taskotron will need handle kicking off tests for non-RPM updates
- QA: Client-side updates-testing tools like fedora-easy-karma could optionally be updated to detect these new artifacts
- Release engineering:
- We will need to ensure that the current signing process will work with non-RPM content
- Ensure that the new content has a proper home in the directory structure.
- Releng ticket: #6660
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
- Once a non-RPM artifact is built and tagged in Koji, the maintainer should be able to submit it to Bodhi.
- The maintainer should be able to set the karma thresholds and require gating based on any Taskotron or Wiki-based test.
- Testers should be able to submit feedback.
- Release engineering should be able to "push" the content out in the standard updates process.
User Experience
- Users of these various components will notice more frequent updates, ideally with more stability and less breakage.
Dependencies
- This plan relies on these artifacts having tags in Koji.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- We can simply switch back to the old compose processes for these components instead of using Bodhi.
- Contingency deadline: F26 Beta
- Blocks release? No
- Blocks product? No
Documentation
N/A (not a System Wide Change)