mirror of
https://github.com/xcat2/confluent.git
synced 2024-11-22 01:22:00 +00:00
Enhance error message for authentication issue during syncfiles
This commit is contained in:
parent
d082610678
commit
a1ac234b73
@ -129,11 +129,21 @@ def prep_ssh_key(keyname):
|
||||
ap.write('#!/bin/sh\necho $CONFLUENT_SSH_PASSPHRASE\nrm {0}\n'.format(askpass))
|
||||
os.chmod(askpass, 0o700)
|
||||
os.environ['CONFLUENT_SSH_PASSPHRASE'] = get_passphrase()
|
||||
olddisplay = os.environ.get('DISPLAY', None)
|
||||
oldaskpass = os.environ.get('SSH_ASKPASS', None)
|
||||
os.environ['DISPLAY'] = 'NONE'
|
||||
os.environ['SSH_ASKPASS'] = askpass
|
||||
with open(os.devnull, 'wb') as devnull:
|
||||
subprocess.check_output(['ssh-add', keyname], stdin=devnull, stderr=devnull)
|
||||
del os.environ['CONFLUENT_SSH_PASSPHRASE']
|
||||
try:
|
||||
with open(os.devnull, 'wb') as devnull:
|
||||
subprocess.check_output(['ssh-add', keyname], stdin=devnull, stderr=devnull)
|
||||
finally:
|
||||
del os.environ['CONFLUENT_SSH_PASSPHRASE']
|
||||
del os.environ['DISPLAY']
|
||||
del os.environ['SSH_ASKPASS']
|
||||
if olddisplay:
|
||||
os.environ['DISPLAY'] = olddisplay
|
||||
if oldaskpass:
|
||||
os.environ['SSH_ASKPASS'] = oldaskpass
|
||||
ready_keys[keyname] = 1
|
||||
finally:
|
||||
adding_key = False
|
||||
|
@ -212,6 +212,8 @@ def sync_list_to_node(sl, node, suffixes, peerip=None):
|
||||
unreadablefiles.append(filename.replace(targdir, ''))
|
||||
if unreadablefiles:
|
||||
raise Exception("Syncing failed due to unreadable files: " + ','.join(unreadablefiles))
|
||||
elif b'Permission denied, please try again.' in e.stderr:
|
||||
raise Exception('Syncing failed due to authentication error, is the confluent automation key not set up (osdeploy initialize -a) or is there some process replacing authorized_keys on the host?')
|
||||
else:
|
||||
raise
|
||||
finally:
|
||||
|
@ -42,7 +42,7 @@ def run(cmd):
|
||||
stdout, stderr = process.communicate()
|
||||
retcode = process.poll()
|
||||
if retcode:
|
||||
raise subprocess.CalledProcessError(retcode, process.args, output=stdout)
|
||||
raise subprocess.CalledProcessError(retcode, process.args, output=stdout, stderr=stderr)
|
||||
return stdout, stderr
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user