Skip to content

Improve UI/UX around errata packages and mappings #495

@javihernandez

Description

@javihernandez

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

Image

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

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    errataAnything related to errata, like processing/generation of Erratas, OVAL, updateinfo, etcuiUI (frontend) related issues

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions