Bug 2048640
| Summary: | pcs_snmp_agent fails to get cluster status due to uninitialized constant PCS_INTERNAL | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Tomas Jelinek <tojeline> |
| Component: | pcs | Assignee: | Tomas Jelinek <tojeline> |
| Status: | CLOSED ERRATA | QA Contact: | cluster-qe <cluster-qe> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 9.0 | CC: | cluster-maint, cluster-qe, idevat, kmalyjur, mlisik, mmazoure, mpospisi, nhostako, nwahl, omular, tojeline |
| Target Milestone: | rc | Keywords: | EasyFix, Triaged |
| Target Release: | 9.0 | Flags: | pm-rhel:
mirror+
|
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | pcs-0.11.1-10.el9 | Doc Type: | Bug Fix |
| Doc Text: |
Cause:
User starts pcs snmp service to get cluster status over snmp.
Consequence:
Pcs snmp agent crashes.
Fix:
Define missing constant in pcs snmp agent code.
Result:
Pcs snmp agent works and provides data over snmp.
|
Story Points: | --- |
| Clone Of: | 2047983 | Environment: | |
| Last Closed: | 2022-05-17 12:19:42 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Tomas Jelinek
2022-01-31 16:26:33 UTC
Upstream patch: https://github.com/ClusterLabs/pcs/commit/f3767e59 Test: Verify pcs_snmp_agent starts and provides data over snmp. DevTestResults:
[root@r90-node-01 ~]# rpm -q pcs{,-snmp}
pcs-0.11.1-10.el9.x86_64
pcs-snmp-0.11.1-10.el9.x86_64
[root@r90-node-01 ~]# cat <<EOF >> /etc/snmp/snmpd.conf
master agentx
view systemview included .1.3.6.1.4.1.32723.100
rocommunity public
EOF
[root@r90-node-01 ~]# sed -e 's/\s*#.*//' -e '/^\s*$/ d' /etc/snmp/snmpd.conf
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup "" any noauth exact systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
master agentxDevTestResults:
[root@r90-node-01 ~]# rpm -q pcs{,-snmp}
pcs-0.11.1-10.el9.x86_64
pcs-snmp-0.11.1-10.el9.x86_64
[root@r90-node-01 ~]# cat <<EOF >> /etc/snmp/snmpd.conf
master agentx
view systemview included .1.3.6.1.4.1.32723.100
rocommunity public
EOF
[root@r90-node-01 ~]# sed -e 's/\s*#.*//' -e '/^\s*$/ d' /etc/snmp/snmpd.conf
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup "" any noauth exact systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
master agentx
view systemview included .1.3.6.1.4.1.32723.100
rocommunity public
[root@r90-node-01 ~]# systemctl start pcs_snmp_agent.service
[root@r90-node-01 ~]# systemctl status pcs_snmp_agent.service
● pcs_snmp_agent.service - SNMP agent for pacemaker cluster
Loaded: loaded (/usr/lib/systemd/system/pcs_snmp_agent.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2022-02-03 16:37:53 CET; 4s ago
Docs: man:pcs_snmp_agent(8)
Main PID: 58169 (pcs_snmp_agent)
Tasks: 2 (limit: 20371)
Memory: 26.7M
CPU: 2.695s
CGroup: /system.slice/pcs_snmp_agent.service
└─58169 /usr/bin/python3 -Es /usr/lib64/pcs/pcs_snmp_agent
Feb 03 16:37:53 r90-node-01 systemd[1]: Started SNMP agent for pacemaker cluster.
[root@r90-node-01 ~]# tail /var/log/pcsd/pcs_snmp_agent.log
2022-02-03 16:24:43,986 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
2022-02-03 16:25:14,656 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
2022-02-03 16:37:53,562 - pcs.snmp - INFO - Update interval set to: 30
2022-02-03 16:37:53,562 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
2022-02-03 16:37:53,563 - pyagentx.network - INFO - ==== Open PDU ====
2022-02-03 16:37:53,563 - pyagentx.network - INFO - ==== Ping PDU ====
2022-02-03 16:37:53,563 - pyagentx.network - INFO - ==== Register PDU ====
2022-02-03 16:37:53,563 - pyagentx.network - INFO - Registering: 1.3.6.1.4.1.32723.100.1
2022-02-03 16:37:53,566 - pyagentx.network - INFO - ==== Waiting for PDU ====
2022-02-03 16:38:24,234 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
[root@r90-node-01 ~]# snmpwalk -v 2c -c public localhost PACEMAKER-PCS-V1-MIB::pcmkPcsV1Cluster
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterName.0 = ""
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterQuorate.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterNodesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOnlineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOfflineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOnlineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesStandbyNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOfflineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterStoppedResroucesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterFailedResourcesNum.0 = INTEGER: 0
view systemview included .1.3.6.1.4.1.32723.100
rocommunity public
[root@r90-node-01 ~]# systemctl start pcs_snmp_agent.service
[root@r90-node-01 ~]# systemctl status pcs_snmp_agent.service
● pcs_snmp_agent.service - SNMP agent for pacemaker cluster
Loaded: loaded (/usr/lib/systemd/system/pcs_snmp_agent.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2022-02-03 16:37:53 CET; 4s ago
Docs: man:pcs_snmp_agent(8)
Main PID: 58169 (pcs_snmp_agent)
Tasks: 2 (limit: 20371)
Memory: 26.7M
CPU: 2.695s
CGroup: /system.slice/pcs_snmp_agent.service
└─58169 /usr/bin/python3 -Es /usr/lib64/pcs/pcs_snmp_agent
Feb 03 16:37:53 r90-node-01 systemd[1]: Started SNMP agent for pacemaker cluster.
[root@r90-node-01 ~]# tail /var/log/pcsd/pcs_snmp_agent.log
2022-02-03 16:24:43,986 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
2022-02-03 16:25:14,656 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
2022-02-03 16:37:53,562 - pcs.snmp - INFO - Update interval set to: 30
2022-02-03 16:37:53,562 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
2022-02-03 16:37:53,563 - pyagentx.network - INFO - ==== Open PDU ====
2022-02-03 16:37:53,563 - pyagentx.network - INFO - ==== Ping PDU ====
2022-02-03 16:37:53,563 - pyagentx.network - INFO - ==== Register PDU ====
2022-02-03 16:37:53,563 - pyagentx.network - INFO - Registering: 1.3.6.1.4.1.32723.100.1
2022-02-03 16:37:53,566 - pyagentx.network - INFO - ==== Waiting for PDU ====
2022-02-03 16:38:24,234 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1)
[root@r90-node-01 ~]# snmpwalk -v 2c -c public localhost PACEMAKER-PCS-V1-MIB::pcmkPcsV1Cluster
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterName.0 = ""
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterQuorate.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterNodesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOnlineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOfflineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOnlineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesStandbyNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOfflineNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterStoppedResroucesNum.0 = INTEGER: 0
PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterFailedResourcesNum.0 = INTEGER: 0
BEFORE: ======= see bz2047983 comment 10 AFTER: ====== [root@virt-139 ~]# rpm -q pcs pcs-snmp pcs-0.11.1-10.el9.x86_64 pcs-snmp-0.11.1-10.el9.x86_64 ## adding lines "master agent" and "view systemview included .1.3.6.1.4.1.32723.100" to snmp config [root@virt-139 ~]# cat <<EOF >> /etc/snmp/snmpd.conf > master agentx > view systemview included .1.3.6.1.4.1.32723.100 > rocommunity public > EOF [root@virt-139 ~]# sed -e 's/\s*#.*//' -e '/^\s*$/ d' /etc/snmp/snmpd.conf view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 access notConfigGroup "" any noauth exact systemview none none syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) dontLogTCPWrappersConnects yes master agentx view systemview included .1.3.6.1.4.1.32723.100 rocommunity public ## Starting the agent and checking its status [root@virt-139 ~]# systemctl start pcs_snmp_agent.service [root@virt-139 ~]# systemctl status pcs_snmp_agent.service ● pcs_snmp_agent.service - SNMP agent for pacemaker cluster Loaded: loaded (/usr/lib/systemd/system/pcs_snmp_agent.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2022-02-28 16:55:26 CET; 16s ago Docs: man:pcs_snmp_agent(8) Main PID: 904442 (pcs_snmp_agent) Tasks: 2 (limit: 25031) Memory: 26.8M CPU: 2.656s CGroup: /system.slice/pcs_snmp_agent.service └─904442 /usr/bin/python3 -Es /usr/lib64/pcs/pcs_snmp_agent Feb 28 16:55:26 virt-139.cluster-qe.lab.eng.brq.redhat.com systemd[1]: Started SNMP agent for pacemaker cluster. [root@virt-139 ~]# tail /var/log/pcsd/pcs_snmp_agent.log 2022-02-28 16:55:26,866 - pyagentx.network - INFO - ==== Register PDU ==== 2022-02-28 16:55:26,866 - pyagentx.network - INFO - Registering: 1.3.6.1.4.1.32723.100.1 2022-02-28 16:55:26,866 - pyagentx.network - INFO - ==== Waiting for PDU ==== 2022-02-28 16:55:57,508 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) 2022-02-28 16:56:27,998 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) 2022-02-28 16:56:58,470 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) 2022-02-28 16:57:28,952 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) 2022-02-28 16:57:59,503 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) 2022-02-28 16:58:29,967 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) 2022-02-28 16:59:00,438 - pyagentx.updater - INFO - Updating : ClusterPcsV1Updater (1.3.6.1.4.1.32723.100.1) > OK: No error message about obtaining cluster status [root@virt-139 ~]# snmpwalk -v 2c -c public localhost PACEMAKER-PCS-V1-MIB::pcmkPcsV1Cluster PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterName.0 = STRING: "STSRHTS6362" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterQuorate.0 = INTEGER: 1 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterNodesNum.0 = INTEGER: 3 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterNodesNames.0 = STRING: "virt-138" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterNodesNames.1 = STRING: "virt-139" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterNodesNames.2 = STRING: "virt-140" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOnlineNum.0 = INTEGER: 3 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOnlineNames.0 = STRING: "virt-138" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOnlineNames.1 = STRING: "virt-139" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOnlineNames.2 = STRING: "virt-140" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterCorosyncNodesOfflineNum.0 = INTEGER: 0 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOnlineNum.0 = INTEGER: 3 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOnlineNames.0 = STRING: "virt-138" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOnlineNames.1 = STRING: "virt-139" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOnlineNames.2 = STRING: "virt-140" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesStandbyNum.0 = INTEGER: 0 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterPcmkNodesOfflineNum.0 = INTEGER: 0 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesNum.0 = INTEGER: 5 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesIds.0 = STRING: "fence-virt-138" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesIds.1 = STRING: "fence-virt-139" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesIds.2 = STRING: "fence-virt-140" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesIds.3 = STRING: "dlm" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterAllResourcesIds.4 = STRING: "lvmlockd" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesNum.0 = INTEGER: 5 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesIds.0 = STRING: "fence-virt-138" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesIds.1 = STRING: "fence-virt-139" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesIds.2 = STRING: "fence-virt-140" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesIds.3 = STRING: "dlm" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterRunningResourcesIds.4 = STRING: "lvmlockd" PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterStoppedResroucesNum.0 = INTEGER: 0 PACEMAKER-PCS-V1-MIB::pcmkPcsV1ClusterFailedResourcesNum.0 = INTEGER: 0 > OK Marking as VERIFIED for pcs-0.11.1-10.el9, pcs-snmp-0.11.1-10.el9. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (new packages: pcs), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:2290 |