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.

Issue #9402

closed

creating an empty publication before syncing with mirror=true could cause clients to refuse to use metadata

Added by jsherril@redhat.com about 3 years ago. Updated about 3 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Katello
Sprint:
Sprint 105
Quarter:

Description

Given the current workflow with katello:

  1. create a repository and a remote pointing to some upstream repo
  2. create a publication against version zero (timestamp in the repomd.xml file is CURRENT_TIME)
  3. distribute it
  4. configure a client to use the repo, yum repolist will show zero packages (as expected)
  5. Sync the repo with mirror=true
  6. distribute the newly created publication
  7. run yum repolist on the client

The client will refuse to pull down new metadata becuase the new metadata has an older timestamp than the original empty metadata.

A likely solution is to support specifying a repomd.xml timestamp when creating a publication.


Related issues

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

Actions
Copied to RPM Support - Backport #9437: Backport #9402 "empty repos should be published with revision 0" to 3.14.zCLOSED - CURRENTRELEASEdalley

Actions
Actions #1

Updated by dalley about 3 years ago

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

Updated by dalley about 3 years ago

  • Triaged changed from No to Yes

The way we'll probably fix this long-term is by bifurcating "repositories" into repositories which are exact clones of the upstream ones, like Katello library repos, and managed repos.

Clone repos can't be modified or published, and managed repos can't be synced against remotes. See for more details: https://pulp.plan.io/issues/8856

In the meantime we can only really mitigate this issue by (having Katello) not publish, or having a special case which uses a revision of 0 if the repository is going to be empty (no packages), which will resolve the issue in one particular case. Generally speaking if the repo is flipping between mirror and non-mirror, there is not a lot we can do.

Actions #3

Updated by dalley about 3 years ago

  • Status changed from NEW to POST
  • Assignee set to dalley
  • Sprint set to Sprint 105
Actions #5

Updated by dalley about 3 years ago

  • Sprint/Milestone set to 3.16.0
Actions #6

Updated by dalley about 3 years ago

  • Copied to Backport #9437: Backport #9402 "empty repos should be published with revision 0" to 3.14.z added

Added by dalley about 3 years ago

Revision 2b63da48 | View on GitHub

Set the "revision" of empty repositories to 0

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

Actions #7

Updated by dalley about 3 years ago

  • Status changed from POST to MODIFIED
Actions #8

Updated by pulpbot about 3 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF