Fixing files in resources that are for debugging help.
[ovsdb.git] / resources / 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 REPO_DEB_URL="http://apt.puppetlabs.com/puppetlabs-release-stable.deb"
12
13 #--------------------------------------------------------------------
14 # NO TUNABLES BELOW THIS POINT
15 #--------------------------------------------------------------------
16 if [ "$(id -u)" != "0" ]; then
17   echo "This script must be run as root." >&2
18   exit 1
19 fi
20
21 if which puppet > /dev/null 2>&1 -a apt-cache policy | grep --quiet apt.puppetlabs.com; then
22   echo "Puppet is already installed."
23   exit 0
24 fi
25
26 # Do the initial apt-get update
27 echo "Initial apt-get update..."
28 apt-get update >/dev/null
29
30 # Install wget if we have to (some older Ubuntu versions)
31 echo "Installing wget..."
32 apt-get install -y wget >/dev/null
33
34 # Install the PuppetLabs repo
35 echo "Configuring PuppetLabs repo..."
36 repo_deb_path=$(mktemp)
37 wget --output-document="${repo_deb_path}" "${REPO_DEB_URL}" 2>/dev/null
38 dpkg -i "${repo_deb_path}" >/dev/null
39 apt-get update >/dev/null
40
41 # Install Puppet
42 echo "Installing Puppet..."
43 DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install puppet >/dev/null
44
45 echo "Puppet installed!"
46
47 # Install RubyGems for the provider
48 echo "Installing RubyGems..."
49 if [ $DISTRIB_CODENAME != "trusty" ]; then
50   apt-get install -y rubygems >/dev/null
51 fi
52 gem install --no-ri --no-rdoc rubygems-update
53 update_rubygems >/dev/null
54
55 # Installing Puppet Modules
56 puppet module install puppetlabs/vcsrepo
57 puppet module install puppetlabs/stdlib