Project

Profile

Help

Story #5251

Dependency Downloading for Ansible Collection sync

Added by sajha about 1 year ago. Updated 5 months ago.

Status:
NEW
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Katello
Sprint:
Quarter:

Description

Dependency Downloading when syncing collections:

When syncing a collection, we would like to have the collections listed as dependencies to be synced into the repository as well.
Example: https://docs.ansible.com/ansible/devel/dev_guide/collections_galaxy_meta.html#examples

For a collection to be synced, having the below dependencies:

dependencies:
    "other_namespace.collection1": ">=1.0.0"
    "other_namespace.collection2": ">=2.0.0,<3.0.0"
    "anderson55.my_collection": "*"    # note: "*" selects the highest version available

The 3 listed collections should also get synced when syncing the collection.

History

#1 Updated by sajha about 1 year ago

  • Tags Katello-P2 added

#2 Updated by bmbouter about 1 year ago

Can the user disable this as an option? I'm hoping so. What would the option be called sync_dependencies? Is there a better name? Also does it default to on or off?

#3 Updated by jsherril@redhat.com about 1 year ago

I think making it optional is fine, and defaulting to off is fine too!

#4 Updated by daviddavis about 1 year ago

Regarding name. What's the option called when copying content over in pulp_rpm with dependencies?

#6 Updated by rchan about 1 year ago

Let's definitely discuss. This was an open item to discuss later, but I thought we were going with an include/exclude list rather than dependency solving for the initial feature.

#7 Updated by bmbouter about 1 year ago

daviddavis pulp2 uses these override_config booleans named recursive and revursive_conservative. I got that info from here: https://docs.pulpproject.org/plugins/pulp_rpm/user-guide/features.html#rpm-dependencies

rchan, jsherrill raised the issue on IRC that whitelisting the packages of interest will leave them uninstallable due to missing dependencies. After some IRC discussion in #pulp-ansible this was filed.

#8 Updated by bmbouter about 1 year ago

  • Subject changed from Dependency Solving for Ansible Collection sync to Dependency Downloading for Ansible Collection sync
  • Description updated (diff)

This should be called 'Dependency Downloading' instead of 'Dependency Solving'.

#9 Updated by rchan about 1 year ago

bmbouter - thanks for the clarification. Understanding that other Ansible software also supports strict enforcement of dependencies being available was helpful. Sounds like this tracker covers just recursive_conservative and only for downloading/sync and not repo copy use case. My main concern was scope and effort involved (as dependency solving for all cases in RPM connotes a very large effort.) I now understand that this functionality would keep this behavior consistent with Ansible Automation Hub and a better experience for the end user without requiring efforts similar to RPM "depsolving" or being inconsistent with Ansible treatment of dependencies.

#10 Updated by bmbouter about 1 year ago

rchan wrote:

bmbouter - thanks for the clarification. Understanding that other Ansible software also supports strict enforcement of dependencies being available was helpful. Sounds like this tracker covers just recursive_conservative and only for downloading/sync and not repo copy use case. My main concern was scope and effort involved (as dependency solving for all cases in RPM connotes a very large effort.) I now understand that this functionality would keep this behavior consistent with Ansible Automation Hub and a better experience for the end user without requiring efforts similar to RPM "depsolving" or being inconsistent with Ansible treatment of dependencies.

This makes sense with the language I was using (the RPM language). Thanks for asking and following up.

#11 Updated by ggainey 5 months ago

  • Tags Katello added
  • Tags deleted (Katello-P2)

Please register to edit this issue

Also available in: Atom PDF