Performance and error message improvements #142
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GitHub Issue: N/A
What does this Pull Request do?
Improves the build time and limits the error messages to avoid confusion.
What's new?
fact_caching: Gather the facts once in a local file so that it only has to it lookup and not call it through secure shell.
fact_caching_connection: Facts cache location.
poll_interval: The time Ansible waits to poll for results.
internal_poll_interval = The time Ansible control host waits to poll for results.
command_warnings = Hides command warnings.
deprecation_warnings: Hides deprecation warnings.
pipelining: Enabling pipelining reduces the number of SSH operations required to execute a module on the remote server, by executing many ansible modules without actual file transfer.
How should this be tested?
Start the VM without provisions first (to isolate the performance to the playbook as much as possible). Then using "time" to calculate the total time at the end to help, this is redundant because of the report Ansible gives but I do it anyways.
$ vagrant destroy $ vagrant up --no-provision $ time vagrant provision
Keep track of time. Run the destroy/up/provision commands again with this PR to compare and test.
You should see all of the these messages
turn into this
You should see theoretically an improved build time. This is difficult to measure due to the nature of the servers the playbook(s) are pulling from and the performance variations they incur.
Additional Notes:
There are several other things that need to be done to improve performance like pre-downloading all tars locally, grouping and setting async on those tasks that are not a dependency for another task to start. This should be a good start but will probably show a larger impact as the other issues are improved upon.
Interested parties
@Islandora-Devops/committers