Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ruckus Wireless updates (ZD/SZ/Unleashed/Hotzone) #9727

Merged
merged 29 commits into from Feb 16, 2019

Conversation

Projects
None yet
3 participants
@djamp42
Copy link
Contributor

commented Jan 24, 2019

Changes:

  1. Device Support for Ruckus Zone Director / Smart Zone / Unleashed / Hotzone
  2. Added Host Info/CPU/MEM/client/ap count to all devices
  3. Added per SSID client count to Zone Director and Smartzone Devices
  4. Pull AP Licenses count for Zone Director and Smartzone

Notes:

  1. Zone Director 1200 and Unleashed AP's share the same sysObjectID. (.1.3.6.1.4.1.25053.3.1.5.15).
    I tried my best to get the logic right in the discovery yaml files.
    The issue is apon intial discovery it discovers the ZD1200 as a unleashed AP,
    and at somepoint after (5mins?) it discovers correctly as a ZoneDirector, and never has the issue again. Not sure if this is even a issue.

  2. Ruckus ships a differnt RUCKUS-ROOT-MIB for each of the above products, so i had to get the differnces and mash them into 1 file.
    The RUCKUS-ROOT-MIB here has been edited to support all the polling between devices, you will not find it from ruckus.

  3. The OS Ruckuswireless is now only for Ruckus ZoneDirector, at some point the OS name for this should be updated, but i think that would require
    a notice to be sent out to the user base.

DO NOT DELETE THIS TEXT

Please note

Please read this information carefully. You can run ./scripts/pre-commit.php to check your code before submitting.

Testers

If you would like to test this pull request then please run: ./scripts/github-apply <pr_id>, i.e ./scripts/github-apply 5926
After you are done testing, you can remove the changes with ./scripts/github-remove. If there are schema changes, you can ask on discord how to revert.

@djamp42 djamp42 referenced this pull request Jan 24, 2019

Open

New Device: Ruckus Unleashed #9658

3 of 3 tasks complete
@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 24, 2019

So it looks like some of the checks are failing because of this issue

Zone Director 1200 and Unleashed AP's share the same sysObjectID. (.1.3.6.1.4.1.25053.3.1.5.15).
I tried my best to get the logic right in the discovery yaml files.
The issue is apon intial discovery it discovers the ZD1200 as a unleashed AP,
and at somepoint after (5mins?) it discovers correctly as a ZoneDirector, and never has the issue again. Not sure if this is even a issue.

- .1.3.6.1.4.1.25053.3.1
- sysObjectID: .1.3.6.1.4.1.25053.3.1.5
snmpget:
oid: '.1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0'

This comment has been minimized.

Copy link
@murrant

murrant Jan 24, 2019

Member

This snmpget should probably be symmetric with the exclusion above.

- { graph: device_bits, text: Traffic }
- { graph: device_wireless_ap-count, text: 'Connected APs' }
- { graph: device_wireless_clients, text: 'Number of Clients' }
register_mibs:

This comment has been minimized.

Copy link
@murrant

murrant Jan 24, 2019

Member

You can remove the register_mibs on the new OS. It is only on the existing one for legacy reasons.

@murrant

This comment has been minimized.

Copy link
Member

commented Jan 24, 2019

SNMP['/usr/bin/snmpget' '-v2c' '-c' 'ruckuswireless' '-Oqv' '-M' '/home/travis/build/librenms/librenms/mibs' '-t' '3' 'udp:127.1.6.2:1162' 'RUCKUS-ZD-SYSTEM-MIB::ruckusZDSystemModel.0']
MIB search path: /home/travis/build/librenms/librenms/mibs
Cannot find module (RUCKUS-ZD-SYSTEM-MIB): At line 1 in (none)
RUCKUS-ZD-SYSTEM-MIB::ruckusZDSystemModel.0: Unknown Object Identifier

This is the reason detection fails :) It can't find RUCKUS-ZD-SYSTEM-MIB. The problem is it hasn't added the mibdir to the search path because it is generic os. This could probably be fixed in the discovery code...

@@ -5,4 +5,4 @@ modules:
-
oid: ruckusZDSystemCPUUtil
num_oid: '.1.3.6.1.4.1.25053.1.2.1.1.1.5.58.0'
type: ruckuszd
type: ruckuswireless

This comment has been minimized.

Copy link
@murrant

murrant Jan 24, 2019

Member

Changing this will cause loss of history data.

@utelisysadmin

This comment has been minimized.

Copy link
Contributor

commented Jan 24, 2019

Nice. I'll rescind my PR as this one contains the most up to date versions. Regarding the ZD and Unleashed mix up, I've experienced the exact same situation with my version. I've only been adding SZ devices recently, so I forgot to mention about that.

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 24, 2019

Okay i think i have all the above issues fixed, but now the existing ZD1100 snmpsim is failing because of the following.

