Use ansible to get work done in parallel because we want to make devstack-gate treat multinode testing as a first class citizen. Note that this is just a first iteration that covers the largest time costs in multinode setup. It runs host and workspace setup in parallel as well as running devstack setup in parallel. Some portions of multinode setup like the network overlay configuration is not yet done in ansible, but doing that in parallel is less pressing as the cost is much lower. This does also try to establish some conventions around using ansible in d-g. Control flow logic should remain in bash with d-g. All shell variables should be interpolated into the ansible command strings before running ansible (do not pass through to the remote side), this keeps commands simple and avoids surprises with values being picked up differently on the remote side. This may have to change over time as we use ansible more, but for now this seems to work well. Follow up changes should look at using ansible playbook for colocated ansible commands. We should also convert more of the cross node setup into ansible. Change-Id: I34cec44281eadfbfb990ed8ed160ee7dec50341b
27 KiB
Executable File
27 KiB
Executable File