cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 

What are my options for EXOS Network Management Automation

What are my options for EXOS Network Management Automation

Tim_Black
New Contributor II
Hello, my team has developed an automated system for testing my company's networked products. I am in the process of integrating this system with EXOS switches, so that our tests will be able to track which switch ports are connected to which Devices Under Test (DUTs), and provide an API (in python) to facilitate making runtime configuration changes to the switches and their individual ports. We are planning to use the Management port of all switches to provide a dedicated backdoor in case a test makes an error in the switch configuration.

Before I just go off and implement a solution based on the EXOS telnet command interface, I am looking to the community for advice on whether this is the "best" switch interface to use for this purpose, what the alternatives and pros and cons of each are.

I am only aware of the SNMP alternative. I have not considered it very seriously yet because we are using these switches for, among other things, AVB media transport and monitoring, and the last I checked, the MIB does not yet support AVB-related interfaces, e.g. MSRP/MVRP and stream status.

Thanks for your consideration,
Tim
14 REPLIES 14

jjmatthew95
New Contributor

Wow, putting forward exos proposals is already worth praising. Cool, but I don't think you need to think about alternatives. By the way guys thank you so much for the information, it was very interesting to read, I learned a lot of new things

StephanH
Valued Contributor III
Hello Tim,

If I understand you correct then you still only need the ability to configure the XOS switches.

As you point out correct you can use the CLI or SNMP.

In my opinion the CLI is the better way:

  • Your have a well formed documentation
  • Easy access to all settings
  • Read/Write ability
  • Feedback in case of an failure
With SNMP you can

  • write many values directly, but not all
  • Have the difficulty do find the correct values or setting
  • No feedback what's going wrong in case of an failure
  • No special documentation

Do you know XMC?

With the Management solution XMC from Extreme you can read out a lot of information's from the devices.
In combination with NAC even the mentioned information's like which device is on which port (IP, MAC, ...). Furthermore there is a script engine to use python scripts directly in management system.
You can trigger the scripts on different ways (manual, scheduled or within an workflow (e. consisting of different event, alarm or scripts).
There are a lot of variables which you can use directly for the communication with the switches. Therefore you have not to think about how the communications work

In addition there is a GraphQL-API to receive a lot of information's from the XOS devices (via the XMC management)
and a REST-API for receiving and writing data to XMC.

I know this is not comprehensive answer. But I am not sure if you knowing these different way to communicate directly and indirectly with XOS.

Additionally you have the ability to execute Python scripts directly on the XOS switches maybe this is useful for your need.

Best regards
Stephan

Regards Stephan

Tim_Black
New Contributor II
Thanks, guys. Erik, I may try the "put desired config into default.xsf and then unconfigure switch all" approach, as this seems very elegant, concise yet extensible, and intuitive. My only concern is for the time this takes. We'll see.. thanks again.

The tool I made uses an home-made json-formatted task file, where I have several keys such as IP list, CLI commands with dynamic variables (increment/decrease values in the CLI command at each iteration when multiple IPs are processed - to change IP value, ASN, etc), option (for example, do I allow a downgrade, or what partition to use...).

So you create your own task files and run them with the tool (shell or web). The web front-end was also able to create the json task file.

The tool tries to find if an error occurred, but that's a tricky part, I need to parse the output. I think I also have an option to stop on an error, or not.
GTM-P2G8KFN