If ansible is configured to use a log file but cannot write to it, exit, but don't traceback.

pull/2960/head
Michael DeHaan 12 years ago
parent 496f06c3c9
commit cd57d59913

@ -29,7 +29,14 @@ from ansible.color import stringc
import logging
if constants.DEFAULT_LOG_PATH != '':
logging.basicConfig(filename=constants.DEFAULT_LOG_PATH, level=logging.DEBUG, format='%(asctime)s %(name)s %(message)s')
path = constants.DEFAULT_LOG_PATH
if (os.path.exists(path) and not os.access(path, os.W_OK)) or not os.access(os.path.dirname(path), os.W_OK):
sys.stderr.write("log file at %s is not writeable, aborting\n" % path)
sys.exit(1)
logging.basicConfig(filename=path, level=logging.DEBUG, format='%(asctime)s %(name)s %(message)s')
mypid = str(os.getpid())
user = getpass.getuser()
logger = logging.getLogger("p=%s u=%s | " % (mypid, user))

@ -247,14 +247,14 @@ def _legacy_varFind(basedir, text, vars, lookup_fatal, depth, expand_lists):
else:
replacement = None
return {'replacement': replacement, 'start': start, 'end': end}
return dict(replacement=replacement, start=start, end=end)
if is_complex:
var_end -= 1
if text[var_end] != '}' or brace_level != 0:
return None
space = _legacy_varFindLimitSpace(basedir, vars, space, text[part_start:var_end], lookup_fatal, depth, expand_lists)
return {'replacement': space, 'start': start, 'end': end}
return dict(replacement=space, start=start, end=end)
def legacy_varReplace(basedir, raw, vars, lookup_fatal=True, depth=0, expand_lists=False):
''' Perform variable replacement of $variables in string raw using vars dictionary '''

Loading…
Cancel
Save