fix rst / sphinx warnings

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
Ryan Lercho 2023-12-05 07:58:50 +10:00
parent 978aa2d1b6
commit 206c08d237
2 changed files with 69 additions and 69 deletions

View file

@ -1,94 +1,94 @@
.. _releng:
Pagure Dist Git Interactions With Release Engineering Scripts
====
=============================================================
Release Engineering Scripts (as the name suggests) contains scripts necessary
for the Fedora Linux release processes.
Possible Interactions
----
---------------------
Documentation
^^^^
^^^^^^^^^^^^^
The repository houses the following set of documentation that details on the
interaction that the Release Engineering team has with the **Pagure Dist Git**
platform.
Remove dist-git branches
""""
""""""""""""""""""""""""
The documentation details on the process that is required to remove branches
from the source control management repositories when they are requested for by
the maintainers. The said documentation can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_remote_dist_git_branches.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_remote_dist_git_branches.rst>`__.
Mass branching
""""
""""""""""""""
The documentation details on the process of branching the pending release away
from ``devel/`` at the alpha freeze and how many elements (including
**Pagure Dist Git**) are involved in making it happen. The said documentation
can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_mass_branching.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_mass_branching.rst>`__.
Fedora Layered Image Build System
""""
"""""""""""""""""""""""""""""""""
The documentation describes how the Fedora Layered Image Build System works and
how many elements (including **Pagure Dist Git**) are involved in making it
happen. The said documentation can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/layered_image_build_service.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/layered_image_build_service.rst>`__.
Adding a New Release Engineer
""""
"""""""""""""""""""""""""""""
The documentation elucidates about the onboarding process for a new release
engineer and how they must be provided access to various elements (including
**Pagure Dist Git**) to be able to fulfill their purposes. The said
documentation can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_adding_new_release_engineer.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_adding_new_release_engineer.rst>`__.
Mass Rebuild of Modules
""""
"""""""""""""""""""""""
The documentation explains about how periodical mass rebuilding of modules are
performed in rawhide and how many elements (including **Pagure Dist Git**) are
involved in the said process. The said documentation can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_mass_rebuild_modules.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_mass_rebuild_modules.rst>`__.
Unretiring a Package Branch
""""
"""""""""""""""""""""""""""
The documentation elaborates about how certain *retired packages* can be
brought to an *unretired state* and how many elements (including
**Pagure Dist Git**) are involved in the said process. The said documentation
can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_unretire.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_unretire.rst>`__.
Update Critical Path
""""
""""""""""""""""""""
The documentation explicates how certain applications can be added, updated or
removed from the Fedora Linux release's critical path and how many elements
(including **Pagure Dist Git**) are involved in making it happen. The said
documentation can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_update_critpath.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/sop_update_critpath.rst>`__.
Troubleshooting
""""
"""""""""""""""
The documentation demonstrates the behaviour of many elements (including
**Pagure Dist Git**) can be diagnosed and corrected in case those do not work
how they are supposed to. The said documentation can be found
`here <https://pagure.io/releng/blob/main/f/docs/source/troubleshooting.rst>`_.
`here <https://pagure.io/releng/blob/main/f/docs/source/troubleshooting.rst>`__.
Scripts
^^^^
^^^^^^^
``retire_packagers.py``
""""
"""""""""""""""""""""""
This script helps retiring a packager by orphaning all the packages that the
said packager is the main admin of, removing the access to the source control
@ -97,11 +97,11 @@ management repository for the said packager and resetting their watch status.
The Pagure Dist Git API is used here and the base URL of the production
deployment is mentioned of in the variable ``dist_git_base``. The said script
can be found
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/retire_packagers.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/retire_packagers.py>`__.
``modulepkg.py``
""""
""""""""""""""""
This script helps track modules that contain a specific package optionally
limited to its branch involving various systems like
@ -111,10 +111,10 @@ limited to its branch involving various systems like
The **Pagure Dist Git** API is used here and the base URL for ``/modules/`` of the
production deployment is mentioned of in the variable ``MODULES_SRC_URL``. The
said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/branching/modulepkg.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/branching/modulepkg.py>`__.
``give-package.py``
""""
"""""""""""""""""""
This script helps transfer a package in **Pagure Dist Git** from one user to
another or to orphan the said package by transferring the package to the
@ -123,10 +123,10 @@ another or to orphan the said package by transferring the package to the
The **Pagure Dist Git** API is used here and the base URL for the REST API of
the production deployment is mentioned of in the variable ``PAGURE_URL``. The
said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/give-package.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/give-package.py>`__.
``utilities.py``
""""
""""""""""""""""
This script helps manipulate **Pagure Dist Git**. It can retry creation of a
session with the **Pagure Dist Git** API and transferring packages from one
@ -135,10 +135,10 @@ user to another by using one of the helper scripts mentioned above.
The **Pagure Dist Git** API is used here and the base URL for the REST API of
the production deployment is mentioned of in the variable ``PAGURE_URL``. The
said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/utilities.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/utilities.py>`__.
``sig_policy.py``
""""
"""""""""""""""""
This script helps to enact the FESCo SIG policy. More about the FESCo SIG
policy can be found in
@ -147,10 +147,10 @@ policy can be found in
The **Pagure Dist Git** API is used here and the base URL for the data elements
of the production deployment is mentioned of in the variable
``PAGURE_DIST_GIT_DATA_URL``. The said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/fesco/sig-policy/sig_policy.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/fesco/sig-policy/sig_policy.py>`__.
``find_unblocked_orphans.py``
""""
"""""""""""""""""""""""""""""
This script helps discover orphaned packages in Pagure that are unblocked in
Koji adnd to show what assets depend on those orphans. This script works across
@ -159,10 +159,10 @@ various releases including EPEL and Fedora Linux repositories.
While a direct affiliation with **Pagure Dist Git** could not be drawn, the
object ``cache`` depends of a ``dogpile`` cache database named
``dist-git-orphans-cache.dbm``. The said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/find_unblocked_orphans.py>`__.
``insert_sla.py``
""""
"""""""""""""""""
This script helps choosing SLAs from a set specified by the Release Engineering
on the branches available on **Pagure Dist Git** to avoid having arbitrary
@ -172,10 +172,10 @@ EOLs by working with the
While a direct affiliation with **Pagure Dist Git** could not be drawn, the
changes made as a consequence of the execution of this script can lead to
changes on **Pagure Dist Git**. The said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/pdc/insert-sla.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/pdc/insert-sla.py>`__.
``check-retired-branches-pdc.py``
""""
"""""""""""""""""""""""""""""""""
This script helps collect all the packages from the **Pagure Dist Git** to
check if they are retired and queries
@ -185,10 +185,10 @@ are not listed as active there.
The **Pagure Dist Git** API is used here and the base URL of the production
deployment is mentioned of in the variable ``dist_git_base``. The said script
can be found
`here <https://pagure.io/releng/blob/main/f/scripts/check-retired-branches-pdc.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/check-retired-branches-pdc.py>`__.
``orphan-listed-packages.py``
""""
"""""""""""""""""""""""""""""
This script helps orphaning listed packages in bulk when they fail to install
or fail to build without being addressed for some time. This is a better
@ -197,10 +197,10 @@ solution than to perform the process once per package using the scripts.
The **Pagure Dist Git** API is used here and the base URL of the production
deployment is mentioned of in the variable ``BASE_URL``. The said script
can be found
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/orphan-listed-packages.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/orphan-listed-packages.py>`__.
``check-unretirement.py``
""""
"""""""""""""""""""""""""
This script helps finding and listing the contributors of a Fedora Src Package
and check their SLAs from
@ -211,10 +211,10 @@ The **Pagure Dist Git** API is used here and the URL of the production
deployment for contributors and states are mentioned of in the variables
``contributors_url`` and ``state_url`` respectively. The said script can be
found
`here <https://pagure.io/releng/blob/main/f/scripts/check-unretirement.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/check-unretirement.py>`__.
``orphan-all-packages.py``
""""
""""""""""""""""""""""""""
This script helps to orphan all the packages belonging to a certain set of
users if they wish to no longer package software on Fedora Linux. The package
@ -223,10 +223,10 @@ is either transferred to a new owner from the committers or orphaned.
The **Pagure Dist Git** API is used here and the base URL of the production
deployment is mentioned of in the variable ``PAGURE_URL``. The said script
can be found
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/orphan-all-packages.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/distgit/orphan-all-packages.py>`__.
``fedretire``
""""
"""""""""""""
This script helps to retire packages that have either been orphaned for more
than six weeks, depended on a retried package that was orphaned or because the
@ -235,7 +235,7 @@ said package was built and published.
The **Pagure Dist Git** API is used here and the base URL of the production
deployment is mentioned of in the variable ``PAGURE_URL``. The said script
can be found
`here <https://pagure.io/releng/blob/main/f/scripts/fedretire>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/fedretire>`__.
*It is important to note that this script is not used anymore and in its*
*existing state the script probes into an HTTP API endpoint*
@ -243,7 +243,7 @@ can be found
*updated over a couple of years back.*
``find_failures.py``
""""
""""""""""""""""""""
This script helps discover failed builds in a given tag by delivering an output
in rough HTML format for a given package belonging to a certain packager.
@ -251,10 +251,10 @@ in rough HTML format for a given package belonging to a certain packager.
The **Pagure Dist Git** API is used here and the URL for the owner data of the
production deployment is mentioned of in the variable ``ownerdataurl``. The
said script can be found
`here <https://pagure.io/releng/blob/main/f/scripts/find_failures.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/find_failures.py>`__.
``follow-policy.py``
""""
""""""""""""""""""""
This script helps confirm if a package follows policy by asserting its
installability and other checks, and in case it does not, it follows through
@ -264,17 +264,17 @@ The **Pagure Dist Git** API is used here and the URL for the package owner data
and confirming package orphaning of the production deployment is mentioned of
in the variable ``pkg_owners`` and function ``update_bugs``. The said script
can be found
`here <https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py>`_.
`here <https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py>`__.
Changes proposed
----
----------------
In order to switch out **Pagure Dist Git** for an alternative that provides a
relatively compatible API pattern, the following changes must be made in the
places mentioned below.
Necessary
^^^^
^^^^^^^^^
- Release Engineering scripts heavily rely on the **Pagure Dist Git** API and
hence it is important to find a replacement alternative that mimics the API
@ -292,6 +292,6 @@ Necessary
the inter-working of the scripts are as robust as they are at the moment.
Unnecessary
^^^^
^^^^^^^^^^^
- None

