Step 1: Move vm scripts to the right place
[integration/test.git] / tools / odl-openstack-integration / puppet / scripts / bootstrap.sh
1 #!/usr/bin/env bash
2 #
3 # This bootstraps Puppet on Ubuntu 12.04 LTS.
4 #
5 set -e
6
7 # Load up the release information
8 . /etc/lsb-release
9
10 REPO_DEB_URL="http://apt.puppetlabs.com/puppetlabs-release-${DISTRIB_CODENAME}.deb"
11
12 #--------------------------------------------------------------------
13 # NO TUNABLES BELOW THIS POINT
14 #--------------------------------------------------------------------
15 if [ "$(id -u)" != "0" ]; then
16       echo "This script must be run as root." >&2
17         exit 1
18     fi
19
20     if which puppet > /dev/null 2>&1; then
21           echo "Puppet is already installed."
22             exit 0
23     fi
24
25     # Do the initial apt-get update
26     echo "Initial apt-get update..."
27     apt-get update >/dev/null
28
29     # Install wget if we have to (some older Ubuntu versions)
30     echo "Installing wget..."
31     apt-get install -y wget >/dev/null
32
33     # Install the PuppetLabs repo
34     echo "Configuring PuppetLabs repo..."
35     repo_deb_path=$(mktemp)
36     wget --output-document="${repo_deb_path}" "${REPO_DEB_URL}" 2>/dev/null
37     dpkg -i "${repo_deb_path}" >/dev/null
38     apt-get update >/dev/null
39
40     # Install Puppet
41     echo "Installing Puppet..."
42     apt-get install -y puppet >/dev/null
43
44     echo "Puppet installed!"
45
46     # Install RubyGems for the provider
47     echo "Installing RubyGems..."
48     apt-get install -y rubygems >/dev/null
49     gem install --no-ri --no-rdoc rubygems-update
50     update_rubygems >/dev/null
51
52     # Installing Puppet Modules
53     puppet module install puppetlabs/vcsrepo
54     puppet module install puppetlabs/stdlib
55
56