« Previous -
Version 31/54
(diff) -
Next » -
Current version
Mark Donohoe, 01/18/2012 12:04 am
Package Install Testing¶
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.
Below is the list of VM systems that will be used to test 2.0 package testing:
- fed15-32.ostt
- fed15-64.ostt
- u10-043-32.ostt
- u10-043-64.ostt
- rhel6-132.ostt
- rhel6-164.ostt
- u1104-32.ostt
- u1104-64.ostt
- ubun111032.ostt
- ubun111064.ostt
- squeze64.ostt
VM Creation¶
- Use the vm client software (vSphere) to create each vm. For each vm, load the following additional software:
- Jenkins
- php (including posix features)
- subversion
- java2-runtime (sun version)
- others per distro (see below)
- After each vm is installed, it is cloned as a template so that full recovery is faster.
- As part of the initial set up, there should already be an existing vm. If needed, convert the template into a VM, see the page Converting a VM template to an Install VM.
- After the vm is working and on the network, take a snapshot (with memory) of it using the vm client software. Take only 1 snapshot. For example, the rhel6-132.ostt vm was snapshoted as rhel6.1-32-snap1, with description of "rhel6-132.ostt ready for install test". In the description always use the real full name.
- After the snapshot is saved (it can take a while), enable it with the snapshot manager. This is an important step. If this step is not done, after an install a 'revert' will not be to be done and the vm will have to be removed and recreated.
todo need a section on snapshots.
Setting up a Jenkins slave node (the vm)¶
Debian¶
- install java2-runtime (sun version)
- install deamon
sudo apt-get install openjdk-6-jre openjdk-6-jre-headless daemon
- download and install Jenkins, use the right bar to select the version, we have used the LTS releases with good results.
- Stop Jenkins and reset jenkins user password to jenkins.
- restart jenkins
sudo /etc/init.d/jenkins start
RedHat/Fedora/CentOS based systems¶
For all rhel systems, a proxy must be set so yum can reach the outside world. Modify /etc/yum.conf.
proxy=http://lart.usa.hp.com:3128
Fedora¶
Fedora is the easiest of the rhel based systems. It contains the material needed above without having to go to other repos (except jenkins).
- add a proxy to yum (see above)
- install material:
yum install php php-process emacs subversion
Fedora, RedHat/Centos systems:¶
- download jenkins and get the rpm version we want:
wget http://mirrors.jenkins-ci.org/redhat-stable-rc/jenkins-1.424.2.SNAPSHOT-1.1.noarch.rpm
- install it:
rpm -ivh jenkins-1.424.2.SNAPSHOT-1.1.noarch.rpm
- change jenkins to have a login: vipw /etc/passwd, change /bin/false to /bin/bash
- change jenkins user password to 'jenkins'.
- put jekins in sudo file (/etc/sudoers)
jenkins ALL=NOPASSWD: ALL
- 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.
- RetroFit RedHat repos
- 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.
- if not in any repos configured, get the php-process from centos:
32 bit: http://mirror.centos.org/centos/6/os/i386/Packages/php-process-5.3.3-3.el6_1.3.i686.rpm
64 bit: http://mirror.centos.org/centos/6/os/x86_64/Packages/php-process-5.3.3-3.el6_1.3.x86_64.rpm
This is needed as it has posix routines we need for php. This may complain about not having a RSA/SHA1 signature key. - for 1.4.1 p7zip-plugins was also needed.
32 bit: ftp://rpmfind.net/linux/fedora/linux/development/rawhide/i386/os/Packages/p7zip-plugins-9.20.1-2.fc16.i686.rpm
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 - install php: yum install php
- install posix support for php:
yum install php-process or rpm -ivh correct-rpm file for system
- If you can't talk to apache or postgres over the network: Add this to /etc/sysconfig/iptables:
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 5432 -j ACCEPT
The above will enable apache and postgres
now as jenkins sudo
/etc/init.d/postgresql startworks.