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)
Example #2
0
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)
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)