(This is a Eltek OID so i'm not sure how it's getting in here.
[SNMP] snmpget ruckuswireless_zd1100 .1.3.6.1.4.1.12148.10.2.6.0 (1.3.6.1.4.1.12148.10.2.6.0): no data

(This is country code that was just added, i suppose i need to generate a updated zd1000 snmpsim.
[SNMP] snmpget ruckuswireless_zd1100 .1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0 (1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0): no data

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 24, 2019

(This is country code that was just added, i suppose i need to generate a updated zd1000 snmpsim.
[SNMP] snmpget ruckuswireless_zd1100 .1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0 (1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0): no data

This is actually the model number, and it's because the original code grabbed the model # from different OIDS present in ( RUCKUS-PRODUCTS-MIB).

I changed this to grab the model number from a MIB that is hopefully present in ALL zone directors (ruckuZDSystemMib), i'm only checking 1 OID, the original code was checking 4 i believe.

I don't have a 1106 to test with, but my 1112 and 1200 detect just fine.

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 24, 2019

I actually found a zd1106 to test with, so i updated both the zd1100 and zd1200 test data.

djamp42 added some commits Jan 29, 2019

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 31, 2019

Well i've fixed all the issues i know about, not sure if anyone else has tested this besides @utelisysadmin. I tested on my production librenms and everything seems fine as well.

@utelisysadmin

This comment has been minimized.

Copy link
Contributor

commented Jan 31, 2019

I've tested my PR in production too. I'll try to apply your today and see how it goes.

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 31, 2019

The only thing I noticed was when I manually hit rediscover on a zone director it started an entirely new graph for client count, so old data was lost.. however if I didnt hit that, librenms would eventually find all the changes and apply them, now my client graph has a single line from before and at the time of upgrade changes to per ssid lines.

@utelisysadmin

This comment has been minimized.

Copy link
Contributor

commented Jan 31, 2019

I've applied the PR. I'll let it work for a while, but so far it looks good for ZoneDirector,SmartZone and Unleasehed devices.

@utelisysadmin

This comment has been minimized.

Copy link
Contributor

commented Jan 31, 2019

On a SZ, I've noticed that client count per SSID and client count for system does not match with 1 SSID.

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 31, 2019

Does it ever match? I'm pulling SZ SNMP Client data directly and notice there is a lag between the SSIDs and the total count, it seems like the smartzone is not updating them both at the same time. It does eventually match up but changes again after clients disconnect and reconnect. This would get confusing to the user with just 1 SSID. Even though we are graphing exactly what ruckus is providing. I thought about adding code to limit the output to just the SSID if only 1 SSID is detected, i'll play around with that.

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Jan 31, 2019

Ahh also found the AP's is the TOTAL aps, (down AND up).. So i'll need to update that sensor description also. This is the only AP count OID, so without polling APs directly like the WLC does we are stuck with this.

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Feb 1, 2019

@utelisysadmin try again, will not display/poll client system total if only 1 SSID. Also updated Connected APs to Total APs.

djamp42 added some commits Feb 4, 2019

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Feb 4, 2019

Okay can you re-apply should graph total and connected APs. for smartzone. However you need to apply #9777 also because i needed to pass some SNMP flags that are not supported currently.

@utelisysadmin

This comment has been minimized.

Copy link
Contributor

commented Feb 5, 2019

I've applied both. Let's see how it goes.

@utelisysadmin

This comment has been minimized.

Copy link
Contributor

commented Feb 11, 2019

Just reporting I've had no issues so far.

murrant and others added some commits Feb 11, 2019

@murrant

This comment has been minimized.

Copy link
Member

commented Feb 13, 2019

@djamp42 btw, you can run the tests locally and select just a specific test with ./scripts/pre-commit.php --snmpsim --db -o ruckuswireless-sz for example

djamp42 added some commits Feb 13, 2019

@djamp42

This comment has been minimized.

Copy link
Contributor Author

commented Feb 13, 2019

@djamp42 btw, you can run the tests locally and select just a specific test with ./scripts/pre-commit.php --snmpsim --db -o ruckuswireless-sz for example

Yeah i found that out a week ago, but i have somehow messed up my local git repo, not detecting new changes to files anymore, probably didn't help i'm learning git at the same time... In anycase everything is passing on my system, the final edits should allow everything to pass.

djamp42 added some commits Feb 13, 2019

@murrant

This comment has been minimized.

Copy link
Member

commented Feb 13, 2019

@djamp42 You are doing great :) I restarted the last build it failed for some random reason.

djamp42 added some commits Feb 13, 2019

@murrant murrant changed the title Ruckus Wireless Fixes (ZD/SZ/Unleashed/Hotzone) Ruckus Wireless updates (ZD/SZ/Unleashed/Hotzone) Feb 13, 2019

@murrant murrant merged commit e572d2a into librenms:master Feb 16, 2019

5 of 6 checks passed

codeclimate Code Climate encountered an error attempting to analyze this pull request.
Details
Inspection Summary
Details
Node: analysis
Details
Travis CI - Pull Request Build Passed
Details
WIP Ready for review
Details
license/cla Contributor License Agreement is signed.
Details

@djamp42 djamp42 deleted the djamp42:ruckuswireless-rework branch Feb 22, 2019

@murrant murrant added the Device 🖥 label Mar 4, 2019

funzoneq added a commit to funzoneq/librenms that referenced this pull request Apr 30, 2019

Ruckus Wireless updates (ZD/SZ/Unleashed/Hotzone) (librenms#9727)
* Fixes for SZ detection

* Ruckuswireless devices

* remove registered mibs

* Code Climate Fixes

* updated test data for zd1100 & zd1200

* Updated database test data

* trying to fix smartzone test data

* updating zd test data

* more code climate fixes

* Update ruckuswireless-unleashed.yaml

* hide total clients if 1 ssid

* fixing smartzone ap status

* smartzone ap count fixes

* fixes because of git

* fix zd ap counts

* Update ruckuswireless-sz.json

* Update ZD1200 test Data

* Update ruckuswireless-sz.snmprec

* Update Database test data

* Update zd1200 database data

* Update ruckuswireless_zd1100.snmprec

* Update ruckuswireless_zd1100.json

* Update ruckuswireless_zd1100.json

* Update ruckuswireless_zd1100.json

* Code Climate Fixes

* Code Climate Fixes

* Update Ruckuswireless.php

* Code Format Fixes

@lock lock bot locked as resolved and limited conversation to collaborators May 3, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.