Skip to content

Conversation

@nopg
Copy link
Contributor

@nopg nopg commented Oct 23, 2024

We have WLC's running Aruba OS which is different than Aruba AOS-CX. However when it comes to parsing the configurations, the existing Aruba parser works perfectly. This just creates the mapping for Aruba OS to use the existing Parser.

@jeffkala
Copy link
Collaborator

there are four netmiko aruba drivers.

  • aruba_aoscx
  • aruba_os
  • aruba_osswitch
  • aruba_procurve

We need a way to differentiate between them. So instead of using the same driver as ArubaConfigParser can you subclass and create a new class. In case we find a different between the two platform times and we need to make changes they don't become "breaking" changes requiring a major version bump?

@nopg
Copy link
Contributor Author

nopg commented Feb 3, 2025

Updated as requested.

@nopg nopg requested a review from jeffkala February 10, 2025 09:44

parser_map: t.Dict[str, t.Type[parser.BaseConfigParser]] = {
"arista_eos": parser.EOSConfigParser,
"aruba_aoscx": parser.ArubaConfigParser,
Copy link

@bradh11 bradh11 Feb 20, 2025

Choose a reason for hiding this comment

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

I think we need to rename this parser class to ArubaCXConfigParser. In Aruba, there is the legacy AOS (think Procurve and older model switches/gateways) as well as AOS-CX (newer switches and gateways. If we keep the name generic as it is today, this could add to confusion since the name Aruba on it's own does not make distinction between the two OS's.

Copy link

Choose a reason for hiding this comment

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

That said, I am not sure the repurcussions of changing the parser class name. I think since we have the mapping table it might be a non-issue, but I will let others comment.

Copy link

Choose a reason for hiding this comment

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

Suggested change
"aruba_aoscx": parser.ArubaConfigParser,
"aruba_aoscx": parser.ArubaCXConfigParser,

and this...

class ArubaCXConfigParser(BaseSpaceConfigParser):

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree, but also am not sure about the repercussions.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@itdependsnetworks agrees this specific update would be a 'breaking change', IMHO this shouldn't be done as part of this PR. The other changes requested have been pushed.

@bradh11
Copy link

bradh11 commented Feb 20, 2025

@itdependsnetworks - I've put this table together to try and help better understand the different ArubaOS

Aruba Network Operating Systems Reference Table

OS Name Initials CLI Type Platform & Device Examples Software File Naming Convention Lib name
ArubaOS-CX AOS-CX Linux System CLI Switches:
- 6000 Series
- 6200 Series
- 6300 Series
- 8000 Series
- 9300/9400 Series Switches
- 10000 Series
AOS-CX_XXXXXXXXX.swi
Example: AOS-CX_10.09.0001.swi
aruba_aoscx
ArubaOS & InstantOS AOS/IAP Context-aware CLI Controllers/Gateways:
- 7000 Series (including SD-WAN)
- 9004/9012 Series Controllers
- MC-VA
- Mobility Conductor (formerly MM-VA)
Access Points:
- Indoor: AP-303/505/535/555/600/630/650
- Outdoor: AP-570/570EX/580
Controller: ArubaOS_XXXX_X_X_X_X.abn
Example: ArubaOS_8.10.0.0_82422.abn
IAP: IAP_XXXX_X_X_X_X.abn
Example: IAP_8.9.0.0_82422.abn
aruba_os
ArubaOS-Switch AOS-S Context-aware CLI Switches:
- 2530 Series
- 2930F Series
- 2940F Series
- 3810M Series
- 5400R Series
WC_XXXXX_XXXXX.swi
Example: WC_16_10_0004.swi
aruba_osswitch

Notes:

  • X's in file naming conventions represent version numbers, build numbers, or date codes
  • SD-WAN functionality is integrated into the main ArubaOS platform for 7000/9000 Series devices
  • Virtual appliances (VA) follow the same CLI and naming conventions as their physical counterparts
  • Mobility Conductor is the new name for what was previously Mobility Master
  • Some legacy JL series switches may still be in service but are not actively sold
  • AOS-CX is the strategic platform for new switch features and development
  • AOS-S platforms are still supported (security/bug fixes) but not receiving major new feature development
  • The 9000 series numbering is used for both switches (AOS-CX) and controllers (ArubaOS) but these are distinct platforms that cannot run each other's operating systems

@nopg
Copy link
Contributor Author

nopg commented Feb 21, 2025

Thanks a ton! Side question, you show 9000 series in both AOS-CX and AOS, does that mean the same hardware can run either OS, or just an overlap in Aruba model numbers?

@bradh11
Copy link

bradh11 commented Feb 21, 2025

Thanks a ton! Side question, you show 9000 series in both AOS-CX and AOS, does that mean the same hardware can run either OS, or just an overlap in Aruba model numbers?

Actually, I need to correct that - there's just an overlap in model numbering between Aruba product lines. They are completely different hardware platforms that cannot run each other's operating systems.

9000 Series Switches (like the 9300/9400) run AOS-CX exclusively
9000 Series Controllers (like the 9004/9012) run ArubaOS exclusively

Let me fix that in the table to avoid confusion by making the model numbers more specific.

@itdependsnetworks
Copy link
Contributor

Here is the list of all aruba based mappers we have

  • aruba_aoscx
  • aruba_os
  • aruba_osswitch
  • aruba_procurve

@itdependsnetworks
Copy link
Contributor

@bradh11 I updated your table to include the lib name based on the names we have, can you confirm that is correct?

Additionally, just ensuring we are in agreement that we do not need to consider the aruba_procurve name?

@bradh11
Copy link

bradh11 commented Mar 10, 2025

@bradh11 I updated your table to include the lib name based on the names we have, can you confirm that is correct?

Additionally, just ensuring we are in agreement that we do not need to consider the aruba_procurve name?

Procurve is effectively in the aos-s category. You may want to have the final parsers be something like as follows:

  • aruba_aoscx
  • aruba_os
  • aruba_aos-s

Then if you need, throw aliases at other platform names for other libraries to "map" them...

@jeffkala
Copy link
Collaborator

#632 will take the place of this PR.

@jeffkala
Copy link
Collaborator

Fixed in #632

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants