fab-user
[Top][All Lists]
Advanced

[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 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]