slight changes to error handling to align with v1

This commit is contained in:
Brian Coca 2015-05-13 11:15:04 -04:00
parent 079fca27a2
commit b85ce38834
2 changed files with 15 additions and 5 deletions

View file

@ -35,7 +35,7 @@ except Exception:
import os import os
import sys import sys
from ansible.errors import AnsibleError, AnsibleOptionsError from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
from ansible.utils.display import Display from ansible.utils.display import Display
######################################################## ########################################################
@ -70,10 +70,20 @@ if __name__ == '__main__':
except AnsibleOptionsError as e: except AnsibleOptionsError as e:
cli.parser.print_help() cli.parser.print_help()
display.display(str(e), stderr=True, color='red') display.display(str(e), stderr=True, color='red')
sys.exit(1) sys.exit(5)
except AnsibleParserError as e:
display.display(str(e), stderr=True, color='red')
sys.exit(4)
# TQM takes care of these, but leaving comment to reserve the exit codes
# except AnsibleHostUnreachable as e:
# display.display(str(e), stderr=True, color='red')
# sys.exit(3)
# except AnsibleHostFailed as e:
# display.display(str(e), stderr=True, color='red')
# sys.exit(2)
except AnsibleError as e: except AnsibleError as e:
display.display(str(e), stderr=True, color='red') display.display(str(e), stderr=True, color='red')
sys.exit(2) sys.exit(1)
except KeyboardInterrupt: except KeyboardInterrupt:
display.error("interrupted") display.error("interrupted")
sys.exit(4) sys.exit(99)

View file

@ -105,7 +105,7 @@ class AdHocCLI(CLI):
return 0 return 0
if self.options.module_name in C.MODULE_REQUIRE_ARGS and not self.options.module_args: if self.options.module_name in C.MODULE_REQUIRE_ARGS and not self.options.module_args:
raise AnsibleError("No argument passed to %s module" % self.options.module_name) raise AnsibleOptionsError("No argument passed to %s module" % self.options.module_name)
#TODO: implement async support #TODO: implement async support
#if self.options.seconds: #if self.options.seconds: