blob: 886c002c4a0a97fd3c9f7a772362f9e875b4cd95 [file] [log] [blame]
#!/usr/bin/env python
'''
This driver handles the optical switch emulator linc-oe.
Please follow the coding style demonstrated by existing
functions and document properly.
If you are a contributor to the driver, please
list your email here for future contact:
andrew@onlab.us
OCT 20 2014
'''
import traceback
import pexpect
import struct
import fcntl
import os
import signal
import re
import sys
import core.teston
sys.path.append("../")
from math import pow
from drivers.common.cli.emulatordriver import Emulator
from drivers.common.clidriver import CLI
class LincOEDriver(Emulator):
'''
LincOEDriver class will handle all emulator functions
'''
def __init__(self):
super(Emulator, self).__init__()
self.handle = self
self.wrapped = sys.modules[__name__]
self.flag = 0
def connect(self, **connectargs):
'''
Create ssh handle for Linc-OE cli
'''
for key in connectargs:
vars(self)[key] = connectargs[key]
self.name = self.options['name']
self.handle = \
super(LincOEDriver, self).connect(\
user_name = self.user_name,
ip_address = self.ip_address,
port = None,
pwd = self.pwd)
self.ssh_handle = self.handle
if self.handle :
main.log.info(self.name+": Starting Linc-OE CLI")
cmdStr = "sudo ./rel/linc/bin/linc console"
self.handle.sendline(cmdStr)
self.handle.expect(["linc@",pexpect.EOF,pexpect.TIMEOUT])
else:
main.log.error(self.name+
": Connection failed to the host "+
self.user_name+"@"+self.ip_address)
main.log.error(self.name+
": Failed to connect to Linc-OE")
return main.FALSE
if __name__ != "__main__":
import sys
sys.modules[__name__] = LincOEDriver()