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: Brandon Whaley
Subject: Re: [Fab-user] HP switches and run() received nonzero return code -1 while executing
Date: Fri, 18 Nov 2016 15:00:01 +0000

You may be able to use the underlying paramiko library that Fabric itself relies on, but I don't have any personal experience with it.

On Fri, Nov 18, 2016 at 3:57 AM <address@hidden> wrote:
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

_______________________________________________
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]