Comments (16)
Copy of : CiscoTestAutomation/genieparser#819
from genielibs.
Hello @widadzakaria,
Kindly provide the complete output of copy_to_device
with debug set to True in testbed. If you don't know how to set debug to True, then in testbed, under device, under connections, there will be a defaults, inside of that under line class: unicon.Unicon
you can place line debug: True
connections:
defaults:
class: unicon.Unicon
debug: True
from genielibs.
``Hi @SohanTirpude and @ParimiNeeraja
Thanks for taking car of my issue !
Here is the output of the copy_to_device, step 6, with debug on:
2024-02-07T13:30:11: %AETEST-INFO: +..............................................................................+
2024-02-07T13:30:11: %AETEST-INFO: : Starting STEP 6: Copying image file /IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2. :
2024-02-07T13:30:11: %AETEST-INFO: : All-SMUs.20230501.tar to device Router1 harddisk:/tmp-ALL-v7.4.2 :
2024-02-07T13:30:11: %AETEST-INFO: +..............................................................................+
2024-02-07 13:30:11,810: %UNICON-DEBUG: >>> Unicon Sending (target=Router1):: ''
2024-02-07 13:30:11,815: %UNICON-INFO: +++ Router1 with via 'cli': executing command 'copy ftp://username:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar' +++
2024-02-07 13:30:11,815: %UNICON-DEBUG: >>> Unicon Sending (target=Router1):: 'copy ftp://username:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r'
copy ftp://username:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar
Wed Feb 7 13:30:11.900 EST
Address or name of remote host [RemoteHost]?
2024-02-07 13:30:12,673: %UNICON-DEBUG: <<< Unicon Got (target=Router1):: 'copy ftp://username:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\rWed Feb 7 13:30:11.900 EST\r\nAddress or name of remote host [RemoteHost]?'
2024-02-07 13:30:12,673: %UNICON-DEBUG: *** Pattern List (target=Router1)::
2024-02-07 13:30:12,674: %UNICON-DEBUG: '^.*\\[confirm\\]\\s*[\\(\\[]y/n[\\]\\)].*$'
2024-02-07 13:30:12,674: %UNICON-DEBUG: '^.*(?<!Abort Copy\\? )\\[confirm\\].*$'
2024-02-07 13:30:12,674: %UNICON-DEBUG: '^.*\\[yes[/,][Nn][Oo]\\]\\s?:?\\s*$'
2024-02-07 13:30:12,674: %UNICON-DEBUG: '^.*?(%\\w+(-\\S+)?-\\d+-\\w+|Guestshell destroyed successfully|%Error opening tftp:\\/\\/255\\.255\\.255\\.255|Autoinstall trying|audit: kauditd hold queue overflow).*$'
2024-02-07 13:30:12,675: %UNICON-DEBUG: 'Do you wish to proceed?.*$'
2024-02-07 13:30:12,675: %UNICON-DEBUG: "\\[confirm( with only 'y' or 'n')?\\]\\s*\\[y/n\\].*$"
2024-02-07 13:30:12,675: %UNICON-DEBUG: 'Address or name of remote host.*$'
2024-02-07 13:30:12,675: %UNICON-DEBUG: 'Destination filename.*$'
2024-02-07 13:30:12,676: %UNICON-DEBUG: 'Abort Copy\\? \\[confirm\\]\\s*$'
2024-02-07 13:30:12,676: %UNICON-DEBUG: '(?<!Abort Copy\\? )\\[confirm\\]\\s*$'
2024-02-07 13:30:12,676: %UNICON-DEBUG: 'Are you sure you want to continue connecting.*$'
2024-02-07 13:30:12,676: %UNICON-DEBUG: 'Destination username.*$'
2024-02-07 13:30:12,677: %UNICON-DEBUG: 'Destination password.*$'
2024-02-07 13:30:12,677: %UNICON-DEBUG: '.*[D|d]estination file *name.*$'
2024-02-07 13:30:12,677: %UNICON-DEBUG: 'Enter username:\\s*$'
2024-02-07 13:30:12,677: %UNICON-DEBUG: '.*[P|p]assword:\\s*$'
2024-02-07 13:30:12,678: %UNICON-DEBUG: '[P|p]assword for .*$'
2024-02-07 13:30:12,678: %UNICON-DEBUG: 'Do you want to delete.*$'
2024-02-07 13:30:12,678: %UNICON-DEBUG: 'Host name or IP address.*$'
2024-02-07 13:30:12,678: %UNICON-DEBUG: 'Delete filename.*$'
2024-02-07 13:30:12,679: %UNICON-DEBUG: 'Source username.*$'
2024-02-07 13:30:12,679: %UNICON-DEBUG: 'Source filename.*$'
2024-02-07 13:30:12,679: %UNICON-DEBUG: ' *[O|o]verwrite.*continu.*$'
2024-02-07 13:30:12,679: %UNICON-DEBUG: '.*Do you want to (overwrite|overwritte|overwrit).*$'
2024-02-07 13:30:12,679: %UNICON-DEBUG: 'Enter vrf.*$'
2024-02-07 13:30:12,680: %UNICON-DEBUG: '.*This is a directory. +Do you want to continue.*$'
2024-02-07 13:30:12,680: %UNICON-DEBUG: '^.*--\\s?[Mm]ore\\s?--.*$'
2024-02-07 13:30:12,680: %UNICON-DEBUG: '^(.*?)RP/\\w+(/\\S+)?/\\S+\\d+:(Router1|ios|xr)\\s?#\\s?$'
2024-02-07 13:30:12,680: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)\\s?#\\s?$'
2024-02-07 13:30:12,681: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)#\\s?$'
2024-02-07 13:30:12,681: %UNICON-DEBUG: '^(.*?)(?:\\[(xr-vm_)?nodeD?\\d_(?:(?:RS?P|CB)[01]|[\\d+])_CPU\\d:(.*?)\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,681: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\s?#\\s?$|RP/\\S+\\(admin\\)\\s?#\\s?)$'
2024-02-07 13:30:12,681: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\(config.*\\)\\s?#\\s?|RP/\\S+\\(admin-config(\\S+)?\\)\\s?#\\s?)$'
2024-02-07 13:30:12,682: %UNICON-DEBUG: '^(.*?)(?:\\[sysadmin-vm:0_.*:([\\s\\S]+)?\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,682: %UNICON-DEBUG:
2024-02-07 13:30:12,682: %UNICON-DEBUG: *** Pattern Matched (target=Router1):: 'Address or name of remote host.*$'
2024-02-07 13:30:12,683: %UNICON-DEBUG: <unicon.eal.MatchMode mode_id=1, mode_name='search only last line'>
2024-02-07 13:30:12,683: %UNICON-DEBUG:
2024-02-07 13:30:12,683: %UNICON-DEBUG: Statement matched: '[pattern='Address or name of remote host.*$', action=sendline, args={'key': ''}, loop_continue=True, continue_timer=False, trim_buffer=True]'
2024-02-07 13:30:12,683: %UNICON-DEBUG: >>> Unicon Sending (target=Router1):: '\r'
Source username: [anonymous]?
2024-02-07 13:30:12,728: %UNICON-DEBUG: <<< Unicon Got (target=Router1):: '\r\n\rSource username: [anonymous]?'
2024-02-07 13:30:12,729: %UNICON-DEBUG: *** Pattern List (target=Router1)::
2024-02-07 13:30:12,729: %UNICON-DEBUG: '^.*\\[confirm\\]\\s*[\\(\\[]y/n[\\]\\)].*$'
2024-02-07 13:30:12,729: %UNICON-DEBUG: '^.*(?<!Abort Copy\\? )\\[confirm\\].*$'
2024-02-07 13:30:12,729: %UNICON-DEBUG: '^.*\\[yes[/,][Nn][Oo]\\]\\s?:?\\s*$'
2024-02-07 13:30:12,730: %UNICON-DEBUG: '^.*?(%\\w+(-\\S+)?-\\d+-\\w+|Guestshell destroyed successfully|%Error opening tftp:\\/\\/255\\.255\\.255\\.255|Autoinstall trying|audit: kauditd hold queue overflow).*$'
2024-02-07 13:30:12,730: %UNICON-DEBUG: 'Do you wish to proceed?.*$'
2024-02-07 13:30:12,730: %UNICON-DEBUG: "\\[confirm( with only 'y' or 'n')?\\]\\s*\\[y/n\\].*$"
2024-02-07 13:30:12,730: %UNICON-DEBUG: 'Address or name of remote host.*$'
2024-02-07 13:30:12,731: %UNICON-DEBUG: 'Destination filename.*$'
2024-02-07 13:30:12,731: %UNICON-DEBUG: 'Abort Copy\\? \\[confirm\\]\\s*$'
2024-02-07 13:30:12,731: %UNICON-DEBUG: '(?<!Abort Copy\\? )\\[confirm\\]\\s*$'
2024-02-07 13:30:12,732: %UNICON-DEBUG: 'Are you sure you want to continue connecting.*$'
2024-02-07 13:30:12,732: %UNICON-DEBUG: 'Destination username.*$'
2024-02-07 13:30:12,732: %UNICON-DEBUG: 'Destination password.*$'
2024-02-07 13:30:12,732: %UNICON-DEBUG: '.*[D|d]estination file *name.*$'
2024-02-07 13:30:12,733: %UNICON-DEBUG: 'Enter username:\\s*$'
2024-02-07 13:30:12,733: %UNICON-DEBUG: '.*[P|p]assword:\\s*$'
2024-02-07 13:30:12,733: %UNICON-DEBUG: '[P|p]assword for .*$'
2024-02-07 13:30:12,733: %UNICON-DEBUG: 'Do you want to delete.*$'
2024-02-07 13:30:12,733: %UNICON-DEBUG: 'Host name or IP address.*$'
2024-02-07 13:30:12,734: %UNICON-DEBUG: 'Delete filename.*$'
2024-02-07 13:30:12,734: %UNICON-DEBUG: 'Source username.*$'
2024-02-07 13:30:12,734: %UNICON-DEBUG: 'Source filename.*$'
2024-02-07 13:30:12,735: %UNICON-DEBUG: ' *[O|o]verwrite.*continu.*$'
2024-02-07 13:30:12,735: %UNICON-DEBUG: '.*Do you want to (overwrite|overwritte|overwrit).*$'
2024-02-07 13:30:12,735: %UNICON-DEBUG: 'Enter vrf.*$'
2024-02-07 13:30:12,736: %UNICON-DEBUG: '.*This is a directory. +Do you want to continue.*$'
2024-02-07 13:30:12,736: %UNICON-DEBUG: '^.*--\\s?[Mm]ore\\s?--.*$'
2024-02-07 13:30:12,736: %UNICON-DEBUG: '^(.*?)RP/\\w+(/\\S+)?/\\S+\\d+:(Router1|ios|xr)\\s?#\\s?$'
2024-02-07 13:30:12,736: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)\\s?#\\s?$'
2024-02-07 13:30:12,736: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)#\\s?$'
2024-02-07 13:30:12,737: %UNICON-DEBUG: '^(.*?)(?:\\[(xr-vm_)?nodeD?\\d_(?:(?:RS?P|CB)[01]|[\\d+])_CPU\\d:(.*?)\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,737: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\s?#\\s?$|RP/\\S+\\(admin\\)\\s?#\\s?)$'
2024-02-07 13:30:12,737: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\(config.*\\)\\s?#\\s?|RP/\\S+\\(admin-config(\\S+)?\\)\\s?#\\s?)$'
2024-02-07 13:30:12,737: %UNICON-DEBUG: '^(.*?)(?:\\[sysadmin-vm:0_.*:([\\s\\S]+)?\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,737: %UNICON-DEBUG:
2024-02-07 13:30:12,737: %UNICON-DEBUG: *** Pattern Matched (target=Router1):: 'Source username.*$'
2024-02-07 13:30:12,737: %UNICON-DEBUG: <unicon.eal.MatchMode mode_id=1, mode_name='search only last line'>
2024-02-07 13:30:12,737: %UNICON-DEBUG:
2024-02-07 13:30:12,738: %UNICON-DEBUG: Statement matched: '[pattern='Source username.*$', action=sendline, args={'key': 'username'}, loop_continue=True, continue_timer=False, trim_buffer=True]'
2024-02-07 13:30:12,738: %UNICON-DEBUG: >>> Unicon Sending (target=Router1):: 'username\r'
username
Source password:
2024-02-07 13:30:12,740: %UNICON-DEBUG: <<< Unicon Got (target=Router1):: 'username\r\n\rSource password: '
2024-02-07 13:30:12,740: %UNICON-DEBUG: *** Pattern List (target=Router1)::
2024-02-07 13:30:12,740: %UNICON-DEBUG: '^.*\\[confirm\\]\\s*[\\(\\[]y/n[\\]\\)].*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: '^.*(?<!Abort Copy\\? )\\[confirm\\].*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: '^.*\\[yes[/,][Nn][Oo]\\]\\s?:?\\s*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: '^.*?(%\\w+(-\\S+)?-\\d+-\\w+|Guestshell destroyed successfully|%Error opening tftp:\\/\\/255\\.255\\.255\\.255|Autoinstall trying|audit: kauditd hold queue overflow).*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: 'Do you wish to proceed?.*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: "\\[confirm( with only 'y' or 'n')?\\]\\s*\\[y/n\\].*$"
2024-02-07 13:30:12,741: %UNICON-DEBUG: 'Address or name of remote host.*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: 'Destination filename.*$'
2024-02-07 13:30:12,741: %UNICON-DEBUG: 'Abort Copy\\? \\[confirm\\]\\s*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: '(?<!Abort Copy\\? )\\[confirm\\]\\s*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: 'Are you sure you want to continue connecting.*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: 'Destination username.*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: 'Destination password.*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: '.*[D|d]estination file *name.*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: 'Enter username:\\s*$'
2024-02-07 13:30:12,742: %UNICON-DEBUG: '.*[P|p]assword:\\s*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: '[P|p]assword for .*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: 'Do you want to delete.*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: 'Host name or IP address.*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: 'Delete filename.*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: 'Source username.*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: 'Source filename.*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: ' *[O|o]verwrite.*continu.*$'
2024-02-07 13:30:12,743: %UNICON-DEBUG: '.*Do you want to (overwrite|overwritte|overwrit).*$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: 'Enter vrf.*$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '.*This is a directory. +Do you want to continue.*$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '^.*--\\s?[Mm]ore\\s?--.*$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '^(.*?)RP/\\w+(/\\S+)?/\\S+\\d+:(Router1|ios|xr)\\s?#\\s?$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)\\s?#\\s?$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)#\\s?$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '^(.*?)(?:\\[(xr-vm_)?nodeD?\\d_(?:(?:RS?P|CB)[01]|[\\d+])_CPU\\d:(.*?)\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,744: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\s?#\\s?$|RP/\\S+\\(admin\\)\\s?#\\s?)$'
2024-02-07 13:30:12,745: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\(config.*\\)\\s?#\\s?|RP/\\S+\\(admin-config(\\S+)?\\)\\s?#\\s?)$'
2024-02-07 13:30:12,745: %UNICON-DEBUG: '^(.*?)(?:\\[sysadmin-vm:0_.*:([\\s\\S]+)?\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,745: %UNICON-DEBUG:
2024-02-07 13:30:12,745: %UNICON-DEBUG: *** Pattern Matched (target=Router1):: '.*[P|p]assword:\\s*$'
2024-02-07 13:30:12,745: %UNICON-DEBUG: <unicon.eal.MatchMode mode_id=1, mode_name='search only last line'>
2024-02-07 13:30:12,745: %UNICON-DEBUG:
2024-02-07 13:30:12,745: %UNICON-DEBUG: Statement matched: '[pattern='.*[P|p]assword:\s*$', action=sendline, args={'key': 'Password'}, loop_continue=True, continue_timer=False, trim_buffer=True]'
2024-02-07 13:30:12,745: %UNICON-DEBUG: >>> Unicon Sending (target=Router1):: 'Password\r'
Destination filename [/harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar]?
2024-02-07 13:30:12,748: %UNICON-DEBUG: <<< Unicon Got (target=Router1):: '\r\nDestination filename [/harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar]?'
2024-02-07 13:30:12,748: %UNICON-DEBUG: *** Pattern List (target=Router1)::
2024-02-07 13:30:12,749: %UNICON-DEBUG: '^.*\\[confirm\\]\\s*[\\(\\[]y/n[\\]\\)].*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: '^.*(?<!Abort Copy\\? )\\[confirm\\].*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: '^.*\\[yes[/,][Nn][Oo]\\]\\s?:?\\s*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: '^.*?(%\\w+(-\\S+)?-\\d+-\\w+|Guestshell destroyed successfully|%Error opening tftp:\\/\\/255\\.255\\.255\\.255|Autoinstall trying|audit: kauditd hold queue overflow).*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Do you wish to proceed?.*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: "\\[confirm( with only 'y' or 'n')?\\]\\s*\\[y/n\\].*$"
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Address or name of remote host.*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Destination filename.*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Abort Copy\\? \\[confirm\\]\\s*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: '(?<!Abort Copy\\? )\\[confirm\\]\\s*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Are you sure you want to continue connecting.*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Destination username.*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: 'Destination password.*$'
2024-02-07 13:30:12,749: %UNICON-DEBUG: '.*[D|d]estination file *name.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Enter username:\\s*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '.*[P|p]assword:\\s*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '[P|p]assword for .*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Do you want to delete.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Host name or IP address.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Delete filename.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Source username.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Source filename.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: ' *[O|o]verwrite.*continu.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '.*Do you want to (overwrite|overwritte|overwrit).*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: 'Enter vrf.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '.*This is a directory. +Do you want to continue.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '^.*--\\s?[Mm]ore\\s?--.*$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '^(.*?)RP/\\w+(/\\S+)?/\\S+\\d+:(Router1|ios|xr)\\s?#\\s?$'
2024-02-07 13:30:12,750: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)\\s?#\\s?$'
2024-02-07 13:30:12,751: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)#\\s?$'
2024-02-07 13:30:12,751: %UNICON-DEBUG: '^(.*?)(?:\\[(xr-vm_)?nodeD?\\d_(?:(?:RS?P|CB)[01]|[\\d+])_CPU\\d:(.*?)\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,751: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\s?#\\s?$|RP/\\S+\\(admin\\)\\s?#\\s?)$'
2024-02-07 13:30:12,751: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\(config.*\\)\\s?#\\s?|RP/\\S+\\(admin-config(\\S+)?\\)\\s?#\\s?)$'
2024-02-07 13:30:12,751: %UNICON-DEBUG: '^(.*?)(?:\\[sysadmin-vm:0_.*:([\\s\\S]+)?\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,751: %UNICON-DEBUG:
2024-02-07 13:30:12,751: %UNICON-DEBUG: *** Pattern Matched (target=Router1):: 'Destination filename.*$'
2024-02-07 13:30:12,751: %UNICON-DEBUG: <unicon.eal.MatchMode mode_id=1, mode_name='search only last line'>
2024-02-07 13:30:12,751: %UNICON-DEBUG:
2024-02-07 13:30:12,751: %UNICON-DEBUG: Statement matched: '[pattern='Destination filename.*$', action=sendline, args={'key': '/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar'}, loop_continue=True, continue_timer=False, trim_buffer=True]'
2024-02-07 13:30:12,751: %UNICON-DEBUG: >>> Unicon Sending (target=Router1):: '/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r'
/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar
Accessing ftp://username:*@RemoteHost/%2Fusername:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar
Error: Copy failed with error 'Invalid IP address'
RP/0/RP0/CPU0:Router1#
2024-02-07 13:30:12,796: %UNICON-DEBUG: <<< Unicon Got (target=Router1):: "/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\rAccessing ftp://username:*@RemoteHost/%2Fusername:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\r\nError: Copy failed with error 'Invalid IP address'\r\nRP/0/RP0/CPU0:Router1#"
2024-02-07 13:30:12,796: %UNICON-DEBUG: *** Pattern List (target=Router1)::
2024-02-07 13:30:12,796: %UNICON-DEBUG: '^.*\\[confirm\\]\\s*[\\(\\[]y/n[\\]\\)].*$'
2024-02-07 13:30:12,797: %UNICON-DEBUG: '^.*(?<!Abort Copy\\? )\\[confirm\\].*$'
2024-02-07 13:30:12,797: %UNICON-DEBUG: '^.*\\[yes[/,][Nn][Oo]\\]\\s?:?\\s*$'
2024-02-07 13:30:12,797: %UNICON-DEBUG: '^.*?(%\\w+(-\\S+)?-\\d+-\\w+|Guestshell destroyed successfully|%Error opening tftp:\\/\\/255\\.255\\.255\\.255|Autoinstall trying|audit: kauditd hold queue overflow).*$'
2024-02-07 13:30:12,797: %UNICON-DEBUG: 'Do you wish to proceed?.*$'
2024-02-07 13:30:12,798: %UNICON-DEBUG: "\\[confirm( with only 'y' or 'n')?\\]\\s*\\[y/n\\].*$"
2024-02-07 13:30:12,798: %UNICON-DEBUG: 'Address or name of remote host.*$'
2024-02-07 13:30:12,798: %UNICON-DEBUG: 'Destination filename.*$'
2024-02-07 13:30:12,798: %UNICON-DEBUG: 'Abort Copy\\? \\[confirm\\]\\s*$'
2024-02-07 13:30:12,799: %UNICON-DEBUG: '(?<!Abort Copy\\? )\\[confirm\\]\\s*$'
2024-02-07 13:30:12,799: %UNICON-DEBUG: 'Are you sure you want to continue connecting.*$'
2024-02-07 13:30:12,800: %UNICON-DEBUG: 'Destination username.*$'
2024-02-07 13:30:12,800: %UNICON-DEBUG: 'Destination password.*$'
2024-02-07 13:30:12,800: %UNICON-DEBUG: '.*[D|d]estination file *name.*$'
2024-02-07 13:30:12,801: %UNICON-DEBUG: 'Enter username:\\s*$'
2024-02-07 13:30:12,801: %UNICON-DEBUG: '.*[P|p]assword:\\s*$'
2024-02-07 13:30:12,802: %UNICON-DEBUG: '[P|p]assword for .*$'
2024-02-07 13:30:12,802: %UNICON-DEBUG: 'Do you want to delete.*$'
2024-02-07 13:30:12,802: %UNICON-DEBUG: 'Host name or IP address.*$'
2024-02-07 13:30:12,803: %UNICON-DEBUG: 'Delete filename.*$'
2024-02-07 13:30:12,803: %UNICON-DEBUG: 'Source username.*$'
2024-02-07 13:30:12,803: %UNICON-DEBUG: 'Source filename.*$'
2024-02-07 13:30:12,803: %UNICON-DEBUG: ' *[O|o]verwrite.*continu.*$'
2024-02-07 13:30:12,804: %UNICON-DEBUG: '.*Do you want to (overwrite|overwritte|overwrit).*$'
2024-02-07 13:30:12,804: %UNICON-DEBUG: 'Enter vrf.*$'
2024-02-07 13:30:12,804: %UNICON-DEBUG: '.*This is a directory. +Do you want to continue.*$'
2024-02-07 13:30:12,804: %UNICON-DEBUG: '^.*--\\s?[Mm]ore\\s?--.*$'
2024-02-07 13:30:12,804: %UNICON-DEBUG: '^(.*?)RP/\\w+(/\\S+)?/\\S+\\d+:(Router1|ios|xr)\\s?#\\s?$'
2024-02-07 13:30:12,805: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)\\s?#\\s?$'
2024-02-07 13:30:12,805: %UNICON-DEBUG: '^(.*?)RP/\\S+\\(config.*\\)#\\s?$'
2024-02-07 13:30:12,805: %UNICON-DEBUG: '^(.*?)(?:\\[(xr-vm_)?nodeD?\\d_(?:(?:RS?P|CB)[01]|[\\d+])_CPU\\d:(.*?)\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,805: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\s?#\\s?$|RP/\\S+\\(admin\\)\\s?#\\s?)$'
2024-02-07 13:30:12,806: %UNICON-DEBUG: '^(.*?)(?:sysadmin-vm:0_(.*)\\(config.*\\)\\s?#\\s?|RP/\\S+\\(admin-config(\\S+)?\\)\\s?#\\s?)$'
2024-02-07 13:30:12,806: %UNICON-DEBUG: '^(.*?)(?:\\[sysadmin-vm:0_.*:([\\s\\S]+)?\\]\\s?\\$\\s?|[\\r\\n]+\\s?#\\s?)$'
2024-02-07 13:30:12,806: %UNICON-DEBUG:
2024-02-07 13:30:12,807: %UNICON-DEBUG: *** Pattern Matched (target=Router1):: '^(.*?)RP/\\w+(/\\S+)?/\\S+\\d+:(Router1|ios|xr)\\s?#\\s?$'
2024-02-07 13:30:12,807: %UNICON-DEBUG: <unicon.eal.MatchMode mode_id=1, mode_name='search only last line'>
2024-02-07 13:30:12,807: %UNICON-DEBUG: *** Match Groups:: ('', '/RP0', 'Router1')
2024-02-07 13:30:12,807: %UNICON-DEBUG: Statement matched: '[pattern='^(.*?)RP/\w+(/\S+)?/\S+\d+:(Router1|ios|xr)\s?#\s?$', action=None, args=None, loop_continue=False, continue_timer=False, trim_buffer=True]'
2024-02-07 13:30:12,928: %UNICON-DEBUG: Statement matched: '[pattern='^(.*?)RP/\w+(/\S+)?/\S+\d+:(Router1|ios|xr)\s?#\s?$', action=None, args=None, loop_continue=False, continue_timer=False, trim_buffer=True]'
2024-02-07T13:30:12: %GENIE-INFO: Failed to copy file to device: ('Command execution failed', SubCommandFailure('sub_command failure, patterns matched in the output:', ['Error(?! opening tftp://255\\.255\\.255\\.255)', 'Copy failed'], 'service result', "copy ftp://username:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\rWed Feb 7 13:30:11.900 EST\r\nAddress or name of remote host [RemoteHost]?\r\n\rSource username: [anonymous]?username\r\n\rSource password: \r\nDestination filename [/harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar]?/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\rAccessing ftp://username:*@RemoteHost/%2Fusername:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\r\nError: Copy failed with error 'Invalid IP address'\r\nRP/0/RP0/CPU0:Router1#"))
2024-02-07T13:30:12: %GENIE-ERROR: ('Command execution failed', SubCommandFailure('sub_command failure, patterns matched in the output:', ['Error(?! opening tftp://255\\.255\\.255\\.255)', 'Copy failed'], 'service result', "copy ftp://username:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\rWed Feb 7 13:30:11.900 EST\r\nAddress or name of remote host [RemoteHost]?\r\n\rSource username: [anonymous]?username\r\n\rSource password: \r\nDestination filename [/harddisk:/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar]?/tmp-ALL-v7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\rAccessing ftp://username:*@RemoteHost/%2Fusername:Password@RemoteHost//IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar\r\n\r\nError: Copy failed with error 'Invalid IP address'\r\nRP/0/RP0/CPU0:Router1#"))
2024-02-07T13:30:12: %AETEST-ERROR: Failed reason: Failed to copy image '/IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar' to 'harddisk:/tmp-ALL-v7.4.2' on device 'Router1'
2024-02-07T13:30:12: %AETEST-INFO: The result of STEP 6: Copying image file /IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar to device Router1 harddisk:/tmp-ALL-v7.4.2 is => FAILED
Have a great day !
from genielibs.
Hi widadzakaria,
Thanks for sharing the debug log, will check and update you.
from genielibs.
Hi @widadzakaria ,
I checked in repo, in there it just passing username and password, there it was not changing the command.
Please try to replicate this exactly steps in manual and share with us.
Thanks.
from genielibs.
Hi @widadzakaria ,
Kindly let me know is there any update on this issue.
from genielibs.
Hi @widadzakaria ,
Is any update on this issue. Kindly let us know.
from genielibs.
Hi @ParimiNeeraja,
I tried to use the copy_to_device() API to make thing a bit easier but still I have the same error when I'm using FTP. No issue using TFTP. Check the file for more info (Unicon Debug ON).
copy_to_device-API.txt
Here is my testbed-file :
testbed:
name : lab
credentials:
default:
password: PASSWORD
username: USERNAME
enable:
password: PASSWORD
servers:
CiscoConf:
address: SERVER-IP
credentials:
default:
username: SERVER-USERNAME
password: SERVER-PASSWORD
devices:
ROUTER
connections:
defaults:
class: unicon.Unicon
debug: True
cli:
ip: ROUTER-IP
protocol: ssh
os: iosxr
type: iosxr
And here a example of my python script:
from genie.testbed import load
from genie.libs.sdk.apis.iosxr.utils import copy_to_device
from genie.libs.sdk.apis.iosxr.asr9k.get import get_software_version
#Connect to the Router
tb = load('/home/user/Project/yaml/lab.yaml')
dev = tb.devices['ROUTER']
dev.connect(log_stdout=True)
#show version
version = get_software_version(dev)
print(version)
#Copy from the server to the router
copy_to_device(dev, '/IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar', 'harddisk:tmp-ALL-v7.4.2-PyATS/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar', 'SERVER', 'ftp')
from genielibs.
An information that might help, to copy a file from a server to a router iOSXR version 6.x and lower (32 bits), we can use this command :
copy ftp:// username : password @ hostname or ipaddress/directory-path/pie-name target-device [location {node-id | all}]
But if the router is version 7.x and higher (64 bits), we cannot directly input the username and the password into the command, so the command becomes:
copy ftp:// hostname or ipaddress/directory-path/pie-name target-device [location {node-id | all}]
after that the router will ask for the username and password.
from genielibs.
Hi @widadzakaria ,
Please do the above steps in manually to replicate this exactly steps, kindly do not run in any script.
from genielibs.
Hi @ParimiNeeraja,
Hope that help !
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#show version
Thu Feb 29 10:30:09.889 EST
Cisco IOS XR Software, Version 7.4.2
Copyright (c) 2013-2022 by Cisco Systems, Inc.
Build Information:
Built By : ingunawa
Built On : Wed Feb 16 04:59:15 PST 2022
Built Host : iox-ucs-068
Workspace : /auto/srcarchive15/prod/7.4.2/asr9k-x64/ws
Version : 7.4.2
Location : /opt/cisco/XR/packages/
Label : 7.4.2
cisco ASR9K () processor
System uptime is 22 weeks 1 day 20 hours 47 minutes
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#dir harddisk:
Thu Feb 29 10:30:19.213 EST
Directory of harddisk:
522242 drwxr-xr-x. 2 4096 Oct 24 2022 .mgr_cache
913921 drwxr-xr-x. 4 4096 Feb 26 15:21 cisco_support
783361 drwxr-xr-x. 2 4096 Oct 24 2022 .tmp_staging
783362 drwxr-xr-x. 3 4096 Feb 26 14:11 mirror
391683 drwxr-xr-x. 3 4096 Sep 26 14:44 .sppdc_new
1044481 drwxr-xr-x. 2 4096 Oct 24 2022 .tmp
1175041 drwxr-xr-x. 2 4096 Jan 27 13:40 .sppdc
130561 drw-r--r--. 2 4096 Feb 26 14:30 tmp-ALL-v7.4.2-PyATS
23099260 kbytes total (21780972 kbytes free)
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#!! LET'S PUT THE USERNAME AND THE PASSWORD OF THE SERVER INTO THE COPY COMMAND
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#copy ftp://SERVER-USERNAME:SERVER-PASSWORD@SERVER-IP/IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2-PyATS/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.$
Thu Feb 29 10:32:07.938 EST
Address or name of remote host [SERVER-IP]?
Source username: [anonymous]?SERVER-USERNAME
Source password:
Destination filename [/harddisk:/tmp-ALL-v7.4.2-PyATS/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar]?
Accessing ftp://SERVER-USERNAME:*@SERVER-IP/%2FSERVER-USERNAME:SERVER-PASSWORD@SERVER-IP/IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar
Error: Copy failed with error 'Invalid IP address'
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#!! THE COPY COMMAND WITHOUT THE USERNAME/PASSWORD SERVER
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#
RP/0/RP0/CPU0:ROUTER#copy ftp://SERVER-IP/IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar harddisk:/tmp-ALL-v7.4.2-PyATS/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar
Thu Feb 29 10:32:44.460 EST
Source username: [anonymous]?SERVER-USERNAME
Source password:
Destination filename [/harddisk:/tmp-ALL-v7.4.2-PyATS/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar]?
Accessing ftp://SERVER-USERNAME:*@SERVER-IP/IOS-eXR/7.4.2/ASR9K.IOS-eXR7.4.2.All-SMUs.20230501.tar
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC....
from genielibs.
Hi @widadzakaria ,
Thanks for the detailed information. As mentioned by you that in router version 6 this issue is not seen and the command it generated correctly by Unicon. But for router version 7 this command needs to be changed.
I will need to check with the team on how to handle such scenario because this is due to version mismatch this issue is seeing. Kindly give me some time. If needed any more help, I will let you know.
Thank you.
from genielibs.
Related Issues (20)
- genie.metaparser.util.exceptions.SchemaMissingKeyError: Show Command: show spanning-tree HOT 5
- Learn OSPF parser error HOT 1
- show ip ospf neighbor detail HOT 4
- device parsing with genie.libs.conf.device libs HOT 2
- Duplicate Function configure_stackpower_stack Error HOT 5
- NX-OS learn OSPF Missing keys error HOT 9
- Missing API parameters in documentation HOT 3
- copy_to_device always fails under IOS-XR HOT 7
- Wrong parameter order in documentation HOT 4
- genie module or parsers unstable with cat4500 switch HOT 7
- libs.robot.GenieRobot System Profiling: SchemaMissingKeyError HOT 18
- New APIs for IOSXE eigrp HOT 6
- Learn fdp model parser exception on Cisco NXOS in genie.metaparser.util.schemaengine.Schema.validate: Missing keys HOT 8
- Learn acl model parser exception on Cisco NXOS in genie/libs/parser/nxos/show_acl.py: UnboundLocalError 'acl_dict' HOT 10
- Create verify.py file for new EIGRP verify APIs for EIGRPv4 and EIGRPv6 HOT 12
- Add verify_eigrp_router_id API to verify.py ios/iosxe eigrp protocol (my old contribution) supporting EIGRPv4 and EIGRPv6 for IOS/IOSXE HOT 4
- Add verify_eigrp_interfaces_timers API to verify.py ios/iosxe eigrp protocol (my previous contribution) supporting EIGRPv4 and EIGRPv6 for IOS/IOSXE HOT 4
- "Exception: The clean stage '' does not exist in the json file" while trying to use multiprocessing HOT 37
- Add verify_eigrp_interfaces_timers API to verify.py ios/iosxe eigrp protocol HOT 23
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from genielibs.