<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi all,</p>
    <p>  I've got a hell of a weird problem, and I am absolutely stumped
      on what's going on. </p>
    <p>  The short of it is; if my RA is called from the command line,
      it's fine. If a resource exists, monitor, enable, disable, all
      that stuff works just fine. If I try to create a resource, it
      hangs on the validate stage. Specifically, it hangs when 'pcs'
      calls: <br>
    </p>
    <p>crm_resource --validate --output-as xml --class ocf --agent
      server --provider alteeve --option name=<resource_name></p>
    <p>  Specifically, it hangs when it tries to make a shell call (to
      virsh, specifically, but that doesn't matter). So to debug, I
      started stripping down my RA simpler and simpler until I was left
      with the very most basic of programs;</p>
    <p><a class="moz-txt-link-freetext" href="https://pastebin.com/VtSpkwMr">https://pastebin.com/VtSpkwMr</a></p>
    <p>  That is literally the simplest program I could write that made
      the shell call. The 'open()' call is where it hangs. <br>
    </p>
    <p>When I call directly;</p>
    <p>time /usr/lib/ocf/resource.d/alteeve/server --validate-all
      --server srv04-test; echo rc:$?<br>
      <br>
      ====<br>
      real    0m0.061s<br>
      user    0m0.037s<br>
      sys    0m0.014s<br>
      rc:0<br>
      ====</p>
    <p>It's just fine. I can see in the log the output from the 'virsh'
      call as well. However, when I call from crm_resource;</p>
    <p>time crm_resource --validate --output-as xml --class ocf --agent
      server --provider alteeve --option name=srv04-test; echo rc:$?<br>
    </p>
    <p>====<br>
      <pacemaker-result api-version="2.25" request="crm_resource
      --validate --output-as xml --class ocf --agent server --provider
      alteeve --option name=srv04-test"><br>
        <resource-agent-action action="validate" class="ocf"
      type="server" provider="alteeve"><br>
          <overrides/><br>
          <agent-status code="1" message="error" execution_code="2"
      execution_message="Timed Out" reason="Resource agent did not exit
      within specified timeout"/><br>
        </resource-agent-action><br>
        <status code="1" message="Error occurred"><br>
          <errors><br>
            <error>crm_resource: Error performing operation: Error
      occurred</error><br>
          </errors><br>
        </status><br>
      </pacemaker-result><br>
      <br>
      real    0m20.521s<br>
      user    0m0.022s<br>
      sys    0m0.010s<br>
      rc:1<br>
      ====</p>
    <p>In the log file, I see (from line 20 of the
      super-simple-test-script):</p>
    <p>====<br>
      Calling: [/usr/bin/virsh dumpxml --inactive srv04-test
      2>&1; /usr/bin/echo return_code:0 |]<br>
      ====<br>
    </p>
    <p>Then nothing else. <br>
    </p>
    <p>The strace output is: <a class="moz-txt-link-freetext" href="https://pastebin.com/raw/UCEUdBeP">https://pastebin.com/raw/UCEUdBeP</a></p>
    <p>Environment;<br>
    </p>
    <p>* selinux is permissive<br>
      * Pacemaker 2.1.5-4.el8<br>
      * pcs 0.10.15<br>
      * 4.18.0-408.el8.x86_64<br>
      * CentOS Stream release 8<br>
    </p>
    <p>Any help is appreciated, I am stumped. :/<br>
    </p>
    <pre class="moz-signature" cols="72">-- 
Madison Kelly
Alteeve's Niche!
Chief Technical Officer
c: +1-647-471-0951
<a class="moz-txt-link-freetext" href="https://alteeve.com/">https://alteeve.com/</a></pre>
  </body>
</html>