Story #4341

As a user, I have comprehensive docs on mirroring, sync modes, and how they interact together

Added by dalley over 1 year ago. Updated 6 months ago.

Start date:
Due date:
% Done:


Platform Release:
Blocks Release:
Backwards Incompatible:
Sprint Candidate:
QA Contact:
Smash Test:
Verification Required:
Sprint 52


The "mirroring" docs page is currently empty. We need to fill this out with descriptions of what "mirror=True" and "mirror=False" do, and what the default sync mode is. This needs to be well explained to users, with particular emphasis given to the fact that a mirror=True sync on top of a repository with multiple different types of content will be extremely destructive, because mirror syncs don't respect content type boundaries.

This extends also to the interactions between immediate mode and lazy sync modes, and additive sync. There are "gotchas", like if you first perform a lazy sync and then perform an immediate, additive sync, no artifacts will be downloaded or associated with the existing content units. This is because there are no "new" units and whether the artifacts for the existing units exist or not is not checked.

Related issues

Related to Pulp - Test #4448: Test sync mirror=True CLOSED - COMPLETE Actions
Related to Pulp - Issue #4449: Default to mirror = False CLOSED - CURRENTRELEASE Actions

Associated revisions

Revision c6ca9f60 View on GitHub
Added by about 1 year ago

Improve the help text for mirrored sync

Be clear that mirror=True is destructive, and remove the unnecessary stub for mirroring.

fixes #4341


#1 Updated by daviddavis over 1 year ago

  • Groomed changed from No to Yes
  • Sprint Candidate changed from No to Yes

#2 Updated by dalley over 1 year ago

  • Description updated (diff)

#3 Updated by kersom over 1 year ago

  • Related to Test #4448: Test sync mirror=True added

#4 Updated by kersom over 1 year ago

  • Related to Issue #4449: Default to mirror = False added

#5 Updated by about 1 year ago

  • Tags Documentation added

#6 Updated by about 1 year ago

  • Sprint set to Sprint 51

#7 Updated by about 1 year ago

The responsibility of documenting this feature, IMO belongs to the plugins. This isn't necessarily obvious, because the field is implemented by pulpcore, and used by pulpcore-plugin in the declarative version, but plugins are not required to use the sync serializer and declarative version. It is conceivable that some plugins may not use this feature, or that it might behave differently. Fortunately, plugins do not need to do much, since this is a REST API field, if it is used, it is automatically included in the plugin REST documentation.

IMO, I don't think this needs a prose section. Instead, this story should be to remove the stub and improve the help text. Suggestion:

boolean (Mirror)
Default: false

If True, remove content that has been removed upstream. If False, the sync will be only additive.

#8 Updated by rchan about 1 year ago

  • Sprint changed from Sprint 51 to Sprint 52

#9 Updated by about 1 year ago

  • Status changed from NEW to POST
  • Assignee set to

#10 Updated by daviddavis about 1 year ago

  • Sprint/Milestone set to 3.0.0

#11 Updated by bmbouter about 1 year ago

  • Tags deleted (Pulp 3, Pulp 3 MVP)

#12 Updated by about 1 year ago

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

#13 Updated by bmbouter 6 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF