From eb0d1d19ae7581aa4a884265dc4d87548b5f5a6d Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Wed, 16 Nov 2022 17:40:24 +0100
Subject: [PATCH] update project

---
 agent_based/inv_opengear_base.py |  52 +++++++++++++++++++++++++++++++
 inv_opengear_base.mkp            | Bin 2096 -> 2322 bytes
 packages/inv_opengear_base       |   5 +--
 3 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/agent_based/inv_opengear_base.py b/agent_based/inv_opengear_base.py
index e57ddb4..7ecc64d 100644
--- a/agent_based/inv_opengear_base.py
+++ b/agent_based/inv_opengear_base.py
@@ -12,6 +12,7 @@
 #
 # 2022-11-08: fixed crash in parse function on empty inv_data
 # 2022-11-09: removed ' ()' from firmware version
+# 2022-11-12: added support for CM81xx series (sysObjectID = .1.3.6.1.4.1.25049.1.101)
 #
 # sample string_table
 # [
@@ -149,6 +150,57 @@ register.snmp_section(
     detect=startswith('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.25049'),  # sysObjectID == opengear
 )
 
+
+def parse_inv_opengear_base_om(string_table: StringTable) -> Optional[List]:
+
+    try:
+        host_name, serial_number, firmware_version, vendor, model_name, number_of_lines = string_table[0]
+    except IndexError:
+        return
+
+    section = []
+
+    invPath = ['hardware', 'system']
+
+    for key, value in [
+        ('serial', serial_number),
+        ('manufacturer', vendor),
+        ('model', model_name),
+        ('host_name', host_name),
+    ]:
+        if not value == '':
+            section.append((invPath, key, value))
+
+    invPath = ['software', 'firmware']
+
+    for key, value in [
+        ('vendor', 'opengear'),
+        ('version', firmware_version.rstrip(' ()')),
+    ]:
+        if not value == '':
+            section.append((invPath, key, value))
+
+    return section
+
+
+register.snmp_section(
+    name='inv_opengear_base_om',
+    parse_function=parse_inv_opengear_base_om,
+    parsed_section_name='inv_opengear_base',
+    fetch=SNMPTree(
+        base='.1.3.6.1.4.1.25049.10.19',  # OG-OMTELEM-MIB::ogOmTelem
+        oids=[
+            '1.1',  # ogOmSystemHostName
+            '1.2',  # ogOmSystemSerialNumber
+            '1.3',  # ogOmSystemFirmwareVersion
+            '1.4',  # ogOmSystemVendor
+            '1.5',  # ogOmSystemModel
+            '2.1',  # ogOmSerialPortCount
+        ]
+    ),
+    detect=startswith('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.25049.1.101'),  # sysObjectID == OG-PRODUCTS-MIB::ogOperationsManager
+)
+
 register.inventory_plugin(
     name='inv_opengear_base',
     inventory_function=inventory_opengear_base,
diff --git a/inv_opengear_base.mkp b/inv_opengear_base.mkp
index 1f931b239f6254363f111e8fed5ad3270e919a66..539194727a4b73b30fe16380c9b23e84ebba0ce1 100644
GIT binary patch
literal 2322
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

literal 2096
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
aBqSsxBqSsxBqSu>5dQ<<MuK|)Pyhfstp2$G

diff --git a/packages/inv_opengear_base b/packages/inv_opengear_base
index b76cff1..9ca53d8 100644
--- a/packages/inv_opengear_base
+++ b/packages/inv_opengear_base
@@ -8,13 +8,14 @@
                 '- IM4216\n'
                 '- CM7116\n'
                 '- CM7132\n'
-                '- CM7148\n',
+                '- CM7148\n'
+                '- CM81XX\n',
  'download_url': 'https://thl-cmk.hopto.org',
  'files': {'agent_based': ['inv_opengear_base.py']},
  'name': 'inv_opengear_base',
  'num_files': 1,
  'title': 'opengear base inventory',
- 'version': '20221109.v.0.01b',
+ 'version': '20221112.v.0.02',
  'version.min_required': '2.0.0',
  'version.packaged': '2021.09.20',
  'version.usable_until': None}
\ No newline at end of file
-- 
GitLab