Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-7679

fence_scsi instance attributes validation via stonith_admin always fails

    • sst_high_availability
    • ssg_filesystems_storage_and_HA
    • 3
    • False
    • Hide

      None

      Show
      None
    • If docs needed, set a value

      Description of problem:
      Instance attributes validation of fence_scsi agent via stonith_admin always fails. The problem is with validation of the ‘plug’ option which is required by the agent. Even the explicitly specified ‘plug’ or ‘pcmk_host_list’ options doesn’t help. From pcs point of view, stonith_admin should handle all of these cases as they are a valid configuration.

      Version-Release number of selected component (if applicable):
      [root@rhel91-devel1 pcs]# rpm -q pacemaker fence-agents-scsi
      pacemaker-2.1.4-5.el9.x86_64
      fence-agents-scsi-4.10.0-30.el9.noarch

      How reproducible:
      always

      Steps to Reproduce:
      Note: all commands are executed on a single node cluster with node name ’localhost’.
      [root@rhel91-devel1 pcs]# /usr/sbin/stonith_admin --validate --agent fence_scsi
      Validation of fence_scsi failed
      2022-09-15 11:25:16,694 ERROR: Failed: unable to parse output of corosync-cmapctl or node does not exist

      2022-09-15 11:25:16,695 ERROR: Please use '-h' for usage

      [root@rhel91-devel1 pcs]# echo $?
      1
      [root@rhel91-devel1 pcs]# /usr/sbin/stonith_admin --validate --agent fence_scsi --option pcmk_host_list=localhost
      Validation of fence_scsi failed
      2022-09-15 11:26:02,022 ERROR: Failed: unable to parse output of corosync-cmapctl or node does not exist

      2022-09-15 11:26:02,022 ERROR: Please use '-h' for usage

      [root@rhel91-devel1 pcs]# echo $?
      1
      [root@rhel91-devel1 pcs]# /usr/sbin/stonith_admin --validate --agent fence_scsi --option plug=localhost
      Validation of fence_scsi failed
      2022-09-15 11:26:16,965 ERROR: Failed: unable to parse output of corosync-cmapctl or node does not exist

      2022-09-15 11:26:16,966 ERROR: Please use '-h' for usage

      [root@rhel91-devel1 pcs]# echo $?
      1
      [root@rhel91-devel1 pcs]# corosync-cmapctl | grep localhost
      nodelist.node.0.name (str) = localhost
      nodelist.node.0.ring0_addr (str) = localhost
      totem.interface.0.bindnetaddr (str) = localhost

      Actual results:
      Validation fails

      Expected results:
      Successful validation

      Additional info:
      Running just agent itself works ok:
      [root@rhel91-devel1 pcs]# fence_scsi -o validate-all --plug non-existing-node; echo $?
      2022-09-15 12:44:54,360 ERROR: Failed: unable to parse output of corosync-cmapctl or node does not exist

      2022-09-15 12:44:54,360 ERROR: Please use '-h' for usage

      1
      [root@rhel91-devel1 pcs]# fence_scsi -o validate-all --plug localhost; echo $?
      0

      From this snippet of strace output I assume that this is written to stdin of agent for validation:
      [root@rhel91-devel1 pcs]# strace /usr/sbin/stonith_admin --validate --agent fence_scsi --option plug=localhost
      <snip>
      write(8, "nodename=node1\n", 15) = 15
      write(8, "action=validate-all\n", 20) = 20
      write(8, "port=node1\n", 11) = 11
      write(8, "plug=localhost\n", 15) = 15
      <snip>

      So I tried to execute agent with the same stdin and indeed it fails with the same error:
      [root@rhel91-devel1 pcs]# echo -e "nodename=node1\naction=validate-all\nport=node1\nplug=localhost\n" | fence_scsi; echo $?
      2022-09-15 13:01:36,710 ERROR: Failed: unable to parse output of corosync-cmapctl or node does not exist

      2022-09-15 13:01:36,710 ERROR: Please use '-h' for usage

      1
      However, validation passes after removing “nodename=node1” from stdin, even though the “nodename” should not be accepted by the agent according to its man page.
      [root@rhel91-devel1 pcs]# echo -e "action=validate-all\nport=node1\nplug=localhost\n" | fence_scsi; echo $?
      0

      I didn’t try any other agent but I would guess that other agents may be affected as well.

            rhn-engineering-oalbrigt Oyvind Albrigtsen
            omular1@redhat.com Ondrej Mular
            Oyvind Albrigtsen Oyvind Albrigtsen
            Cluster QE Cluster QE
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: