You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by of...@apache.org on 2015/02/02 19:48:39 UTC

bigtop git commit: BIGTOP-1643. vagrant-puppet to support debian as well

Repository: bigtop
Updated Branches:
  refs/heads/master 1577d964f -> ccc1181a0


BIGTOP-1643. vagrant-puppet to support debian as well


Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/ccc1181a
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/ccc1181a
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/ccc1181a

Branch: refs/heads/master
Commit: ccc1181a038cc69e2c3a2698f36664758dd9f4dc
Parents: 1577d96
Author: Olaf Flebbe <of...@oflebbe.de>
Authored: Sat Jan 31 20:25:30 2015 +0100
Committer: Olaf Flebbe <of...@oflebbe.de>
Committed: Mon Feb 2 19:47:26 2015 +0100

----------------------------------------------------------------------
 bigtop-deploy/vm/utils/setup-env-centos.sh      | 32 +++++++++++++++++++
 bigtop-deploy/vm/utils/setup-env-debian.sh      | 31 ++++++++++++++++++
 bigtop-deploy/vm/utils/setup-env.sh             | 32 -------------------
 bigtop-deploy/vm/utils/smoke-tests.sh           |  6 +++-
 .../vm/vagrant-puppet-docker/Dockerfile         | 33 --------------------
 .../vm/vagrant-puppet-docker/Vagrantfile        |  7 +++--
 .../vm/vagrant-puppet-docker/centos/Dockerfile  | 33 ++++++++++++++++++++
 .../vm/vagrant-puppet-docker/debian/Dockerfile  | 33 ++++++++++++++++++++
 .../vm/vagrant-puppet-docker/docker-hadoop.sh   | 23 +++++++++++---
 .../vm/vagrant-puppet-docker/provision.sh       | 10 ++++--
 .../vm/vagrant-puppet-docker/vagrantconfig.yaml |  1 +
 .../vagrantconfig_debian.yaml                   | 14 +++++++++
 bigtop-deploy/vm/vagrant-puppet-vm/Vagrantfile  |  5 ++-
 .../vm/vagrant-puppet-vm/vagrantconfig.yaml     |  1 +
 14 files changed, 185 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/utils/setup-env-centos.sh
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/utils/setup-env-centos.sh b/bigtop-deploy/vm/utils/setup-env-centos.sh
new file mode 100755
index 0000000..97a1922
--- /dev/null
+++ b/bigtop-deploy/vm/utils/setup-env-centos.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Install puppet agent
+yum -y install http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
+yum -y install puppet
+cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
+
+mkdir -p /data/{1,2}
+
+# Setup rng-tools to improve virtual machine entropy performance.
+# The poor entropy performance will cause kerberos provisioning failed.
+yum -y install rng-tools
+sed -i.bak 's/EXTRAOPTIONS=\"\"/EXTRAOPTIONS=\"-r \/dev\/urandom\"/' /etc/sysconfig/rngd
+service rngd start
+
+echo "Now installing gradle"
+cd /bigtop-home && puppet apply --modulepath=./ -e "include bigtop_toolchain::gradle" # alias gradle=/usr/local/gradle/bin/gradle

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/utils/setup-env-debian.sh
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/utils/setup-env-debian.sh b/bigtop-deploy/vm/utils/setup-env-debian.sh
new file mode 100755
index 0000000..1f0d197
--- /dev/null
+++ b/bigtop-deploy/vm/utils/setup-env-debian.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apt-get update
+# Install puppet agent
+apt-get -y install puppet puppet-module-puppetlabs-stdlib curl
+
+mkdir -p /data/{1,2}
+
+# Setup rng-tools to improve virtual machine entropy performance.
+# The poor entropy performance will cause kerberos provisioning failed.
+apt-get -y install rng-tools
+sed -i.bak 's@#HRNGDEVICE=/dev/null@HRNGDEVICE=/dev/urandom@' /etc/default/rng-tools
+service rng-tools start
+
+echo "Now installing gradle"
+cd /bigtop-home && puppet apply --modulepath=./ -e "include bigtop_toolchain::gradle" # alias gradle=/usr/local/gradle/bin/gradle

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/utils/setup-env.sh
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/utils/setup-env.sh b/bigtop-deploy/vm/utils/setup-env.sh
deleted file mode 100755
index 97a1922..0000000
--- a/bigtop-deploy/vm/utils/setup-env.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Install puppet agent
-yum -y install http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
-yum -y install puppet
-cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
-
-mkdir -p /data/{1,2}
-
-# Setup rng-tools to improve virtual machine entropy performance.
-# The poor entropy performance will cause kerberos provisioning failed.
-yum -y install rng-tools
-sed -i.bak 's/EXTRAOPTIONS=\"\"/EXTRAOPTIONS=\"-r \/dev\/urandom\"/' /etc/sysconfig/rngd
-service rngd start
-
-echo "Now installing gradle"
-cd /bigtop-home && puppet apply --modulepath=./ -e "include bigtop_toolchain::gradle" # alias gradle=/usr/local/gradle/bin/gradle

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/utils/smoke-tests.sh
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/utils/smoke-tests.sh b/bigtop-deploy/vm/utils/smoke-tests.sh
index abc0c09..581e5fb 100755
--- a/bigtop-deploy/vm/utils/smoke-tests.sh
+++ b/bigtop-deploy/vm/utils/smoke-tests.sh
@@ -16,5 +16,9 @@ su -s /bin/bash $HCFS_USER -c '/usr/bin/hadoop fs -mkdir /user/vagrant /user/roo
 su -s /bin/bash $HCFS_USER -c 'hadoop fs -chmod 777 /user/vagrant'
 su -s /bin/bash $HCFS_USER -c 'hadoop fs -chmod 777 /user/root'
 
