MINOR: Apply extra serialized rsync step to both parallel and serial paths
Author: Ewen Cheslack-Postava
Reviewers: Ismael Juma Eno Thereska
Closes from ewencp/fix-rsync
@@ -226,31 +226,33 @@ function bring_up_aws {
if [[ ! -z "$worker_machines" ]]; then
echo "Bringing up test worker machines in parallel"
- # 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
+ # Try to isolate this job in its own /tmp space. See note
+ # below about vagrant issue
local vagrant_rsync_temp_dir=$(mktemp -d);
TMPDIR=$vagrant_rsync_temp_dir vagrant_batch_command "vagrant up $debug --provider=aws" "$worker_machines" "$max_parallel"
rm -rf $vagrant_rsync_temp_dir
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
else
vagrant up --provider=aws --no-parallel --no-provision $debug
vagrant hostmanager
vagrant provision
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 {
