blob: b377e074185691989b5201aadc059eee39b89746 [file] [log] [blame]
Andrew Grimbergebc710a2017-01-30 12:59:38 -08001#!/bin/bash
2
3# vim: ts=4 sw=4 sts=4 et tw=72 :
4
Andrew Grimberg8ffb2132017-02-07 10:48:06 -08005# force any errors to cause the script and job to end in failure
Andrew Grimberg7fb50b32017-02-07 10:54:58 -08006set -xeu -o pipefail
Andrew Grimberg8ffb2132017-02-07 10:48:06 -08007
Andrew Grimbergebc710a2017-01-30 12:59:38 -08008rh_systems() {
9 # Install python dependencies
10 yum install -y python-{devel,virtualenv,setuptools,pip}
11
12 # Build dependencies for Python packages
13 yum install -y openssl-devel mysql-devel gcc
14
15 # Autorelease support packages
16 yum install -y xmlstarlet
17
18 # Additional libraries for Python ncclient
19 yum install -y libxml2 libxslt libxslt-devel libffi libffi-devel
20
21 # Packer builds happen from the centos flavor images
22 PACKERDIR=$(mktemp -d)
23 # disable double quote checking
24 # shellcheck disable=SC2086
25 cd $PACKERDIR
26 wget https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux_amd64.zip
27 unzip packer_0.12.2_linux_amd64.zip -d /usr/local/bin/
28 # rename packer to avoid conflicts with cracklib
29 mv /usr/local/bin/packer /usr/local/bin/packer.io
30
31 # cleanup from the installation
32 # disable double quote checking
33 # shellcheck disable=SC2086
34 rm -rf $PACKERDIR
35 # cleanup from previous install process
36 if [ -d /tmp/packer ]
37 then
38 rm -rf /tmp/packer
39 fi
40}
41
42ubuntu_systems() {
43 # Install python dependencies
44 apt-get install -y python-{dev,virtualenv,setuptools,pip}
45
46 # Build dependencies for Python packages
47 apt-get install -y libssl-dev libmysqlclient-dev gcc
48
49 # Additional libraries for Python ncclient
50 apt-get install -y wget unzip python-ncclient
51}
52
53all_systems() {
54 echo 'No common distribution configuration to perform'
55}
56
57echo "---> Detecting OS"
58ORIGIN=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
59
60case "${ORIGIN}" in
61 fedora|centos|redhat)
62 echo "---> RH type system detected"
63 rh_systems
64 ;;
65 ubuntu)
66 echo "---> Ubuntu system detected"
67 ubuntu_systems
68 ;;
69 *)
70 echo "---> Unknown operating system"
71 ;;
72esac
73
74# execute steps for all systems
75all_systems