9cc56981b5
The 'free' strategy still attempts to do all hosts per task before going to the next, it just doesn't wait for slow hosts, This strategy processes each host as fast as possible to the end of the play before trying to process another host in the pool.
28 lines
1.6 KiB
Bash
Executable file
28 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -eux
|
|
|
|
# remove old output log
|
|
rm -f block_test.out
|
|
# run the test and check to make sure the right number of completions was logged
|
|
ansible-playbook -vv main.yml -i ../../inventory "$@" | tee block_test.out
|
|
env python -c \
|
|
'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \
|
|
<block_test.out >block_test_wo_colors.out
|
|
[ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(egrep '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ]
|
|
# cleanup the output log again, to make sure the test is clean
|
|
rm -f block_test.out block_test_wo_colors.out
|
|
# run test with free strategy and again count the completions
|
|
ansible-playbook -vv main.yml -i ../../inventory -e test_strategy=free "$@" | tee block_test.out
|
|
env python -c \
|
|
'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \
|
|
<block_test.out >block_test_wo_colors.out
|
|
[ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(egrep '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ]
|
|
# cleanup the output log again, to make sure the test is clean
|
|
rm -f block_test.out block_test_wo_colors.out
|
|
# run test with host_pinned strategy and again count the completions
|
|
ansible-playbook -vv main.yml -i ../../inventory -e test_strategy=host_pinned "$@" | tee block_test.out
|
|
env python -c \
|
|
'import sys, re; sys.stdout.write(re.sub("\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]", "", sys.stdin.read()))' \
|
|
<block_test.out >block_test_wo_colors.out
|
|
[ "$(grep -c 'TEST COMPLETE' block_test.out)" = "$(egrep '^[0-9]+ plays in' block_test_wo_colors.out | cut -f1 -d' ')" ]
|