napalm-automation / napalm-ios

Apache License 2.0
31 stars 40 forks source link

Napalm to Extreme Network devices #68

Closed fabbiomcosta closed 7 years ago

fabbiomcosta commented 8 years ago

Hello everybody,

Brief introduction: I've been studing Ansible and Salt for about a week and I found Napalm library two days ago on the internet. I tested Napalm with juniper and cisco (works well, amazing). However, we have almost 90 Extreme Networks switches in our network and they are old devices and with certain limitations, telnet is one of them. I also have a mgtm vlan via telnet to manage them.

So, is it possible to use napalm for this devices via telnet?

Regards.

mirceaulinic commented 8 years ago

Hi @fabbiomcosta

napalm-ios is using netmiko (https://github.com/ktbyers/netmiko/tree/master/netmiko) as transport libray. AFAIK netmiko provides now support for telnet - @ktbyers please correct me if I'm wrong. If that's the case, I think we can definitely introduce this feature, via a new optional argument (http://napalm.readthedocs.io/en/latest/support/index.html#optional-arguments). We can then extend this for other drivers as iosxr, junos (as junos-eznc 2.0 introduced telnet support) and maybe others.

fabbiomcosta commented 8 years ago

Hi @mirceaulinic, I'm not a developer, but i saw that netmiko provides support for telnet. So, you are right. How could I help you to deploy the new optional argument? I'm interested in helping this project.

ktbyers commented 8 years ago

Netmiko supports telnet using device_type 'cisco_ios_telnet'. Extreme might work using this driver (for Netmiko).

napalm-ios can't be made to work with telnet as configuration file operations all use secure copy to transfer files (at least as currently constructed).

dbarrosop commented 7 years ago

@ktbyers how hard would it be to support the getters over telnet? Obviously, if the user decide to use telnet as transport configuration related methods should be disabled.

ktbyers commented 7 years ago

@dbarrosop getters is probably easy if the Netmiko 'cisco_ios_telnet' driver just works.

dbarrosop commented 7 years ago

I will let you decide if it's worth supporting the getters via telnet. I understand configuration might be trickier.

ktbyers commented 7 years ago

I can't bring myself to implement this...if someone else wants to, submit a PR on it. You would just to add an optional_argument to pass in a protocol, telnet or ssh.

Then just switch the device_type from cisco_ios to cisco_ios_telnet.

mirceaulinic commented 7 years ago

You would just to add an optional_argument to pass in a protocol, telnet or ssh.

How does transport_type sound to you @ktbyers? The reasoning I'm asking is that we could probably offer telnet transport for other drivers as well.

Then just switch the device_type from cisco_ios to cisco_ios_telnet.

And raise exception for config-related methods? Or something else? - I understand they won't work at all over telnet.