Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Option to Disable Content Installation in Project Settings #14253

Open
7 of 9 tasks
jangel97 opened this issue Jul 17, 2023 · 1 comment
Open
7 of 9 tasks

Add Option to Disable Content Installation in Project Settings #14253

jangel97 opened this issue Jul 17, 2023 · 1 comment

Comments

@jangel97
Copy link

Please confirm the following

  • I agree to follow this project's code of conduct.
  • I have checked the current issues for duplicates.
  • I understand that AWX is open source software provided for free and that I might not receive a timely response.

Feature type

New Feature

Feature Summary

Desired Feature

I propose a new feature for AWX - an option in the project settings to disable the installation of Ansible roles and collections.

Use Case

The primary use case for this feature is for projects with a large number of roles and collections. Currently, AWX updates and installs these dependencies for each project update, which can be time-consuming and, in some cases, unnecessary.

This feature would allow users to choose when to update their project dependencies, offering more control and potentially reducing the time taken to update a project.

Proposed Solution

Add a checkbox or similar control in the AWX project settings UI that sets whether or not to update roles and collections. This control should be set to 'enabled' by default to maintain the current behavior.

When disabled, AWX should not update or install roles and collections for that specific project.

This user control would need to be propagated to the project_update Ansible playbook (https://github.com/ansible/awx/blob/devel/awx/playbooks/project_update.yml), controlling the roles_enabled and collections_enabled variables as appropriate.

Alternatives

The current alternative is to manually modify the roles_enabled and collections_enabled variables in the playbook, but this is less intuitive and accessible to users.

Select the relevant components

  • UI
  • API
  • Docs
  • Collection
  • CLI
  • Other

Steps to reproduce

Currently no way to control the installation of content in a project sync is provided out of the box

Current results

Currently no way to control the installation of content in a project sync is provided out of the box

Sugested feature result

A way to control the installation of content in a project sync is provided out of the box

Additional information

No response

@jangel97
Copy link
Author

Another interesting option/opinion. To streamline project updates and reduce the load on the Galaxy server, what if ansible-galaxy checks for existing content before downloading? If the local content matches the remote version, it could skip the download. However, if there's a discrepancy between the local and remote versions, it would initiate a pull. This approach mirrors how containers operate and could significantly optimize AAP project updates while alleviating the strain on Galaxy servers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants