slight changes to error handling to align with v1
This commit is contained in:
parent
079fca27a2
commit
b85ce38834
2 changed files with 15 additions and 5 deletions
18
bin/ansible
18
bin/ansible
|
@ -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)
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue