File bz561413-12-Put-OIDs-in-one-place.patch of Package clustermon

From 532d59652f34e90fb0a327715b6cfa7877ccf1f4 Mon Sep 17 00:00:00 2001
From: Lon Hohberger <lhh@redhat.com>
Date: Fri, 14 May 2010 10:37:18 -0400
Subject: [PATCH 12/16] modclusterd: Put OIDs in one place.

Signed-off-by: Lon Hohberger <lhh@redhat.com>
---
 .../modules/cluster/clumon/src/snmp-agent/Makefile |   15 +++-
 .../cluster/clumon/src/snmp-agent/clusterMIB.cpp   |   93 +++++---------------
 .../clumon/src/snmp-agent/clusterMonitorSnmp.cpp   |   34 ++++---
 .../cluster/clumon/src/snmp-agent/nodesMIB.cpp     |    5 +-
 .../cluster/clumon/src/snmp-agent/rhc_oid.cpp      |   94 ++++++++++++++++++++
 .../cluster/clumon/src/snmp-agent/servicesMIB.cpp  |    6 +-
 6 files changed, 153 insertions(+), 94 deletions(-)
 create mode 100644 ricci/modules/cluster/clumon/src/snmp-agent/rhc_oid.cpp

diff --git a/ricci/modules/cluster/clumon/src/snmp-agent/Makefile b/ricci/modules/cluster/clumon/src/snmp-agent/Makefile
index 159a9d2..727a641 100644
--- a/ricci/modules/cluster/clumon/src/snmp-agent/Makefile
+++ b/ricci/modules/cluster/clumon/src/snmp-agent/Makefile
@@ -39,7 +39,8 @@ OBJECTS = clusterMonitorSnmp.o \
 	servicesMIB.o \
 	servicesMIB_access.o \
 	servicesMIB_checkfns.o \
-	servicesMIB_checkfns_local.o
+	servicesMIB_checkfns_local.o \
+	rhc_oid.o
 
 TARGET = libClusterMonitorSnmp.so
 
@@ -54,11 +55,21 @@ uninstall:
 	${UNINSTALL} ${TARGET} ${libdir}/cluster-snmp
 
 clean:
+	rm -f rhc_oid.h
 	rm -f $(OBJECTS) $(TARGET)
 
+rhc_oid.h: rhc_oid.cpp
+	echo "// Automatically generated " > rhc_oid.h
+	echo "#ifndef _RHC_OID_H" >> rhc_oid.h
+	echo "#define _RHC_OID_H" >> rhc_oid.h
+	echo "extern \"C\" {" >> rhc_oid.h
+	sed -e 's/^#.*//' -e 's/^\([a-zA-Z]\)/extern \1/' -e 's/].*;/\];/' -e 's/_len.*;/_len;/' rhc_oid.cpp >> rhc_oid.h
+	echo "};" >> rhc_oid.h
+	echo "#endif" >> rhc_oid.h
+
 check:
 
 rebuild: clean all
 
-$(TARGET): $(OBJECTS)
+$(TARGET): rhc_oid.h $(OBJECTS)
 	$(CXX) $(LDFLAGS) -o $@ $(OBJECTS)
diff --git a/ricci/modules/cluster/clumon/src/snmp-agent/clusterMIB.cpp b/ricci/modules/cluster/clumon/src/snmp-agent/clusterMIB.cpp
index 115d256..91c7034 100644
--- a/ricci/modules/cluster/clumon/src/snmp-agent/clusterMIB.cpp
+++ b/ricci/modules/cluster/clumon/src/snmp-agent/clusterMIB.cpp
@@ -27,7 +27,7 @@
 
 #include "clusterMIB.h"
 #include "clusterMonitorSnmp.h"
-
+#include "rhc_oid.h"
 
 using namespace ClusterMonitoring;
 using namespace std;
@@ -40,182 +40,135 @@ static String getStatusDescription(unsigned int code);
 void
 initialize_clusterMIB(void)
 {
-    static oid      rhcMIBVersion_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 1, 1 };
-
-    static oid      rhcClusterName_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 1 };
-    static oid      rhcClusterStatusCode_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 2 };
-    static oid      rhcClusterStatusDesc_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 3 };
-    static oid      rhcClusterVotesNeededForQuorum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 4 };
-    static oid      rhcClusterVotes_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 5 };
-    static oid      rhcClusterQuorate_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 6 };
-    static oid      rhcClusterNodesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 7 };
-    static oid      rhcClusterNodesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 8 };
-    static oid      rhcClusterAvailNodesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 9 };
-    static oid      rhcClusterAvailNodesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 10 };
-    static oid      rhcClusterUnavailNodesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 11 };
-    static oid      rhcClusterUnavailNodesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 12 };
-    static oid      rhcClusterServicesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 13 };
-    static oid      rhcClusterServicesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 14 };
-    static oid      rhcClusterRunningServicesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 15 };
-    static oid      rhcClusterRunningServicesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 16 };
-    static oid      rhcClusterStoppedServicesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 17 };
-    static oid      rhcClusterStoppedServicesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 18 };
-    static oid      rhcClusterFailedServicesNum_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 19 };
-    static oid      rhcClusterFailedServicesNames_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 20 };
-    static oid      rhcClusterConfigVersion_oid[] =
-        { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 21 };
-
     DEBUGMSGTL(("libClusterMonitorSnmp", "Initializing\n"));
 
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcMIBVersion",
                              handle_rhcMIBVersion,
                              rhcMIBVersion_oid,
-                             OID_LENGTH(rhcMIBVersion_oid),
+                             rhcMIBVersion_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterFailedServicesNum",
                              handle_rhcClusterFailedServicesNum,
                              rhcClusterFailedServicesNum_oid,
-                             OID_LENGTH(rhcClusterFailedServicesNum_oid),
+                             rhcClusterFailedServicesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterFailedServicesNames",
                              handle_rhcClusterFailedServicesNames,
                              rhcClusterFailedServicesNames_oid,
-                             OID_LENGTH(rhcClusterFailedServicesNames_oid),
+                             rhcClusterFailedServicesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterStatusDesc",
                              handle_rhcClusterStatusDesc,
                              rhcClusterStatusDesc_oid,
-                             OID_LENGTH(rhcClusterStatusDesc_oid),
+                             rhcClusterStatusDesc_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterVotes", handle_rhcClusterVotes,
                              rhcClusterVotes_oid,
-                             OID_LENGTH(rhcClusterVotes_oid),
+                             rhcClusterVotes_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterQuorate", handle_rhcClusterQuorate,
                              rhcClusterQuorate_oid,
-                             OID_LENGTH(rhcClusterQuorate_oid),
+                             rhcClusterQuorate_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterStoppedServicesNum",
                              handle_rhcClusterStoppedServicesNum,
                              rhcClusterStoppedServicesNum_oid,
-                             OID_LENGTH(rhcClusterStoppedServicesNum_oid),
+                             rhcClusterStoppedServicesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterStoppedServicesNames",
                              handle_rhcClusterStoppedServicesNames,
                              rhcClusterStoppedServicesNames_oid,
-                             OID_LENGTH(rhcClusterStoppedServicesNames_oid),
+                             rhcClusterStoppedServicesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterAvailNodesNum",
                              handle_rhcClusterAvailNodesNum,
                              rhcClusterAvailNodesNum_oid,
-                             OID_LENGTH(rhcClusterAvailNodesNum_oid),
+                             rhcClusterAvailNodesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterAvailNodesNames",
                              handle_rhcClusterAvailNodesNames,
                              rhcClusterAvailNodesNames_oid,
-                             OID_LENGTH(rhcClusterAvailNodesNames_oid),
+                             rhcClusterAvailNodesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterServicesNum",
                              handle_rhcClusterServicesNum,
                              rhcClusterServicesNum_oid,
-                             OID_LENGTH(rhcClusterServicesNum_oid),
+                             rhcClusterServicesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterServicesNames",
                              handle_rhcClusterServicesNames,
                              rhcClusterServicesNames_oid,
-                             OID_LENGTH(rhcClusterServicesNames_oid),
+                             rhcClusterServicesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterName", handle_rhcClusterName,
                              rhcClusterName_oid,
-                             OID_LENGTH(rhcClusterName_oid),
+                             rhcClusterName_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterConfigVersion", handle_rhcClusterConfigVersion,
                              rhcClusterConfigVersion_oid,
-                             OID_LENGTH(rhcClusterConfigVersion_oid),
+                             rhcClusterConfigVersion_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterStatusCode",
                              handle_rhcClusterStatusCode,
                              rhcClusterStatusCode_oid,
-                             OID_LENGTH(rhcClusterStatusCode_oid),
+                             rhcClusterStatusCode_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterUnavailNodesNum",
                              handle_rhcClusterUnavailNodesNum,
                              rhcClusterUnavailNodesNum_oid,
-                             OID_LENGTH(rhcClusterUnavailNodesNum_oid),
+                             rhcClusterUnavailNodesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterUnavailNodesNames",
                              handle_rhcClusterUnavailNodesNames,
                              rhcClusterUnavailNodesNames_oid,
