[ClusterLabs] ClusterMon SNMP resource agent unable to start

Reid Wahl nwahl at redhat.com
Thu Nov 24 03:04:52 EST 2022


On Wed, Nov 23, 2022 at 10:55 PM S Sathish S via Users
<users at clusterlabs.org> wrote:
>
> Hi Team,
>
>
>
> we have created ClusterMon resource agent in Clusterlab High Availability , Able to create SNMP resource but unable to start resource further analysis in debug mode it say crm_mon syntax/usage error, Please help us to solve this issue.
>
>
>
> Please find the Clusterlab RPM version used:
>
> pacemaker-cluster-libs-2.1.4-1.2.1.4.git.el8.x86_64
>
> resource-agents-4.11.0-1.el8.x86_64
>
> pacemaker-cli-2.1.4-1.2.1.4.git.el8.x86_64
>
> pcs-0.10.14-1.el8.x86_64
>
> corosynclib-3.1.7-1.el8.x86_64
>
> corosync-3.1.7-1.el8.x86_64
>
> pacemaker-2.1.4-1.2.1.4.git.el8.x86_64
>
> pacemaker-libs-2.1.4-1.2.1.4.git.el8.x86_64
>
> pacemaker-schemas-2.1.4-1.2.1.4.git.el8.noarch
>
>
>
> Command used to create resource:
>
> pcs resource create SNMP_node1 ClusterMon user='root' extra_options="-E /opt/occ/test/tools/PCSESA.sh"
>
> crm_resource --resource SNMP_node1 --set-parameter priority --meta --parameter-value 10
>
> crm_resource --resource SNMP_node1 --set-parameter failure-timeout --meta --parameter-value 120s
>
>
>
>
>
> [root at node1 ~]# pcs resource config SNMP_node1
>
> Resource: SNMP_node1 (class=ocf provider=pacemaker type=ClusterMon)
>
>   Attributes: SNMP_node1-instance_attributes
>
>     extra_options="-E /opt/occ/test/tools/PCSESA.sh"
>
>     user=root
>
>   Meta Attributes: SNMP_node1-meta_attributes
>
>     failure-timeout=120s
>
>     priority=10
>
>   Operations:
>
>     monitor: SNMP_node1-monitor-interval-10s
>
>       interval=10s
>
>       timeout=20s
>
>     start: SNMP_node1-start-interval-0s
>
>       interval=0s
>
>       timeout=20s
>
>     stop: SNMP_node1-stop-interval-0s
>
>       interval=0s
>
>       timeout=20s
>
> [root at node1 ~]#
>
>
>
> Debug Logs:
>
> [root at node1 ~]# pcs resource enable SNMP_node1 --debug
>
> Running: /usr/sbin/cibadmin --local --query
>
> Environment:
>
>   LC_ALL=C
>
>
>
> Finished running: /usr/sbin/cibadmin --local --query
>
> Return value: 0
>
> --Debug Stdout Start--
>
> <cib crm_feature_set="3.15.0" validate-with="pacemaker-3.8" epoch="171" num_updates="1" admin_epoch="0" cib-last-written="Thu Nov 24 01:10:33 2022" update-origin="node1" update-client="cibadmin" update-user="root" have-quorum="1" dc-uuid="1">
>
>   <configuration>
>
>     <crm_config>
>
>       <cluster_property_set id="cib-bootstrap-options">
>
>         <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.1.4-1.2.1.4.git.el8-dc6eb4362e6"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="OCC"/>
>
>         <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
>
>         <nvpair id="cib-bootstrap-options-startup-fencing" name="startup-fencing" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-stonith-action" name="stonith-action" value="reboot"/>
>
>         <nvpair id="cib-bootstrap-options-enable-startup-probes" name="enable-startup-probes" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-start-failure-is-fatal" name="start-failure-is-fatal" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-symmetric-cluster" name="symmetric-cluster" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-recheck-interval" name="cluster-recheck-interval" value="5min"/>
>
>       </cluster_property_set>
>
>     </crm_config>
>
>     <nodes>
>
>       <node id="1" uname="node1"/>
>
>     </nodes>
>
>     <resources>
>
>       <primitive class="ocf" id="SNMP_node1" provider="pacemaker" type="ClusterMon">
>
>         <instance_attributes id="SNMP_node1-instance_attributes">
>
>           <nvpair id="SNMP_node1-instance_attributes-extra_options" name="extra_options" value="-E /opt/occ/test/tools/PCSESA.sh"/>
>
>           <nvpair id="SNMP_node1-instance_attributes-user" name="user" value="root"/>
>
>         </instance_attributes>
>
>         <operations>
>
>           <op id="SNMP_node1-monitor-interval-10s" interval="10s" name="monitor" timeout="20s"/>
>
>           <op id="SNMP_node1-start-interval-0s" interval="0s" name="start" timeout="20s"/>
>
>           <op id="SNMP_node1-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
>
>         </operations>
>
>         <meta_attributes id="SNMP_node1-meta_attributes">
>
>           <nvpair id="SNMP_node1-meta_attributes-priority" name="priority" value="10"/>
>
>           <nvpair id="SNMP_node1-meta_attributes-failure-timeout" name="failure-timeout" value="120s"/>
>
>         </meta_attributes>
>
>       </primitive>
>
>     </resources>
>
>     <constraints/>
>
>   </configuration>
>
>   <status>
>
>     <node_state id="1" uname="node1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
>
>       <lrm id="1">
>
>         <lrm_resources/>
>
>       </lrm>
>
>       <transient_attributes id="1">
>
>         <instance_attributes id="status-1"/>
>
>       </transient_attributes>
>
>     </node_state>
>
>   </status>
>
> </cib>
>
>
>
> --Debug Stdout End--
>
> --Debug Stderr Start--
>
>
>
> --Debug Stderr End--
>
>
>
> Running: /usr/sbin/crm_mon --help-all
>
> Environment:
>
>   LC_ALL=C
>
>
>
> Finished running: /usr/sbin/crm_mon --help-all
>
> Return value: 0
>
> --Debug Stdout Start--
>
> Usage:
>
>   crm_mon [OPTION?]
>
>
>
> Provides a summary of cluster's current state.
>
>
>
> Outputs varying levels of detail in a number of different formats.
>
>
>
> Help Options:
>
>   -?, --help                        Show help options
>
>   --help-all                        Show all help options
>
>   --help-output                     Show output help
>
>   --help-display                    Show display options
>
>   --help-additional                 Show additional options
>
>   --help-deprecated                 Show deprecated options
>
>
>
> Output Options:
>
>   --output-as=FORMAT                Specify output format as one of: console (default), html, text, xml
>
>   --output-to=DEST                  Specify file name for output (or "-" for stdout)
>
>   --html-cgi                        Add CGI headers (requires --output-as=html)
>
>   --html-stylesheet=URI             Link to an external stylesheet (requires --output-as=html)
>
>   --html-title=TITLE                Specify a page title (requires --output-as=html)
>
>   --text-fancy                      Use more highly formatted output (requires --output-as=text)
>
>
>
> Display Options:
>
>   -I, --include=SECTION(s)          A list of sections to include in the output.
>
>                                     See `Output Control` help for more information.
>
>   -U, --exclude=SECTION(s)          A list of sections to exclude from the output.
>
>                                     See `Output Control` help for more information.
>
>   --node=NODE                       When displaying information about nodes, show only what's related to the given
>
>                                     node, or to all nodes tagged with the given tag
>
>   --resource=RSC                    When displaying information about resources, show only what's related to the given
>
>                                     resource, or to all resources tagged with the given tag
>
>   -n, --group-by-node               Group resources by node
>
>   -r, --inactive                    Display inactive resources
>
>   -f, --failcounts                  Display resource fail counts
>
>   -o, --operations                  Display resource operation history
>
>   -t, --timing-details              Display resource operation history with timing details
>
>   -c, --tickets                     Display cluster tickets
>
>   -m, --fence-history=LEVEL         Show fence history:
>
>                                     0=off, 1=failures and pending (default without option),
>
>                                     2=add successes (default without value for option),
>
>                                     3=show full history without reduction to most recent of each flavor
>
>   -L, --neg-locations               Display negative location constraints [optionally filtered by id prefix]
>
>   -A, --show-node-attributes        Display node attributes
>
>   -D, --hide-headers                Hide all headers
>
>   -R, --show-detail                 Show more details (node IDs, individual clone instances)
>
>   -b, --brief                       Brief output
>
>   -s, --simple-status               Display the cluster status once as a simple one line output (suitable for nagios)
>
>
>
> Additional Options:
>
>   -i, --interval=TIMESPEC           Update frequency (default is 5 seconds)
>
>   -1, --one-shot                    Display the cluster status once on the console and exit
>
>   -d, --daemonize                   Run in the background as a daemon.
>
>                                     Requires at least one of --output-to and --external-agent.
>
>   -p, --pid-file=FILE               (Advanced) Daemon pid file location
>
>   -E, --external-agent=FILE         A program to run when resource operations take place
>
>   -e, --external-recipient=RCPT     A recipient for your program (assuming you want the program to send something to someone).
>
>   -W, --watch-fencing               Listen for fencing events. For use with --external-agent.
>
>
>
> Deprecated Options:
>
>   -h, --as-html=FILE                Write cluster status to the named HTML file.
>
>                                     Use --output-as=html --output-to=FILE instead.
>
>   -X, --as-xml                      Write cluster status as XML to stdout. This will enable one-shot mode.
>
>                                     Use --output-as=xml instead.
>
>   -N, --disable-ncurses             Disable the use of ncurses.
>
>                                     Use --output-as=text instead.
>
>   -w, --web-cgi                     Web mode with output suitable for CGI (preselected when run as *.cgi).
>
>                                     Use --output-as=html --html-cgi instead.
>
>
>
> Application Options:
>
>   -$, --version                     Display software version and exit
>
>   -V, --verbose                     Increase debug output (may be specified multiple times)
>
>   -Q, --quiet                       Be less descriptive in output.
>
>
>
> Notes:
>
>
>
> If this program is called as crm_mon.cgi, --output-as=html --html-cgi will
>
> automatically be added to the command line arguments.
>
>
>
> Time Specification:
>
>
>
> The TIMESPEC in any command line option can be specified in many different
>
> formats.  It can be just an integer number of seconds, a number plus units
>
> (ms/msec/us/usec/s/sec/m/min/h/hr), or an ISO 8601 period specification.
>
>
>
> Output Control:
>
>
>
> By default, a certain list of sections are written to the output destination.
>
> The default varies based on the output format - XML includes everything, while
>
> other output formats will display less.  This list can be modified with the
>
> --include and --exclude command line options.  Each option may be given multiple
>
> times on the command line, and each can give a comma-separated list of sections.
>
> The options are applied to the default set, from left to right as seen on the
>
> command line.  For a list of valid sections, pass --include=list or --exclude=list.
>
>
>
> Interactive Use:
>
>
>
> When run interactively, crm_mon can be told to hide and display various sections
>
> of output.  To see a help screen explaining the options, hit '?'.  Any key stroke
>
> aside from those listed will cause the screen to refresh.
>
>
>
> Examples:
>
>
>
> Display the cluster status on the console with updates as they occur:
>
>
>
>         crm_mon
>
>
>
> Display the cluster status on the console just once then exit:
>
>
>
>         crm_mon -1
>
>
>
> Display your cluster status, group resources by node, and include inactive resources in the list:
>
>
>
>         crm_mon --group-by-node --inactive
>
>
>
> Start crm_mon as a background daemon and have it write the cluster status to an HTML file:
>
>
>
>         crm_mon --daemonize --output-as html --output-to /path/to/docroot/filename.html
>
>
>
> Start crm_mon and export the current cluster status as XML to stdout, then exit:
>
>
>
>         crm_mon --output-as xml
>
>
>
>
>
>
>
> --Debug Stdout End--
>
> --Debug Stderr Start--
>
>
>
> --Debug Stderr End--
>
>
>
> Running: /usr/sbin/crm_mon --one-shot --inactive --output-as xml
>
> Environment:
>
>   LC_ALL=C
>
>
>
> Finished running: /usr/sbin/crm_mon --one-shot --inactive --output-as xml
>
> Return value: 0
>
> --Debug Stdout Start--
>
> <pacemaker-result api-version="2.20" request="/usr/sbin/crm_mon --one-shot --inactive --output-as xml">
>
>   <summary>
>
>     <stack type="corosync"/>
>
>     <current_dc present="true" version="2.1.4-1.2.1.4.git.el8-dc6eb4362e6" name="node1" id="1" with_quorum="true"/>
>
>     <last_update time="Thu Nov 24 01:18:36 2022"/>
>
>     <last_change time="Thu Nov 24 01:10:33 2022" user="root" client="cibadmin" origin="node1"/>
>
>     <nodes_configured number="1"/>
>
>     <resources_configured number="1" disabled="0" blocked="0"/>
>
>     <cluster_options stonith-enabled="false" symmetric-cluster="false" no-quorum-policy="ignore" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
>
>   </summary>
>
>   <nodes>
>
>     <node name="node1" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="true" is_dc="true" resources_running="0" type="member"/>
>
>   </nodes>
>
>   <resources>
>
>     <resource id="SNMP_node1" resource_agent="ocf::pacemaker:ClusterMon" role="Stopped" active="false" orphaned="false" blocked="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
>
>   </resources>
>
>   <node_history/>
>
>   <status code="0" message="OK"/>
>
> </pacemaker-result>
>
>
>
> --Debug Stdout End--
>
> --Debug Stderr Start--
>
>
>
> --Debug Stderr End--
>
>
>
> Writing to a temporary file /tmp/tmpjuk0gzwo.pcs:
>
> --Debug Content Start--
>
> <cib crm_feature_set="3.15.0" validate-with="pacemaker-3.8" epoch="171" num_updates="1" admin_epoch="0" cib-last-written="Thu Nov 24 01:10:33 2022" update-origin="node1" update-client="cibadmin" update-user="root" have-quorum="1" dc-uuid="1">
>
>   <configuration>
>
>     <crm_config>
>
>       <cluster_property_set id="cib-bootstrap-options">
>
>         <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.1.4-1.2.1.4.git.el8-dc6eb4362e6"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="OCC"/>
>
>         <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
>
>         <nvpair id="cib-bootstrap-options-startup-fencing" name="startup-fencing" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-stonith-action" name="stonith-action" value="reboot"/>
>
>         <nvpair id="cib-bootstrap-options-enable-startup-probes" name="enable-startup-probes" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-start-failure-is-fatal" name="start-failure-is-fatal" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-symmetric-cluster" name="symmetric-cluster" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-recheck-interval" name="cluster-recheck-interval" value="5min"/>
>
>       </cluster_property_set>
>
>     </crm_config>
>
>     <nodes>
>
>       <node id="1" uname="node1"/>
>
>     </nodes>
>
>     <resources>
>
>       <primitive class="ocf" id="SNMP_node1" provider="pacemaker" type="ClusterMon">
>
>         <instance_attributes id="SNMP_node1-instance_attributes">
>
>           <nvpair id="SNMP_node1-instance_attributes-extra_options" name="extra_options" value="-E /opt/occ/test/tools/PCSESA.sh"/>
>
>           <nvpair id="SNMP_node1-instance_attributes-user" name="user" value="root"/>
>
>         </instance_attributes>
>
>         <operations>
>
>           <op id="SNMP_node1-monitor-interval-10s" interval="10s" name="monitor" timeout="20s"/>
>
>           <op id="SNMP_node1-start-interval-0s" interval="0s" name="start" timeout="20s"/>
>
>           <op id="SNMP_node1-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
>
>         </operations>
>
>         <meta_attributes id="SNMP_node1-meta_attributes">
>
>           <nvpair id="SNMP_node1-meta_attributes-priority" name="priority" value="10"/>
>
>           <nvpair id="SNMP_node1-meta_attributes-failure-timeout" name="failure-timeout" value="120s"/>
>
>         </meta_attributes>
>
>       </primitive>
>
>     </resources>
>
>     <constraints/>
>
>   </configuration>
>
>   <status>
>
>     <node_state id="1" uname="node1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
>
>       <lrm id="1">
>
>         <lrm_resources/>
>
>       </lrm>
>
>       <transient_attributes id="1">
>
>         <instance_attributes id="status-1"/>
>
>       </transient_attributes>
>
>     </node_state>
>
>   </status>
>
> </cib>
>
>
>
> --Debug Content End--
>
>
>
> Writing to a temporary file /tmp/tmp3xicyijc.pcs:
>
> --Debug Content Start--
>
> <cib crm_feature_set="3.15.0" validate-with="pacemaker-3.8" epoch="171" num_updates="1" admin_epoch="0" cib-last-written="Thu Nov 24 01:10:33 2022" update-origin="node1" update-client="cibadmin" update-user="root" have-quorum="1" dc-uuid="1">
>
>   <configuration>
>
>     <crm_config>
>
>       <cluster_property_set id="cib-bootstrap-options">
>
>         <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.1.4-1.2.1.4.git.el8-dc6eb4362e6"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="OCC"/>
>
>         <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
>
>         <nvpair id="cib-bootstrap-options-startup-fencing" name="startup-fencing" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-stonith-action" name="stonith-action" value="reboot"/>
>
>         <nvpair id="cib-bootstrap-options-enable-startup-probes" name="enable-startup-probes" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-start-failure-is-fatal" name="start-failure-is-fatal" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-symmetric-cluster" name="symmetric-cluster" value="false"/>
>
>         <nvpair id="cib-bootstrap-options-cluster-recheck-interval" name="cluster-recheck-interval" value="5min"/>
>
>       </cluster_property_set>
>
>     </crm_config>
>
>     <nodes>
>
>       <node id="1" uname="node1"/>
>
>     </nodes>
>
>     <resources>
>
>       <primitive class="ocf" id="SNMP_node1" provider="pacemaker" type="ClusterMon">
>
>         <instance_attributes id="SNMP_node1-instance_attributes">
>
>           <nvpair id="SNMP_node1-instance_attributes-extra_options" name="extra_options" value="-E /opt/occ/test/tools/PCSESA.sh"/>
>
>           <nvpair id="SNMP_node1-instance_attributes-user" name="user" value="root"/>
>
>         </instance_attributes>
>
>         <operations>
>
>           <op id="SNMP_node1-monitor-interval-10s" interval="10s" name="monitor" timeout="20s"/>
>
>          <op id="SNMP_node1-start-interval-0s" interval="0s" name="start" timeout="20s"/>
>
>           <op id="SNMP_node1-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
>
>         </operations>
>
>         <meta_attributes id="SNMP_node1-meta_attributes">
>
>           <nvpair id="SNMP_node1-meta_attributes-priority" name="priority" value="10"/>
>
>           <nvpair id="SNMP_node1-meta_attributes-failure-timeout" name="failure-timeout" value="120s"/>
>
>         </meta_attributes>
>
>       </primitive>
>
>     </resources>
>
>     <constraints/>
>
>   </configuration>
>
>   <status>
>
>     <node_state id="1" uname="node1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
>
>       <lrm id="1">
>
>         <lrm_resources/>
>
>       </lrm>
>
>       <transient_attributes id="1">
>
>         <instance_attributes id="status-1"/>
>
>       </transient_attributes>
>
>     </node_state>
>
>   </status>
>
> </cib>
>
> --Debug Content End--
>
>
>
> Running: /usr/sbin/crm_diff --original /tmp/tmpjuk0gzwo.pcs --new /tmp/tmp3xicyijc.pcs --no-version
>
> Environment:
>
>   LC_ALL=C
>
>
>
> Finished running: /usr/sbin/crm_diff --original /tmp/tmpjuk0gzwo.pcs --new /tmp/tmp3xicyijc.pcs --no-version
>
> Return value: 0
>
> --Debug Stdout Start--
>
>
>
> --Debug Stdout End--
>
> --Debug Stderr Start--
>
>
>
> --Debug Stderr End—
>
>
>
> Thanks and Regards,
> S Sathish S
>
> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
>
> ClusterLabs home: https://www.clusterlabs.org/

Hi, what's the issue? The pcs output shows no errors and a successful
(0) return code for all commands.

-- 
Regards,

Reid Wahl (He/Him)
Senior Software Engineer, Red Hat
RHEL High Availability - Pacemaker



More information about the Users mailing list