Skip to content

Add Extreme VOSS - #3742

Open
sdargoeuves wants to merge 8 commits into
ipspace:devfrom
sdargoeuves:extreme-voss-clab
Open

sdargoeuves wants to merge 8 commits into
ipspace:devfrom
sdargoeuves:extreme-voss-clab

Conversation

@sdargoeuves

Copy link
Copy Markdown
Collaborator

Basic support for VOSS. The goal of this PR is not to have the SPB section implemented, that will hopefully happen in a (little?) while...

I'll un-draft this PR once ready, I need to look at the docs, and test a few more things.

Comment on lines +3 to +12
{# SPBM underlay: area and B-VIDs only. NNI ports, system-id and nick-name are left to Auto-Sense/ZTF #}
router isis
{# the next 3 commented commands require disabling router isis beforehand #}
{# spbm 1 #}
{# spbm 1 nick-name 1.11.11 #}
{# system-id 1234.0000.0001 #}
spbm 1 b-vid 4051,4052 primary 4051
manual-area 49.0001
spbm convert-to-config
exit

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is going to get me in trouble!

It probably shouldn't be part of the initial... my thoughts were that VOSS is meant to be used with SPB, and that configuration is really all you need to get started.

I'm happy for this to be in here for the time being, and moved to a proper module/plugin in due time (😅)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's probably OK. After all, SPBM is the only fun part of VOSS, right?

Leave it there; we can always move it later.

@sdargoeuves
sdargoeuves marked this pull request as ready for review October 6, 2026 14:13
@sdargoeuves

Copy link
Copy Markdown
Collaborator Author

@ipspace here's my first attempt at VOSS, with very minimal SPB support. I'm very new to how SPB works and have no real-world experience with it, so I don't have a good reference for what a "proper" setup should look like.

This initial support brings up VOSS devices with a working SPB fabric, and netlab adds VLANs, I-SIDs, access/trunk ports, VLAN interface IPs and static routes on top.
I'm not ready to start modelling SPB as a dedicated module, but happy to hear your point of view. For example, IS-IS/SPBM part and the VLAN-to-I-SID mapping should eventually move to this new module/plugin.

Extreme VOSS (Fabric Engine): initial clab support

Adds Extreme VOSS as a minimal-support device, running as vrnetlab containers (tested with vrnetlab/extreme_voss:9.4.0.0 and vrnetlab/extreme_voss:9.3.1.0).

  • Device definition (devices/voss.yml): GigabitEthernet 1/N interfaces, clab via vrnetlab with container healthcheck, vlan (switch model) and routing (static, IPv4 global table only).
  • Configuration uses community.network.voss_config, the only VOSS Ansible module; it's deprecated. This is documented in the caveats.
  • Readiness check: VOSS doesn't run a command passed on the SSH command line (ssh returns 255), so the internal ssh check can't be used. The device uses netlab_ready: [ ansible ] with readiness-check/voss.yml (show sys-info | head 5) instead.
  • Initial config: hostname, port names, no shutdown, VLAN interface IPv4, and a minimal SPBM underlay (router isis: area 49.0001, B-VIDs 4051/4052). NNI ports, system ID and nickname are left to the platform's defaults (Auto-Sense / zero-touch fabric).
  • VLAN module: VLAN creation, access and trunk ports (with native VLAN). Each VLAN is mapped to an SPB I-SID (10000 + VLAN ID) so it's extended across the fabric.
  • Routing module: IPv4 static routes.
  • Docs: a VOSS caveat entry and the clab image table entry.

@ipspace ipspace left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest I merge this as-is; we can work on netmiko implementation later. OK?

Comment thread docs/caveats.md
(caveats-voss)=
## Extreme Networks VOSS

* The only way to configure VOSS devices with Ansible is the now-deprecated **community.network.voss_config** Ansible module. This collection is no longer actively maintained. To install it, you can still run:

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's try to get it work with netmiko? Netmiko supports it, "all" we have to do is to figure out the error message pattern.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How hard can it be to figure out the error message pattern 😃
I first need to understand how netlab works with netmiko, I'll add this to my todo list.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How hard can it be to figure out the error message pattern 😃

It seems to be almost impossible for Mikrotik RouterOS. It just writes something with no common prefix or keywords one could use.

I first need to understand how netlab works with netmiko, I'll add this to my todo list.

Ah, time for more developer documentation. Got the message ;)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there was no hidden message, apart from "I need to look at the code to understand how it has been implemented, and how I should use it".
But I'm not going to complain about having access to documentation helping with the process, thank you!

Comment on lines +3 to +12
{# SPBM underlay: area and B-VIDs only. NNI ports, system-id and nick-name are left to Auto-Sense/ZTF #}
router isis
{# the next 3 commented commands require disabling router isis beforehand #}
{# spbm 1 #}
{# spbm 1 nick-name 1.11.11 #}
{# system-id 1234.0000.0001 #}
spbm 1 b-vid 4051,4052 primary 4051
manual-area 49.0001
spbm convert-to-config
exit

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's probably OK. After all, SPBM is the only fun part of VOSS, right?

Leave it there; we can always move it later.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants