Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance and error message improvements #142

Merged
merged 1 commit into from
Sep 26, 2019
Merged

Performance and error message improvements #142

merged 1 commit into from
Sep 26, 2019

Conversation

DonRichards
Copy link
Member

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
Before

turn into this

After

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

@DonRichards
Copy link
Member Author

Gonna need to rebase.

@DonRichards
Copy link
Member Author

OK, ready for testing.

@dannylamb
Copy link
Member

@DonRichards Testing now 🚀

@dannylamb
Copy link
Member

I've spun up several boxes with this. It's hard to pin down any improvements b/c my internet dl speed waxes and wanes with the phases of the moon, but I can say it feels snappier and definitely doesn't break anything. Less verbosity also makes the installer somewhat more approachable.

@dannylamb dannylamb merged commit f616d60 into Islandora-Devops:dev Sep 26, 2019
@DonRichards DonRichards deleted the perform branch September 26, 2019 17:06
whikloj pushed a commit to whikloj/claw-playbook that referenced this pull request Dec 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants