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 | ||||
|             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 { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue