def demonstrate(device_name, interface_config): print("Initial configuration:") initial = interface_config print(initial) assert not initial.shutdown print() print("Shutdown interface %s on %s:" % (initial.name, device_name)) print('interface_configuration_update(' + device_name, initial.name, initial.description, initial.address, initial.netmask, shutdown, sep=', ', end=')\n') interface_configuration_update(device_name, initial.name, description=initial.description, address=initial.address, netmask=initial.netmask, shutdown=shutdown) print() print("Modified configuration:") modified = interface_configuration_tuple(device_name, initial.name) print(modified) assert modified.shutdown
def test_description_absent(self): """ Configure any interface to have no description. Attempt the task exactly once. Restore the original description to the interface. """ for device_name in inventory_connected(): for interface_name in interface_names(device_name): original_info = interface_configuration_tuple( device_name, interface_name) interface_configuration_update(device_name, interface_name, None, original_info.address, original_info.netmask, original_info.active, original_info.shutdown) modified_info = interface_configuration_tuple( device_name, interface_name) self.assertIsNone(modified_info.description) interface_configuration_update(device_name, interface_name, original_info.description, original_info.address, original_info.netmask, original_info.active, original_info.shutdown) return self.fail( "Expected (at least) one connected device with (at least) one interface." )
def test_description_absent(self): """ Configure any interface to have no description. Attempt the task exactly once. Restore the original description to the interface. """ for device_name in inventory_connected(): for interface_name in interface_names(device_name): original_info = interface_configuration_tuple(device_name, interface_name) interface_configuration_update(device_name, interface_name, None, original_info.address, original_info.netmask, original_info.active, original_info.shutdown) modified_info = interface_configuration_tuple(device_name, interface_name) self.assertIsNone(modified_info.description) interface_configuration_update(device_name, interface_name, original_info.description, original_info.address, original_info.netmask, original_info.active, original_info.shutdown) return self.fail("Expected (at least) one connected device with (at least) one interface.")
def demonstrate(device_name, interface_config): print("Initial configuration:") initial = interface_config print(initial) assert not initial.shutdown print() print("Shutdown interface %s on %s:" % (initial.name, device_name)) print('interface_configuration_update(' + device_name, initial.name, initial.description, initial.address, initial.netmask, shutdown, sep=', ', end=')\n') interface_configuration_update(device_name, initial.name, description=initial.description, address=initial.address, netmask=initial.netmask, shutdown=shutdown) print() print("Modified configuration:") modified = interface_configuration_tuple(device_name, initial.name) print(modified) assert modified.shutdown
def demonstrate(device_name, interface_name): print("Initial configuration:") print('interface_configuration_tuple(%s, %s):' % (device_name, interface_name)) initial = interface_configuration_tuple(device_name, interface_name) print(initial) try: print() print("Modify configuration:") print('interface_configuration_update(%s, %s, %s, %s, %s, %s)' % (device_name, interface_name, temp_description, temp_address, temp_netmask, not initial.shutdown)) interface_configuration_update(device_name, initial.name, description=temp_description, address=temp_address, netmask=temp_netmask, shutdown=not initial.shutdown) print() print("Modified configuration:") print('interface_configuration_tuple(%s, %s):' % (device_name, interface_name)) modified = interface_configuration_tuple(device_name, initial.name) print(modified) assert modified.name == initial.name assert modified.description != initial.description assert modified.address != initial.address assert modified.netmask != initial.netmask assert modified.shutdown != initial.shutdown finally: print() print("Restore configuration:") print('interface_configuration_update(%s, %s, %s, %s, %s, %s)' % (device_name, interface_name, initial.description, initial.address, initial.netmask, initial.shutdown)) interface_configuration_update(device_name, interface_name, description=initial.description, address=initial.address, netmask=initial.netmask, shutdown=initial.shutdown) print() print("Restored configuration:") print('interface_configuration_tuple(%s, %s):' % (device_name, interface_name)) restored = interface_configuration_tuple(device_name, interface_name) print(restored) assert restored.name == initial.name assert restored.description == initial.description, "Expected '%s' %s got '%s' %s" % (initial.description, type(initial.description), restored.description, type(restored.description)) assert restored.address == initial.address assert restored.netmask == initial.netmask assert restored.shutdown == initial.shutdown assert restored.active == initial.active
def demonstrate(device_name, interface_name): print("Initial configuration:") print('interface_configuration_tuple(%s, %s):' % (device_name, interface_name)) initial = interface_configuration_tuple(device_name, interface_name) print(initial) try: print() print("Modify configuration:") print('interface_configuration_update(%s, %s, %s, %s, %s, %s)' % (device_name, interface_name, temp_description, temp_address, temp_netmask, not initial.shutdown)) interface_configuration_update(device_name, initial.name, description=temp_description, address=temp_address, netmask=temp_netmask, shutdown=not initial.shutdown) print() print("Modified configuration:") print('interface_configuration_tuple(%s, %s):' % (device_name, interface_name)) modified = interface_configuration_tuple(device_name, initial.name) print(modified) assert modified.name == initial.name assert modified.description != initial.description assert modified.address != initial.address assert modified.netmask != initial.netmask assert modified.shutdown != initial.shutdown finally: print() print("Restore configuration:") print('interface_configuration_update(%s, %s, %s, %s, %s, %s)' % (device_name, interface_name, initial.description, initial.address, initial.netmask, initial.shutdown)) interface_configuration_update(device_name, interface_name, description=initial.description, address=initial.address, netmask=initial.netmask, shutdown=initial.shutdown) print() print("Restored configuration:") print('interface_configuration_tuple(%s, %s):' % (device_name, interface_name)) restored = interface_configuration_tuple(device_name, interface_name) print(restored) assert restored.name == initial.name assert restored.description == initial.description, "Expected '%s' %s got '%s' %s" % (initial.description, type(initial.description), restored.description, type(restored.description)) assert restored.address == initial.address assert restored.netmask == initial.netmask assert restored.shutdown == initial.shutdown assert restored.active == initial.active
def main(): device_list=settings.config['network_device'] connected_list = topology.connected_nodes() if len(connected_list) != len(device_list): print('not all devices are connected!') return device_1 = 'iosxrv-1' device_2 = 'iosxrv-2' device_3 = 'iosxrv-3' device_4 = 'iosxrv-4' device_5 = 'iosxrv-5' device_6 = 'iosxrv-6' device_7 = 'iosxrv-7' device_8 = 'iosxrv-8' interface_0 = 'GigabitEthernet0/0/0/0' interface_1 = 'GigabitEthernet0/0/0/1' interface_2 = 'GigabitEthernet0/0/0/2' interface_3 = 'GigabitEthernet0/0/0/3' interface_4 = 'GigabitEthernet0/0/0/4' interface_5 = 'GigabitEthernet0/0/0/5' interface_6 = 'GigabitEthernet0/0/0/6' #link device_1 to device_2 initial = interface_configuration_tuple(device_1, interface_0) #print_table(initial) ip_address = '10.0.12.1' ip_netmask = '255.255.255.0' description = 'connect to device_2' interface_configuration_update(device_1, initial.name, description=description, address=ip_address, netmask=ip_netmask, shutdown=False) print_table(interface_configuration_tuple(device_1, interface_0)) #link device_2 to device_1 initial = interface_configuration_tuple(device_2, interface_0) #print_table(initial) ip_address = '10.0.12.2' ip_netmask = '255.255.255.0' description = 'connect to device_1' interface_configuration_update(device_2, initial.name, description=description, address=ip_address, netmask=ip_netmask, shutdown=False) print_table(interface_configuration_tuple(device_2, interface_0)) #display print('set link device_1 <-> device_2') #link device_1 to device_8 initial = interface_configuration_tuple(device_1, interface_5) #print_table(initial) ip_address = '10.0.18.1' ip_netmask = '255.255.255.0' description = 'connect to device_8' interface_configuration_update(device_1, initial.name, description=description, address=ip_address, netmask=ip_netmask, shutdown=False) print_table(interface_configuration_tuple(device_1, interface_5)) #link device_8 to device_1 initial = interface_configuration_tuple(device_8, interface_1) #print_table(initial) ip_address = '10.0.18.8' ip_netmask = '255.255.255.0' description = 'connect to device_1' interface_configuration_update(device_8, initial.name, description=description, address=ip_address, netmask=ip_netmask, shutdown=False) print_table(interface_configuration_tuple(device_8, interface_1)) #display print('set link device_1 <-> device_8') #link device_2 to device_8 initial = interface_configuration_tuple(device_2, interface_2) #print_table(initial) ip_address = '10.0.28.2' ip_netmask = '255.255.255.0' description = 'connect to device_8' interface_configuration_update(device_2, initial.name, description=description, address=ip_address, netmask=ip_netmask, shutdown=False) print_table(interface_configuration_tuple(device_2, interface_2)) #link device_8 to device_2 initial = interface_configuration_tuple(device_8, interface_2) #print_table(initial) ip_address = '10.0.28.8' ip_netmask = '255.255.255.0' description = 'connect to device_2' interface_configuration_update(device_8, initial.name, description=description, address=ip_address, netmask=ip_netmask, shutdown=False) print_table(interface_configuration_tuple(device_8, interface_2)) #display print('set link device_2 <-> device_8')