/
workshop.sh
64 lines (49 loc) · 2.28 KB
/
workshop.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
set -ex
export DEBIAN_FRONTEND=noninteractive
# Install PowerDNS
mysql -e 'CREATE DATABASE `powerdns` CHARACTER SET utf8 COLLATE utf8_general_ci;'
echo "pdns-backend-mysql pdns-backend-mysql/dbconfig-install boolean false" | debconf-set-selections
apt-get --yes install pdns-server pdns-backend-mysql zookeeper
cp /tmp/files/pdns.conf /etc/powerdns/pdns.conf
rm /etc/powerdns/bindbackend.conf /etc/powerdns/pdns.d/*
chmod 755 /etc/powerdns/pdns.d
chmod 644 /etc/powerdns/pdns.conf
# Install Required Packages
apt-get --yes install curl
apt-get build-dep --yes python-lxml
# Clone the designate repos locally
sudo -u vagrant git clone https://github.com/openstack/designate.git /home/vagrant/designate
sudo -u vagrant git clone https://github.com/openstack/python-designateclient.git /home/vagrant/python-designateclient
sudo -u vagrant git clone https://github.com/openstack/designate-dashboard.git /home/vagrant/designate-dashboard
pushd /home/vagrant/designate
git checkout stable/mitaka
popd
pushd /home/vagrant/designate-dashboard
git checkout stable/mitaka
popd
wget -O /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py
sudo python /tmp/get-pip.py
# Pre-Install Designate's Dependancies
pip install -r /home/vagrant/designate/requirements.txt
pip install -r /home/vagrant/python-designateclient/requirements.txt
pip install -r /home/vagrant/designate-dashboard/requirements.txt
# Pre-Install Designate Upstart scripts
pushd /tmp/files
ls *.upstart | while read f; do sudo cp $f $(echo /etc/init/$f | sed "s/.upstart$//g"); done
popd
# Copy over base files for the workshop
cp /tmp/files/designate.conf /home/vagrant/designate.conf.workshop
cp /tmp/files/designate.conf /home/vagrant/designate/etc/designate/designate.conf
cp /tmp/files/install-designate.sh /home/vagrant/install-designate.sh
cp /tmp/files/pools.yaml /home/vagrant/pools.yaml
cp /tmp/files/example.py /home/vagrant/example.py
cp /tmp/files/short_url.py /home/vagrant/short_url.py
cp /tmp/files/client.sh /home/vagrant/client.sh
cp /tmp/files/importdemo.txt /home/vagrant/importdemo.txt
# Make sure everything in vagrant's home is owned by vagrant
chown -R vagrant:vagrant /home/vagrant/*
chown -R vagrant:vagrant /home/vagrant/.cache
chmod 775 /home/vagrant/*.sh
chmod 775 /home/vagrant/example.py
chmod +x /home/vagrant/example.py