Skip to content

Commit 76065fa

Browse files
committed
Bump version number, add initial manual test scripts.
1 parent 0b36ee2 commit 76065fa

File tree

12 files changed

+200
-5
lines changed

12 files changed

+200
-5
lines changed

CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## [1.0.0] - [01 March 2016]
6+
7+
### Breaking changes
8+
- Framework uses official Elasticsearch image or binaries. Users are able to upgrade ES without framework upgrade.
9+
- CLI: Executor image names have been renamed to Elasticsearch image names.
10+
- Executors will quit when scheduler is killed with SIGTERM.
11+
12+
### Enhancements
13+
- [Upgrade minimesos to 0.6.1](https://github.com/mesos/elasticsearch/issues/506)
14+
- [Add option to specify exact ES image](https://github.com/mesos/elasticsearch/issues/499)
15+
- [External Volumes support](https://github.com/mesos/elasticsearch/issues/490)
16+
- [Remove executor. Use official binaries](https://github.com/mesos/elasticsearch/issues/475)
17+
- [Use official binaries](https://github.com/mesos/elasticsearch/issues/225)
18+
- [Shut down executors when scheduler receives SIGTERM](https://github.com/mesos/elasticsearch/issues/462)
19+
- [Upgrade and refactor dependencies](https://github.com/mesos/elasticsearch/issues/402)
20+
- [Links to published jars](https://github.com/mesos/elasticsearch/issues/414)
21+
- [Node specific data directory for shared network drives](https://github.com/mesos/elasticsearch/issues/372)
22+
523
## [0.7.2] - [18 February 2016]
624

725
### Breaking changes

docs/index.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Create a Marathon file like the one below and fill in the IP addresses and other
8787

8888
```
8989
{
90-
"id": "elasticsearch-mesos-scheduler",
90+
"id": "elasticsearch,
9191
"container": {
9292
"docker": {
9393
"image": "mesos/elasticsearch-scheduler",
@@ -218,7 +218,7 @@ To use framework Auth, and if you are using docker, you must mount a docker volu
218218
...
219219
"docker": {
220220
"image": "mesos/elasticsearch-scheduler",
221-
"network": "BRIDGE"
221+
"network": "HOST"
222222
},
223223
"volumes": [
224224
{
@@ -243,8 +243,8 @@ It is strongly recommended that you use the containerized version of Mesos Elast
243243
"cpus": 0.2,
244244
"mem": 512,
245245
"instances": 1,
246-
"cmd": "java -jar scheduler-0.7.0.jar --frameworkUseDocker false --zookeeperMesosUrl zk://10.0.0.254:2181 --frameworkName elasticsearch --elasticsearchClusterName mesos-elasticsearch --elasticsearchCpu 1 --elasticsearchRam 1024 --elasticsearchDisk 1024 --elasticsearchNodes 3 --elasticsearchSettingsLocation /home/ubuntu/elasticsearch.yml",
247-
"uris": [ "https://github.com/mesos/elasticsearch/releases/download/0.7.0/scheduler-0.7.0.jar" ],
246+
"cmd": "java -jar scheduler-1.0.0.jar --frameworkUseDocker false --zookeeperMesosUrl zk://10.0.0.254:2181 --frameworkName elasticsearch --elasticsearchClusterName mesos-elasticsearch --elasticsearchCpu 1 --elasticsearchRam 1024 --elasticsearchDisk 1024 --elasticsearchNodes 3 --elasticsearchSettingsLocation /home/ubuntu/elasticsearch.yml",
247+
"uris": [ "https://github.com/mesos/elasticsearch/releases/download/1.0.0/scheduler-1.0.0.jar" ],
248248
"env": {
249249
"JAVA_OPTS": "-Xms256m -Xmx512m"
250250
},

manual-test/importData.sh

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
set -x
3+
4+
ssh -i $KEY ubuntu@$SLAVE0 'sudo docker run --rm -e ELASTIC_SEARCH_URL=http://'"$SLAVE0"':31000 mwldk/shakespeare-import'
5+

manual-test/killAllContainers.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
set -x
3+
4+
ssh -i $KEY ubuntu@$SLAVE0 'sudo docker kill $(sudo docker ps -a -q) ; sudo docker rm `sudo docker ps --no-trunc -aq`'
5+
ssh -i $KEY ubuntu@$SLAVE1 'sudo docker kill $(sudo docker ps -a -q) ; sudo docker rm `sudo docker ps --no-trunc -aq`'
6+
ssh -i $KEY ubuntu@$SLAVE2 'sudo docker kill $(sudo docker ps -a -q) ; sudo docker rm `sudo docker ps --no-trunc -aq`'

manual-test/killAllJavaProcesses.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
ssh -i $KEY ubuntu@$SLAVE0 "ps -ax | grep java | grep -v grep | awk '{ printf \$1 }' | xargs sudo kill"
4+
ssh -i $KEY ubuntu@$SLAVE1 "ps -ax | grep java | grep -v grep | awk '{ printf \$1 }' | xargs sudo kill"
5+
ssh -i $KEY ubuntu@$SLAVE2 "ps -ax | grep java | grep -v grep | awk '{ printf \$1 }' | xargs sudo kill"
6+

manual-test/marathon-auth.json

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"id": "elasticsearch-auth",
3+
"cpus": 0.2,
4+
"mem": 256,
5+
"instances": 1,
6+
"args": [
7+
"--zookeeperMesosUrl",
8+
"zk://$MASTER:2181",
9+
"--elasticsearchCpu",
10+
"1",
11+
"--elasticsearchRam",
12+
"2048",
13+
"--elasticsearchDisk",
14+
"2048",
15+
"--frameworkPrincipal",
16+
"user1",
17+
"--frameworkSecretPath",
18+
"/etc/mesos/frameworkpasswd",
19+
"--elasticsearchNodes",
20+
"3"
21+
],
22+
"env": {
23+
"JAVA_OPTS": "-Xms32m -Xmx64m"
24+
},
25+
"container": {
26+
"type": "DOCKER",
27+
"docker": {
28+
"image": "mesos/elasticsearch-scheduler:snapshot",
29+
"network": "HOST"
30+
},
31+
"volumes": [
32+
{
33+
"containerPath": "/etc/mesos/frameworkpasswd",
34+
"hostPath": "/etc/mesos/frameworkpasswd",
35+
"mode": "RO"
36+
}
37+
]
38+
},
39+
"ports": [
40+
31100
41+
],
42+
"requirePorts": true
43+
}

manual-test/marathon-generic.json

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"id": "elasticsearch-generic",
3+
"cpus": 1.0,
4+
"mem": 512,
5+
"instances": 1,
6+
"args": [
7+
"--zookeeperMesosUrl",
8+
"zk://$MASTER:2181/mesos",
9+
"--elasticsearchCpu",
10+
"1",
11+
"--elasticsearchRam",
12+
"2048",
13+
"--elasticsearchDisk",
14+
"2048"
15+
],
16+
"env": {
17+
"JAVA_OPTS": "-Xms32m -Xmx256m"
18+
},
19+
"container": {
20+
"type": "DOCKER",
21+
"docker": {
22+
"image": "mesos/elasticsearch-scheduler:snapshot",
23+
"network": "HOST"
24+
}
25+
},
26+
"ports": [
27+
31100
28+
],
29+
"requirePorts": true
30+
}

manual-test/marathon-jar.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"id": "elasticsearch",
3+
"cpus": 0.2,
4+
"mem": 512,
5+
"instances": 1,
6+
"cmd": "mv *.jar scheduler.jar ; java -jar scheduler.jar --frameworkUseDocker false --zookeeperMesosUrl zk://$MASTER:2181/mesos --elasticsearchCpu 1 --elasticsearchRam 1024 --elasticsearchDisk 1024 --elasticsearchNodes 3",
7+
"uris": [
8+
"https://download.wetransfer.com/wetransfer-eu1/94692a42d063fe8abc6de752388c595d20160218120944/elasticsearch-mesos-scheduler-0.7.1.jar?expiration=1455798731&escaped=false&signature=77366f0ae4d8ebd7a5218c41a414b8f9ad20e73a313f38a15fd6bf0518b07036&filename=elasticsearch-mesos-scheduler-0.7.1.jar"
9+
],
10+
"env": {
11+
"JAVA_OPTS": "-Xms256m -Xmx512m"
12+
},
13+
"ports": [
14+
31100
15+
],
16+
"requirePorts": true
17+
}

manual-test/marathon-role.json

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"id": "elasticsearch-role",
3+
"cpus": 0.2,
4+
"mem": 256,
5+
"instances": 1,
6+
"args": [
7+
"--zookeeperMesosUrl",
8+
"zk://$MASTER:2181",
9+
"--elasticsearchCpu",
10+
"1",
11+
"--elasticsearchRam",
12+
"2048",
13+
"--elasticsearchDisk",
14+
"2048",
15+
"--frameworkRole",
16+
"testRole"
17+
],
18+
"env": {
19+
"JAVA_OPTS": "-Xms32m -Xmx64m"
20+
},
21+
"container": {
22+
"type": "DOCKER",
23+
"docker": {
24+
"image": "mesos/elasticsearch-scheduler:snapshot",
25+
"network": "HOST",
26+
"forcePullImage": false
27+
}
28+
},
29+
"acceptedResourceRoles": [
30+
"testRole"
31+
],
32+
"ports": [
33+
31100
34+
],
35+
"requirePorts": true
36+
}

manual-test/submit.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
cat $1 | sed -e 's/$MASTER/'"$MASTER"'/' | sed -e 's/$SLAVE0/'"$SLAVE0"'/' | curl -XPOST -H 'Content-Type:application/json' -d @- http://$MASTER:8080/v2/apps

manual-test/test.sh

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
# contains(string, substring)
4+
#
5+
# Returns 0 if the specified string contains the specified substring,
6+
# otherwise returns 1.
7+
contains() {
8+
string="$1"
9+
substring="$2"
10+
if [[ debug == "$3" ]]; then
11+
echo "Does $string contain $substring?"
12+
fi
13+
if test "${string#*$substring}" != "$string"
14+
then
15+
echo "PASS"
16+
return 0 # $substring is in $string
17+
else
18+
echo "FAIL"
19+
return 1 # $substring is not in $string
20+
fi
21+
}
22+
23+
contains "$(curl -s $SLAVE0:31000)" Search $1
24+
contains "$(curl -s $SLAVE1:31000)" Search $1
25+
contains "$(curl -s $SLAVE2:31000)" Search $1
26+
contains "$(curl -s $SLAVE0:31000/_cat/nodes | wc -l)" "3" $1 # Three nodes in cluster
27+
28+
# Import data
29+
ssh -o StrictHostKeyChecking=no -i $KEY ubuntu@$SLAVE0 'sudo docker run --rm -e ELASTIC_SEARCH_URL=http://'"$SLAVE0"':31000 mwldk/shakespeare-import'
30+
31+
contains "$(curl -s $SLAVE0:31000/_search?q=beans)" "Peas and beans are as dank here as a dog" $1

scheduler/src/main/java/org/apache/mesos/elasticsearch/scheduler/Configuration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public class Configuration {
8686
private String elasticsearchPorts = ""; // Defaults to Mesos specified ports.
8787

8888
// **** FRAMEWORK
89-
private String version = "0.7.2";
89+
private String version = "1.0.0";
9090
@Parameter(names = {FRAMEWORK_NAME}, description = "The name given to the framework.", validateWith = CLIValidators.NotEmptyString.class)
9191
private String frameworkName = "elasticsearch";
9292
@Parameter(names = {EXECUTOR_NAME}, description = "The name given to the executor task.", validateWith = CLIValidators.NotEmptyString.class)

0 commit comments

Comments
 (0)