apache/toolchain — pull request #7 by abayer (2014-10-07 00:39:21+00:00)
Title: Drastically improve runtime for playbook

So this dropped the runtime of the playbook from 4:16 for one host to 0:45. So that's nice.

What I did:
- Stop clearing out the old tools tarballs (we were already keeping java forever).
- If we don't download the tools tarballs (i.e., 'cos they already exist), don't untar them etc. If we change versions of a tool, we'll end up downloading it and it'll install. This also avoids the "nuking Java while jobs are running" problem.
- Cut down on apt-get updates all over the place - still two, but I haven't gotten around to folding the install_jdk.yml stuff into install_libraries.yml.
- Stop reinstalling JDK so dang much.
- Stop with the sources.list overwriting for SVN 1.6 - use sources.list.d and default_release instead.
- Fold install_svn_1.6.yml into install_libraries.yml.
- Stop uninstalling libsvn1/python-svn every time.
- Move libsvn-dev out of the main libraries thingie, and instead install it with libsvn1 and friends - and install it from the specific release so we get the subversion repos we want.
- Quasi-pin the versions of libsvn1 and friends, so that any future attempt to upgrade them will error out.
- combined, the SVN stuff means we install svn 1.6 etc, and we don't ever install svn 1.8, since libsvn-dev is now installed at the same time as the rest of svn. And what's more, libsvn-dev was actually getting uninstalled when the 1.8 libsvn1 was removed and never reinstalled, so we didn't actually have it on in the first place!

I'm not 100% how the svn thing will work out on a fresh host, since i'm not sure if it'll already have svn installed. If it does, well, then we need to manually remove libsvn1 and friends before running ansible against a new host, but I'm perfectly fine with that for getting the runtime dropping to less than 20% of what it was before.