Project

Profile

Help

Story #6763

Story #6134: [EPIC] Pulp import/export

As a User, I can create an Exporter to export a specific set of RepositoryVersions between 2 versions

Added by paji@redhat.com 3 months ago. Updated 29 days ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Katello
Sprint:

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

Copied from Pulp - 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)CLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision 231a5aa4 View on GitHub
Added by ggainey about 2 months ago

Taught /exports/ about start_versions=, to allow for arbitrary incremental exports.

closes #6763

History

#1 Updated by paji@redhat.com 3 months 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

#2 Updated by jsherril@redhat.com 3 months 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

#3 Updated by daviddavis 3 months ago

  • Assignee deleted (ggainey)
  • Priority changed from High to Normal
  • % Done changed from 100 to 0

#4 Updated by paji@redhat.com 2 months ago

  • Tags Katello added

#5 Updated by ggainey 2 months ago

  • Priority changed from Normal to High

#6 Updated by ggainey 2 months 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
    1. full=False
    2. 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 as rv3
  • 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.

#7 Updated by ggainey 2 months ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ggainey

#8 Updated by pulpbot about 2 months ago

  • Status changed from ASSIGNED to POST

#9 Updated by ggainey about 2 months ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100

#10 Updated by fao89 30 days ago

  • Sprint/Milestone set to 3.5.0

#11 Updated by pulpbot 29 days ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF