Story #5250
closedAdd requirements.yaml specification support to collection sync
100%
Description
Requirements with requirements.yml:¶
We would like to have the ability to use the requirements.yml documented here: https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#install-multiple-collections-with-a-requirements-file
---
collections:
# With just the collection name
- my_namespace.my_collection
# With the collection name, version, and source options
- name: my_namespace.my_other_collection
version: 'version range identifiers (default: ``*``)'
source: 'The Galaxy URL to pull the collection from (default: ``--api-server`` from cmdline)'
This would sync the collection my_namespace.my_collection and the specified version of my_namespace.my_other_collection. The version specification would be similar to https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#installing-an-older-version-of-a-collection
Field Name¶
The field on the CollectionRemote should be called requirements_file
.
Validation of data Requirement¶
Note that Pulp expects to have all content from a single source and does not expect to have sources defined per content item (as the "source" field allows in this spec). As such, Pulp should not accept a requirements.yaml that contains a definition for "source". If specified when creating/saving a remote it should be rejected as invalid with a message from the user.
Updated by bmbouter over 5 years ago
So to confirm, the idea is that this would store a text blob (like the copy/pasted contents of a requirements.yaml) ?
If so, I think that would work fine, but the "source" option could be challenging. Specifically, the Remote.url specified the remote source to pull all content from, but this spec allows for that remote to be item, by, item.
How should pulp_ansible work when the user specifies remote A to be galaxy.ansible.com and the "source" field says example.com ?
Updated by jsherril@redhat.com over 5 years ago
I think it might be okay to reject requirements with a source specified
Updated by bmbouter over 5 years ago
- Description updated (diff)
Revising to require validation that ensures "source" is not set.
Updated by daviddavis over 5 years ago
- Groomed changed from No to Yes
- Sprint set to Sprint 57
Updated by bmbouter over 5 years ago
- Subject changed from Use requirements.yaml specification for whitelisting collections to sync to Add requirements.yaml specification support to collection sync
- Description updated (diff)
Updated by fao89 over 5 years ago
- Status changed from NEW to POST
Added by Fabricio Aguiar over 5 years ago
Updated by Anonymous over 5 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulp_ansible|ab9905429c131a8b2fb56a5504f3542d69075b6a.
Updated by ggainey over 4 years ago
- Tags Katello added
- Tags deleted (
Katello-P2)
Updated by bmbouter about 4 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Add specification support to collection sync
closes #5250