43788d77f2c279f9e25a3321dd7c3023a84b1dcd
[releng/builder.git] / packer / provision / devstack-pre-pip.sh
1 #!/bin/bash
2
3 # force any errors to cause the script and job to end in failure
4 set -xeu -o pipefail
5
6 # add in a test copr repo
7 wget http://copr.fedoraproject.org/coprs/tykeal/odl-updates/repo/epel-7/tykeal-odl-updates-epel-7.repo -O /etc/yum.repos.d/tykeal-odl-updates-epel-7.repo
8 # Install xpath
9 yum install -y perl-XML-XPath python-pip python-six
10
11 # install crudini command line tool for editing config files
12 yum install -y crudini
13
14 echo '---> Installing non-baseline requirements'
15 yum install -y deltarpm nc python{,-{crypto,devel,lxml,setuptools}} \
16     @development {lib{xml2,xslt,ffi},openssl}-devel git wget
17
18 echo '---> Updating net link setup'
19 if [ ! -f /etc/udev/rules.d/80-net-setup-link.rules ]; then
20     ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
21 fi
22
23 echo '---> Pre-installing yum and pip packages'
24 projs="requirements keystone glance cinder neutron nova horizon"
25 # shellcheck disable=SC2154
26 branch=${os_branch}
27 # strip the "stable" off of the branch
28 branch_name=$(cut -d'/' -f2 <<< "${branch}")
29
30 wget https://bootstrap.pypa.io/get-pip.py
31 python get-pip.py
32
33 mkdir tmp
34 cd tmp
35
36 git clone https://github.com/openstack-dev/devstack.git
37 (cd devstack && git checkout "${branch}")
38 sed -e 's/#.*//' devstack/files/rpms/general | xargs yum install -y
39
40 sudo ls -al /usr/lib/py*
41
42 sudo rm -rf /usr/lib/python3/dist-packages/yaml
43 sudo rm -rf /usr/lib/python3/dist-packages/PyYAML-*
44 sudo rm -rf /usr/lib/python3.4/dist-packages/yaml
45 sudo rm -rf /usr/lib/python3.4/dist-packages/PyYAML-*
46
47 sudo rm -rf /usr/lib/python3/site-packages/yaml
48 sudo rm -rf /usr/lib/python3/site-packages/PyYAML-*
49 sudo rm -rf /usr/lib/python3.4/site-packages/yaml
50 sudo rm -rf /usr/lib/python3.4/site-packages/PyYAML-*
51
52 base_url=https://github.com/openstack/
53 for proj in $projs
54 do
55     git clone "${base_url}${proj}"
56     (cd "${proj}" && git checkout "${branch}")
57     pip install -c requirements/upper-constraints.txt -e "${proj}"
58     pip install -c requirements/upper-constraints.txt -r "${proj}/test-requirements.txt"
59 done
60
61 echo '---> Installing openvswitch from relevant openstack branch'
62 yum install -y "centos-release-openstack-${branch_name}"
63
64 yum install -y --nogpgcheck openvswitch
65
66 cd "$OLDPWD"
67 rm -fr tmp
68
69 # vim: sw=4 ts=4 sts=4 et :