Story #9358
closedPulp - Story #7832: [EPIC] As a user, I have Alternate Content Sources
As a user I can use Alternate Content Sources
100%
Description
Add refresh endpoint with slightly adjust synchronize method and first stage to support ACS.
Related issues
Updated by ppicka about 3 years ago
- Status changed from ASSIGNED to NEW
- Assignee deleted (
ppicka)
Updated by ppicka about 3 years ago
- Subject changed from Refresh endpoint to create ACS to As a user I can use Alternate Content Sources
Updated by dalley about 3 years ago
- Related to Story #8856: As a user, I have a convenient UX for mirroring repositories added
Updated by dalley about 3 years 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"
Updated by ppicka about 3 years ago
- Copied to Story #9377: As a user I can use Alternate Content Sources added
Updated by ppicka about 3 years ago
- Copied to deleted (Story #9377: As a user I can use Alternate Content Sources)
Updated by ppicka about 3 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to ppicka
Updated by pulpbot about 3 years ago
- Status changed from ASSIGNED to POST
Updated by rchan about 3 years ago
- Sprint changed from Sprint 105 to Sprint 106
Added by ppicka about 3 years ago
Updated by ppicka about 3 years ago
- Status changed from POST to MODIFIED
Applied in changeset 738cc1a666401ce9920618137cc1a461ddc38617.
Updated by pulpbot about 3 years ago
Added by ppicka about 3 years ago
Revision 3cc44029 | View on GitHub
ACS support
Adding model/serializer and refresh endpoint.
ACS support
Adding model/serializer and refresh endpoint.
closes: #9358 https://pulp.plan.io/issues/9358