View file

@ -1,7 +1,7 @@
.. _solution:
Designing An Alternative Replacement
====
====================================
As Pagure Dist Git is a comprehensive service that is used by over ten other
infrastructure services - it is important to ensure that the replacement for
@ -20,7 +20,7 @@ or absence of certain desired features similar to those from the existing
production deployment must be taken as a coincidence.
Related services
----
----------------
The list of related services working alongside Pagure Dist Git are distributed
in two categories to mark whether they are maintained within the team or are
@ -34,13 +34,13 @@ changes introduced to keep up with the alternative.
:target: ../_images/dist_git_system.drawio.svg
Maintained by the team
^^^^
^^^^^^^^^^^^^^^^^^^^^^
1. **Monitor Gating**
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/monitorgating.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/monitorgating.html>`__.
Depending on the investigations performed on the Monitor Gating project,
changes can be introduced to the project to ensure that the compatibility is
maintained with the alternative chosen for Pagure Dist Git.
@ -49,7 +49,7 @@ Maintained by the team
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/hotness.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/hotness.html>`__.
Depending on the investigations performed on The New Hotness project,
changes can be introduced to the project to ensure that the compatibility is
maintained with the alternative chosen for Pagure Dist Git.
@ -58,7 +58,7 @@ Maintained by the team
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/releng.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/releng.html>`__.
Depending on the investigations performed on the Release Engineering
Scripts, changes can be introduced to the project to ensure that the
compatibility is maintained with the alternative chosen for Pagure Dist Git.
@ -67,7 +67,7 @@ Maintained by the team
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/toddlers.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/toddlers.html>`__.
Depending on the investigations performed on the Toddlers project and the
scripts used, changes can be introduced to the project to ensure that the
compatibility is maintained with the alternative chosen for Pagure Dist Git.
@ -76,7 +76,7 @@ Maintained by the team
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/notifications.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/notifications.html>`__.
Depending on the investigations performed on the Fedora Notifications
project, changes can be introduced to the project to ensure that the
compatibility is maintained with the alternative chosen for Pagure Dist Git.
@ -85,19 +85,19 @@ Maintained by the team
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/messaging.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/messaging.html>`__.
Depending on the investigations performed on the Fedora Messaging project,
changes can be introduced to the project to ensure that the compatibility is
maintained with the alternative chosen for Pagure Dist Git.
Maintained by other teams
^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^
1. **Fedpkg**
Information about the dependence of the project on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/fedpkg.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/fedpkg.html>`__.
Depending on the investigations performed on the Fedpkg project, changes can
be recommended to the project maintainers to ensure that the compatibility
is maintained with the alternative chosen for Pagure Dist Git.
@ -106,7 +106,7 @@ Maintained by other teams
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/copr.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/copr.html>`__.
Depending on the investigations performed on the COPR project, changes can
be recommended to the project maintainers to ensure that the compatibility
is maintained with the alternative chosen for Pagure Dist Git.
@ -115,7 +115,7 @@ Maintained by other teams
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/ci.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/ci.html>`__.
Depending on the investigations performed on the Fedora CI deployment,
changes can be recommended to the service maintainers to ensure that the
compatibility is maintained with the alternative chosen for Pagure Dist Git.
@ -124,7 +124,7 @@ Maintained by other teams
Information about the dependence of the service on the production deployment
of Pagure Dist Git can be found
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/ci.html>`_.
`here <https://fedora-arc.readthedocs.io/en/latest/dist-git-move/ci.html>`__.
Depending on the investigations performed on the Bodhi project, changes can
be recommended to the project maintainers to ensure that the compatibility
is maintained with the alternative chosen for Pagure Dist Git.
@ -138,7 +138,7 @@ Maintained by other teams
alternative chosen for Pagure Dist Git.
Interaction diagram
----
-------------------
The following illustration explains how the Pagure Dist Git alternative would
work alongside other infrastructure applications and services. The replacement
@ -146,7 +146,7 @@ would be a system chiefly consisting of three elements - **Messages Handler**,
**Dist Git Service** and **Compatibility Metaservice**.
Messages Handler
^^^^
^^^^^^^^^^^^^^^^
.. image:: ../_static/dist_git_system_msgh.drawio.svg
:target: ../_images/dist_git_system_msgh.drawio.svg
@ -168,7 +168,7 @@ here when implemented as then, this element would be reduced to being only a
special configuration of the said project.
Dist Git Service
^^^^
^^^^^^^^^^^^^^^^
.. image:: ../_static/dist_git_system_main.drawio.svg
:target: ../_images/dist_git_system_main.drawio.svg
@ -190,7 +190,7 @@ Also, having an HTTP API that allows for customizing its capabilities to match
those of Pagure Dist Git is necessary.
Compatibility Metaservice
^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^
.. image:: ../_static/dist_git_system_meta.drawio.svg
:target: ../_images/dist_git_system_meta.drawio.svg