This aim to enable the possibility that BigTop users can have arbitrary JDK version specified for their own environment. Although we officially support OpenJDK7 only, but that doesn't mean users can't use OpenJDK8 or OracleJDK if they are well aware of the compatibility for each Hadoop components they'd like to adopt.
From the feature completeness aspect, the vagrant-puppet-vm provisioner does not support Debian since the JDK package name is fixed in its Vagrantfile:
cat > /etc/puppet/hieradata/site.yaml << EOF
hadoop::hadoop_storage_dirs: [/data/1, /data/2]
For better UX, we should allow users to change the value in vagrantconfig.yaml.
And to simplify the code and increase the readability, I'd like to remove the if-else clause in provision.sh.
# Prepare puppet configuration file
if [ -f /etc/debian_version ] ; then
apt-get -y install puppet-module-puppetlabs-stdlib
cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
Puppet module installation can be replaced by bigtop_toolchain(TODO), while JDK can be specified in vagrantconfig.yaml.