Skip to content

Commit e93d683

Browse files
Copilotlextm
andcommitted
Add scripts and documentation for faulty device tagging
Co-authored-by: lextm <425130+lextm@users.noreply.github.com>
1 parent c49cad5 commit e93d683

File tree

3 files changed

+180
-55
lines changed

3 files changed

+180
-55
lines changed

FAULTY_DEVICE_ISSUES.md

Lines changed: 27 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -22,74 +22,38 @@ The following imported issues are related to faulty devices but currently **miss
2222
### #62 - HP Server OctetString Issue
2323
- **Status**: Needs tag
2424
- **Device**: HP server (OID .1.3.6.1.4.1.232.11.2.10.7.0)
25-
- **Issue**: OctetString field returning faulty hex values
26-
- **Reason**: Device-specific data encoding issue
27-
28-
### #83 - Dell iDRAC 8 SNMPv3 Trap Issue
29-
- **Status**: Needs tag
30-
- **Device**: Dell iDRAC 8
31-
- **Issue**: SNMPv3 trap receiving issue
32-
- **Reason**: Works in PowerSNMP Manager but not SharpSnmpLib (device-specific compatibility)
25+
- **Issue**: OctetString field returning different hex values than iReasoning Browser
26+
- **Reason**: Works correctly in iReasoning Browser but returns "completely different" values in SharpSnmpLib - device-specific data encoding issue
3327

3428
### #89 - MikroTik RouterOS Unsupported Data Type
3529
- **Status**: Needs tag
3630
- **Device**: MikroTik RouterOS
37-
- **Issue**: Unsupported data type 18 exception
38-
- **Reason**: Device uses non-standard SNMP data types
31+
- **Issue**: BulkWalk causes "unsupported data type: 18" exception (SNMPv2), but Walk with SNMPv1 works fine
32+
- **Reason**: Device uses non-standard SNMP data type 18 that is not part of standard SNMP data types
3933

4034
### #101 - Cisco ASA 5510 MsgFlags Issue
41-
- **Status**: Needs tag
35+
- **Status**: Needs tag (note: currently only has "bug" label, missing "imported" label too)
4236
- **Device**: Cisco ASA 5510 firewall
43-
- **Issue**: Returns MsgFlags=8, library only handles 0-7
44-
- **Reason**: Works in Net::SNMP, device returns out-of-spec value
45-
46-
### #114 - Fortis Device Data Construction Exception
47-
- **Status**: Needs tag
48-
- **Device**: Fortis device
49-
- **Issue**: Data construction exception with mismatched communities
50-
- **Reason**: Device-specific behavior
37+
- **Issue**: Returns MsgFlags=8 during SNMPv3 discovery, library only handles 0-7
38+
- **Reason**: Works in Net::SNMP, device returns out-of-spec value; Cisco C2960 switch works correctly
5139

5240
### #370 - QNap NAS GetTable Truncation
5341
- **Status**: Needs tag
5442
- **Device**: QNap NAS (Firmware 3.2.3 Build 0209T)
55-
- **Issue**: GetTable returns truncated/misaligned table data
56-
- **Reason**: Works in iReasoning Browser but not SharpSnmpLib (device-specific compatibility)
57-
58-
### #420 - HP v1910-24G Switch VLAN Query
59-
- **Status**: Needs tag
60-
- **Device**: HP v1910-24G switch
61-
- **Issue**: VLAN query issue
62-
- **Reason**: Device-specific behavior
43+
- **Issue**: GetTable on hrStorageTable returns only 6 columns instead of 7, with misaligned/shifted values
44+
- **Reason**: Works correctly in iReasoning Browser but fails in SharpSnmpLib (device-specific compatibility)
6345

6446
### #436 - Cisco Switch MAC Address per VLAN
6547
- **Status**: Needs tag
6648
- **Device**: Cisco switch
67-
- **Issue**: MAC address retrieval per VLAN in SNMPv3 returns empty data
68-
- **Reason**: Device-specific VLAN context handling required
69-
70-
### #469 - HP OpenView Integration Issue
71-
- **Status**: Needs tag
72-
- **Device**: HP OpenView
73-
- **Issue**: Integration issue
74-
- **Reason**: Device/platform-specific compatibility
75-
76-
### #471 - Dell Server MIBs RFC1212 Loading
77-
- **Status**: Needs tag
78-
- **Device**: Dell server
79-
- **Issue**: RFC1212 loading issue with Dell MIBs
80-
- **Reason**: Device-specific MIB format
49+
- **Issue**: MAC address retrieval per VLAN in SNMPv3 returns empty data (OID 1.3.6.1.2.1.17.4.3.1.1)
50+
- **Reason**: Requires VLAN context support (community@VLANnum in v2c) which may not be properly supported in v3
8151

8252
### #475 - Citrix Xen GetTable Timeout
8353
- **Status**: Needs tag
8454
- **Device**: Citrix Xen SNMP Agent
85-
- **Issue**: GetTable operations timeout
86-
- **Reason**: Works in iReasoning Browser but not SharpSnmpLib, single OID reads work (device-specific compatibility)
87-
88-
### #630 - HP Switch Firmware Download Status
89-
- **Status**: Needs tag
90-
- **Device**: HP switch
91-
- **Issue**: Firmware download status field issue
92-
- **Reason**: Device-specific behavior
55+
- **Issue**: GetTable operations timeout on sessionTable and procTable
56+
- **Reason**: Works in iReasoning Browser, single OID reads work fine with SharpSnmpLib (device-specific GetTable compatibility)
9357

9458
## Issues Already Properly Tagged
9559

@@ -107,30 +71,38 @@ The following issues already have the `area:faulty-device` label:
10771

10872
- **Total imported issues reviewed**: 490
10973
- **Issues already tagged with area:faulty-device**: 7
110-
- **Issues that need area:faulty-device tag**: 12
111-
- **Total device-related issues**: 19
74+
- **Issues that need area:faulty-device tag**: 6
75+
- **Total device-related issues**: 13
11276

11377
## Device Vendor Distribution
11478

