Project

Profile

Help

Story #9358

Pulp - Story #7832: [EPIC] As a user, I have Alternate Content Sources

As a user I can use Alternate Content Sources

Added by ppicka about 1 month ago. Updated 3 days ago.

Status:
MODIFIED
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Sprint 106
Quarter:

Description

Add refresh endpoint with slightly adjust synchronize method and first stage to support ACS.


Subtasks

Pulp - Task #9374: Update and delete calls for the ACS should be asyncCLOSED - CURRENTRELEASEipanova@redhat.com

Actions

Related issues

Related to Pulp - Story #8856: As a user, I have a convenient UX for mirroring repositoriesNEW

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

Associated revisions

Revision 738cc1a6 View on GitHub
Added by ppicka 21 days ago

ACS support

Adding model/serializer and refresh endpoint.

closes: #9358 https://pulp.plan.io/issues/9358

History

#2 Updated by ppicka about 1 month ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (ppicka)

#3 Updated by ppicka about 1 month ago

  • Subject changed from Refresh endpoint to create ACS to As a user I can use Alternate Content Sources

#4 Updated by dalley about 1 month ago

  • Related to Story #8856: As a user, I have a convenient UX for mirroring repositories added

#5 Updated by dalley about 1 month ago

Quoting from a related issue:

To fix this, we should introduce a new RemoteRepositoryViewset which will provide a new primitive Pulp endpoint, /pulp/api/v3/remote_repositories///. This viewset will work with all repositories that have remote set, which is to say that the queryset would be Repository.objects.filter(remote__isnull=False).

This viewset would provide only one action endpoint, "refresh" (or "update"), which would perform a mirror-mode sync and publish with the internally-attached remote. The viewset would not provide the "modify" endpoint since mirrored repositories shouldn't be able to be changed, and it wouldn't provide the "sync" endpoint because there would not be any need to customize the sync in that way. This avoids needing to throw errors if a user attempts an operation they shouldn't do - because the new API provides no mechanism to do it - and also avoids creating a new model.

The old /repositories/// endpoint will remain exactly as it is currently, even at the code level, since all of the changes are in the new viewset. However we should discourage users from using this API with repositories they want to sync from external sources, and encourage using the new API instead, which has the benefit of being much easier to use for most if not all use cases.

The workflow:

Create a "remote repository", specifying name + description + any remote options, which will transparently create both the remote and repository.
"refresh" (or "update" or "sync") it - no parameters necessary because it uses the internal remote. syncs for most plugins would always "mirror"

#6 Updated by rchan about 1 month ago

  • Sprint changed from Sprint 104 to Sprint 105

#7 Updated by ppicka about 1 month ago

  • Copied to Story #9377: As a user I can use Alternate Content Sources added

#8 Updated by ppicka about 1 month ago

  • Copied to deleted (Story #9377: As a user I can use Alternate Content Sources)

#9 Updated by ppicka about 1 month ago

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

#10 Updated by pulpbot about 1 month ago

  • Status changed from ASSIGNED to POST

#11 Updated by rchan 29 days ago

  • Sprint changed from Sprint 105 to Sprint 106

#12 Updated by ppicka 21 days ago

  • Status changed from POST to MODIFIED

Please register to edit this issue

Also available in: Atom PDF