Step 1 FAILED - xmllint failed: '<?xml version="1.0"?>\n<pacemaker-result api-version="2.38" request="stonith_admin --output-as=xml -R false1 -a fence_dummy -o mode=fail -o \'pcmk_host_list=node1 node2 node3\'">\n <status code="0" message="OK"/>\n</pacemaker-result>\nI/O warning : failed to load "/home/reid/git/pacemaker/cts/xml/api/api-result.rng": No such file or directory\nRelax-NG parser error : xmlRelaxNGParse: could not load /home/reid/git/pacemaker/cts/xml/api/api-result.rng\nRelax-NG schema /home/reid/git/pacemaker/cts/xml/api/api-result.rng failed to compile\n' ... many more ...
There is no cts/xml directory. This might be as simple as the following (note commented line and replacement below it), unless there's some other consideration or some reason why there should be a cts/xml directory. This does fix the issue for me.
def rng_directory(): """Return the directory containing RNG schema files.""" if os.environ.get("PCMK_schema_directory", "") != "": return os.environ["PCMK_schema_directory"] for path in sys.path: if os.path.exists(f"{path}/cts-fencing.in"): #return f"{path}/xml" return f"{path}/../xml" return BuildOptions.SCHEMA_DIR