Ideally, we would be able to run each yaml test with a different cluster setup, but that's currently limited by only supporting a single yaml test suite client. @mark-vieira suggested we may able to support multiple clients that have a method to filter which yaml tests are run. This would also be great for running the same tests under different cluster conditions (single node vs multi node, etc).
test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java
testCandidate.getTestSection().getSkipSection().skip(restTestExecutionContext.os())
        );
        
        if (testCandidate.getTestSection().getExecutableSections().size() == 0) {
            throw new IllegalArgumentException("No executable sections loaded for [" + testCandidate.getTestPath() + "]");
        }
        assumeFalse(
            "[" + testCandidate.getTestPath() + "] skipped, reason: in fips 140 mode",
            inFipsJvm() && testCandidate.getTestSection().getSkipSection().getFeatures().contains("fips_140")
        );
        final Settings globalTemplateSettings = getGlobalTemplateSettings(testCandidate.getTestSection().getSkipSection().getFeatures());
        if (globalTemplateSettings.isEmpty() == false) {
            final XContentBuilder template = jsonBuilder();
            template.startObject();
            {
                template.startArray("index_patterns").value("*").endArray();
                template.startObject("settings");
                globalTemplateSettings.toXContent(template, ToXContent.EMPTY_PARAMS);
                template.endObject();
            }
            template.endObject();
            final Request request = new Request("PUT", "/_template/global");
            request.setJsonEntity(Strings.toString(template));
            
            
            
            
            
            RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
            builder.setWarningsHandler(WarningsHandler.PERMISSIVE);