summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorTim Bielawa <tbielawa@redhat.com>2012-03-12 23:11:54 -0400
committerTim Bielawa <tbielawa@redhat.com>2012-03-12 23:11:54 -0400
commitdfd2c6dce3db5c0701f41804fbb664d9a3ddd0aa (patch)
tree2e859e9a9110882d39dfc52314b60d7d91e00d3f /bin
parentce85222fa6d7a5a4cc4c331b512df70755567499 (diff)
downloadansible-dfd2c6dce3db5c0701f41804fbb664d9a3ddd0aa.tar.gz
Implement friendlier error handling.
Generic AnsibleError exception + host inventory missing exception. First shot at catching these in a generic way in bin/ansible*.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ansible13
-rwxr-xr-xbin/ansible-playbook11
2 files changed, 14 insertions, 10 deletions
diff --git a/bin/ansible b/bin/ansible
index 9c90b3a79a..1704a45869 100755
--- a/bin/ansible
+++ b/bin/ansible
@@ -34,6 +34,7 @@ import ansible.runner
import ansible.playbook
import ansible.constants as C
from ansible.utils import *
+from ansible.errors import *
########################################################
@@ -193,7 +194,11 @@ class Cli(object):
if __name__ == '__main__':
cli = Cli()
(options, args) = cli.parse()
- (runner, results) = cli.run(options, args)
- cli.output(runner, results, options, args)
-
-
+ try:
+ (runner, results) = cli.run(options, args)
+ except AnsibleError as e:
+ # Generic handler for ansible specific errors
+ print e
+ sys.exit(1)
+ else:
+ cli.output(runner, results, options, args)
diff --git a/bin/ansible-playbook b/bin/ansible-playbook
index c91a17bac5..6e2a65b9ef 100755
--- a/bin/ansible-playbook
+++ b/bin/ansible-playbook
@@ -96,15 +96,14 @@ def main(args):
remote_pass=sshpass,
callbacks=PlaybookCallbacks()
)
- pb.run()
+ try:
+ pb.run()
+ except AnsibleError as e:
+ print e
+ return 1
return 0
if __name__ == "__main__":
sys.exit(main(sys.argv[1:]))
-
-
-
-
-