You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by ev...@apache.org on 2019/02/10 07:34:40 UTC
[bigtop] branch master updated: BIGTOP-3150. [Provisioner] Raise
proper exit code and error messages when provisioning failed (#458)
This is an automated email from the ASF dual-hosted git repository.
evansye pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git
The following commit(s) were added to refs/heads/master by this push:
new fa10f82 BIGTOP-3150. [Provisioner] Raise proper exit code and error messages when provisioning failed (#458)
fa10f82 is described below
commit fa10f82c1907f57b2f6e253946dc2c5cc7b927d5
Author: Evans Ye <ev...@apache.org>
AuthorDate: Sun Feb 10 15:34:36 2019 +0800
BIGTOP-3150. [Provisioner] Raise proper exit code and error messages when provisioning failed (#458)
---
provisioner/docker/.gitignore | 2 ++
provisioner/docker/docker-hadoop.sh | 14 +++++++++++---
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/provisioner/docker/.gitignore b/provisioner/docker/.gitignore
index f733c4b..a5e3b7e 100644
--- a/provisioner/docker/.gitignore
+++ b/provisioner/docker/.gitignore
@@ -1 +1,3 @@
config/
+.provision_id
+.error_msg*
diff --git a/provisioner/docker/docker-hadoop.sh b/provisioner/docker/docker-hadoop.sh
index 5bfca48..27e3903 100755
--- a/provisioner/docker/docker-hadoop.sh
+++ b/provisioner/docker/docker-hadoop.sh
@@ -118,10 +118,18 @@ bootstrap() {
}
provision() {
+ rm -f .error_msg_*
for node in ${NODES[*]}; do
- bigtop-puppet $node &
+ (
+ bigtop-puppet $node
+ result=$?
+ if [ $result != 0 ]; then
+ log "Failed to provision container $node with exit code $result" > .error_msg_$node
+ fi
+ ) &
done
wait
+ cat .error_msg_* 2>/dev/null && exit 1
}
smoke-tests() {
@@ -136,14 +144,14 @@ destroy() {
docker-compose -p $PROVISION_ID stop
docker-compose -p $PROVISION_ID rm -f
fi
- rm -rvf ./config .provision_id
+ rm -rvf ./config .provision_id .error_msg*
}
bigtop-puppet() {
if docker exec $1 bash -c "puppet --version" | grep ^3 >/dev/null ; then
future="--parser future"
fi
- docker exec $1 bash -c "puppet apply $future --modulepath=/bigtop-home/bigtop-deploy/puppet/modules:/etc/puppet/modules:/usr/share/puppet/modules /bigtop-home/bigtop-deploy/puppet/manifests"
+ docker exec $1 bash -c "puppet apply --detailed-exitcodes $future --modulepath=/bigtop-home/bigtop-deploy/puppet/modules:/etc/puppet/modules:/usr/share/puppet/modules /bigtop-home/bigtop-deploy/puppet/manifests"
}
get-yaml-config() {