Project

Profile

Help

Story #6763

closed

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 over 4 years ago. Updated over 4 years 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:
Quarter:

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

Actions
Actions #1

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
Actions #2

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
Actions #3

Updated by daviddavis over 4 years ago

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

Updated by paji@redhat.com over 4 years ago

  • Tags Katello added
Actions #5

Updated by ggainey over 4 years ago

  • Priority changed from Normal to High
Actions #6

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

Actions #7

Updated by ggainey over 4 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ggainey
Actions #8

Updated by pulpbot over 4 years ago

  • Status changed from ASSIGNED to POST

Added by ggainey over 4 years ago

Revision 231a5aa4 | View on GitHub

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

closes #6763

Actions #9

Updated by ggainey over 4 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #10

Updated by fao89 over 4 years ago

  • Sprint/Milestone set to 3.5.0
Actions #11

Updated by pulpbot over 4 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF