[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fab-user] HP switches and run() received nonzero return code -1 whi
From: |
a . hocquel |
Subject: |
Re: [Fab-user] HP switches and run() received nonzero return code -1 while executing |
Date: |
Fri, 18 Nov 2016 09:56:51 +0100 (CET) |
Hello Brandon,
(sorry for the direct reply, I didn't notice that the To: wasn't to the ML)
Thank you for your reply.
Unfortunately sending newlines (or carriage return) between two commands inside
one run() didn't help.
Since between each run() I'm loosing my execution session, are you aware about
another ssh module for Python that doesn't have this behaviour?
Many Thanks,
Regards,
Alexandre
----- Original Message -----
From: "Brandon Whaley" <address@hidden>
To: "a hocquel" <address@hidden>, address@hidden
Sent: Thursday, 17 November, 2016 7:54:24 PM
Subject: Re: [Fab-user] HP switches and run() received nonzero return code -1
while executing
Fabric was written with accessing *nix based servers in mind, so some things it
does don't work correctly with non-standard ssh implementations. I'm not sure
if HP is returning the -1 code or if Fabric is not getting one at all and as
such returns -1 as an error value. Either way, it sounds like you'll always
need to use warn_only=True for this device.
One of the biggest differences between an interactive ssh session and Fabric is
that when you use run(), while only one ssh connection is ever made, a new
command execution session is initiated over that connection for each operation.
That means things like environment variables are "fresh" at every call to
run(). I suspect this is why your "screen-length disable" command does not take
effect, since HP's docs state "Note that this command is applicable to the
current user only and when a user re-logs in, the settings restore to the
system default."
Have you tried sending newlines between two commands in the same run()? That
might be a workaround for you if the switch allows it.
On Thu, Nov 17, 2016 at 10:43 AM < address@hidden > wrote:
Hello,
I'm new here, and before writing this email I searched on the archives without
success, so please excuse me if this question was already asked.
I'm trying to "display current-configuration" through ssh on HP 5820 series
switches with this piece of code :
from fabric.api import *
env.user = 'toto'
env.hosts = ['192.168.72.10']
def displaycurr():
with settings(hide('warnings'), warn_only=True):
# below command is normally used to prevent the "more"
run('screen-length disable ', shell=False)
run('display current-configuration ', shell=False)
As written in the email's subject, every ran command returns a nonzero code,
implying that even if I forced the "keep running" with the warn_only=True
option, after each run command the ssh session is exited.
Therefore I lost the first command advantage and then I got the "more" during
the second.
Same code (without warn_only) and the right Cisco commands does work well on
Cisco switches.
By any chance, is there someone that experienced the same issue (not
necessarily with HP switches) and managed to keep the ssh session opened
between both commands?
Many Thanks,
Regards,
Alexandre
_______________________________________________
Fab-user mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fab-user