Project

Profile

Help

Issue #945

closed

releases.json doesn't return all versions of a given module.

Added by lastmikoi almost 9 years ago. Updated about 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
2.6.0
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

When setting up a puppet project using librarian-puppet with a pulp-puppet forge, librarian-puppet is unable to find a given version (here 3.1.1) of a given module (here saz-timezone).

My repository (repo1) has been set up using the following command:

# pulp-admin puppet repo create --repo-id=repo1 --description="Mirror of Puppet Forge" --display-name="Repo 1" --feed=http://forge.puppetlabs.com

I recently re-synced and re-published against the upstream forge (using respectively 'pulp-admin puppet repo sync run --repo-id repo1' and 'pulp-admin puppet repo publish run --repo-id repo1')
I did copied the contents (one module named dcsoral-users) from another repo to this repository using 'pulp-admin puppet repo copy', and published, but apart from this specific manipulation, my setup is quite simple.

Both the latest version and the version I'm interested in are existing in my mirror puppet repository, as confirmed by the following command:

# pulp-admin puppet repo modules --repo-id=repo1 --str-eq="name=timezone" --str-eq="author=saz"
Name:          timezone
Version:       3.1.1
Author:        saz
Checksum:      None
Checksum Type: sha256
Dependencies:  
  Name:                puppetlabs/stdlib
  Version Requirement: >= 2.3.0
Description:   Manage timezone settings via Puppet
License:       Apache License, Version 2.0
Project Page:  https://github.com/saz/puppet-timezone
Source:        git://github.com/saz/puppet-timezone
Summary:       UNKNOWN
Tag List:      None

Name:          timezone
Version:       3.2.0
Author:        saz
Checksum:      None
Checksum Type: sha256
Dependencies:  
  Name:                puppetlabs/stdlib
  Version Requirement: >= 2.3.0
Description:   Manage timezone settings via Puppet
License:       Apache License, Version 2.0
Project Page:  https://github.com/saz/puppet-timezone
Source:        git://github.com/saz/puppet-timezone
Summary:       UNKNOWN
Tag List:      None

But when a given client is trying to fetch a module's metadata, it seems to be only served the last version:

$ curl "https://forge.domain.tld/pulp_puppet/forge/repository/repo1/api/v1/releases.json?module=saz/timezone"
{"saz/timezone": [{"dependencies": [["puppetlabs/stdlib", ">= 2.3.0"]], "version": "3.2.0", "file": "/pulp/puppet/repo1/system/releases/s/saz/saz-timezone-3.2.0.tar.gz"}], "puppetlabs/stdlib": [{"dependencies": [], "version": "4.5.1", "file": "/pulp/puppet/repo1/system/releases/p/puppetlabs/puppetlabs-stdlib-4.5.1.tar.gz"}, {"dependencies": [], "version": "4.6.0", "file": "/pulp/puppet/repo1/system/releases/p/puppetlabs/puppetlabs-stdlib-4.6.0.tar.gz"}]}%

Which is different from what the upstream forge returns:

$ curl https://forge.puppetlabs.com/api/v1/releases.json\?module\=saz/timezone
{"saz/timezone":[{"file":"/system/releases/s/saz/saz-timezone-1.0.0.tar.gz","version":"1.0.0","dependencies":[]},{"file":"/system/releases/s/saz/saz-timezone-1.1.0.tar.gz","version":"1.1.0","dependencies":[]},{"file":"/system/releases/s/saz/saz-timezone-1.2.0.tar.gz","version":"1.2.0","dependencies":[]},{"file":"/system/releases/s/saz/saz-timezone-2.0.0.tar.gz","version":"2.0.0","dependencies":[]},{"file":"/system/releases/s/saz/saz-timezone-3.0.0.tar.gz","version":"3.0.0","dependencies":[["puppetlabs/stdlib",">= 2.3.0"]]},{"file":"/system/releases/s/saz/saz-timezone-3.0.1.tar.gz","version":"3.0.1","dependencies":[["puppetlabs/stdlib",">= 2.3.0"]]},{"file":"/system/releases/s/saz/saz-timezone-3.1.0.tar.gz","version":"3.1.0","dependencies":[["puppetlabs/stdlib",">= 2.3.0"]]},{"file":"/system/releases/s/saz/saz-timezone-3.1.1.tar.gz","version":"3.1.1","dependencies":[["puppetlabs/stdlib",">= 2.3.0"]]},{"file":"/system/releases/s/saz/saz-timezone-3.2.0.tar.gz","version":"3.2.0","dependencies":[["puppetlabs/stdlib",">= 2.3.0"]]}],"puppetlabs/stdlib":[{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.3.0.tar.gz","version":"2.3.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.3.1.tar.gz","version":"2.3.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.3.2.tar.gz","version":"2.3.2","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.3.3.tar.gz","version":"2.3.3","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.4.0.tar.gz","version":"2.4.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.5.0.tar.gz","version":"2.5.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.5.1.tar.gz","version":"2.5.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-2.6.0.tar.gz","version":"2.6.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.0.0.tar.gz","version":"3.0.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.0.1.tar.gz","version":"3.0.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.1.0.tar.gz","version":"3.1.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.1.1.tar.gz","version":"3.1.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.2.0.tar.gz","version":"3.2.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.2.1.tar.gz","version":"3.2.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-3.2.2.tar.gz","version":"3.2.2","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.1.0.tar.gz","version":"4.1.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.2.0.tar.gz","version":"4.2.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.2.1.tar.gz","version":"4.2.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.2.2.tar.gz","version":"4.2.2","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.3.0.tar.gz","version":"4.3.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.3.2.tar.gz","version":"4.3.2","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.4.0.tar.gz","version":"4.4.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.5.0.tar.gz","version":"4.5.0","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.5.1.tar.gz","version":"4.5.1","dependencies":[]},{"file":"/system/releases/p/puppetlabs/puppetlabs-stdlib-4.6.0.tar.gz","version":"4.6.0","dependencies":[]}]}

I was able to reproduce the same issue with another module (mastrodev-wget, versions 1.7.0 vs 1.6.0) so I don't think this issue is module-related.

Also available in: Atom PDF