Skip to content
This repository has been archived by the owner on Apr 27, 2022. It is now read-only.

Replace console-based drivers with something more reasonable. #744

Open
zenhack opened this issue Mar 21, 2017 · 8 comments
Open

Replace console-based drivers with something more reasonable. #744

zenhack opened this issue Mar 21, 2017 · 8 comments

Comments

@zenhack
Copy link
Contributor

zenhack commented Mar 21, 2017

The drivers for the dell powerconnect & cisco nexus switches both talk to the interactive console, which was never designed as a programmatic interface. As a result, they're really slow, and particularly in the test suite there's a lot of clumbsy parsing of the output of various commands.

These drivers have their origin in something I wrote way way back, after @pjd-nu had spent about a day fighting with dell's mib files for the powerconnect; we decided it was better to just get something functional, and we'd probably replace it with something more clean and robust later. We still haven't.

The brocade driver is much better -- it talks to an HTTP API that's documented, and actually intended as a programmatic interface. It's also much faster.

When run with the dell driver, the deployment tests take like 5 minutes to run. This came up in conversation while @naved001 and I were waiting for that this afternnoon.

@pns005 suggested that this might be a good project for an intern.

@naved001
Copy link
Contributor

@Izhmash played with SNMP during the summer and concluded that it's not very reliable in setting things.

The powerconnect switches have a web interface, which means it has some sort of API. I remember @henn taking about it. But it's undocumented and we would have to "discover" each method by running a web browser in some debug mode. So this option doesn't sound that good either.

I don't know what can this be replaced with.

@zenhack
Copy link
Contributor Author

zenhack commented Oct 27, 2017

The powerconnect switches have a web interface, which means it has some sort of API.

This doesn't follow; it's entirely possible for it to be just a web UI. And I don't think trying to interact with that programmatically is any better (probably worse).

Does the nexus switch also not have any other API?

I'm fine closing this if we conclude there's nothing better.

@naved001
Copy link
Contributor

I might be misunderstanding something then. Isn't the web UI interacting with the switch using some sort of API? In any case, since that is undocumented we can't use it.

Let me read the nexus switch's manual to be sure.

@zenhack
Copy link
Contributor Author

zenhack commented Oct 31, 2017

The web ui is running on the switch itself, so whatever mechanism it uses to manipulate the switch doesn't necessarily have to be reachable from the network.

@naved001
Copy link
Contributor

I was looking at the Nexus Switches we have. We are using our nexus driver against different models.

  • In PRB we have the nexus 3548 (3000 series, System version: 6.0(2)A1(1a)) which has 4 GB memory.

    • From this document here, it turns out not all 3000 and 3100 series switches are supported. And this developer doc says switches of this series with less than 8 Gigs memory are not supported.
  • In Kaizen aka NEU we have the nexus 5672UP (which idk why calls itself from the 6000 series, System version: 7.0(1)N1(1)). This one had 8 Gigs memory.

    • This one had an http server which I enabled, I just need to find the right documents for this switch and see if we can perform the HIL ops using that.

@zenhack
Copy link
Contributor Author

zenhack commented Jan 17, 2018

Yeah, our test switch is a lower end model than what's in prod. Cisco gear is expensive.

I don't know if a cleaner Api offset the cost of not being able to use our test setup

@naved001
Copy link
Contributor

Right, we can't replace the driver for the nexus 3548 that we have. We could just write another driver for the other nexus in kaizen (which we have access to) using the API which will probably be more faster and reliable.

So I would leave this issue open given that, there's one switch for which we are still using a console based driver that can be replaced with something better.

@zenhack
Copy link
Contributor Author

zenhack commented Jan 17, 2018 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants