Project

Profile

Help

Story #8313

closed

As an admin I have a way to delete repo versions from push repo so I can free some disk space

Added by ipanova@redhat.com over 3 years ago. Updated over 3 years ago.

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

100%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
GalaxyNG
Sprint:
Sprint 99
Quarter:

Description

Problem statement

  1. There is no way to free some disc space because we do not allow repo versions removal from push repos. Deleting entire repo is not a viable option.
  2. There is no way to delete certain repo versions if there is no longer need to keep them.

(Note: Orphan clean up is still expected to be run in order to remove artifacts from the fs.)

Solution

  1. Enable DELETE on the push repo versions endpoint and allow removal of any versions except the latest one.
    • might bring complexity in the logic. Add validation on the distribution update call to disallow repo_version update
    • change in access policy
  2. After each push operation remove all repo versions except the latest one. As a result each push operation will always result into one version.
    • this approach will close forever the door for us for adding 'rollback' capabilities for push repos
    • this behaviour might be considered as unwanted/confusing. Other operations like tag/untag/manifest removal will still produce a new version and will not clean up previous ones ( behaviour discrepancy)
  3. Leave this to pulpcore which will introduce retain N repo-version option. For pulp container push repos by default there will retained only 1 version https://pulp.plan.io/issues/8368
Actions #1

Updated by ipanova@redhat.com over 3 years ago

  • Description updated (diff)
Actions #2

Updated by ipanova@redhat.com over 3 years ago

  • Description updated (diff)
Actions #3

Updated by ttereshc over 3 years ago

  • Description updated (diff)

I think I'm in favour of solution #1, to allow deleting repo versions and not removing all old ones automatically.
I'm not sure whether we need validation in distribution or not.

Historically, Pulp chose the path of providing a lot of flexibility and thus requiring users to understand more concepts and details if they want fine control.
Higher level tools/projects (Katello, Galaxy NG, our CLI) can make it simpler for user and remove only allowed/labelled versions or remove all old ones.

Actions #4

Updated by ipanova@redhat.com over 3 years ago

  • Tags GalaxyNG added
Actions #5

Updated by ipanova@redhat.com over 3 years ago

  • Sprint/Milestone set to 2.5.0
Actions #6

Updated by mdellweg over 3 years ago

I believe, this story would be solved by

https://pulp.plan.io/issues/8368

and setting the default for push repos to retain 1 version.

Actions #7

Updated by ipanova@redhat.com over 3 years ago

  • Description updated (diff)
Actions #8

Updated by ipanova@redhat.com over 3 years ago

  • Sprint/Milestone deleted (2.5.0)
Actions #9

Updated by ipanova@redhat.com over 3 years ago

mdellweg wrote:

I believe, this story would be solved by

https://pulp.plan.io/issues/8368

and setting the default for push repos to retain 1 version.

POST/PUT is disabled for push repos. Some users might want to change the default which would not be possible

Actions #10

Updated by ipanova@redhat.com over 3 years ago

To move this forward I suggest going with option3 which will require to add to the current viewset also put/patch. It will also require to add serializer validation so remote cannot be associated.

Actions #11

Updated by ipanova@redhat.com over 3 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ipanova@redhat.com
  • Sprint/Milestone set to 2.6.0
Actions #12

Updated by ipanova@redhat.com over 3 years ago

  • Sprint set to Sprint 97
Actions #13

Updated by pulpbot over 3 years ago

  • Status changed from ASSIGNED to POST
Actions #14

Updated by ipanova@redhat.com over 3 years ago

  • Sprint/Milestone changed from 2.6.0 to 2.7.0
Actions #15

Updated by rchan over 3 years ago

  • Sprint changed from Sprint 97 to Sprint 98
Actions #16

Updated by rchan over 3 years ago

  • Sprint changed from Sprint 98 to Sprint 99

Added by ipanova@redhat.com over 3 years ago

Revision 0fe5d393 | View on GitHub

Added PUT/PATCH method to the container-push repository.

closes #8313

Required PR: https://github.com/pulp/pulpcore/pull/1378

Added by ipanova@redhat.com over 3 years ago

Revision 0fe5d393 | View on GitHub

Added PUT/PATCH method to the container-push repository.

closes #8313

Required PR: https://github.com/pulp/pulpcore/pull/1378

Actions #17

Updated by ipanova@redhat.com over 3 years ago

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

Updated by pulpbot over 3 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF