コード例 #1
0
 def __init__(self,
              model,
              conn_cmd,
              power_ip,
              power_outlet,
              output=sys.stdout,
              password='******',
              web_proxy=None,
              tftp_server=None,
              **kwargs):
     pexpect.spawn.__init__(self,
                            command='/bin/bash',
                            args=['-c', conn_cmd],
                            **kwargs)
     try:
         result = self.expect(["assword:", "ser2net", "OpenGear Serial Server"])
     except pexpect.EOF as e:
         raise Exception("Board is in use (connection refused).")
     if result == 0:
         self.sendline(password)
         self.expect("OpenGear Serial Server")
     self.logfile_read = output
     self.power = power.get_power_device(power_ip, power_outlet)
     self.model = model
     self.web_proxy = web_proxy
     if tftp_server:
         self.tftp_server = socket.gethostbyname(tftp_server)
     else:
         self.tftp_server = None
     self.lan_iface = "eth1"
     self.wan_iface = "eth0"
     atexit.register(self.kill_console_at_exit)
コード例 #2
0
ファイル: openwrt_router.py プロジェクト: mweinelt/boardfarm
 def __init__(self,
              model,
              conn_cmd,
              power_ip,
              power_outlet,
              output=sys.stdout,
              password='******',
              web_proxy=None,
              tftp_server=None,
              **kwargs):
     pexpect.spawn.__init__(self,
                            command='/bin/bash',
                            args=['-c', conn_cmd],
                            **kwargs)
     try:
         result = self.expect(
             ["assword:", "ser2net", "OpenGear Serial Server"])
     except pexpect.EOF as e:
         raise Exception("Board is in use (connection refused).")
     if result == 0:
         self.sendline(password)
         self.expect("OpenGear Serial Server")
     self.logfile_read = output
     self.power = power.get_power_device(power_ip, power_outlet)
     self.model = model
     self.web_proxy = web_proxy
     if tftp_server:
         self.tftp_server = socket.gethostbyname(tftp_server)
     else:
         self.tftp_server = None
     self.lan_iface = "eth1"
     self.wan_iface = "eth0"
     atexit.register(self.kill_console_at_exit)
コード例 #3
0
    def __init__(self,
                 model,
                 conn_cmd,
                 power_ip,
                 power_outlet,
                 output=sys.stdout,
                 password='******',
                 web_proxy=None,
                 tftp_server=None,
                 tftp_username=None,
                 tftp_password=None,
                 tftp_port=None,
                 connection_type=None,
                 power_username=None,
                 power_password=None,
                 config=None,
                 **kwargs):

        self.config = config
        self.consoles = [self]
        self.start = kwargs['start']

        if type(conn_cmd) is list:
            self.conn_list = conn_cmd
            conn_cmd = self.conn_list[0]

        if connection_type is None:
            print("\nWARNING: Unknown connection type using ser2net\n")
            connection_type = "ser2net"

        self.connection = connection_decider.connection(connection_type,
                                                        device=self,
                                                        conn_cmd=conn_cmd,
                                                        **kwargs)
        self.connection.connect()
        self.logfile_read = output

        self.power = power.get_power_device(power_ip,
                                            outlet=power_outlet,
                                            username=power_username,
                                            password=power_password)
        self.model = model
        self.web_proxy = web_proxy
        if tftp_server:
            try:
                self.tftp_server = socket.gethostbyname(tftp_server)
                if tftp_username:
                    self.tftp_username = tftp_username
                if tftp_password:
                    self.tftp_password = tftp_password
                if tftp_port:
                    self.tftp_port = tftp_port
            except:
                pass
        else:
            self.tftp_server = None
        atexit.register(self.kill_console_at_exit)
コード例 #4
0
ファイル: openwrt_router.py プロジェクト: fasolens/boardfarm
    def __init__(self,
                 model,
                 conn_cmd,
                 power_ip,
                 power_outlet,
                 output=sys.stdout,
                 password='******',
                 web_proxy=None,
                 tftp_server=None,
                 tftp_username=None,
                 tftp_password=None,
                 tftp_port=None,
                 connection_type=None,
                 power_username=None,
                 power_password=None,
                 **kwargs):

        self.consoles.append(self)

        if type(conn_cmd) is list:
            self.conn_list = conn_cmd
            conn_cmd = self.conn_list[0]

        if connection_type is None:
            print("\nWARNING: Unknown connection type using ser2net\n")
            connection_type = "ser2net"

        self.connection = connection_decider.connection(connection_type, device=self, conn_cmd=conn_cmd, **kwargs)
        self.connection.connect()
        self.logfile_read = output

        self.power = power.get_power_device(power_ip, outlet=power_outlet, username=power_username, password=power_password)
        self.model = model
        self.web_proxy = web_proxy
        if tftp_server:
            try:
                self.tftp_server = socket.gethostbyname(tftp_server)
                if tftp_username:
                    self.tftp_username = tftp_username
                if tftp_password:
                    self.tftp_password = tftp_password
                if tftp_port:
                    self.tftp_port = tftp_port
            except:
                pass
        else:
            self.tftp_server = None
        atexit.register(self.kill_console_at_exit)
コード例 #5
0
    def __init__(self,
                 model,
                 conn_cmd,
                 power_ip,
                 power_outlet,
                 output=sys.stdout,
                 password='******',
                 web_proxy=None,
                 tftp_server=None,
                 tftp_username=None,
                 tftp_password=None,
                 connection_type=None,
                 power_username=None,
                 power_password=None,
                 **kwargs):

        if connection_type is None:
            print("\nWARNING: Unknown connection type using ser2net\n")
            connection_type = "ser2net"

        self.connection = connection_decider.connection(connection_type,
                                                        device=self,
                                                        conn_cmd=conn_cmd,
                                                        **kwargs)
        self.connection.connect()
        self.logfile_read = output

        self.power = power.get_power_device(power_ip,
                                            outlet=power_outlet,
                                            username=power_username,
                                            password=power_password)
        self.model = model
        self.web_proxy = web_proxy
        if tftp_server:
            self.tftp_server = socket.gethostbyname(tftp_server)
            if tftp_username:
                self.tftp_username = tftp_username
            if tftp_password:
                self.tftp_password = tftp_password
        else:
            self.tftp_server = None
        self.lan_iface = "eth1"
        self.wan_iface = "eth0"
        atexit.register(self.kill_console_at_exit)
コード例 #6
0
    def __init__(
        self,
        model,
        conn_cmd,
        power_ip,
        power_outlet,
        output=sys.stdout,
        password="******",
        web_proxy=None,
        tftp_server=None,
        tftp_username=None,
        tftp_password=None,
        connection_type=None,
        power_username=None,
        power_password=None,
        **kwargs
    ):

        if connection_type is None:
            connection_type = "ser2net"

        self.logfile_read = output
        self.connection = connection_decider.connection(connection_type, device=self, conn_cmd=conn_cmd, **kwargs)
        self.connection.connect()

        self.power = power.get_power_device(
            power_ip, outlet=power_outlet, username=power_username, password=power_password
        )
        self.model = model
        self.web_proxy = web_proxy
        if tftp_server:
            self.tftp_server = socket.gethostbyname(tftp_server)
            if tftp_username:
                self.tftp_username = tftp_username
            if tftp_password:
                self.tftp_password = tftp_password
        else:
            self.tftp_server = None
        self.lan_iface = "eth1"
        self.wan_iface = "eth0"
        atexit.register(self.kill_console_at_exit)