From Fedora Project Wiki
(→‎Scope: Add a note about fedmsgs)
 
(3 intermediate revisions by 2 users not shown)
Line 36: Line 36:
<!-- 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: bowlofeggs@fedoraproject.org
* 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 74: Line 74:
** Document the existing REST API: https://github.com/fedora-infra/bodhi/issues/1323
** Document the existing REST API: https://github.com/fedora-infra/bodhi/issues/1323
** Requirements gathering
** Requirements gathering
** Database model 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.
** 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
** Modify fedmsgs so they declare which content type is being references: https://github.com/fedora-infra/bodhi/issues/1326
** Python bindings modifications
** Python bindings modifications: https://github.com/fedora-infra/bodhi/issues/1327
** CLI modifications
** CLI modifications: https://github.com/fedora-infra/bodhi/issues/1328
** Documentation
** Documentation
** Web UI changes
** Web UI changes: https://github.com/fedora-infra/bodhi/issues/1329
** Masher modifications to the push process
** 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:
Line 168: Line 169:
-->
-->


[[Category:ChangeAnnounced]]
[[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

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

  • 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)

Release Notes