Greetings, I am trying to process multiple commands using paramiko. I have searched other threads, and I think my use case is a little different. I am trying to login to a storage node that has a special shell, and as such I cant execute a script on the storage node side.
I am also trying to avoid using pexpect because I hate making system calls.. hence my leaning towards paramiko. Was hoping someone could help me identify a way to process multiple commands using paramiko. I have two commands listed below, however only one is getting processed. Any help is much appreciated. Thanks! Here is my script: #!/usr/bin/env python #-Modules--------------------------------------------------------------------- import optparse import sys import paramiko #-Variables------------------------------------------------------------------- plog = 'storagessh.log' suser = 'root' #-Config---------------------------------------------------------------------- #-Subs-Defined---------------------------------------------------------------- def options(): global hostname global goldenimage global lunclone global sshport usage = "usage: %prog [options] -n <nodename> -g <goldenimage> -l <lun>" parser = optparse.OptionParser(usage) parser.add_option("-n", "--node", dest="hostname", help="Name of storage node you are connecting to.") parser.add_option("-g", "--gold", dest="goldenimage", help="Name of goldenimage to clone.") parser.add_option("-l", "--lun", dest="lunclone", help="Name of lun to create.") parser.add_option("-p", "--port", dest="sshport", default=22, help="SSH port number.") options, args = parser.parse_args() if not options.hostname: parser.error("Missing hostname argument.") exit elif not options.goldenimage: parser.error("Missing goldenimage argument.") exit elif not options.lunclone: parser.error("Missing lun argument.") exit hostname = options.hostname goldenimage = options.goldenimage lunclone = options.lunclone sshport = options.sshport def storagessh(): paramiko.util.log_to_file(plog) client = paramiko.SSHClient() client.load_system_host_keys() client.connect(hostname, sshport, suser) stdin, stdout, stderr = client.exec_command('show') stdin, stdout, stderr = client.exec_command('help') print stdout.read() client.close() #--Initialization------------------------------------------------------------- if __name__ == "__main__": options() storagessh() -- http://mail.python.org/mailman/listinfo/python-list