Hey all.
I got a weird issue when setting up a fabric on some virtual centos
environments. Not sure if this caused of a user error or some bug, but I seem
to never get a password prompt trying to do stuff either in Parallel. If I
specify a password, either with env.password or using the -p flag, everything
works fine and dandy, but if no password is specified then everything crashes.
Se examples bellow. I've tried with several hosts or just one host, same stuff
happens.
Serial, I get a prompt, Parallel, I get an exception dump.
from fabric.api import *
@parallel
def testA():
run('whoami')
def testB():
run('whoami')
Running the testA example.
[drohr@foo ~]$ fab -H localhost testA
[localhost] Executing task 'testA'
[localhost] run: whoami
Fatal error: Needed to prompt for a connection or sudo password, but input
would be ambiguous in parallel mode
Aborting.
!!! Parallel execution exception under host 'localhost':
Traceback (most recent call last):
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/tasks.py", line
167, in inner
result = task.run(*args, **kwargs)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/tasks.py", line
113, in run
return self.wrapped(*args, **kwargs)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/decorators.py",
line 178, in inner
return func(*args, **kwargs)
File "/home/drohr/fabfile.py", line 5, in testA
run('whoami')
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/network.py",
line 457, in host_prompting_wrapper
return func(*args, **kwargs)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/operations.py",
line 904, in run
return _run_command(command, shell, pty, combine_stderr)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/operations.py",
line 814, in _run_command
stdout, stderr, status = _execute(default_channel(), wrapped_command, pty,
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/state.py", line
340, in default_channel
chan = connections[env.host_string].get_transport().open_session()
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/network.py",
line 84, in __getitem__
self.connect(key)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/network.py",
line 76, in connect
self[key] = connect(user, host, port)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/network.py",
line 351, in connect
password = prompt_for_password(text)
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/network.py",
line 414, in prompt_for_password
handle_prompt_abort("a connection or sudo password")
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/utils.py", line
138, in handle_prompt_abort
abort(reason % "input would be ambiguous in parallel mode")
File
"/usr/lib/python2.6/site-packages/Fabric-1.4.0-py2.6.egg/fabric/utils.py", line
26, in abort
sys.exit(1)
SystemExit: 1
Done.
Running the testB example.
[drohr@foo ~]$ fab -H localhost testB
[localhost] Executing task 'testB'
[localhost] run: whoami
[localhost] Passphrase for private key:
Any Ideas on what is causing this? Or is this the way you have to go? Maybe you
have to specify the password when using Parallel execution?
/David.
_______________________________________________
Fab-user mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/fab-user