HDDS-1793. Acceptance test of ozone-topology cluster is failing

Closes #1096
This commit is contained in:
Doroszlai, Attila 2019-07-16 16:52:14 +02:00 committed by Márton Elek
parent d21eccf8ba
commit c5e3ab5a4d
No known key found for this signature in database
GPG Key ID: D51EA8F00EE79B28
3 changed files with 18 additions and 18 deletions

View File

@ -19,7 +19,6 @@ services:
datanode_1:
image: apache/ozone-runner:${HADOOP_RUNNER_VERSION}
privileged: true #required by the profiler
container_name: datanode_1
volumes:
- ../..:/opt/hadoop
ports:
@ -34,7 +33,6 @@ services:
datanode_2:
image: apache/ozone-runner:${HADOOP_RUNNER_VERSION}
privileged: true #required by the profiler
container_name: datanode_2
volumes:
- ../..:/opt/hadoop
ports:
@ -49,7 +47,6 @@ services:
datanode_3:
image: apache/ozone-runner:${HADOOP_RUNNER_VERSION}
privileged: true #required by the profiler
container_name: datanode_3
volumes:
- ../..:/opt/hadoop
ports:
@ -64,7 +61,6 @@ services:
datanode_4:
image: apache/ozone-runner:${HADOOP_RUNNER_VERSION}
privileged: true #required by the profiler
container_name: datanode_4
volumes:
- ../..:/opt/hadoop
ports:
@ -79,7 +75,6 @@ services:
om:
image: apache/ozone-runner:${HADOOP_RUNNER_VERSION}
privileged: true #required by the profiler
container_name: om
volumes:
- ../..:/opt/hadoop
ports:
@ -95,7 +90,6 @@ services:
scm:
image: apache/ozone-runner:${HADOOP_RUNNER_VERSION}
privileged: true #required by the profiler
container_name: scm
volumes:
- ../..:/opt/hadoop
ports:

View File

@ -21,7 +21,7 @@ export COMPOSE_DIR
# shellcheck source=/dev/null
source "$COMPOSE_DIR/../testlib.sh"
start_docker_env
start_docker_env 4
#Due to the limitation of the current auditparser test, it should be the
#first test in a clean cluster.

View File

@ -28,9 +28,12 @@ mkdir -p "$RESULT_DIR"
#Should be writeable from the docker containers where user is different.
chmod ogu+w "$RESULT_DIR"
## @description wait until 3 datanodes are up (or 30 seconds)
## @description wait until datanodes are up (or 30 seconds)
## @param the docker-compose file
## @param number of datanodes to wait for (default: 3)
wait_for_datanodes(){
local compose_file=$1
local -i datanode_count=${2:-3}
#Reset the timer
SECONDS=0
@ -40,19 +43,19 @@ wait_for_datanodes(){
#This line checks the number of HEALTHY datanodes registered in scm over the
# jmx HTTP servlet
datanodes=$(docker-compose -f "$1" exec -T scm curl -s 'http://localhost:9876/jmx?qry=Hadoop:service=SCMNodeManager,name=SCMNodeManagerInfo' | jq -r '.beans[0].NodeCount[] | select(.key=="HEALTHY") | .value')
if [[ "$datanodes" == "3" ]]; then
datanodes=$(docker-compose -f "${compose_file}" exec -T scm curl -s 'http://localhost:9876/jmx?qry=Hadoop:service=SCMNodeManager,name=SCMNodeManagerInfo' | jq -r '.beans[0].NodeCount[] | select(.key=="HEALTHY") | .value')
if [[ "$datanodes" ]]; then
if [[ ${datanodes} -ge ${datanode_count} ]]; then
#It's up and running. Let's return from the function.
#It's up and running. Let's return from the function.
echo "$datanodes datanodes are up and registered to the scm"
return
else
else
#Print it only if a number. Could be not a number if scm is not yet started
if [[ "$datanodes" ]]; then
echo "$datanodes datanode is up and healthy (until now)"
#Print it only if a number. Could be not a number if scm is not yet started
echo "$datanodes datanode is up and healthy (until now)"
fi
fi
fi
sleep 2
done
@ -60,10 +63,13 @@ wait_for_datanodes(){
}
## @description Starts a docker-compose based test environment
## @param number of datanodes to start and wait for (default: 3)
start_docker_env(){
local -i datanode_count=${1:-3}
docker-compose -f "$COMPOSE_FILE" down
docker-compose -f "$COMPOSE_FILE" up -d --scale datanode=3
wait_for_datanodes "$COMPOSE_FILE"
docker-compose -f "$COMPOSE_FILE" up -d --scale datanode="${datanode_count}"
wait_for_datanodes "$COMPOSE_FILE" "${datanode_count}"
sleep 10
}