blob: 4d53de3dfadbfba8bc703074318f7cc36ab48d54 [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
Anaƫl Closson5a40fe42017-03-14 17:05:37 +010051
52 # Add graphviz for documentation building
53 apt-get install -y graphviz
54
Andrew Grimbergebc710a2017-01-30 12:59:38 -080055}
56
57all_systems() {
58 echo 'No common distribution configuration to perform'
59}
60
61echo "---> Detecting OS"
62ORIGIN=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
63
64case "${ORIGIN}" in
65 fedora|centos|redhat)
66 echo "---> RH type system detected"
67 rh_systems
68 ;;
69 ubuntu)
70 echo "---> Ubuntu system detected"
71 ubuntu_systems
72 ;;
73 *)
74 echo "---> Unknown operating system"
75 ;;
76esac
77
78# execute steps for all systems
79all_systems