Story #6763
closedStory #6134: [EPIC] Pulp import/export
As a User, I can create an Exporter to export a specific set of RepositoryVersions between 2 versions
100%
Description
We already mention this in the design doc under "Working with PulpExporter".
"repository-versions - (optional) list of repository-versions to be exported. By default, the export uses latest version for repositories listed on the exporter."
Katello wants more control on the incremental/delta exports between 2 versions. For example Katello wants to say give me the incrementals between Version X and Version Y to handle the following scenario
"I have 3 satellites importing from the Master at different version levels at different times."
This means we are going to have issues if we used the same exporter for all three satellites. While the work around is probably creating a new exporter per sat, it adds complication to the user workflow.
Getting the incrementals will help us manage this better.
Related issues
Updated by paji@redhat.com over 4 years ago
- Copied from Story #6566: As a User, I can create an Exporter to export a specific set of RepositoryVersions (rather than just current() for a set of Repositories) added
Updated by jsherril@redhat.com over 4 years ago
Another use case for this is the fact that incremental exports aren't reproducible.
- If there is any corruption on the export, i cannot regenerate it
- If it accidentally gets deleted, i can't regenerate it
- if a user is having a problem they can't easily re-create the problem, making troubleshooting/support really difficult
Updated by daviddavis over 4 years ago
- Assignee deleted (
ggainey) - Priority changed from High to Normal
- % Done changed from 100 to 0
Updated by ggainey over 4 years ago
Proposal:
- Add 'start_versions' parameter
- Like versions=, accepts a list of RepositoryVersion pulp_hrefs
- Produces an incremental between start_versions= and versions=
- If versions= is not specified, produces an incremental between start_versions= and current_version()
- last_export.params for the PulpExporter will identify start_versions= if specified
-
NOT VALID if
- full=False
- start_versions= fails to cover every repo in Exporter's repository list
Example
- There exists Repostory-A (
rA
) - rA has 10 RepositoryVersions (rv),
rv0..rv9
- There exists a PulpExporter for
rA
(pe1
) - pe1 has a last_export (
last
) that identifies the last export asrv3
- rA.rv9 is RV-CURR, rv3 is LAST
Command combinations and their output:
-
pe1 POST
: full export of RV-CURR, last.RV-CURR -
pe1 POST --full=False
: diff(LAST, RV-CURR), last.RV-CURR -
pe1 POST --versions=[rv7]
: full export of rv7, last.rv7 -
pe1 POST --full-False --versions=[rv5]
: diff(LAST, rv5), last.rv5 -
pe1 POST --full=False --start_versions=[rv1
] : diff(rv1, CURR), last.rv9 -
pe1 POST --full=False --start_versions=[rv3] --versions=[rv6]
: diff(rv3, rv6), last.rv6
Specifying start_versions=[rv0] is the equivalent of doing a full-export of the current-version of the repository.
Updated by ggainey over 4 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to ggainey
Updated by pulpbot over 4 years ago
- Status changed from ASSIGNED to POST
Added by ggainey over 4 years ago
Updated by ggainey over 4 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulpcore|231a5aa46d2cb9edd71b70f824bff9f1ed37c6b9.
Updated by pulpbot over 4 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Taught /exports/ about start_versions=, to allow for arbitrary incremental exports.
closes #6763