AlmaLinux / AlmaLinux/build-system

Improve UI/UX around errata packages and mappings

Abierto
#495 0 comentarios 0 reacciones 0 asignados Ver en GitHub
errata ui
Lenguaje dominante
Sin datos de lenguaje
Estrellas
32
Forks
11
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Currently, we show the errata packages involved in a security advisory

![Image](https://github.com/user-attachments/assets/cd53e95b-3495-423e-ba54-25b6d2d36f60)

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`.

![Image](https://github.com/user-attachments/assets/c4678f60-3782-4ae9-8ecb-f81ec6a8f53a)

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.

![Image](https://github.com/user-attachments/assets/37bd1002-d004-4fae-ba74-6087059b6247)

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
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.