本文整理汇总了Python中pyIOSXR.IOSXR.make_rpc_call方法的典型用法代码示例。如果您正苦于以下问题:Python IOSXR.make_rpc_call方法的具体用法?Python IOSXR.make_rpc_call怎么用?Python IOSXR.make_rpc_call使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyIOSXR.IOSXR
的用法示例。
在下文中一共展示了IOSXR.make_rpc_call方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_make_rpc_call
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import make_rpc_call [as 别名]
def test_make_rpc_call(self, mock_rpc, mock_sendline, mock_expect, mock_spawn):
'''
Test pyiosxr class make_rpc_call
Should return True
'''
device = IOSXR(hostname='hostname', username='ejasinska', password='passwd', port=22, timeout=60, logfile=None, lock=False)
mock_spawn.return_value = None
mock_rpc.return_value = ElementTree.fromstring('<xml></xml>')
device.open()
self.assertTrue(device.make_rpc_call("<Get><Operational><LLDP><NodeTable></NodeTable></LLDP></Operational></Get>"))
示例2: IOSXRDriver
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import make_rpc_call [as 别名]
#.........这里部分代码省略.........
is_enabled = None
is_up = None
mac_address = None
description = None
speed = None
# loop though and match each line
for line in interface_lines:
description = ''
if 'line protocol' in line:
lp = line.split()
interface_name = lp[0]
is_enabled = lp[2] == 'up,'
is_up = lp[6] == 'up'
elif 'bia' in line:
mac_address = line.split()[-1].replace(')', '')
elif 'Description' in line:
description = ' '.join(line.split()[1:])
elif 'BW' in line:
speed = int(line.split()[4]) / 1000
result[interface_name] = {
'is_enabled': is_enabled,
'is_up': is_up,
'mac_address': unicode(mac_address),
'description': unicode(description),
'speed': speed,
'last_flapped': -1.0,
}
return result
def get_interfaces_counters(self):
rpc_command = "<Get><Operational><Interfaces><InterfaceTable></InterfaceTable></Interfaces></Operational></Get>"
result_tree = ET.fromstring(self.device.make_rpc_call(rpc_command))
interface_counters = dict()
for interface in result_tree.iter('Interface'):
interface_name = interface.find('InterfaceHandle').text
interface_stats = dict()
if interface.find('InterfaceStatistics') is None:
continue
else:
interface_stats = dict()
interface_stats['tx_multicast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/MulticastPacketsSent').text)
interface_stats['tx_discards'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/OutputDrops').text)
interface_stats['tx_octets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/BytesSent').text)
interface_stats['tx_errors'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/OutputErrors').text)
interface_stats['rx_octets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/BytesReceived').text)
interface_stats['tx_unicast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/PacketsSent').text)
interface_stats['rx_errors'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/InputErrors').text)
interface_stats['tx_broadcast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/BroadcastPacketsSent').text)
interface_stats['rx_multicast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/MulticastPacketsReceived').text)
interface_stats['rx_broadcast_packets'] = int(interface.find(
示例3: IOSXRDriver
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import make_rpc_call [as 别名]
#.........这里部分代码省略.........
is_enabled = None
is_up = None
mac_address = None
description = None
speed = None
# loop though and match each line
for line in interface_lines:
description = ''
if 'line protocol' in line:
lp = line.split()
interface_name = lp[0]
is_enabled = lp[2] == 'up,'
is_up = lp[6] == 'up'
elif 'bia' in line:
mac_address = line.split()[-1].replace(')', '')
elif 'Description' in line:
description = ' '.join(line.split()[1:])
elif 'BW' in line:
speed = int(line.split()[4]) / 1000
result[interface_name] = {
'is_enabled': is_enabled,
'is_up': is_up,
'mac_address': unicode(mac_address),
'description': unicode(description),
'speed': speed,
'last_flapped': -1.0,
}
return result
def get_interfaces_counters(self):
rpc_command = "<Get><Operational><Interfaces><InterfaceTable></InterfaceTable></Interfaces></Operational></Get>"
result_tree = ET.fromstring(self.device.make_rpc_call(rpc_command))
interface_counters = dict()
for interface in result_tree.iter('Interface'):
interface_name = interface.find('InterfaceHandle').text
interface_stats = dict()
if not interface.find('InterfaceStatistics'):
continue
else:
interface_stats = dict()
interface_stats['tx_multicast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/MulticastPacketsSent').text)
interface_stats['tx_discards'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/OutputDrops').text)
interface_stats['tx_octets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/BytesSent').text)
interface_stats['tx_errors'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/OutputErrors').text)
interface_stats['rx_octets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/BytesReceived').text)
interface_stats['tx_unicast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/PacketsSent').text)
interface_stats['rx_errors'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/InputErrors').text)
interface_stats['tx_broadcast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/BroadcastPacketsSent').text)
interface_stats['rx_multicast_packets'] = int(interface.find(
'InterfaceStatistics/FullInterfaceStats/MulticastPacketsReceived').text)
interface_stats['rx_broadcast_packets'] = int(interface.find(