Hi all,

First post to this mailing list, please forgive any faux pas I may
unintentionally make.

I'm having trouble getting Fabric working with Force10 devices, and I was
hoping you could help. Google has failed me! It would seem that the
connection does not complete to Fabric's standards, yet using Paramiko
alone works fine - see here: http://pastebin.com/yJgh26KS. I would prefer
to use Fabric for many reasons, mostly Force10 is not the only brand of
hardware that it will be interfacing with.

Here is an example of the problem:

user@host:~/$ cat fabfile.py

#!/usr/bin/env python
> from fabric.api import run, env
>


env.user = 'admin'
> env.hosts = ['10.1.1.1']
> env.passwords = {'10.1.1.1':'password'}
>


def uptime():
>     run("show version")


>
> user@host:~/$ fab uptime
> [10.1.1.1] Executing task 'uptime'
> [10.1.1.1] run: show version
> Traceback (most recent call last):
>   File "/usr/local/lib/python2.7/dist-packages/fabric/main.py", line 739,
> in main
>     *args, **kwargs
>   File "/usr/local/lib/python2.7/dist-packages/fabric/tasks.py", line 317,
> in execute
>     multiprocessing
>   File "/usr/local/lib/python2.7/dist-packages/fabric/tasks.py", line 213,
> in _execute
>     return task.run(*args, **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/fabric/tasks.py", line 123,
> in run
>     return self.wrapped(*args, **kwargs)
>   File "/home/james/projects/robot3/test/fabfile.py", line 9, in uptime
>     run("show version")
>   File "/usr/local/lib/python2.7/dist-packages/fabric/network.py", line
> 535, in host_prompting_wrapper
>     return func(*args, **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", line
> 1015, in run
>     warn_only=warn_only, stdout=stdout, stderr=stderr, timeout=timeout)
>   File "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", line
> 891, in _run_command
>     stderr=stderr, timeout=timeout)
>   File "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", line
> 752, in _execute
>     channel.exec_command(command=command)
>   File "/usr/local/lib/python2.7/dist-packages/paramiko/channel.py", line
> 218, in exec_command
>     self._wait_for_event()
>   File "/usr/local/lib/python2.7/dist-packages/paramiko/channel.py", line
> 1122, in _wait_for_event
>     raise e
> paramiko.SSHException: Channel closed.
> Disconnecting from 10.1.1.1... done.

user@host:~/$ fab -V
> Fabric 1.6.1
> Paramiko 1.10.1
> user@host:~/$ python --version
> Python 2.7.3

user@host:~/$ uname -a
> Linux host 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012
> x86_64 x86_64 x86_64 GNU/Linux



It's worth noting that there is a long pause (timeout, I've tried
increasing it) before the traceback. I've tried connecting to a Force10
E600i, an S25N, S50V, S50N, S25P and a S4810, the problem is the same
across the board. Just using SSH works fine, there's a pastebin of a
verbose SSH session into one here: http://pastebin.com/c3RVBHE5

I've compared the verbose SSH log from connecting to a Ubuntu box, to
connecting to a Force10, there aren't many differences, especially not ones
that leaped out at me as being a good investigation. I did notice that it
identifies itself as "[email protected]", though.

I've tried different values for the following in different combinations, to
no avail:

 * env.use_shell
 * env.use_ssh_config
 * env.forward_agent
 * env.linewise
 * fab --no-keys


Does anyone have any ideas or suggestions?

Thanks in advance for your time and suggestions,

James
_______________________________________________
Fab-user mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to