« Previous -
Version 46/54
(diff) -
Next » -
Current version
Mark Donohoe, 05/02/2012 09:19 pm
Package Install Testing¶
Note: package creation is documented here
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
- u1043-32.ostt
- u1043-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, and php5-xsl)
- subversion, set up subversion servers file for both root and jenkins
- java2-runtime (sun version)
- build-essential
- phpUnit Installing phpUnit
- cunit
- chkconfig (apt-get install chkconfig)
- after the os is installed, make sure to use the vm client software to install the vmtools on the machine (highlight the vm, right click, guest-> install....
(NOTE: doesn't seem to work) - 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-beforeInstall, with description of "Machine and os state before package install".
todo need a section on snapshots.
Setting up a Jenkins slave node (the vm)¶
Debian/Ubuntu¶
- 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.
- put jenkins user in the fossy group (sorta chicken and egg, if fossy group doesn't exist yet).
- restart jenkins
sudo /etc/init.d/jenkins start
- change root passwd to the standard. Ubuntu systems set it so it must be changed.
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.