本文整理汇总了Python中pyIOSXR.IOSXR.compare_config方法的典型用法代码示例。如果您正苦于以下问题:Python IOSXR.compare_config方法的具体用法?Python IOSXR.compare_config怎么用?Python IOSXR.compare_config使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyIOSXR.IOSXR
的用法示例。
在下文中一共展示了IOSXR.compare_config方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: IOSXRDriver
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import compare_config [as 别名]
class IOSXRDriver(NetworkDriver):
def __init__(self, hostname, username, password):
self.hostname = hostname
self.username = username
self.password = password
self.device = IOSXR(hostname, username, password)
self.pending_changes = False
def open(self):
self.device.open()
def close(self):
self.device.close()
def load_replace_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = True
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise ReplaceConfigException(e.message)
def load_merge_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = False
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise MergeConfigException(e.message)
def compare_config(self):
if not self.pending_changes:
return ""
elif self.replace:
return self.device.compare_replace_config()
else:
return self.device.compare_config()
def commit_config(self):
if self.replace:
self.device.commit_replace_config()
else:
self.device.commit_config()
self.pending_changes = False
def discard_config(self):
self.device.discard_config()
self.pending_changes = False
def rollback(self):
self.device.rollback()
示例2: test_compare_config
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import compare_config [as 别名]
def test_compare_config(self, mock_show, mock_sendline, mock_expect, mock_spawn):
'''
Test pyiosxr class compare_config
Should return True
'''
device = IOSXR(hostname='hostname', username='ejasinska', password='passwd', port=22, timeout=60, logfile=None, lock=False)
mock_spawn.return_value = None
device.open()
mock_show.return_value = ''
self.assertEqual('', device.compare_config())
示例3: IOSXRDriver
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import compare_config [as 别名]
class IOSXRDriver(NetworkDriver):
def __init__(self, hostname, username, password, timeout=60):
self.hostname = hostname
self.username = username
self.password = password
self.timeout = timeout
self.device = IOSXR(hostname, username, password, timeout=timeout)
self.pending_changes = False
self.replace = False
def open(self):
self.device.open()
def close(self):
self.device.close()
def load_replace_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = True
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise ReplaceConfigException(e.message)
def load_merge_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = False
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise MergeConfigException(e.message)
def compare_config(self):
if not self.pending_changes:
return ''
elif self.replace:
return self.device.compare_replace_config().strip()
else:
return self.device.compare_config().strip()
def commit_config(self):
if self.replace:
self.device.commit_replace_config()
else:
self.device.commit_config()
self.pending_changes = False
def discard_config(self):
self.device.discard_config()
self.pending_changes = False
def rollback(self):
self.device.rollback()
def get_facts(self):
sh_ver = self.device.show_version()
for line in sh_ver.splitlines():
if 'Cisco IOS XR Software' in line:
os_version = line.split()[-1]
elif 'uptime' in line:
uptime = string_parsers.convert_uptime_string_seconds(line)
hostname = line.split()[0]
fqdn = line.split()[0]
elif 'Series' in line:
model = ' '.join(line.split()[1:3])
interface_list = list()
for x in self.device.show_interface_description().splitlines()[3:-1]:
if '.' not in x:
interface_list.append(x.split()[0])
result = {
'vendor': u'Cisco',
'os_version': unicode(os_version),
'hostname': unicode(hostname),
'uptime': uptime,
'model': unicode(model),
'serial_number': u'',
'fqdn': unicode(fqdn),
'interface_list': interface_list,
}
return result
def get_interfaces(self):
# init result dict
result = {}
# fetch show interface output
sh_int = self.device.show_interfaces()
#.........这里部分代码省略.........
示例4: IOSXRDriver
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import compare_config [as 别名]
class IOSXRDriver(NetworkDriver):
def __init__(self, hostname, username, password, timeout=60):
self.hostname = hostname
self.username = username
self.password = password
self.timeout = timeout
self.device = IOSXR(hostname, username, password, timeout=timeout)
self.pending_changes = False
self.replace = False
def open(self):
self.device.open()
def close(self):
self.device.close()
def load_replace_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = True
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise ReplaceConfigException(e.message)
def load_merge_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = False
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise MergeConfigException(e.message)
def compare_config(self):
if not self.pending_changes:
return ""
elif self.replace:
return self.device.compare_replace_config().strip()
else:
return self.device.compare_config().strip()
def commit_config(self):
if self.replace:
self.device.commit_replace_config()
else:
self.device.commit_config()
self.pending_changes = False
def discard_config(self):
self.device.discard_config()
self.pending_changes = False
def rollback(self):
self.device.rollback()
def get_facts(self):
sh_ver = self.device.show_version()
for line in sh_ver.splitlines():
if "Cisco IOS XR Software" in line:
os_version = line.split()[-1]
elif "uptime" in line:
uptime = string_parsers.convert_uptime_string_seconds(line)
hostname = line.split()[0]
fqdn = line.split()[0]
elif "Series" in line:
model = " ".join(line.split()[1:3])
interface_list = list()
for x in self.device.show_interface_description().splitlines()[3:-1]:
if "." not in x:
interface_list.append(x.split()[0])
result = {
"vendor": u"Cisco",
"os_version": unicode(os_version),
"hostname": unicode(hostname),
"uptime": uptime,
"model": unicode(model),
"serial_number": u"",
"fqdn": unicode(fqdn),
"interface_list": interface_list,
}
return result
def get_interfaces(self):
# init result dict
result = {}
# fetch show interface output
sh_int = self.device.show_interfaces()
#.........这里部分代码省略.........
示例5: print
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import compare_config [as 别名]
xr_device.open()
try:
xr_device.load_candidate_config(filename=xr_filename)
except Exception as err:
print ('Error occured while loading candidate configs',err)
continue
if args.confirm is True:
pprint("Confirmation bypassed")
xr_device.commit_config()
xr_device.close()
continue
else:
pprint("The following configs will be applied ")
diff = xr_device.compare_config()
commit_config = ''
while commit_config != 'YES' and commit_config != 'NO':
commit_config = raw_input('Apply configuration (YES/NO)')
if commit_config == 'YES':
pprint("Commiting")
rsp = xr_device.commit_config()
if rsp is True:
pprint ("Commit successful")
xr_device.close()
elif commit_config == 'NO' :
pprint("Rolling back")
xr_device.rollback()
xr_device.close()
else:
示例6: IOSXRDriver
# 需要导入模块: from pyIOSXR import IOSXR [as 别名]
# 或者: from pyIOSXR.IOSXR import compare_config [as 别名]
class IOSXRDriver(NetworkDriver):
def __init__(self, hostname, username, password, timeout=60):
self.hostname = hostname
self.username = username
self.password = password
self.timeout = timeout
self.device = IOSXR(hostname, username, password, timeout=timeout)
self.pending_changes = False
self.replace = False
def open(self):
self.device.open()
def close(self):
self.device.close()
def load_replace_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = True
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise ReplaceConfigException(e.message)
def load_merge_candidate(self, filename=None, config=None):
self.pending_changes = True
self.replace = False
try:
self.device.load_candidate_config(filename=filename, config=config)
except InvalidInputError as e:
self.pending_changes = False
self.replace = False
raise MergeConfigException(e.message)
def compare_config(self):
if not self.pending_changes:
return ''
elif self.replace:
return self.device.compare_replace_config().strip()
else:
return self.device.compare_config().strip()
def commit_config(self):
if self.replace:
self.device.commit_replace_config()
else:
self.device.commit_config()
self.pending_changes = False
def discard_config(self):
self.device.discard_config()
self.pending_changes = False
def rollback(self):
self.device.rollback()
def get_facts(self):
sh_ver = self.device.show_version()
for line in sh_ver.splitlines():
if 'Cisco IOS XR Software' in line:
os_version = line.split()[-1]
elif 'uptime' in line:
uptime = string_parsers.convert_uptime_string_seconds(line)
hostname = line.split()[0]
fqdn = line.split()[0]
elif 'Series' in line:
model = ' '.join(line.split()[1:3])
interface_list = list()
for x in self.device.show_interface_description().splitlines()[3:-1]:
if '.' not in x:
interface_list.append(x.split()[0])
result = {
'vendor': u'Cisco',
'os_version': unicode(os_version),
'hostname': unicode(hostname),
'uptime': uptime,
'model': unicode(model),
'serial_number': u'',
'fqdn': unicode(fqdn),
'interface_list': interface_list,
}
return result
def get_interfaces(self):
# init result dict
result = {}
# fetch show interface output
sh_int = self.device.show_interfaces()
#.........这里部分代码省略.........