11579
- **Cisco**: 3 issues (#101, #318, #436)
116-
- **HP**: 4 issues (#62, #420, #469, #630)
117-
- **Dell**: 2 issues (#83, #471)
80+
- **HP**: 1 issue (#62)
81+
- **Dell**: 0 confirmed device issues
11882
- **QNap**: 1 issue (#370)
11983
- **Citrix**: 1 issue (#475)
12084
- **MikroTik**: 1 issue (#89)
121-
- **Fortis**: 1 issue (#114)
12285
- **Eaton**: 1 issue (#698)
12386
- **Unknown/Generic**: 5 issues (#291, #474, #608, #693, #700)
12487

12588
## Recommendations
12689

127-
1. **Add the `area:faulty-device` label** to all 12 issues listed in the "Issues Requiring Label" section
90+
1. **Add the `area:faulty-device` label** to the 6 issues listed in the "Issues Requiring Label" section:
91+
- #62 (HP server OctetString)
92+
- #89 (MikroTik unsupported data type)
93+
- #101 (Cisco ASA MsgFlags) - also needs "imported" label
94+
- #370 (QNap GetTable)
95+
- #436 (Cisco MAC address per VLAN)
96+
- #475 (Citrix GetTable timeout)
97+
12898
2. **Maintain this label** for device-specific compatibility issues to help:
12999
- Distinguish between library bugs and device non-compliance
130100
- Track which devices have known issues
131101
- Prioritize compatibility improvements
132102
- Document workarounds for specific devices
133103

104+
3. **Consider creating** device-specific documentation or wiki pages for known compatibility issues with popular devices (Cisco, HP, Dell, etc.)
105+
134106
## Notes
135107

136108
- Issues were reviewed based on their descriptions, comments, and whether they mention specific devices or work in other SNMP tools

FAULTY_DEVICE_TAGGING_README.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Faulty Device Tagging Task - README
2+
3+
## Task Overview
4+
5+
This task involved reviewing all imported issues (490 total) in the lextudio/sharpsnmplib repository to identify which ones are related to faulty or non-standard devices, and tagging them with the `area:faulty-device` label.
6+
7+
## What Was Done
8+
9+
### 1. Comprehensive Review
10+
- Reviewed all 490 issues with the "imported" label
11+
- Applied systematic criteria to identify device-related issues
12+
- Verified each candidate issue by reading full descriptions and comments
13+
14+
### 2. Identification Criteria
15+
16+
Issues were identified as device-related if they met one or more of these criteria:
17+
18+
1. **Specific device vendor/model** exhibiting non-standard SNMP behavior
19+
2. **Device returns malformed/truncated/incorrect** SNMP data
20+
3. **Works in other SNMP tools** but not in SharpSnmpLib (indicates device-specific compatibility)
21+
4. **Explicitly mentions device bug** or firmware issue
22+
5. **Requires device-specific workaround** rather than a general fix
23+
24+
### 3. Results
25+
26+
**Found:**
27+
- 7 issues already properly tagged with `area:faulty-device`
28+
- 6 issues needing the `area:faulty-device` label
29+
30+
**Issues requiring `area:faulty-device` label:**
31+
- #62: HP server - OctetString encoding mismatch (works in iReasoning)
32+
- #89: MikroTik RouterOS - unsupported data type 18
33+
- #101: Cisco ASA 5510 - MsgFlags=8 out of range (works in Net::SNMP)
34+
- #370: QNap NAS - GetTable truncation (works in iReasoning)
35+
- #436: Cisco switch - MAC address per VLAN (needs VLAN context)
36+
- #475: Citrix Xen - GetTable timeout (works in iReasoning)
37+
38+
**Note:** Issue #101 also needs the "imported" label added.
39+
40+
## Files Created
41+
42+
### 1. `FAULTY_DEVICE_ISSUES.md`
43+
Comprehensive documentation of:
44+
- All device-related issues (both tagged and untagged)
45+
- Detailed analysis of each issue
46+
- Device vendor distribution
47+
- Recommendations for labeling
48+
49+
### 2. `add-faulty-device-labels.sh`
50+
Automated script to add labels using GitHub CLI:
51+
```bash
52+
./add-faulty-device-labels.sh
53+
```
54+
55+
This script will:
56+
- Add `area:faulty-device` label to the 6 identified issues
57+
- Add `imported` label to issue #101
58+
- Provide progress feedback
59+
60+
## How to Apply the Labels
61+
62+
### Option 1: Using the Script (Recommended)
63+
```bash
64+
# Ensure you have GitHub CLI installed and authenticated
65+
gh auth status
66+
67+
# Run the script
68+
./add-faulty-device-labels.sh
69+
```
70+
71+
### Option 2: Manual GitHub UI
72+
Navigate to each issue and add the `area:faulty-device` label:
73+
- Issue #62
74+
- Issue #89
75+
- Issue #101 (also add "imported")
76+
- Issue #370
77+
- Issue #436
78+
- Issue #475
79+
80+
### Option 3: Using GitHub CLI Manually
81+
```bash
82+
gh issue edit 62 --add-label "area:faulty-device"
83+
gh issue edit 89 --add-label "area:faulty-device"
84+
gh issue edit 101 --add-label "area:faulty-device,imported"
85+
gh issue edit 370 --add-label "area:faulty-device"
86+
gh issue edit 436 --add-label "area:faulty-device"
87+
gh issue edit 475 --add-label "area:faulty-device"
88+
```
89+
90+
## Verification
91+
92+
After applying labels, you can verify by running:
93+
```bash
94+
gh issue list --label "area:faulty-device" --label "imported" --state all
95+
```
96+
97+
This should show 13 total issues (7 previously tagged + 6 newly tagged).
98+
99+
## Notes
100+
101+
- The `area:faulty-device` label (not just `faulty-device`) is used to match existing conventions in the repository
102+
- Some issues that mentioned devices were determined NOT to be device bugs (usage questions, documentation requests, etc.) and were excluded
103+
- The analysis focused on issues where the device behavior is non-standard or incompatible with SNMP specifications
104+
- Issues that work in other SNMP tools but not in SharpSnmpLib are strong indicators of device-specific compatibility issues
105+
106+
## Device Breakdown
107+
108+
After tagging, the repository will have device-related issues from:
109+
- **Cisco**: 3 issues (ASA, switches)
110+
- **HP**: 1 issue (server)
111+
- **QNap**: 1 issue (NAS)
112+
- **Citrix**: 1 issue (Xen)
113+
- **MikroTik**: 1 issue (RouterOS)
114+
- **Eaton**: 1 issue (PDU)
115+
- **Generic/Unknown devices**: 5 issues
116+
117+
Total: 13 device-related issues identified and documented.

add-faulty-device-labels.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
# Script to add 'area:faulty-device' label to identified issues
3+
# Run this script in the repository root with GitHub CLI (gh) installed and authenticated
4+
5+
echo "Adding 'area:faulty-device' label to identified imported issues..."
6+
echo ""
7+
8+
# Array of issue numbers that need the label
9+
issues_to_tag=(62 89 101 370 436 475)
10+
11+
for issue in "${issues_to_tag[@]}"; do
12+
echo "Processing issue #$issue..."
13+
gh issue edit $issue --add-label "area:faulty-device"
14+
if [ $? -eq 0 ]; then
15+
echo "✓ Successfully added label to issue #$issue"
16+
else
17+
echo "✗ Failed to add label to issue #$issue"
18+
fi
19+
echo ""
20+
done
21+
22+
# Also add 'imported' label to #101 which is missing it
23+
echo "Adding 'imported' label to issue #101..."
24+
gh issue edit 101 --add-label "imported"
25+
if [ $? -eq 0 ]; then
26+
echo "✓ Successfully added 'imported' label to issue #101"
27+
else
28+
echo "✗ Failed to add 'imported' label to issue #101"
29+
fi
30+
31+
echo ""
32+
echo "Done! All labels have been processed."
33+
echo ""
34+
echo "Summary:"
35+
echo "- Added 'area:faulty-device' label to 6 issues: #62, #89, #101, #370, #436, #475"
36+
echo "- Added 'imported' label to issue #101"

0 commit comments

Comments
 (0)