mirror of https://github.com/apache/kafka.git
MINOR: Apply extra serialized rsync step to both parallel and serial paths
Author: Ewen Cheslack-Postava <ewen@confluent.io>
Reviewers: Ismael Juma <ismael@juma.me.uk>, Eno Thereska <eno.thereska@gmail.com>
Closes #3546 from ewencp/fix-rsync
(cherry picked from commit 9b7a6ee2a9)
Signed-off-by: Ewen Cheslack-Postava <me@ewencp.org>
This commit is contained in:
parent
4b968afef2
commit
8ebe41175e
|
|
@ -226,31 +226,33 @@ function bring_up_aws {
|
||||||
|
|
||||||
if [[ ! -z "$worker_machines" ]]; then
|
if [[ ! -z "$worker_machines" ]]; then
|
||||||
echo "Bringing up test worker machines in parallel"
|
echo "Bringing up test worker machines in parallel"
|
||||||
# Currently it seems that the AWS provider will always run
|
# Try to isolate this job in its own /tmp space. See note
|
||||||
# rsync as part of vagrant up. However,
|
# below about vagrant issue
|
||||||
# https://github.com/mitchellh/vagrant/issues/7531 means
|
|
||||||
# it is not safe to do so. Since the bug doesn't seem to
|
|
||||||
# cause any direct errors, just missing data on some
|
|
||||||
# nodes, follow up with serial rsyncing to ensure we're in
|
|
||||||
# a clean state. Use custom TMPDIR values to ensure we're
|
|
||||||
# isolated from any other instances of this script that
|
|
||||||
# are running/ran recently and may cause different
|
|
||||||
# instances to sync to the wrong nodes
|
|
||||||
local vagrant_rsync_temp_dir=$(mktemp -d);
|
local vagrant_rsync_temp_dir=$(mktemp -d);
|
||||||
TMPDIR=$vagrant_rsync_temp_dir vagrant_batch_command "vagrant up $debug --provider=aws" "$worker_machines" "$max_parallel"
|
TMPDIR=$vagrant_rsync_temp_dir vagrant_batch_command "vagrant up $debug --provider=aws" "$worker_machines" "$max_parallel"
|
||||||
rm -rf $vagrant_rsync_temp_dir
|
rm -rf $vagrant_rsync_temp_dir
|
||||||
vagrant hostmanager
|
vagrant hostmanager
|
||||||
for worker in $worker_machines; do
|
|
||||||
local vagrant_rsync_temp_dir=$(mktemp -d);
|
|
||||||
TMPDIR=$vagrant_rsync_temp_dir vagrant rsync $worker;
|
|
||||||
rm -rf $vagrant_rsync_temp_dir
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
vagrant up --provider=aws --no-parallel --no-provision $debug
|
vagrant up --provider=aws --no-parallel --no-provision $debug
|
||||||
vagrant hostmanager
|
vagrant hostmanager
|
||||||
vagrant provision
|
vagrant provision
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Currently it seems that the AWS provider will always run rsync
|
||||||
|
# as part of vagrant up. However,
|
||||||
|
# https://github.com/mitchellh/vagrant/issues/7531 means it is not
|
||||||
|
# safe to do so. Since the bug doesn't seem to cause any direct
|
||||||
|
# errors, just missing data on some nodes, follow up with serial
|
||||||
|
# rsyncing to ensure we're in a clean state. Use custom TMPDIR
|
||||||
|
# values to ensure we're isolated from any other instances of this
|
||||||
|
# script that are running/ran recently and may cause different
|
||||||
|
# instances to sync to the wrong nodes
|
||||||
|
for worker in $worker_machines; do
|
||||||
|
local vagrant_rsync_temp_dir=$(mktemp -d);
|
||||||
|
TMPDIR=$vagrant_rsync_temp_dir vagrant rsync $worker;
|
||||||
|
rm -rf $vagrant_rsync_temp_dir
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function main {
|
function main {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue