From 9f2ae7d7ace251d5aa964994dcc57a2ed6076be1 Mon Sep 17 00:00:00 2001 From: Adam Saleh Date: Wed, 5 May 2021 10:58:47 +0200 Subject: [PATCH] Nicer PDC status. --- docs/pdc/endpoints.rst | 219 +++++++++++++++++++++++++++++++++++++++++ docs/pdc/index.rst | 18 +++- docs/pdc/users.rst | 45 ++++++--- 3 files changed, 270 insertions(+), 12 deletions(-) create mode 100644 docs/pdc/endpoints.rst diff --git a/docs/pdc/endpoints.rst b/docs/pdc/endpoints.rst new file mode 100644 index 0000000..1c9ece7 --- /dev/null +++ b/docs/pdc/endpoints.rst @@ -0,0 +1,219 @@ +Endpoints +========= + +Based on the users we identified, we have identified the endpoints our scripts and services are actually using. + +/rest_api/v1/global-components/?name={{name}} +----------------------- + +:: + + { + "dist_git_path": null, # dont use these + "dist_git_web_url": "https://src.fedoraproject.org/cgit/rpms/gnupg2.git", # generated from name + "id": 20, + "labels": [], # we don't use these + "name": "gnupg2", + "upstream": null # we don't use this + } + +/rest_api/v1/component-branches/ +-------------------- + +:: + + { + "active": true, # I don't know where do we store this? + "critical_path": false, + "global_component": "0ad", + "id": 501964, + "name": "f34", + "slas": [ + { + "eol": "2022-03-08", + "id": 1003101, + "sla": "security_fixes" + }, + { + "eol": "2022-03-08", + "id": 1003102, + "sla": "bug_fixes" + } + ], + "type": "rpm" # | rpm | container | zip | iso | composite | module | flatpak + +} + +rest_api/v1/component-branch-slas/ +---------------------- + +Couldn't find the shape without authenticating + + +rest_api/v1/compose-images/ +--------------- + + stores `composeinfo.json` and `image-manifest.json` + gives ability to retrieve list of images in specified compose + +:: + +{ + "header": { + "type": "productmd.images", + "version": "1.2" + }, + "payload": { + "compose": { + "date": "20160416", + "id": "Fedora-Rawhide-20160416.n.0", + "respin": 0, + "type": "nightly" + }, + "images": { + "Workstation": { + "x86_64": [ + { + "arch": "x86_64", + "bootable": true, + "checksums": { + "sha256": "a7cbd69cc5c96dbf0e0f39d29b09c27844af677a602f512672527a5f7a91000c" + }, + "disc_count": 1, + "disc_number": 1, + "format": "iso", + "implant_md5": "ea67ef79f3374d91735008148de4146e", + "mtime": 1460789082, + "path": "Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-Rawhide-20160416.n.0.iso", + "size": 426770432, + "subvariant": "Workstation", + "type": "boot", + "volume_id": "Fedora-WS-dvd-x86_64-rawh" + } + ] + } + } + } +} + +rest_api/v1/compose-images/ +----------------------- + +:: + +{ + "active": false, + "allow_buildroot_push": false, + "allowed_debuginfo_services": [], + "allowed_push_targets": [], + "base_product": null, + "bugzilla": null, + "compose_set": [], + "dist_git": { + "branch": "f25" + }, + "integrated_with": null, + "name": "Fedora Updates", + "product_version": "fedora-25", + "release_id": "fedora-25-updates", + "release_type": "updates", + "short": "fedora", + "sigkey": null, + "version": "25" + }, + +rest_api/v1/rpms +--------------- + +:: + +{ + "count": 12473109, + "next": "https://pdc.fedoraproject.org/rest_api/v1/rpms/?page=2", + "previous": null, + "results": [ +{ + "arch": "x86_64", + "built_for_release": null, + "dependencies": { + "conflicts": [], + "obsoletes": [], + "provides": [], + "recommends": [], + "requires": [], + "suggests": [] + }, + "epoch": 0, + "filename": "readline-6.3-7.fc24.x86_64.rpm", + "id": 20, + "linked_composes": [ + "Fedora-24-20160202.n.0", + "Fedora-24-20160203.n.0", + "Fedora-24-20160203.n.1", + "Fedora-24-20160204.n.0" + ], + "linked_releases": [], + "name": "readline", + "release": "7.fc24", + "srpm_commit_branch": null, + "srpm_commit_hash": null, + "srpm_name": "readline", + "srpm_nevra": "readline-0:6.3-7.fc24.src", + "version": "6.3" + } ] } + + + +rest_api/v1/releases +-------------------- + +:: + + { + "active": false, + "allow_buildroot_push": false, + "allowed_debuginfo_services": [], + "allowed_push_targets": [], + "base_product": null, + "bugzilla": null, + "compose_set": [], + "dist_git": null, + "integrated_with": null, + "name": "Fedora Updates", + "product_version": "fedora-26", + "release_id": "fedora-26-updates", + "release_type": "updates", + "short": "fedora", + "sigkey": null, + "version": "26" + } + +product-versions +---------------- + +:: + { + "active": true, + "allowed_push_targets": [], + "name": "fedora 34", + "product": "fedora", + "product_version_id": "fedora-34", + "releases": [ + "fedora-34" + ], + "short": "fedora", + "version": "34" + }, + { + "active": true, + "allowed_push_targets": [], + "name": "fedora rawhide", + "product": "fedora", + "product_version_id": "fedora-rawhide", + "releases": [ + "fedora-Rawhide", + "fedora-modular-Rawhide" + ], + "short": "fedora", + "version": "rawhide" + } \ No newline at end of file diff --git a/docs/pdc/index.rst b/docs/pdc/index.rst index 18c0a2a..3c584dd 100644 --- a/docs/pdc/index.rst +++ b/docs/pdc/index.rst @@ -11,6 +11,15 @@ It uses https://github.com/product-definition-center/product-definition-center/t The software is orphaned by it's original maintainers with version requiring EOL version of python and EOL version of Django Framework, this means we need to upgrade it or replace it. +Abstract take-away +------------------ + +Current approach we agree on: +- there is no silver bullet, it will require development effort +- responsibility for retirement and sla's of packages could be moved to pagure-dist_git +- responsibility for critical-path and releases can be moved to Bodhi +- nightly compose metadata requires new application, that would be much simpler than current PDC + Previous work ------------- @@ -92,4 +101,11 @@ it turned out we would need to maintain a separate service that would serve as a - https://postgrest.org/en/stable/auth.html - https://samkhawase.com/blog/postgrest/postgrest_auth0_service/ -This speaks against using Postgrest. \ No newline at end of file +This speaks against using Postgrest. + +.. toctree:: + :maxdepth: 1 + + users + endpoints + diff --git a/docs/pdc/users.rst b/docs/pdc/users.rst index 544f01a..7b9c77a 100644 --- a/docs/pdc/users.rst +++ b/docs/pdc/users.rst @@ -101,19 +101,42 @@ fedscm_admin/pdc.py - new_branch - get_sla - new_sla_to_branch - - component_type_to_singular -To verify ---------- +pagure +------ + - /rest_api/v1/component-branches/ + - to get retired packages -- pagure -- modulebuildservice ? - - based on ansible roles/mbs/common/files/fedora.json.production -- mirrormanager scripts +modulebuildservice +------------------ + - /rest_api/v1/component-branches/ + - to get end-of-life packages + - based on ansible roles/mbs/common/files/fedora.json.productbion + +mirrormanager scripts +--------------------- + - /rest_api/v1/releases/ + - checks for currently active releases - roles/mirrormanager/backend/templates/handle_propagation.sh - roles/mirrormanager/crawler/files/check_propagation.sh -- ODCS has related stuff -* new hotness has related stuff -* fedora messaging has pdc-related configuration -* osbs client has configuration +ODCS +---- + +no longer uses pdc + +new hotness +----------- + - /rest_api/v1/component-branches/ + - to get retired packages + + +fedora messaging +---------------- +- no integrations found + +osbs client +----------- +- no integrations found + +