AlmaLinux / AlmaLinux/build-system
Improve UI/UX around errata packages and mappings
- Langage dominant
- Aucune donnée de langage
- Étoiles
- 32
- Forks
- 11
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Currently, we show the errata packages involved in a security advisory

In the `RHEL` column, we see the source package's nevra that was provided as part of an errata. Also, you can see all the related packages provided as part of the errata by expanding the items below.
In the `Alma` column we see the source package name inside a disabled dropdown, which indicates that the errata packages are already released into production repositories. And the `Released` status indicates such situation.
When the packages aren't released into production repositories, the `Alma` column has the dropdown enabled and you can choose builds from ALBS that contain packages that match the original errata packages. And this time, the status is set to `Proposal`.

This way, you can select the build that contains the packages that fix such security advisory and mark them as `Approved`. Or you can `Skip` them, and won't be taken into account.

This workflow works most of the time, but sometimes, our guess about packages already in production or ALBS builds can be wrong, because the package mapping process could be tricky in cases where the package nevr doesn't match 100%. i.e.: when dealing with modified packages or with modules. And this is the problem, the user doesn't know which specific packages from either production or ALBS have been matched against those coming in the errata.
For this reason, we need to add some UI/UX changes that allow the user to know exactly what packages, from either production or ALBS, were matched. These packages can be found in DB, in the `new_errata_to_albs_packages` table.
```
almalinux-bs=# \d new_errata_to_albs_packages
Table "public.new_errata_to_albs_packages"
Column | Type | Collation | Nullable | Default
-------------------+---------------------+-----------+----------+---------------------------------------------------------
id | integer | | not null | nextval('new_errata_to_albs_packages_id_seq'::regclass)
errata_package_id | integer | | not null |
albs_artifact_id | integer | | |
pulp_href | text | | |
status | erratapackagestatus | | not null |
name | text | | not null |
arch | text | | not null |
version | text | | not null |
release | text | | not null |
epoch | integer | | not null |
Indexes:
"new_errata_to_albs_packages_pkey" PRIMARY KEY, btree (id)
"ix_new_errata_to_albs_packages_errata_package_id" btree (errata_package_id)
Foreign-key constraints:
"new_errata_to_albs_package_errata_package_id_fk" FOREIGN KEY (errata_package_id) REFERENCES new_errata_packages(id) ON DELETE CASCADE
"new_errata_to_albs_packages_albs_artifact_id_fkey" FOREIGN KEY (albs_artifact_id) REFERENCES build_artifacts(id) ON DELETE CASCADE
```
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.