Python Netmiko OSError: Wyszukiwanie wzorca nigdy wykryte w send_command_expect:

głosy
0

Niedawno rozpoczął programowania z Pythona. Pracuję jako inżynier sieci i obecnie buduje program do ściągania „stan zrzuca” z urządzeniami Ciena. Używam netmiko podłączyć do urządzenia. Teraz zawsze pojawia się następujący błąd:

OSError: Wyszukiwanie wzorca nigdy wykryte w send_command_expect: 5160_1>

„5160_1>” to nazwa hosta / szybka na przełączniku. Czytałem, że mogę dać „expect_string” do „send_command”. Niestety, ten nie ma wpływu, a ja wciąż dostać ten błąd.

Jest to funkcja, z którym tworzę zrzutu stanu i wywołać funkcję pobierania plików.

def create_sd():
    for ip in sw_connect_ips:
        try:
            sw_connection = ConnectHandler(device_type=sw_dev_type, host=ip, username=sw_usr, password=sw_pw)
            try:
                print('\nconnnected to host > ' + ip + '\n')
                hostname = sw_connection.find_prompt()
                print('hostname of device > ' + hostname)
                sw_connection.send_command('system server sftp enable', expect_string=hostname)
                sw_connection.send_command('configuration save', expect_string=hostname)
                sw_output = sw_connection.send_command('system state-dump file-name ' + ip + '_sd_timestamp_' + str(date.hour) + '_' + str(date.minute) + '_' + str(date.second), expect_string=hostname + ' ')
                filename = ip + '_sd_timestamp_' + str(date.hour) + '_' + str(date.minute) + '_' + str(date.second)
                print('got state-dump ' + filename + ' from host > ' + ip)
                logging.debug(sw_output)
                logging.debug(sw_connection)
                sw_connection.disconnect()
                try:
                    sftp_get(filename, ip)
                except:
                    raise Exception('scp failed')
            except:
                raise Exception('command does not exist on switch > ' + ip)
        except:
            raise SSHException('unable to connect to switch check username, password and ip address')

Nie wiem, czy wszystkie wyjątki zrobić tak wiele sensu. Może ktoś ma wskazówka dla mnie.

Z góry dziękuję.

Edycja: Co jest dziwne, moim zdaniem jest to, że występuje tylko w niektórych przełączników.

Utwórz 19/03/2020 o 19:45
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

w poleceniu z których tworzony jest zrzut stan, ja zwiększyły „send_command” czynnik opóźnienia do 5.

sw_output = sw_connection.send_command ('system state-dump file-name' + ip + '_sd_timestamp_' + str (date.hour) + '_' + str (date.minute) + '_' + str (date.second) , expect_string = hostname, delay_factor = 5)

W rezultacie, już nie dostać wyjątek netmiko i działa program bez problemów.

Odpowiedział 19/03/2020 o 21:26
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more