mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 04:58:50 +00:00
This commit adds separate tasks for tribe clusteres which the cluster formation tasks build their own tasks off. This ensures each cluster will have its own wait task, so that the tribe node will be able to wait on the other clusters being up before even trying to start. relates elastic/x-pack-elasticsearch#877 Original commit: elastic/x-pack-elasticsearch@1e4c729372
82 lines
3.6 KiB
Groovy
82 lines
3.6 KiB
Groovy
import org.elasticsearch.gradle.test.ClusterConfiguration
|
|
import org.elasticsearch.gradle.test.ClusterFormationTasks
|
|
import org.elasticsearch.gradle.test.NodeInfo
|
|
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
dependencies {
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin', configuration: 'testArtifacts')
|
|
}
|
|
|
|
|
|
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 {
|
|
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
|
|
}
|
|
|
|
integTestRunner {
|
|
dependsOn(setupClusterOne, setupClusterTwo)
|
|
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'
|
|
}
|