mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 13:08:29 +00:00
e29649a7bc
This change removes the xpack plugin's dependency on the tribe module, which is not a published artifact. For the most part this just involves moving some test classes around, but for the security and tribe integration the usage of constant settings was removed and replaced with the string names. This is a bit unfortunate, but a test was added in a QA project that depends on tribe that will alert us if a new setting is added that we need to be aware of. relates elastic/x-pack-elasticsearch#2656 Original commit: elastic/x-pack-elasticsearch@649a8033e4
122 lines
5.1 KiB
Groovy
122 lines
5.1 KiB
Groovy
import org.elasticsearch.gradle.test.ClusterConfiguration
|
|
import org.elasticsearch.gradle.test.ClusterFormationTasks
|
|
import org.elasticsearch.gradle.test.NodeInfo
|
|
|
|
apply plugin: 'elasticsearch.standalone-test'
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
dependencies {
|
|
testCompile project(path: ':modules:tribe', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin', configuration: 'testArtifacts')
|
|
}
|
|
|
|
compileTestJava.options.compilerArgs << "-Xlint:-rawtypes,-unchecked"
|
|
namingConventions.skipIntegTestInDisguise = true
|
|
|
|
test {
|
|
/*
|
|
* We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each
|
|
* other if we allow them to set the number of available processors as it's set-once in Netty.
|
|
*/
|
|
systemProperty 'es.set.netty.runtime.available.processors', 'false'
|
|
include '**/*Tests.class'
|
|
}
|
|
|
|
String licensePath = project(':x-pack-elasticsearch:license-tools').projectDir.toPath().resolve('src/test/resources').toString()
|
|
sourceSets {
|
|
test {
|
|
resources {
|
|
srcDirs += [licensePath]
|
|
}
|
|
}
|
|
}
|
|
|
|
project.forbiddenPatterns {
|
|
exclude '**/*.key'
|
|
}
|
|
|
|
task setupClusterOne {}
|
|
ClusterConfiguration cluster1Config = new ClusterConfiguration(project)
|
|
cluster1Config.clusterName = 'cluster1'
|
|
cluster1Config.setting('node.name', 'cluster1-node1')
|
|
// x-pack
|
|
cluster1Config.plugin(':x-pack-elasticsearch:plugin')
|
|
cluster1Config.setting('xpack.monitoring.enabled', false)
|
|
cluster1Config.setting('xpack.security.enabled', false)
|
|
cluster1Config.setting('xpack.watcher.enabled', false)
|
|
cluster1Config.setting('xpack.graph.enabled', false)
|
|
cluster1Config.setting('xpack.ml.enabled', false)
|
|
|
|
List<NodeInfo> cluster1Nodes = ClusterFormationTasks.setup(project, 'clusterOne', setupClusterOne, cluster1Config)
|
|
|
|
task setupClusterTwo {}
|
|
ClusterConfiguration cluster2Config = new ClusterConfiguration(project)
|
|
cluster2Config.clusterName = 'cluster2'
|
|
cluster2Config.setting('node.name', 'cluster2-node1')
|
|
// x-pack
|
|
cluster2Config.plugin(':x-pack-elasticsearch:plugin')
|
|
cluster2Config.setting('xpack.monitoring.enabled', false)
|
|
cluster2Config.setting('xpack.monitoring.enabled', false)
|
|
cluster2Config.setting('xpack.security.enabled', false)
|
|
cluster2Config.setting('xpack.watcher.enabled', false)
|
|
cluster2Config.setting('xpack.graph.enabled', false)
|
|
cluster2Config.setting('xpack.ml.enabled', false)
|
|
|
|
List<NodeInfo> cluster2Nodes = ClusterFormationTasks.setup(project, 'clusterTwo', setupClusterTwo, cluster2Config)
|
|
|
|
integTestCluster {
|
|
dependsOn setupClusterOne, setupClusterTwo
|
|
setting 'node.name', 'tribe-node'
|
|
setting 'tribe.on_conflict', 'prefer_cluster1'
|
|
setting 'tribe.cluster1.cluster.name', 'cluster1'
|
|
setting 'tribe.cluster1.discovery.zen.ping.unicast.hosts', "'${-> cluster1Nodes.get(0).transportUri()}'"
|
|
setting 'tribe.cluster1.http.enabled', 'true'
|
|
setting 'tribe.cluster1.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster1.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster1.xpack.security.enabled', false
|
|
setting 'tribe.cluster1.xpack.watcher.enabled', false
|
|
setting 'tribe.cluster1.xpack.graph.enabled', false
|
|
setting 'tribe.cluster1.xpack.ml.enabled', false
|
|
setting 'tribe.cluster2.cluster.name', 'cluster2'
|
|
setting 'tribe.cluster2.discovery.zen.ping.unicast.hosts', "'${-> cluster2Nodes.get(0).transportUri()}'"
|
|
setting 'tribe.cluster2.http.enabled', 'true'
|
|
setting 'tribe.cluster2.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster2.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster2.xpack.security.enabled', false
|
|
setting 'tribe.cluster2.xpack.watcher.enabled', false
|
|
setting 'tribe.cluster2.xpack.graph.enabled', false
|
|
setting 'tribe.cluster2.xpack.ml.enabled', false
|
|
// x-pack
|
|
plugin ':x-pack-elasticsearch:plugin'
|
|
setting 'xpack.monitoring.enabled', false
|
|
setting 'xpack.monitoring.enabled', false
|
|
setting 'xpack.security.enabled', false
|
|
setting 'xpack.watcher.enabled', false
|
|
setting 'xpack.graph.enabled', false
|
|
setting 'xpack.ml.enabled', false
|
|
waitCondition = { node, ant ->
|
|
File tmpFile = new File(node.cwd, 'wait.success')
|
|
// 5 nodes: tribe + clusterOne (1 node + tribe internal node) + clusterTwo (1 node + tribe internal node)
|
|
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=5&wait_for_status=yellow",
|
|
dest: tmpFile.toString(),
|
|
ignoreerrors: true,
|
|
retries: 10)
|
|
return tmpFile.exists()
|
|
}
|
|
}
|
|
|
|
integTestRunner {
|
|
/*
|
|
* We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each
|
|
* other if we allow them to set the number of available processors as it's set-once in Netty.
|
|
*/
|
|
systemProperty 'es.set.netty.runtime.available.processors', 'false'
|
|
systemProperty 'tests.cluster', "${-> cluster1Nodes.get(0).transportUri()}"
|
|
systemProperty 'tests.cluster2', "${-> cluster2Nodes.get(0).transportUri()}"
|
|
systemProperty 'tests.tribe', "${-> integTest.nodes.get(0).transportUri()}"
|
|
finalizedBy 'clusterOne#stop'
|
|
finalizedBy 'clusterTwo#stop'
|
|
}
|