-yum install -y pig hive flume mahout
+if [ -f /etc/debian_version ] ; then
+    apt-get -y install pig hive flume mahout
+else
+    yum install -y pig hive flume mahout
+fi
 cd /bigtop-home/bigtop-tests/smoke-tests && ./gradlew clean compileGroovy test -Dsmoke.tests=mapreduce,pig --info

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/Dockerfile
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/Dockerfile b/bigtop-deploy/vm/vagrant-puppet-docker/Dockerfile
deleted file mode 100644
index 8e65126..0000000
--- a/bigtop-deploy/vm/vagrant-puppet-docker/Dockerfile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FROM bigtop/seed:centos-6.4
-
-# enable ssh
-RUN yum -y install openssh-server openssh-clients sudo
-RUN sed -i.bak s/UsePAM\ yes/UsePAM\ no/ /etc/ssh/sshd_config
-RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
-RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
-
-# requiretty off
-RUN sed -i.bak 's/requiretty/!requiretty/' /etc/sudoers
-
-# setup vagrant account
-RUN mkdir /root/.ssh/
-RUN chmod 0755 /root/.ssh
-RUN wget http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub --no-check-certificate -O /root/.ssh/authorized_keys
-RUN chmod 0644 /root/.ssh/authorized_keys
-
-CMD /usr/sbin/sshd -D

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/Vagrantfile
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/Vagrantfile b/bigtop-deploy/vm/vagrant-puppet-docker/Vagrantfile
index 3ec023b..f800df7 100755
--- a/bigtop-deploy/vm/vagrant-puppet-docker/Vagrantfile
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/Vagrantfile
@@ -20,6 +20,7 @@ require 'fileutils'
 
 # number of instances
 $num_instances = 3
+#$vagrantyamlconf = "vagrantconfig.yaml"
 
 # load configuration from config.rb
 CONFIG = File.join(File.dirname(__FILE__), "config.rb")
@@ -29,7 +30,7 @@ end
 
 require "yaml"
 