-                             OID_LENGTH(rhcClusterUnavailNodesNames_oid),
+                             rhcClusterUnavailNodesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterNodesNum",
                              handle_rhcClusterNodesNum,
                              rhcClusterNodesNum_oid,
-                             OID_LENGTH(rhcClusterNodesNum_oid),
+                             rhcClusterNodesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterNodesNames",
                              handle_rhcClusterNodesNames,
                              rhcClusterNodesNames_oid,
-                             OID_LENGTH(rhcClusterNodesNames_oid),
+                             rhcClusterNodesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterRunningServicesNum",
                              handle_rhcClusterRunningServicesNum,
                              rhcClusterRunningServicesNum_oid,
-                             OID_LENGTH(rhcClusterRunningServicesNum_oid),
+                             rhcClusterRunningServicesNum_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterRunningServicesNames",
                              handle_rhcClusterRunningServicesNames,
                              rhcClusterRunningServicesNames_oid,
-                             OID_LENGTH(rhcClusterRunningServicesNames_oid),
+                             rhcClusterRunningServicesNames_len,
                              HANDLER_CAN_RONLY));
     netsnmp_register_scalar(netsnmp_create_handler_registration
                             ("rhcClusterVotesNeededForQuorum",
                              handle_rhcClusterVotesNeededForQuorum,
                              rhcClusterVotesNeededForQuorum_oid,
-                             OID_LENGTH
-                             (rhcClusterVotesNeededForQuorum_oid),
+                             rhcClusterVotesNeededForQuorum_len,
                              HANDLER_CAN_RONLY));
 }
 
diff --git a/ricci/modules/cluster/clumon/src/snmp-agent/clusterMonitorSnmp.cpp b/ricci/modules/cluster/clumon/src/snmp-agent/clusterMonitorSnmp.cpp
index 8c89c81..36fabb3 100644
--- a/ricci/modules/cluster/clumon/src/snmp-agent/clusterMonitorSnmp.cpp
+++ b/ricci/modules/cluster/clumon/src/snmp-agent/clusterMonitorSnmp.cpp
@@ -27,33 +27,32 @@
 #include "clumond_globals.h"
 #include <syslog.h>
 #include "Cluster.h"
+#include "rhc_oid.h"
 
 using namespace ClusterMonitoring;
 
 ClusterMonitoring::ClusterMonitor monitor;
 
 
-void
-config_update_trap(unsigned int new_version)
+static void
+init_trap(netsnmp_variable_list **vars, oid notif[], size_t notif_len)
 {
-	/* Needs to be addd to ALL snmp notifications I guess? */
-	oid objid_snmptrap[] = { 1, 3, 6, 1, 6, 3, 1, 1, 4, 1, 0 };
-	size_t objid_snmptrap_len = OID_LENGTH(objid_snmptrap);
-
-	oid notification_oid[] = { 1, 3, 6, 1, 4, 1, 2312, 8, 0, 1 };
-	size_t notification_oid_len = OID_LENGTH(notification_oid);
+	snmp_varlist_add_variable(vars, snmp_trap, snmp_trap_len,
+				  ASN_OBJECT_ID,
+				  (u_char *)notif, notif_len * sizeof(oid));
+}
 
-	oid config_version[] = { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 21 };
-	size_t cvlen = OID_LENGTH(config_version);
 
+void
+config_update_trap(unsigned int new_version)
+{
 	netsnmp_variable_list *vars = NULL;
 
-	snmp_varlist_add_variable(&vars, objid_snmptrap, objid_snmptrap_len,
-				  ASN_OBJECT_ID,
-				  (u_char *)notification_oid,
-				  notification_oid_len * sizeof(oid));
+	init_trap(&vars, rhcConfigVersion_trap, rhcConfigVersion_len);
 
-	snmp_varlist_add_variable(&vars, config_version, cvlen,
+	snmp_varlist_add_variable(&vars,
+				  rhcClusterConfigVersion_oid,
+				  rhcClusterConfigVersion_len,
 				  ASN_INTEGER,
 				  (u_char *)&new_version,
 				  sizeof(new_version));
@@ -96,3 +95,8 @@ init_RedHatCluster(void)
 
 	} catch ( ... ) {}
 }
