Comments (6)
Totally. Thanks very much for explanation! :)
from napalm-ios.
If this works, could we completely get rid of the SCP and just load the file the user is passing into a string? That's actually how it works on the rest of the drivers. Files are usually not involved in the communication with the devices.
from napalm-ios.
Yes, we should leave SCP has the primary mechanism. The Netmiko InLineTransfer is still a file transfer (i.e. writes a file in flash). It also has some file manipulation that goes on to get it work with TCL (i.e. newlines and errors on TCL terminator character).
Because of this the SCP file transfer mechanism should be the default/preferred and the other mechanism an alternative that can be specified via an optional argument.
from napalm-ios.
Because of this the SCP file transfer mechanism should be the default/preferred and the other mechanism an alternative that can be specified via an optional argument.
I understand this is very tricky, but I do you mean that someone needs to specify a certain flag in order to be able to use device.load_merge_candidate(config='my fancy config')
?
A user has to be able to execute both:
- device.load_merge_candidate(config='my fancy config')
- device.load_merge_candidate(filename='/path/to/my/file')
This is the behaviour of the rest of the drivers.
from napalm-ios.
@mirceaulinic Yes, it will work as required by the NAPALM API i.e. you can do both of these operations:
device.load_merge_candidate(config='my fancy config')
device.load_merge_candidate(filename='/path/to/my/file')
But by default both of these operations will use Secure Copy.
There will also be a separate optional argument you can specify whereby you can transfer a file completely inside the SSH (or telnet) session using TCL behind the scenes.
This will allow telnet to work and fix the Cisco SCP transfer issue with enable (i.e. that they require a priv 15 account to SCP transfer and you can't do enable).
Does that make sense?
from napalm-ios.
PR for this here #100
from napalm-ios.
Related Issues (20)
- ios throw 'SSH session not active' when load_merge_candidate is called HOT 27
- Implement `get_bgp_neighbors_detail` HOT 1
- Latency Issue Cause various errors - increased global_delay_factor HOT 2
- remove 'ip scp server enable' after deployment HOT 1
- load_merge_candidate & commit_config slow (takes 40 seconds) HOT 4
- Regex used fto match the name of the network interface HOT 9
- get_environment fails on Cisco 3850 switch HOT 3
- get_environment fails on Cisco 4500 HOT 1
- get_facts returns the whole string from "show version" not just the software version HOT 4
- get_snmp_information() returns ACL names as "N/A" if none exist for a community HOT 2
- Missing end in "merge_config.txt" causes the error "!Error: cfgdiff returned error 5" HOT 1
- ISSUE WITH BASIC NAPALM CODE HOT 5
- "ValueError: Unable to find prompt" on commit_config() operation HOT 11
- get_facts() errors if "show hosts" command returns nothing HOT 2
- napalm-ios ping is not correctly tracking probes_sent HOT 1
- get_interfaces_ip executes a show command for each interface HOT 1
- CSR1000V HOT 1
- Cannot install config if candidate change username HOT 1
- Is AAA (TACACS) Supported? Not able to login nor test. HOT 4
- get_facts()['version'] Unknown on old 2950 HOT 1
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 napalm-ios.