-_config = YAML.load(File.open(File.join(File.dirname(__FILE__), "vagrantconfig.yaml"), File::RDONLY).read)
+_config = YAML.load(File.open(File.join(File.dirname(__FILE__), $vagrantyamlconf), File::RDONLY).read)
 CONF = _config
 
 ENV['VAGRANT_DEFAULT_PROVIDER'] ||= 'docker'
@@ -42,10 +43,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   # image definition
   config.vm.define "image", autostart: false do |image|
     image.vm.provider "docker" do |d|
-      d.build_dir = "."
+      d.build_dir = CONF["distro"]
       d.build_args = ["-t",CONF["docker"]["image"]]
       d.vagrant_machine = "boot2docker"
       d.vagrant_vagrantfile = "./boot2docker/Vagrantfile"
+      d.has_ssh = true
     end
     image.ssh.username = "root"
     image.ssh.port = 22
@@ -63,6 +65,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
         end
         d.vagrant_machine = "boot2docker"
         d.vagrant_vagrantfile = "./boot2docker/Vagrantfile"
+        d.has_ssh = true
       end
       bigtop.ssh.username = "root"
       bigtop.ssh.port = 22

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/centos/Dockerfile
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/centos/Dockerfile b/bigtop-deploy/vm/vagrant-puppet-docker/centos/Dockerfile
new file mode 100644
index 0000000..d5d1f09
--- /dev/null
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/centos/Dockerfile
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM bigtop/seed:centos-6.4
+
+# enable ssh
+RUN yum -y install openssh-server openssh-clients sudo
+RUN sed -i.bak s/UsePAM\ yes/UsePAM\ no/ /etc/ssh/sshd_config
+RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
+RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
+
+# requiretty off
+RUN sed -i.bak 's/requiretty/!requiretty/' /etc/sudoers
+
+# setup vagrant account
+RUN mkdir /root/.ssh/
+RUN chmod 0750 /root/.ssh
+RUN wget http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub --no-check-certificate -O /root/.ssh/authorized_keys
+RUN chmod 0640 /root/.ssh/authorized_keys
+
+CMD /usr/sbin/sshd -D

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/debian/Dockerfile
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/debian/Dockerfile b/bigtop-deploy/vm/vagrant-puppet-docker/debian/Dockerfile
new file mode 100644
index 0000000..2e089c3
--- /dev/null
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/debian/Dockerfile
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM debian:jessie
+
+# enable ssh
+
+RUN apt-get update
+RUN apt-get install -y openssh-server sudo wget
+
+# requiretty off
+RUN sed -i.bak 's/requiretty/!requiretty/' /etc/sudoers
+
+# setup vagrant account
+RUN mkdir -p /root/.ssh
+RUN chmod 0750 /root/.ssh
+RUN wget http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub --no-check-certificate -O /root/.ssh/authorized_keys
+RUN chmod 0640 /root/.ssh/authorized_keys
+
+RUN mkdir -p /var/run/sshd
+CMD /usr/sbin/sshd -D

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/docker-hadoop.sh
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/docker-hadoop.sh b/bigtop-deploy/vm/vagrant-puppet-docker/docker-hadoop.sh
index 4b504b3..3b44c4f 100755
--- a/bigtop-deploy/vm/vagrant-puppet-docker/docker-hadoop.sh
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/docker-hadoop.sh
@@ -1,7 +1,9 @@
 #!/bin/bash
 
 usage() {
-    echo "usage: $PROG [options]"
+    echo "usage: $PROG [-C file ] args"
+    echo "       -C file                                   Use alternate file for vagrantconfig.yaml"
+    echo "  commands:"
     echo "       -b, --build-image                         Build base Docker image for Bigtop Hadoop"
     echo "                                                 (must be exectued at least once before creating cluster)"
     echo "       -c NUM_INSTANCES, --create=NUM_INSTANCES  Create a Docker based Bigtop Hadoop cluster"
@@ -13,6 +15,7 @@ usage() {
 }
 
 build-image() {
+    echo "\$vagrantyamlconf = \"$vagrantyamlconf\"" > config.rb
     vagrant up image --provider docker
     {
         echo "echo -e '\nBUILD IMAGE SUCCESS.\n'" |vagrant ssh image
@@ -24,17 +27,19 @@ build-image() {
 
 create() {
     echo "\$num_instances = $1" > config.rb
+    echo "\$vagrantyamlconf = \"$vagrantyamlconf\"" >> config.rb
     vagrant up --no-parallel
     nodes=(`vagrant status |grep running |grep -v image |awk '{print $1}'`)
     hadoop_head_node=(`echo "hostname -f" |vagrant ssh ${nodes[0]} |tail -n 1`)
     repo=$(get-yaml-config repo)
     components=$(get-yaml-config components)
-    echo "/bigtop-home/bigtop-deploy/vm/utils/setup-env.sh" |vagrant ssh ${nodes[0]}
+    distro=$(get-yaml-config distro)
+    echo "/bigtop-home/bigtop-deploy/vm/utils/setup-env-$distro.sh" |vagrant ssh ${nodes[0]}
     echo "/vagrant/provision.sh $hadoop_head_node $repo $components" |vagrant ssh ${nodes[0]}
     bigtop-puppet ${nodes[0]}
     for ((i=1 ; i<${#nodes[*]} ; i++)); do
         (
-        echo "/bigtop-home/bigtop-deploy/vm/utils/setup-env.sh" |vagrant ssh ${nodes[$i]}
+        echo "/bigtop-home/bigtop-deploy/vm/utils/setup-env-$distro.sh" |vagrant ssh ${nodes[$i]}
         echo "/vagrant/provision.sh $hadoop_head_node $repo $components" |vagrant ssh ${nodes[$i]}
         bigtop-puppet ${nodes[$i]}
         ) &
@@ -66,7 +71,7 @@ destroy() {
 }
 
 bigtop-puppet() {
-    echo "puppet apply -d --confdir=/vagrant --modulepath=/bigtop-home/bigtop-deploy/puppet/modules:/etc/puppet/modules /bigtop-home/bigtop-deploy/puppet/manifests/site.pp" |vagrant ssh $1
+    echo "puppet apply -d --confdir=/vagrant --modulepath=/bigtop-home/bigtop-deploy/puppet/modules:/etc/puppet/modules:/usr/share/puppet/modules /bigtop-home/bigtop-deploy/puppet/manifests/site.pp" |vagrant ssh $1
 }
 
 get-yaml-config() {
@@ -77,7 +82,7 @@ get-yaml-config() {
         RUBY_EXE=$(dirname $(which vagrant))/../embedded/bin/ruby
     fi
     RUBY_SCRIPT="data = YAML::load(STDIN.read); puts data['$1'];"
-    cat vagrantconfig.yaml | $RUBY_EXE -ryaml -e "$RUBY_SCRIPT" | tr -d '\r'
+    cat ${vagrantyamlconf} | $RUBY_EXE -ryaml -e "$RUBY_SCRIPT" | tr -d '\r'
 }
 
 PROG=`basename $0`
@@ -86,6 +91,7 @@ if [ $# -eq 0 ]; then
     usage
 fi
 
+vagrantyamlconf="vagrantconfig.yaml"
 while [ $# -gt 0 ]; do
     case "$1" in
     -b|--build-image)
@@ -98,6 +104,13 @@ while [ $# -gt 0 ]; do
         fi
         create $2
         shift 2;;
+    -C|--conf)
+        if [ $# -lt 2 ]; then
+          echo "Alternative config file for vagrantconfig.yaml" 1>&2
+          usage
+        fi
+	vagrantyamlconf=$2
+        shift 2;;
     -p|--provision)
         provision
         shift;;

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/provision.sh
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/provision.sh b/bigtop-deploy/vm/vagrant-puppet-docker/provision.sh
index da087c6..8d1fa90 100755
--- a/bigtop-deploy/vm/vagrant-puppet-docker/provision.sh
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/provision.sh
@@ -24,13 +24,19 @@ mv /etc/hosts /etc/hosts.bak
 ln -s /vagrant/hosts /etc/hosts
 
 # Prepare puppet configuration file
-cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
+if [ -f /etc/debian_version ] ; then
+    apt-get -y install puppet-module-puppetlabs-stdlib
+    jdk="openjdk-7-jdk"
+else
+    cd /etc/puppet/modules && puppet module install puppetlabs/stdlib
+    jdk="java-1.7.0-openjdk-devel.x86_64"
+fi
 
 mkdir /vagrant/config
 cat > /vagrant/config/site.csv << EOF
 hadoop_head_node,$1
 hadoop_storage_dirs,/data/1,/data/2
 bigtop_yumrepo_uri,$2
-jdk_package_name,java-1.7.0-openjdk-devel.x86_64
+jdk_package_name,$jdk
 components,$3
 EOF

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig.yaml
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig.yaml b/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig.yaml
index 6a53d02..bb540e2 100644
--- a/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig.yaml
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig.yaml
@@ -7,6 +7,7 @@ boot2docker:
         number_cpus: "2"
 
 repo: "http://bigtop01.cloudera.org:8080/view/Releases/job/Bigtop-0.8.0/label=centos6/6/artifact/output/"
+distro: centos
 components: "hadoop,yarn"
 namenode_ui_port: "50070"
 yarn_ui_port: "8088"

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig_debian.yaml
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig_debian.yaml b/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig_debian.yaml
new file mode 100644
index 0000000..bd22455
--- /dev/null
+++ b/bigtop-deploy/vm/vagrant-puppet-docker/vagrantconfig_debian.yaml
@@ -0,0 +1,14 @@
+docker:
+        memory_size: "2048"
+        image:  "debian:jessie"
+
+boot2docker:
+        memory_size: "4196"
+        number_cpus: "2"
+
+repo: "http://to.do/notyet"
+distro: debian
+components: "hadoop,yarn"
+namenode_ui_port: "50070"
+yarn_ui_port: "8088"
+hbase_ui_port: "60010"

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-vm/Vagrantfile
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-vm/Vagrantfile b/bigtop-deploy/vm/vagrant-puppet-vm/Vagrantfile
index 2f31055..2f49b4c 100755
--- a/bigtop-deploy/vm/vagrant-puppet-vm/Vagrantfile
+++ b/bigtop-deploy/vm/vagrant-puppet-vm/Vagrantfile
@@ -26,6 +26,9 @@ CONF = _config
 repo = CONF['repo']
 # repo = "http://bigtop.s3.amazonaws.com/releases/0.7.0/redhat/6/x86_64"
 
+# Which Linux Distribution to use. Right now only centos is tested
+distro = CONF['distro']
+
 # number of instances
 num_instances = CONF['num_instances']
 
@@ -96,7 +99,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
       end
 
       # carry on w/ installation
-      bigtop.vm.provision "shell", path: "../utils/setup-env.sh"
+      bigtop.vm.provision "shell", path: "../utils/setup-env-" + distro + ".sh"
       bigtop.vm.provision "shell", inline: $script
       bigtop.vm.provision :hostmanager
 

http://git-wip-us.apache.org/repos/asf/bigtop/blob/ccc1181a/bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml
----------------------------------------------------------------------
diff --git a/bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml b/bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml
index 7f79acc..baa4cb4 100644
--- a/bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml
+++ b/bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml
@@ -6,3 +6,4 @@ num_instances: 1
 components: "hadoop,yarn"
 enable_local_yum: false
 run_smoke_tests: false
+distro: centos