Я написал ниже код для входа в HP ARuba Switches и внесения изменений .. Но он не работает .. После входа в систему выдает ошибку. Что я могу изменить в приведенном ниже коде, чтобы он работал с ОС Aruba. Он должен выдать ошибку, если что-то пойдет не так, и сохранить ее в одном файле на основе ошибки. И если приходит любое другое устройство, кроме Aruba, должно выдать ошибку и продолжить. Модель - 2930F-48G-PoE
Любая помощь будет принята с благодарностью.
from getpass import getpass
from netmiko import ConnectHandler
from netmiko.ssh_exception import NetMikoTimeoutException
from netmiko.ssh_exception import AuthenticationException
from paramiko.ssh_exception import SSHException
from netmiko.aruba import ArubaSSH
from netmiko.aruba import *
username = input("Enter username: ")
password = getpass()
with open('HP_commands_file.txt') as f:
commands_list = f.read().splitlines()
with open('HP_devices_list.txt') as f:
devices_list = f.read().splitlines()
for devices in devices_list:
print("Connecting to device: " + devices)
host_name_of_device = devices
hp_device = {
'device_type' : 'hp_procurve' ,
'host' : host_name_of_device ,
'username' : username ,
'password' : password ,
}
## If we want error to be stored in particular file
Timeouts=open("Connection_TimeOuts_HP.txt", "a")
Authfailure=open("Auth_failures_HP.txt", "a")
SSHException=("SSH_Failure_HP.txt", 'a')
EOFError=("EOFerrors_HP.txt",'a')
UnknownError=("UnknownError_HP.txt",'a')
################# End#############
try:
net_connect = ConnectHandler(**hp_device)
except (AuthenticationException):
print("Authetication failure: " + host_name_of_device)
Authfailure.write('\n########\n' + host_name_of_device)
continue
except (NetMikoTimeoutException):
print("Time out from device: " + host_name_of_device)
Timeouts.write('\n########\n' + host_name_of_device)
continue
except (EOFError):
print("End of File reached: " + host_name_of_device)
EOFError.write('\n' + host_name_of_device)
continue
except (SSHException):
print("Not able to SSH: Try with Telnet: " + host_name_of_device)
SSHException.write('\n########\n' + host_name_of_device)
continue
except Exception as unknown_error:
print("May be error with enable mode or device name is wrong or other: " + str(unknown_error))
continue
output = net_connect.send_config_set(commands_list)
print(output)