summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSloane Hertel <19572925+s-hertel@users.noreply.github.com>2023-03-20 12:54:57 -0400
committerGitHub <noreply@github.com>2023-03-20 11:54:57 -0500
commit28c9d93fe07b9f18a0c3e2f87559756edd5364a5 (patch)
tree7158c5dbbf9805c0cbd2a5e53bf63e8bcfae6a95
parent24f40b44aef23efcdbf7584378c970d0d93db156 (diff)
downloadansible-28c9d93fe07b9f18a0c3e2f87559756edd5364a5.tar.gz
ansible-galaxy role info - fix unhandled AttributeError (#80187)
* catch GalaxyError instead of its base class to ensure it will have a http_error attribute (cherry picked from commit 6165dfea4040fdac9d73e9f415f3da9b0b8a3591)
-rw-r--r--changelogs/fragments/a-g-role-fix-catching-exception.yml2
-rwxr-xr-xlib/ansible/cli/galaxy.py4
2 files changed, 4 insertions, 2 deletions
diff --git a/changelogs/fragments/a-g-role-fix-catching-exception.yml b/changelogs/fragments/a-g-role-fix-catching-exception.yml
new file mode 100644
index 0000000000..210cc57d4d
--- /dev/null
+++ b/changelogs/fragments/a-g-role-fix-catching-exception.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - ansible-galaxy role info - fix unhandled AttributeError by catching the correct exception.
diff --git a/lib/ansible/cli/galaxy.py b/lib/ansible/cli/galaxy.py
index 3cb7fe2c0b..24727d32ba 100755
--- a/lib/ansible/cli/galaxy.py
+++ b/lib/ansible/cli/galaxy.py
@@ -27,7 +27,7 @@ from ansible import context
from ansible.cli.arguments import option_helpers as opt_help
from ansible.errors import AnsibleError, AnsibleOptionsError
from ansible.galaxy import Galaxy, get_collections_galaxy_meta_info
-from ansible.galaxy.api import GalaxyAPI
+from ansible.galaxy.api import GalaxyAPI, GalaxyError
from ansible.galaxy.collection import (
build_collection,
download_collections,
@@ -1214,7 +1214,7 @@ class GalaxyCLI(CLI):
remote_data = None
try:
remote_data = self.api.lookup_role_by_name(role, False)
- except AnsibleError as e:
+ except GalaxyError as e:
if e.http_code == 400 and 'Bad Request' in e.message:
# Role does not exist in Ansible Galaxy
data = u"- the role %s was not found" % role