adding a validation method (#16840)

This commit is contained in:
Jan Heise
2023-10-06 14:44:42 +02:00
committed by GitHub
parent fed1dcf636
commit 65f60bd606

View File

@@ -28,7 +28,6 @@ import com.github.joschi.jadconfig.validators.PositiveIntegerValidator;
import com.github.joschi.jadconfig.validators.StringNotBlankValidator;
import com.github.joschi.jadconfig.validators.URIAbsoluteValidator;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.net.HostAndPort;
import com.google.common.net.InetAddresses;
import org.graylog.datanode.configuration.BaseConfiguration;
import org.graylog2.plugin.Tools;
@@ -39,6 +38,7 @@ import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import java.io.File;
import java.io.IOException;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.URI;
@@ -224,6 +224,16 @@ public class Configuration extends BaseConfiguration {
}
}
@ValidatorMethod
@SuppressWarnings("unused")
public void validateOpenSearchDistribution() throws ValidationException {
try {
OpensearchDistribution.detectInDirectory(Path.of(getOpensearchDistributionRoot()));
} catch (RuntimeException | IOException e) {
throw new ValidationException("Could not detect OpenSearch in " + getOpensearchDistributionRoot() + ", please check your installation. Error was: " + e.getMessage());
}
}
@Parameter(value = "node_id_file", validators = NodeIdFileValidator.class)
private String nodeIdFile = "data/node-id";