Example #1
0
def _get_controller(dut, cm, logfile):
    if cm == "ssh":
        try:
            del os.environ["TERM"]
        except KeyError:
            pass
        ssh = sshlib.get_ssh(dut, dut.user, dut.password, prompt=dut.prompt, logfile=logfile)
        ctor = ControllerShell(ssh)
        ctor.host = str(dut)
        ctor.user = dut.user
        ctor.password = dut.password
        return ctor
    elif cm == "serial":
        return NotImplemented
    elif cm == "telnet":
        return NotImplemented
    elif cm == "http":
        return NotImplemented
    elif cm == "https":
        return NotImplemented
    elif cm == "console":
        return NotImplemented
    elif cm == "snmp":
        return NotImplemented
    else:
        raise ValueError, "invalid configuration method: %s." % (cm,)
Example #2
0
def remote_redir(host,
                 lport,
                 cport,
                 laddr=None,
                 caddr=None,
                 extraopts=None,
                 user=None,
                 password=None,
                 logfile=None):
    """run the port redirector on a remote host. Note that to redirect priviged
ports the 'redir' program on the remote host must be suid root. SSH is used
for this. If necessary, you can pass in a user and password for the ssh
program."""
    from pycopia import sshlib
    opts = "--lport=%d --cport=%d" % (lport, cport)
    if laddr:
        opts += " --laddr=%s" % (laddr, )
    if caddr:
        opts += " --caddr=%s" % (caddr, )
    cmd = "redir %s %s" % (opts, extraopts or "")
    rd = sshlib.get_ssh(host,
                        user=user,
                        password=password,
                        logfile=logfile,
                        cmd=cmd)
    return rd
Example #3
0
def get_controller(equipment, logfile=None):
    try:
        del os.environ["TERM"]
    except KeyError:
        pass
    ssh = sshlib.get_ssh(equipment["hostname"], equipment["user"],
            equipment["password"], prompt=equipment["prompt"],
            logfile=logfile)
    ctor = ShellController(ssh)
    ctor.host = equipment["hostname"]
    ctor.user = equipment["user"]
    ctor.password = equipment["password"]
    return ctor
Example #4
0
def remote_redir(host, lport, cport, laddr=None, caddr=None, extraopts=None,
        user=None, password=None, logfile=None):
    """run the port redirector on a remote host. Note that to redirect priviged
ports the 'redir' program on the remote host must be suid root. SSH is used
for this. If necessary, you can pass in a user and password for the ssh
program."""
    from pycopia import sshlib
    opts = "--lport=%d --cport=%d" % (lport, cport)
    if laddr:
        opts += " --laddr=%s" % (laddr,)
    if caddr:
        opts += " --caddr=%s" % (caddr,)
    cmd = "redir %s %s" % (opts, extraopts or "")
    rd = sshlib.get_ssh(host, user=user, password=password, logfile=logfile, cmd=cmd)
    return rd
Example #5
0
def get_controller(equipment, logfile=None):
    try:
        del os.environ["TERM"]
    except KeyError:
        pass
    ssh = sshlib.get_ssh(equipment["hostname"],
                         equipment["user"],
                         equipment["password"],
                         prompt=equipment["prompt"],
                         logfile=logfile)
    ctor = ShellController(ssh)
    ctor.host = equipment["hostname"]
    ctor.user = equipment["user"]
    ctor.password = equipment["password"]
    return ctor