Collection list site packages (#70173)
* ansible-galaxy collection list and verify now utilize collections in site-packages. This is a short term fix for #70147. The long term fix needs to handle install (but that discussion is also bound up in how upgrade is going to work and where things can get installed so it's deferred for 2.11.) * Add test for ansible-galaxy collection list with site-packages * Fix sanity issue Co-authored-by: David Moreau Simard <moi@dmsimard.com> Co-authored-by: Jordan Borean <jborean93@gmail.com>
This commit is contained in:
parent
0a60e5e341
commit
e7dee73774
3 changed files with 18 additions and 2 deletions
3
changelogs/fragments/collection-list-site-packages.yaml
Normal file
3
changelogs/fragments/collection-list-site-packages.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
bugfixes:
|
||||
- Fix ansible-galaxy collection list to show collections in site-packages
|
||||
(https://github.com/ansible/ansible/issues/70147)
|
|
@ -44,6 +44,7 @@ from ansible.parsing.dataloader import DataLoader
|
|||
from ansible.parsing.yaml.loader import AnsibleLoader
|
||||
from ansible.playbook.role.requirement import RoleRequirement
|
||||
from ansible.template import Templar
|
||||
from ansible.utils.collection_loader import AnsibleCollectionConfig
|
||||
from ansible.utils.display import Display
|
||||
from ansible.utils.plugin_docs import get_versioned_doclink
|
||||
|
||||
|
@ -165,7 +166,8 @@ class GalaxyCLI(CLI):
|
|||
|
||||
collections_path = opt_help.argparse.ArgumentParser(add_help=False)
|
||||
collections_path.add_argument('-p', '--collection-path', dest='collections_path', type=opt_help.unfrack_path(pathsep=True),
|
||||
default=C.COLLECTIONS_PATHS, action=opt_help.PrependListAction,
|
||||
default=AnsibleCollectionConfig.collection_paths,
|
||||
action=opt_help.PrependListAction,
|
||||
help="One or more directories to search for collections in addition "
|
||||
"to the default COLLECTIONS_PATHS. Separate multiple paths "
|
||||
"with '{0}'.".format(os.path.pathsep))
|
||||
|
@ -1288,7 +1290,7 @@ class GalaxyCLI(CLI):
|
|||
|
||||
collections_search_paths = set(context.CLIARGS['collections_path'])
|
||||
collection_name = context.CLIARGS['collection']
|
||||
default_collections_path = C.config.get_configuration_definition('COLLECTIONS_PATHS').get('default')
|
||||
default_collections_path = AnsibleCollectionConfig.collection_paths
|
||||
|
||||
warnings = []
|
||||
path_found = False
|
||||
|
|
|
@ -422,6 +422,17 @@ f_ansible_galaxy_status \
|
|||
|
||||
unset ANSIBLE_COLLECTIONS_PATH
|
||||
|
||||
f_ansible_galaxy_status \
|
||||
"collection list with collections installed from python package"
|
||||
|
||||
mkdir -p test-site-packages
|
||||
ln -s "${galaxy_testdir}/local/ansible_collections" test-site-packages/ansible_collections
|
||||
ansible-galaxy collection list
|
||||
PYTHONPATH="./test-site-packages/:$PYTHONPATH" ansible-galaxy collection list | tee out.txt
|
||||
|
||||
grep ".ansible/collections/ansible_collections" out.txt
|
||||
grep "test-site-packages/ansible_collections" out.txt
|
||||
|
||||
## end ansible-galaxy collection list
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue