use of org.graylog2.storage.SearchVersion in project graylog2-server by Graylog2.
the class ElasticsearchVersionProvider method get.
@Override
public SearchVersion get() {
if (this.versionOverride.isPresent()) {
final SearchVersion explicitVersion = versionOverride.get();
LOG.info("Elasticsearch version set to " + explicitVersion + " - disabling version probe.");
return explicitVersion;
}
try {
return this.cachedVersion.get(() -> {
final Optional<SearchVersion> probedVersion = this.versionProbe.probe(this.elasticsearchHosts);
probedVersion.ifPresent(version -> LOG.info("Elasticsearch cluster is running " + version));
return probedVersion;
}).orElseThrow(() -> new ElasticsearchProbeException(NO_HOST_REACHABLE_ERROR + "!"));
} catch (ExecutionException | InterruptedException e) {
throw new ElasticsearchProbeException(NO_HOST_REACHABLE_ERROR + ": ", e);
}
}
use of org.graylog2.storage.SearchVersion in project graylog2-server by Graylog2.
the class EventsIndexMappingTest method createsValidMappingTemplates.
@ParameterizedTest
@ValueSource(strings = { "5.0.0", "6.0.0", "7.0.0" })
void createsValidMappingTemplates(String versionString) throws Exception {
final SearchVersion version = SearchVersion.elasticsearch(versionString);
final IndexMappingTemplate mapping = new EventIndexTemplateProvider().create(version, null);
assertJsonPath(mapping.toTemplate(indexSetConfig, "test_*"), at -> {
at.jsonPathAsString("$.index_patterns").isEqualTo("test_*");
at.jsonPathAsInteger("$.order").isEqualTo(-1);
assertStandardMappingValues(at, version);
});
assertJsonPath(mapping.toTemplate(indexSetConfig, "test_*", 23), at -> {
at.jsonPathAsString("$.index_patterns").isEqualTo("test_*");
at.jsonPathAsInteger("$.order").isEqualTo(23);
assertStandardMappingValues(at, version);
});
}
use of org.graylog2.storage.SearchVersion in project graylog2-server by Graylog2.
the class MajorVersionConverterTest method convertSimpleNumber.
@Test
void convertSimpleNumber() {
final SearchVersion version = converter.convertFrom("7");
assertThat(version).isEqualTo(SearchVersion.elasticsearch("7.0.0"));
}
use of org.graylog2.storage.SearchVersion in project graylog2-server by Graylog2.
the class ContainerMatrixClassSelectorResolver method newClassTestDescriptor.
private ClassBasedTestDescriptor newClassTestDescriptor(TestDescriptor parent, Class<?> testClass) {
Optional<ContainerMatrixTestsDescriptor> containerMatrixTestsDescriptor = findContainerMatrixTestsDescriptor(parent);
if (containerMatrixTestsDescriptor.isPresent()) {
final SearchVersion esVersion = containerMatrixTestsDescriptor.get().getEsVersion();
final MongodbServer mongoVersion = containerMatrixTestsDescriptor.get().getMongoVersion();
return new ContainerMatrixTestClassDescriptor(parent, testClass, configuration, esVersion, mongoVersion, ContainerMatrixTestEngine.getMongoDBFixtures(Lifecycle.CLASS, testClass));
} else {
return new ContainerMatrixTestClassDescriptor(parent, testClass, configuration, ContainerMatrixTestEngine.getMongoDBFixtures(Lifecycle.CLASS, testClass));
}
}
use of org.graylog2.storage.SearchVersion in project graylog2-server by Graylog2.
the class ContainerMatrixHierarchicalTestEngine method execute.
@Override
public void execute(ExecutionRequest request) {
request.getRootTestDescriptor().getChildren().forEach(descriptor -> {
if (descriptor instanceof ContainerMatrixTestWithRunningESMongoTestsDescriptor) {
GraylogBackend backend = RunningGraylogBackend.createStarted();
RequestSpecification specification = requestSpec(backend);
this.execute(request, ((ContainerMatrixTestsDescriptor) descriptor).getChildren(), backend, specification);
} else if (descriptor instanceof ContainerMatrixTestsDescriptor) {
ContainerMatrixTestsDescriptor containerMatrixTestsDescriptor = (ContainerMatrixTestsDescriptor) descriptor;
SearchVersion esVersion = containerMatrixTestsDescriptor.getEsVersion();
MongodbServer mongoVersion = containerMatrixTestsDescriptor.getMongoVersion();
int[] extraPorts = containerMatrixTestsDescriptor.getExtraPorts();
List<URL> mongoDBFixtures = containerMatrixTestsDescriptor.getMongoDBFixtures();
PluginJarsProvider pluginJarsProvider = instantiateFactory(containerMatrixTestsDescriptor.getPluginJarsProvider());
MavenProjectDirProvider mavenProjectDirProvider = instantiateFactory(containerMatrixTestsDescriptor.getMavenProjectDirProvider());
if (Lifecycle.VM.equals(containerMatrixTestsDescriptor.getLifecycle())) {
try (ContainerizedGraylogBackend backend = ContainerizedGraylogBackend.createStarted(esVersion, mongoVersion, extraPorts, mongoDBFixtures, pluginJarsProvider, mavenProjectDirProvider)) {
RequestSpecification specification = requestSpec(backend);
this.execute(request, ((ContainerMatrixTestsDescriptor) descriptor).getChildren(), backend, specification);
} catch (Exception exception) {
throw new JUnitException("Error executing tests for engine " + getId(), exception);
}
} else if (Lifecycle.CLASS.equals(containerMatrixTestsDescriptor.getLifecycle())) {
for (TestDescriptor td : containerMatrixTestsDescriptor.getChildren()) {
List<URL> fixtures = mongoDBFixtures;
if (td instanceof ContainerMatrixTestClassDescriptor) {
fixtures = ((ContainerMatrixTestClassDescriptor) td).getMongoFixtures();
}
try (ContainerizedGraylogBackend backend = ContainerizedGraylogBackend.createStarted(esVersion, mongoVersion, extraPorts, fixtures, pluginJarsProvider, mavenProjectDirProvider)) {
RequestSpecification specification = requestSpec(backend);
this.execute(request, Collections.singleton(td), backend, specification);
} catch (Exception exception) {
throw new JUnitException("Error executing tests for engine " + getId(), exception);
}
}
} else {
LOG.error("Unknown lifecycle: " + containerMatrixTestsDescriptor.getLifecycle());
}
} else {
LOG.error("All children of the root should be of type 'ContainerMatrixTestsDescriptor' or 'ContainerMatrixTestWithRunningESMongoTestsDescriptor'");
}
request.getEngineExecutionListener().executionFinished(descriptor, TestExecutionResult.successful());
});
}
Aggregations