robottelo icon indicating copy to clipboard operation
robottelo copied to clipboard

Add test case to verify artifacts repair at the Capsule side

Open vsedmik opened this issue 10 months ago • 9 comments

Problem Statement

Satellite 6.16 implements ways to repair pulp artifacts if they are removed or damaged and we should test it works.

Solution

This PR adds a parametrized test case for that verification at the Capsule side and also a few other changes to make it possible.

The approach is a bit different for yum and file content types, where we are able to locate the artifact for particular published file, and for docker and ansible_collection content types, where files are not published directly.

In pulp there are two different code paths for repair of missing and corrupted artifacts.

  progress_reports:
  - message: Identify missing units
    code: repair.missing
    state: completed
    done: 0
  - message: Identify corrupted units
    code: repair.corrupted
    state: completed
    done: 1
  - message: Repair corrupted units
    code: repair.repaired
    state: completed
    done: 1

So we need to check both, again through parametrization.

The last parametrization targets the repair task granularity - we are able to run it for particular repo, CV and LCE present at the Capsule side.

PRT test Cases example

Needs packit / PRT with specific Katello PRs (some bits are still missing)

trigger: test-robottelo pytest: tests/foreman/cli/test_capsulecontent.py -k artifacts

vsedmik avatar Apr 25 '24 14:04 vsedmik