79 lines
3.0 KiB
Python
79 lines
3.0 KiB
Python
import napalm
|
|
import filecmp
|
|
import difflib
|
|
import sys
|
|
|
|
|
|
print("\n----- connecting to device, comparing configs ----------")
|
|
driver = napalm.get_network_driver('ios')
|
|
with driver(hostname='192.168.254.200',
|
|
username='cisco',
|
|
password='cisco') as device:
|
|
|
|
# print("\n----- load_replace_candidate ----------")
|
|
# config = device.get_config()
|
|
# config_running = config["running"]
|
|
|
|
# with open("cisco.ios.running.CML-iosv-0.config.config", "r") as config_out:
|
|
# config_standard = config_out.read()
|
|
#
|
|
# cmp = filecmp.cmp("cisco.iosxe.standard.config", "cisco.iosxe.running.config", shallow=False)
|
|
# difflines = difflib.context_diff(config_running.splitlines(), config_standard.splitlines(), fromfile="running", tofile="standard")
|
|
# for line in difflines:
|
|
# print(line)
|
|
#
|
|
device.load_merge_candidate(filename="cisco.ios.running.CML-iosv-0.config")
|
|
diff = device.compare_config()
|
|
print("----- DIFF ------------\n", diff)
|
|
|
|
|
|
# print("\n----- connecting to device ----------")
|
|
# driver = napalm.get_network_driver('ios')
|
|
# with driver(hostname='ios-xe-mgmt-latest.cisco.com',
|
|
# username='developer',
|
|
# password='C1sco12345',
|
|
# optional_args={'port': 8181}) as device:
|
|
#
|
|
# print("\n----- load_replace_candidate ----------")
|
|
# config = device.get_config()
|
|
# config_running = config["running"]
|
|
#
|
|
# with open("cisco.iosxe.standard.config", "r") as config_out:
|
|
# config_standard = config_out.read()
|
|
# with open("cisco.iosxe.running.config", "w") as config_out:
|
|
# config_out.write(config["running"])
|
|
#
|
|
# cmp = filecmp.cmp("cisco.iosxe.standard.config", "cisco.iosxe.running.config", shallow=False)
|
|
# difflines = difflib.context_diff(config_running.splitlines(), config_standard.splitlines(), fromfile="running", tofile="standard")
|
|
# for line in difflines:
|
|
# print(line)
|
|
#
|
|
# # device.load_replace_candidate(filename="cisco.iosxe.standard.config")
|
|
# # diff = device.compare_config()
|
|
# # print(diff)
|
|
#
|
|
# driver = napalm.get_network_driver('nxos_ssh')
|
|
# with driver(hostname='sbx-nxos-mgmt.cisco.com',
|
|
# username='admin',
|
|
# password='Admin_1234!',
|
|
# optional_args={'port': 8181}) as device:
|
|
#
|
|
# print("\n----- load_replace_candidate ----------")
|
|
# config = device.get_config()
|
|
# config_running = config["running"]
|
|
#
|
|
# with open("cisco.nxos.standard.config", "r") as config_out:
|
|
# config_standard = config_out.read()
|
|
# with open("cisco.nxos.running.config", "w") as config_out:
|
|
# config_out.write(config["running"])
|
|
#
|
|
# cmp = filecmp.cmp("cisco.nxos.standard.config", "cisco.nxos.running.config", shallow=False)
|
|
# difflines = difflib.context_diff(config_running.splitlines(), config_standard.splitlines(), fromfile="running", tofile="standard")
|
|
# for line in difflines:
|
|
# print(line)
|
|
#
|
|
# # device.load_replace_candidate(filename="cisco.nxos.standard.config")
|
|
# # diff = device.compare_config()
|
|
# # print(diff)
|
|
#
|