As a user, all metadata.json fields are stored as Pulp first-class metadata
Story #948 causes Pulp to store metadata.json from Puppet modules as a blob on the puppet module unit. Also, Pulp 2.x stores puppet fields like author and name which it introspects from the name of the .tar.gz file. This limits searches from benefitting from the structured form of metadata.json data and is confusing because of similar names in multiple places.
The metadata.json data should become the first class metadata that Pulp tracks. Additionally the fields 'module' and 'username' should be captured from the filename to provide that data for forge API purposes. The final result will be all metadata.json fields
This also should have some unit key implications. The unit key should continue to be <author, name, version> but this metadata.json change will change the semantics of those fields to be driven by metadata.json instead of the .tar.gz filename.
The install distributor will need to be modified to publish the folder name so that it matches the puppet class name in the module's init.pp file. This is due to inconsistency between running puppet modules on the filesystem and the name field specified in many puppet module's metadata.json in practice. For example on the filesystem the apache module needs to be in a directory called apache which matches the puppet class name in init.pp however the name field in metadata.json contains "puppetlabs-apache". If we publish with the name as it would become with the work in this story puppet installs would break.
This has some CLI implications that are described in the deliverables.
- server side changes described
- adjust the install distributor so that it doesn't break as described ^
- A migration to move around all the data for existing puppet modules
- CLI changes to remove the metadata listing options introduced with #948 since those will now be the default
- CLI improvements to show more of the metadata.json info.
- release notes on this change
#6 Updated by firstname.lastname@example.org over 4 years ago
- File 0001-Name-of-the-puppet-module-should-be-in-format-name-a.patch 0001-Name-of-the-puppet-module-should-be-in-format-name-a.patch added
This patch could be useful for the implementation of this story. It ensures that puppet module's name corresponds to the name mentioned in metadata.json
#7 Updated by bmbouter over 1 year ago
- Status changed from NEW to CLOSED - WONTFIX
Pulp 2 is approaching maintenance mode, and this Pulp 2 ticket is not being actively worked on. As such, it is being closed as WONTFIX. Pulp 2 is still accepting contributions though, so if you want to contribute a fix for this ticket, please reopen or comment on it. If you don't have permissions to reopen this ticket, or you want to discuss an issue, please reach out via the developer mailing list.
Please register to edit this issue