Пример #1
0
    def test_snmpget_by_cl(self, mock_exec_command):
        oid = "sysDescr.0"
        # Incorrect credentials
        incorr_credentials = {"version": "1v", "community": "public"}
        self.assertIsNone(utils.snmpget_by_cl(self.host, incorr_credentials, oid))
        # Switch timeout, failed to execute SNMPGET
        mock_exec_command.return_value = (1, None, "Timeout")
        with self.assertRaises(TimeoutError):
            utils.snmpget_by_cl(self.host, self.credentials, oid)

        # Successfully get system information
        mock_exec_command.return_value = (0, "Huawei Technologies", None)
        result = utils.snmpget_by_cl(self.host, self.credentials, oid)
        self.assertEqual("Huawei Technologies", result)
Пример #2
0
    def test_snmpget_by_cl(self, mock_exec_command):
        oid = "sysDescr.0"
        # Incorrect credentials
        incorr_credentials = {"version": "1v", "community": "public"}
        self.assertIsNone(
            utils.snmpget_by_cl(self.host, incorr_credentials, oid))
        # Switch timeout, failed to execute SNMPGET
        mock_exec_command.return_value = (1, None, "Timeout")
        with self.assertRaises(TimeoutError):
            utils.snmpget_by_cl(self.host, self.credentials, oid)

        # Successfully get system information
        mock_exec_command.return_value = (0, "Huawei Technologies", None)
        result = utils.snmpget_by_cl(self.host, self.credentials, oid)
        self.assertEqual("Huawei Technologies", result)
Пример #3
0
    def get_sys_info(self, host, credential):
        sys_info = None
        try:
            sys_info = utils.snmpget_by_cl(host,
                                           credential,
                                           self.snmp_sysdescr)
        except TimeoutError as e:
            return (None, e.message)

        return (sys_info, "")
Пример #4
0
    def get_sys_info(self, host, credential):
        """get sys info."""
        sys_info = None
        try:
            sys_info = utils.snmpget_by_cl(host,
                                           credential,
                                           self.snmp_sysdescr)
        except TimeoutError as error:
            return (None, error.message)

        return (sys_info, "")
Пример #5
0
    def get_port(self, if_index):
        """Get port number."""

        if_name = '.'.join((self.port_oid, if_index))
        result = None
        try:
            result = utils.snmpget_by_cl(self.host, self.credential, if_name)
        except TimeoutError as error:
            logging.debug("[PluginMac:get_port snmpget_by_cl failed: %s]",
                          error.message)
            return None

        # A result may be like "Value:  FasterEthernet1/2/34
        port = result.split()[-1].split('/')[-1]
        return port
Пример #6
0
    def get_vlan_id(self, port):
        """Get vlan Id."""
        if not port:
            return None

        oid = '.'.join((self.vlan_oid, port))
        vlan_id = None
        result = None
        try:
            result = utils.snmpget_by_cl(self.host, self.credential, oid)
        except TimeoutError as error:
            logging.debug("[PluginMac:get_vlan_id snmpget_by_cl failed: %s]",
                          error.message)
            return None

        vlan_id = result.split()[-1]
        return vlan_id