@Override
    public void validate(Context context) {
        File cfgDir = null;
        try {
            cfgDir = Files.createTempDirectory("verify-ranksetup." +
                                               context.deployState().getProperties().applicationId().toFullString() +
                                               ".")
                    .toFile();
            for (SearchCluster sc : context.model().getSearchClusters()) {
                String clusterDir = cfgDir.getAbsolutePath() + "/" + sc.getClusterName() + "/";
                for (DocumentDatabase docDb : sc.getDocumentDbs()) {
                    String schemaName = docDb.getDerivedConfiguration().getSchema().getName();
                    String schemaDir = clusterDir + schemaName + "/";
                    writeConfigs(schemaDir, docDb);
                    writeExtraVerifyRankSetupConfig(schemaDir, docDb);
                    if (!validate(context, "dir:" + schemaDir, sc, schemaName, cfgDir, docDb.getDerivedConfiguration().isStreaming())) {
                        return;
                    }
                }
            }
        } catch (IOException e) {
            context.illegal("unable to read rank setup", e);
        } finally {
            if (cfgDir != null)
                deleteTempDir(cfgDir);
        }
    }
Validates rank setup for all content clusters (rank-profiles, index-schema, attributes configs), validation is done
by running the binary 'vespa-verify-ranksetup-bin'

@author vegardh
config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java