+
+void
+init_redhatCluster(void) {
+	init_RedHatCluster();
+}
diff --git a/ricci/modules/cluster/clumon/src/snmp-agent/nodesMIB.cpp b/ricci/modules/cluster/clumon/src/snmp-agent/nodesMIB.cpp
index ba9ff86..5e38a13 100644
--- a/ricci/modules/cluster/clumon/src/snmp-agent/nodesMIB.cpp
+++ b/ricci/modules/cluster/clumon/src/snmp-agent/nodesMIB.cpp
@@ -27,6 +27,7 @@
 #include "nodesMIB.h"
 #include "nodesMIB_checkfns.h"
 #include "nodesMIB_access.h"
+#include "rhc_oid.h"
 
 void
 initialize_nodesMIB(void)
@@ -62,7 +63,6 @@ rhcNodesTable_free_undoInfo(void *vptr)
 void
 initialize_table_rhcNodesTable(void)
 {
-	static oid rhcNodesTable_oid[] = { 1, 3, 6, 1, 4, 1, 2312, 8, 3, 1 };
 	netsnmp_table_registration_info *table_info;
 	netsnmp_handler_registration *my_handler;
 	netsnmp_iterator_info *iinfo;
@@ -76,8 +76,7 @@ initialize_table_rhcNodesTable(void)
 	my_handler = netsnmp_create_handler_registration("rhcNodesTable",
 					rhcNodesTable_handler,
 					rhcNodesTable_oid,
-					OID_LENGTH
-					(rhcNodesTable_oid),
+					rhcNodesTable_len,
 					HANDLER_CAN_RONLY);
 
 	if (!my_handler || !table_info || !iinfo) {
diff --git a/ricci/modules/cluster/clumon/src/snmp-agent/rhc_oid.cpp b/ricci/modules/cluster/clumon/src/snmp-agent/rhc_oid.cpp
new file mode 100644
index 0000000..6c1dcc7
--- /dev/null
+++ b/ricci/modules/cluster/clumon/src/snmp-agent/rhc_oid.cpp
@@ -0,0 +1,94 @@
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/* SNMP OIDs we need to know about */
+oid snmp_trap[]				= { 1, 3, 6, 1, 6, 3, 1, 1, 4, 1, 0 };
+size_t snmp_trap_len			= OID_LENGTH(snmp_trap);
+
+/* Traps */
+oid rhcConfigVersion_trap[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 0, 1 };
+size_t rhcConfigVersion_len		= OID_LENGTH(rhcConfigVersion_trap);
+
+oid rhcQuorumState_trap[]			= { 1, 3, 6, 1, 4, 1, 2312, 8, 0, 2 };
+size_t rhcQuorumState_len			= OID_LENGTH(rhcQuorumState_trap);
+
+oid rhcNodeState_trap[]			= { 1, 3, 6, 1, 4, 1, 2312, 8, 0, 3 };
+size_t rhcNodeState_len			= OID_LENGTH(rhcNodeState_trap);
+
+oid rhcServiceState_trap[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 0, 4 };
+size_t rhcServiceState_len		= OID_LENGTH(rhcServiceState_trap);
+
+/* Objects */
+oid rhcMIBVersion_oid[]			= { 1, 3, 6, 1, 4, 1, 2312, 8, 1, 1 };
+size_t rhcMIBVersion_len			= OID_LENGTH(rhcMIBVersion_oid);
+
+oid rhcClusterName_oid[]			= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 1 };
+size_t rhcClusterName_len			= OID_LENGTH(rhcClusterName_oid);
+
+oid rhcClusterStatusCode_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 2 };
+size_t rhcClusterStatusCode_len		= OID_LENGTH(rhcClusterStatusCode_oid);
+
+oid rhcClusterStatusDesc_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 3 };
+size_t rhcClusterStatusDesc_len		= OID_LENGTH(rhcClusterStatusDesc_oid);
+
+oid rhcClusterVotesNeededForQuorum_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 4 };
+size_t rhcClusterVotesNeededForQuorum_len	= OID_LENGTH(rhcClusterVotesNeededForQuorum_oid);
+
+oid rhcClusterVotes_oid[]			= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 5 };
+size_t rhcClusterVotes_len		= OID_LENGTH(rhcClusterVotes_oid);
+
+oid rhcClusterQuorate_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 6 };
+size_t rhcClusterQuorate_len		= OID_LENGTH(rhcClusterQuorate_oid);
+
+oid rhcClusterNodesNum_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 7 };
+size_t rhcClusterNodesNum_len		= OID_LENGTH(rhcClusterNodesNum_oid);
+
+oid rhcClusterNodesNames_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 8 };
+size_t rhcClusterNodesNames_len		= OID_LENGTH(rhcClusterNodesNames_oid);
+
+oid rhcClusterAvailNodesNum_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 9 };
+size_t rhcClusterAvailNodesNum_len	= OID_LENGTH(rhcClusterAvailNodesNum_oid);
+
+oid rhcClusterAvailNodesNames_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 10 };
+size_t rhcClusterAvailNodesNames_len	= OID_LENGTH(rhcClusterAvailNodesNames_oid);
+
+oid rhcClusterUnavailNodesNum_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 11 };
+size_t rhcClusterUnavailNodesNum_len	= OID_LENGTH(rhcClusterUnavailNodesNum_oid);
+
+oid rhcClusterUnavailNodesNames_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 12 };
+size_t rhcClusterUnavailNodesNames_len	= OID_LENGTH(rhcClusterUnavailNodesNames_oid);
+
+oid rhcClusterServicesNum_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 13 };
+size_t rhcClusterServicesNum_len		= OID_LENGTH(rhcClusterServicesNum_oid);
+
+oid rhcClusterServicesNames_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 14 };
+size_t rhcClusterServicesNames_len	= OID_LENGTH(rhcClusterServicesNames_oid);
+
+oid rhcClusterRunningServicesNum_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 15 };
+size_t rhcClusterRunningServicesNum_len	= OID_LENGTH(rhcClusterRunningServicesNum_oid);
+
+oid rhcClusterRunningServicesNames_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 16 };
+size_t rhcClusterRunningServicesNames_len	= OID_LENGTH(rhcClusterRunningServicesNames_oid);
+
+oid rhcClusterStoppedServicesNum_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 17 };
+size_t rhcClusterStoppedServicesNum_len	= OID_LENGTH(rhcClusterStoppedServicesNum_oid);
+
+oid rhcClusterStoppedServicesNames_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 18 };
+size_t rhcClusterStoppedServicesNames_len	= OID_LENGTH(rhcClusterStoppedServicesNames_oid);
+
+oid rhcClusterFailedServicesNum_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 19 };
+size_t rhcClusterFailedServicesNum_len	= OID_LENGTH(rhcClusterFailedServicesNum_oid);
+
+oid rhcClusterFailedServicesNames_oid[]	= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 20 };
+size_t rhcClusterFailedServicesNames_len	= OID_LENGTH(rhcClusterFailedServicesNames_oid);
+
+oid rhcClusterConfigVersion_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 2, 21 };
+size_t rhcClusterConfigVersion_len	= OID_LENGTH(rhcClusterConfigVersion_oid);
+
+/* Tables */
+oid rhcNodesTable_oid[]			= { 1, 3, 6, 1, 4, 1, 2312, 8, 3, 1 };
+size_t rhcNodesTable_len			= OID_LENGTH(rhcNodesTable_oid);
+
+oid rhcServicesTable_oid[]		= { 1, 3, 6, 1, 4, 1, 2312, 8, 3, 2 };
+size_t rhcServicesTable_len		= OID_LENGTH(rhcServicesTable_oid);
diff --git a/ricci/modules/cluster/clumon/src/snmp-agent/servicesMIB.cpp b/ricci/modules/cluster/clumon/src/snmp-agent/servicesMIB.cpp
index 0f57bd4..26b37cd 100644
--- a/ricci/modules/cluster/clumon/src/snmp-agent/servicesMIB.cpp
+++ b/ricci/modules/cluster/clumon/src/snmp-agent/servicesMIB.cpp
@@ -28,6 +28,7 @@
 #include "servicesMIB.h"
 #include "servicesMIB_checkfns.h"
 #include "servicesMIB_access.h"
+#include "rhc_oid.h"
 
 void
 initialize_servicesMIB(void)
@@ -63,8 +64,6 @@ rhcServicesTable_free_undoInfo(void *vptr)
 void
 initialize_table_rhcServicesTable(void)
 {
-	static oid rhcServicesTable_oid[] =
-		{ 1, 3, 6, 1, 4, 1, 2312, 8, 3, 2 };
 	netsnmp_table_registration_info *table_info;
 	netsnmp_handler_registration *my_handler;
 	netsnmp_iterator_info *iinfo;
@@ -78,8 +77,7 @@ initialize_table_rhcServicesTable(void)
 	my_handler = netsnmp_create_handler_registration("rhcServicesTable",
 													 rhcServicesTable_handler,
 													 rhcServicesTable_oid,
-													 OID_LENGTH
-													 (rhcServicesTable_oid),
+													 rhcServicesTable_len,
 													 HANDLER_CAN_RONLY);
 
 	if (!my_handler || !table_info || !iinfo) {
-- 
1.6.2.5

openSUSE Build Service is sponsored by