blob: 3622c7265a00236c614b426301f36078bb7e8299 (
plain)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
Setting up Jenkins slaves on Rackspace for GlusterFS regression testing
=======================================================================
This is for RHEL/CentOS 6.x. The below commands should be run as root.
### Install additional required packages
yum -y install cmockery2-devel dbench libacl-devel mock nfs-utils yajl perl-Test-Harness salt-minion
### Enable yum-cron for automatic rpm updates
chkconfig yum-cron on
### Add the mock user
useradd -g mock mock
### Disable eth1
Because GlusterFS can fail if more than 1 ethernet interface
sed -i 's/ONBOOT=yes/ONBOOT=no/' /etc/sysconfig/network-scripts/ifcfg-eth1
### Disable IPv6
As per <https://access.redhat.com/site/node/8709>
sed -i 's/IPV6INIT=yes/IPV6INIT=no/' /etc/sysconfig/network-scripts/ifcfg-eth0
echo 'options ipv6 disable=1' > /etc/modprobe.d/ipv6.conf
chkconfig ip6tables off
sed -i 's/NETWORKING_IPV6=yes/NETWORKING_IPV6=no/' /etc/sysconfig/network
echo ' ' >> /etc/sysctl.conf
echo '# ipv6 support in the kernel, set to 0 by default' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf
sed -i 's/v inet6/- inet6/' /etc/netconfig
### Update hostname
vi /etc/sysconfig/network
vi /etc/hosts
### Remove IPv6 and eth1 interface from /etc/hosts
sed -i 's/^10\./#10\./' /etc/hosts
sed -i 's/^2001/#2001/' /etc/hosts
### Install ntp
yum -y install ntp
chkconfig ntpdate on
service ntpdate start
### Install OpenJDK, needed for Jenkins slaves
yum -y install java-1.7.0-openjdk
### Create the Jenkins user
useradd -G wheel jenkins
chmod 755 /home/jenkins
### Set the Jenkins password
passwd jenkins
### Copy the Jenkins SSH key from build.gluster.org
mkdir /home/jenkins/.ssh
chmod 700 /home/jenkins/.ssh
cp `<somewhere>` /home/jenkins/.ssh/id_rsa
chown -R jenkins:jenkins /home/jenkins/.ssh
chmod 600 /home/jenkins/.ssh/id_rsa
### Generate the SSH known hosts file for jenkins user
su - jenkins
mkdir ~/foo
cd ~/foo
git clone `[`ssh://build@review.gluster.org/glusterfs.git`](ssh://build@review.gluster.org/glusterfs.git)
(this will ask if the new host fingerprint should be added. Choose yes)
cd ..
rm -rf ~/foo
exit
### Install git from RPMForge
yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum -y --enablerepo=rpmforge-extras update git
### Install the GlusterFS patch acceptance tests
git clone git://forge.gluster.org/gluster-patch-acceptance-tests/gluster-patch-acceptance-tests.git /opt/qa
### Add the loopback mount point to /etc/fstab
For the 1GB Rackspace VM's use this:
echo '/backingstore /d xfs loop 0 2' >> /etc/fstab
mount /d
For the 2GB and above Rackspace VM's use this:
echo '/dev/xvde /d xfs defaults 0 2' >> /etc/fstab
mount /d
### Create the directories needed for the regression testing
JDIRS="/var/log/glusterfs /var/lib/glusterd /var/run/gluster /d /d/archived_builds /d/backends /d/build /d/logs /home/jenkins/root"
mkdir -p $JDIRS
chown jenkins:jenkins $JDIRS
chmod 755 $JDIRS
ln -s /d/build /build
### Create the directories where regression logs are archived
ADIRS="/archives/archived_builds /archives/logs"
mkdir -p $ADIRS
chown jenkins:jenkins $ADIRS
chmod 755 $ADIRS
### Install Nginx
For making logs available over http
yum -y install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum -y install nginx
lokkit -s http
### Copy the Nginx config file into place
cp -f /opt/qa/nginx/default.conf /etc/nginx/conf.d/default.conf
### Enable wheel group for sudo
sed -i 's/# %wheel\tALL=(ALL)\tNOPASSWD/%wheel\tALL=(ALL)\tNOPASSWD/' /etc/sudoers
### Reboot (for networking changes to take effect)
reboot
### Add forward and reverse DNS entries for the slave into Rackspace DNS
Rackspace recently added [API calls for its Cloud
DNS](https://developer.rackspace.com/docs/cloud-dns/getting-started/?lang=python)
service, so we should be able to fully automate this part as well now.
|