Package Install Testing

Version 25 (Mark Donohoe, 01/07/2012 02:25 am)

1 1 Mark Donohoe
h1. Package Install Testing
2 1 Mark Donohoe
3 24 Mark Donohoe
Package install testing will use virtual machines along with vm templates and snapshots to accomplish the testing in a quick an timely manner.  Snapshots will allow the restore of the system to it's pre-installed state.  This will enable quick turnaround for testing.
4 24 Mark Donohoe
5 1 Mark Donohoe
Below is the list of VM systems that will be used to test 2.0 package testing:
6 1 Mark Donohoe
7 9 Mark Donohoe
# fed15-32
8 9 Mark Donohoe
# fed15-64
9 2 Mark Donohoe
# u10-043-32
10 2 Mark Donohoe
# u10-043-64
11 1 Mark Donohoe
# rhel6-132
12 24 Mark Donohoe
# rhel6-164
13 1 Mark Donohoe
# u1104-32
14 1 Mark Donohoe
# u1104-64
15 18 Mark Donohoe
# ubun111032
16 1 Mark Donohoe
# ubun111064
17 1 Mark Donohoe
# squeze64
18 10 Mark Donohoe
19 24 Mark Donohoe
h2. VM Creation
20 1 Mark Donohoe
21 24 Mark Donohoe
# Use the vm client software to create each vm.  For each vm, load the following additional software:
22 1 Mark Donohoe
23 24 Mark Donohoe
* Jenkins
24 24 Mark Donohoe
* php (including posix features)
25 24 Mark Donohoe
* java2-runtime (sun version)
26 24 Mark Donohoe
* others per distro (see below)
27 24 Mark Donohoe
28 24 Mark Donohoe
# After each vm is installed, it is converted into a template so that recovery is faster. 
29 24 Mark Donohoe
30 24 Mark Donohoe
# Convert the template into a VM, see the page [[Converting a VM template to an Install VM]].
31 24 Mark Donohoe
32 24 Mark Donohoe
# After the vm is working and on the network, take a snapshot of it using the vm client software.
33 24 Mark Donohoe
34 4 Mark Donohoe
After the template is saved, convert the template to a new vm, follow the steps below, then power off the vm.  Take a snapshot of the new, powered off vm, for example, the rhel6-132.ostt vm was snapshotted as fhel6.1-32, with description of "rhel6-132.ostt ready for install test".  In the description always use the real full name.
35 4 Mark Donohoe
36 6 Mark Donohoe
h2. Setting up a slave node in Jenkins
37 4 Mark Donohoe
38 4 Mark Donohoe
h3. Debian
39 4 Mark Donohoe
* install java2-runtime (sun version)
40 5 Mark Donohoe
* install deamon
41 5 Mark Donohoe
* download and install jenkins 
42 1 Mark Donohoe
<pre>
43 5 Mark Donohoe
sudo apt-get install openjdk-6-jre openjdk-6-jre-headless daemon 
44 6 Mark Donohoe
</pre>
45 15 Mark Donohoe
46 24 Mark Donohoe
Stop Jenkins and reset jenkins user password to _jenkins_.
47 14 Mark Donohoe
need to set up ssh authorized key from fonightly.
48 20 Mark Donohoe
49 11 Mark Donohoe
h3. RedHat/Fedora/CentOS based systems
50 1 Mark Donohoe
51 1 Mark Donohoe
* download jenkins and get the rpm version we want:
52 1 Mark Donohoe
<pre>wget  http://mirrors.jenkins-ci.org/redhat-stable-rc/jenkins-1.424.2.SNAPSHOT-1.1.noarch.rpm</pre>
53 1 Mark Donohoe
54 1 Mark Donohoe
* install it: <pre>rpm -ivh jenkins-1.424.2.SNAPSHOT-1.1.noarch.rpm</pre>
55 1 Mark Donohoe
* change jenkins to have a login: vipw /etc/passwd, change /bin/false to /bin/bash
56 1 Mark Donohoe
* change jenkins user password to 'jenkins'.
57 1 Mark Donohoe
* put jekins in sudo file (/etc/sudoers) <pre>jenkins ALL=NOPASSWD: ALL</pre>
58 1 Mark Donohoe
* remove jenkins.repo in /etc/yum.repos.d/, if this is not done, the yum update will fail because we don't have the repo key.  Plus we don't want the latest and greatest jenkins.
59 1 Mark Donohoe
* For redhat systems, go to the linux coe page and create a retrofit program and run it on the system to enable the repos needed.
60 24 Mark Donohoe
* set a proxy for yum in yum.conf:<pre>proxy=http://lart.usa.hp.com:3128</pre>
61 24 Mark Donohoe
* if not in any repos configured, get the php-process from centos:
62 24 Mark Donohoe
32 bit: http://mirror.centos.org/centos/6/os/i386/Packages/php-process-5.3.3-3.el6_1.3.i686.rpm
63 24 Mark Donohoe
64 bit: http://mirror.centos.org/centos/6/os/x86_64/Packages/php-process-5.3.3-3.el6_1.3.x86_64.rpm
64 24 Mark Donohoe
 This is needed as it has posix routines we need for php. This may complain about not having a RSA/SHA1 signature key.
65 24 Mark Donohoe
* for 1.4.1 p7zip-plugins was also needed. 
66 24 Mark Donohoe
32 bit: ftp://rpmfind.net/linux/fedora/linux/development/rawhide/i386/os/Packages/p7zip-plugins-9.20.1-2.fc16.i686.rpm
67 24 Mark Donohoe
64 bit: ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/6/x86_64/p7zip-plugins-9.20.1-2.el6.x86_64.rpm
68 14 Mark Donohoe
* install php: yum install php
69 24 Mark Donohoe
* install posix support for php: <pre>yum install php-process or rpm -ivh correct-rpm file for system</pre>
70 1 Mark Donohoe
71 16 Mark Donohoe
72 1 Mark Donohoe
* On Fedora, postgresql, posgresql-server both must be installed, then as root or postgres <pre>service postgresql initdb</pre> If this is not done, postgres will not start or stop.
73 16 Mark Donohoe
74 8 Mark Donohoe
  * If you can't talk to apache or postgres over the network: Add this to /etc/sysconfig/iptables: <pre>-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
75 8 Mark Donohoe
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
76 8 Mark Donohoe
-A INPUT -p tcp --dport 5432 -j ACCEPT</pre>
77 8 Mark Donohoe
78 7 Mark Donohoe
The above will enable apache and postgres
79 7 Mark Donohoe
80 1 Mark Donohoe
now as jenkins sudo <pre>/etc/init.d/postgresql start</pre> works.