|
|
@ -34,6 +34,7 @@ except Exception:
|
|
|
|
|
|
|
|
|
|
|
|
import os
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
import sys
|
|
|
|
|
|
|
|
import traceback
|
|
|
|
|
|
|
|
|
|
|
|
from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
|
|
|
|
from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
|
|
|
|
from ansible.utils.display import Display
|
|
|
|
from ansible.utils.display import Display
|
|
|
@ -41,9 +42,11 @@ from ansible.utils.display import Display
|
|
|
|
########################################
|
|
|
|
########################################
|
|
|
|
### OUTPUT OF LAST RESORT ###
|
|
|
|
### OUTPUT OF LAST RESORT ###
|
|
|
|
class LastResort(object):
|
|
|
|
class LastResort(object):
|
|
|
|
def error(self, msg):
|
|
|
|
def display(self, msg):
|
|
|
|
print(msg, file=sys.stderr)
|
|
|
|
print(msg, file=sys.stderr)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
error = display
|
|
|
|
|
|
|
|
|
|
|
|
########################################
|
|
|
|
########################################
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
if __name__ == '__main__':
|
|
|
@ -96,5 +99,10 @@ if __name__ == '__main__':
|
|
|
|
display.error("User interrupted execution")
|
|
|
|
display.error("User interrupted execution")
|
|
|
|
sys.exit(99)
|
|
|
|
sys.exit(99)
|
|
|
|
except Exception as e:
|
|
|
|
except Exception as e:
|
|
|
|
|
|
|
|
have_cli_options = cli is not None and cli.options is not None
|
|
|
|
display.error("Unexpected Exception: %s" % str(e))
|
|
|
|
display.error("Unexpected Exception: %s" % str(e))
|
|
|
|
|
|
|
|
if not have_cli_options or have_cli_options and cli.options.verbosity > 2:
|
|
|
|
|
|
|
|
display.display("the full traceback was:\n\n%s" % traceback.format_exc())
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
display.display("to see the full traceback, use -vvv")
|
|
|
|
sys.exit(250)
|
|
|
|
sys.exit(250)
|
|
|
|