Puppet-izing Oracle’s JRE
[One of] My bold predictions for 2013 is that test teams are going to get serious about wrangling their environments under control. And to do this they are going to have to at least become casually aware of tools like Puppet.
Part of a Selenium setup is the need to have a JRE installed*. You could just rely on whatever the vendor has installed on the machine but then you end up with a variety of versions and even implementations across the various machines that make up your environment.** What you want is a consistent implementation and version across all your platforms. And that means Oracle’s.
Over the last week I’ve been working on a module that installs Oracle JRE 1.7.0 update 10 and it is now available for public consumption. It is huge. Like > 300M huge. So I am resisting putting it up on the Puppet Forge but if you do something like git-checkout-index into your modules directory you should be good.
Once it is there you just need to add
<pre lang="ruby">include oraclejre7
to your nodes that you want it installed on.
Look for an article in the new year which goes into depth on what is actually going on behind the scenes to make this work. Its actually far more complicated than I had hoped. And incidentally covers pretty much all of the Puppet Professional certification.
* Yes, I know, you don’t really need it unless you are using the Remote WebDriver, but I think you should by default so yes, you need to have a JRE
** Yes, I also know that for just running the Selenium Server it doesn’t really matter which version you use, but ideally you will be using the same Puppet manifests as development / ops and if they are content with a mis-mash of jre components, well, you have bigger organizational problems to fry.