diff --git a/changelogs/fragments/a-g-install-version-None.yml b/changelogs/fragments/a-g-install-version-None.yml new file mode 100644 index 00000000000..874e5f0dbe0 --- /dev/null +++ b/changelogs/fragments/a-g-install-version-None.yml @@ -0,0 +1,2 @@ +bugfixes: + - ansible-galaxy role install - fix installing roles from Galaxy that have version ``None`` (https://github.com/ansible/ansible/issues/81832). diff --git a/lib/ansible/galaxy/role.py b/lib/ansible/galaxy/role.py index 77334f8630e..d6d8454b809 100644 --- a/lib/ansible/galaxy/role.py +++ b/lib/ansible/galaxy/role.py @@ -297,7 +297,7 @@ class GalaxyRole(object): # are no versions in the list, we'll grab the head # of the master branch if len(role_versions) > 0: - loose_versions = [LooseVersion(a.get('name', None)) for a in role_versions] + loose_versions = [v for a in role_versions if (v := LooseVersion()) and v.parse(a.get('name') or '') is None] try: loose_versions.sort() except TypeError: