Project

Profile

Help

Maintenance: Planio will be observing a scheduled maintenance window this Tuesday, November 5, 2024 from 03:00 UTC until 06:30 UTC to perform urgent network maintenance in our primary data center. Your Planio account will be unavailable during this maintenance window.

Story #7159

closed

As a user, I can associate a remote with a repository

Added by daviddavis over 4 years ago. Updated about 4 years ago.

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

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Sprint:
Quarter:

Description

Currently there is no way to link a repository with a remote, and as such, each time you wish to sync a repository against it's upstream link, you have to keep a record (or query for) the appropriate remote for that repo.

This can be done with careful consideration around naming conventions, however it would be nice if an optional link between a Repository and Remote was possible.

As such, once the Repository and Remote have been created an paired, a simply repository sync would be able to work out which remote to use, and sync.

Design

Model

Add a many-to-many foreign key between Repositories and Remotes. This association should be optional. For now Repositories can only have 0 or 1 remotes. Remotes can belong to any number of repositories.

Note: In the future we want to be able to support multiple remotes for repositories that can be synced at once. See https://pulp.plan.io/issues/7031. This is the purpose of having a many-to-many instead of one-to-many.

REMOTE_TYPES

Add an iterable to Repository similar to CONTENT_TYPES. This iterable will check that when a remote is added to a repo, it is of one of these types.

API

Repositories

Expose a remote hrefs field for repository endpoints. Users should be able to create/read/update this field. Validate the remote type against REMOTE_TYPES and that a user is only supplying 0..1 remote. Also, indicate in the help text that this field is optional.

Remotes

Expose a repository hrefs field for remotes. Users should be able to view this field to see which repos a remote belongs to. Also, indicate in the help text that this field is optional.

Syncing

Make the remote parameter on sync optional. If no remote is supplied, the sync task uses the remote field on Repository when syncing.

If a repository does not have a remote and no remote is supplied, raise an error.


Related issues

Related to Debian Support - Issue #8520: Allow remotes to be associated with repositoriesCLOSED - CURRENTRELEASEActions
Copied from Pulp - Story #7015: As a user, I can associate a remote with a repositoryCLOSED - CURRENTRELEASEdaviddavis

Actions
Actions #1

Updated by daviddavis over 4 years ago

  • Copied from Story #7015: As a user, I can associate a remote with a repository added
Actions #2

Updated by pulpbot over 4 years ago

  • Status changed from NEW to POST

Added by daviddavis over 4 years ago

Revision cd932c8f | View on GitHub

Allow Remotes to be associated with a Repository

fixes #7159

[nocoverage]

Actions #3

Updated by daviddavis over 4 years ago

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

Updated by ttereshc about 4 years ago

  • Sprint/Milestone set to 3.6.0
Actions #5

Updated by pulpbot about 4 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Actions #6

Updated by quba42 over 3 years ago

  • Related to Issue #8520: Allow remotes to be associated with repositories added

Also available in: Atom PDF