You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 17, 2019. It is now read-only.
I view the higher level operations we want initially is a get_file and a put_file. The long term goal probably being an abstraction that lets you relatively easily do an OS upgrade.
We should also (maybe) think about making the base class transport method generic (i.e. not hard-code it to Secure Copy so in the long run we could support HTTPS file transfers, other file transfer methods).
Each NAPALM driver that implements this, must have a FileCopy class that it inherits from BaseFileCopy. The arguments of the class must be identical to the signature in BaseFileCopy.
All the methods are optional in the child driver except for:
__enter__ # Must support a context manager
__exit__ # Must support a context manager
get_file
put_file
put_file() will transfer a file from the control machine to the remote network device. It will do this in an indempotent manner (i.e. it will check if the file already exists and has the right MD5 hash). The put_file operation will also attempt to verify whether there is sufficient space available on the remote device.
put_file should generate FileTransferException if direction not set to 'put'
Failure to transfer the file will result in a FileTransferException
get_file() will transfer a file from the remote network device to the control machine once again in an idempotent manner. The get_file operation will also attempt to verify there is sufficient space available on the local file system for the transfer.
get_file should generate FileTransferException if direction not set to 'get'
Implementation of file_copy operations into NAPALM.
Work on this using
file_copy branch
I think we should do a POC using two dissimilar platforms like
IOS
andJunos
(also maybeNXOS
)The text was updated successfully, but these errors were encountered: