def main(): device_list=settings.config['network_device'] #dismount each nodes mounted_list = topology.mounted_nodes() if mounted_list: for device_name in mounted_list: topology.dismount(device_name) print('all devices dismount.') #mount each nodes unmounted_list = topology.unmounted_nodes() if unmounted_list: for device_name in unmounted_list: mount_device(device_name) print('mount %s' % device_name) time.sleep(1) print('mount each nodes.') time.sleep(5) connected_list = topology.connected_nodes() print('connected: ', connected_list) #mount each disconnected nodes mounted_list = topology.mounted_nodes() while len(device_list)!=len(connected_list): print('%s devices connected' % len(connected_list)) for device_name in device_list: if device_name in connected_list: continue else: if device_name in mounted_list: topology.dismount(device_name) print('dismount %s' % device_name) time.sleep(1) mount_device(device_name) print('mount %s' % device_name) time.sleep(3) if device_name in topology.connected_nodes(): print('connected %s success' % device_name) else: print('connected %s failed' % device_name) connected_list = topology.connected_nodes() print('all devices are connected!', connected_list)
def dismount_device(device_name): """Dismount a single device by removing from the NETCONF topology.""" print('device_dismount(' + device_name, end=')\n') topology.dismount(device_name)