General Server Configuration

This section outlines the basic configuration of a MonkeyFarm environment. It is by no means a complete inspection of every aspect of MonkeyFarm, but is intended to provide the knowledge for a base install to get you up and running as soon as possible.

MonkeyFarm can run all on one system, or across a number of dedicated system. We will break this up with the following system designators:

  • Data
  • Hub
  • Regulator
  • Worker

Again, these can all be the same system however we are going to explain the setup for each as if they were separate systems. Additionally it should be noted that there can be any number of ‘worker’ systems, however in general all other services should be a single instance. Obviously there are many ways to scale applications such as running multiple hub instances behind a load balancer, however that is outside the scope of this section.

With regard to shared directories, all systems must access the same ‘data’ and ‘work’ directories where applicable. If installing all on one system this is as simple as point each services configuration to the same path. Here we will be setting up an NFS share which all systems should point to.

This outline is performed on a Fedora 14 minimal install system, and assumes root access. Note that commands start with a ‘$’ rather than a ‘#’ simply to avoid confusion with comments in the source of this document.

Finally, it is necessary that the ‘monkeyfarm’ user be the same UID/GUID on every system. For that reason we will use the UID/GUID of 501 here, however that id will most likely be different in your environment.

Data Server Configuration

The ‘data’ server will be hosting database services as well as the NFS share that the regulator, hub, and worker systems will access.

$ groupadd -g 501 monkeyfarm

$ useradd monkeyfarm -u 501 -g monkeyfarm

$ yum install mysql-server nfs-utils

$ chkconfig mysqld on

$ chkconfig rpcbind on

$ chkconfig rpcidmapd on

$ chkconfig nfs on

$ /etc/init.d/mysqld start

$ /etc/init.d/rpcbind start

$ /etc/init.d/rpcidmapd start

$ /etc/init.d/nfs on

We now want to create the directory that will be shared, and share it via NFS:

$ mkdir -p /exports/monkeyfarm

$ chown monkeyfarm:monkeyfarm /exports/monkeyfarm

Add something similar to the following in /etc/exports:

/exports/monkeyfarm        w.x.y.z(rw,sync,no_root_squash)

Where ‘w.x.y.z’ is the IP address or hostname, or networks, etc for the system(s) which requires access. There are many ways to configure NFS, however the primary thing to note is that all systems in the environment require read/write permissions on the share. After saving the file run the following:

$ exportfs -a

You should now see the share listed:

$ showmount -e localhost

Hub Server Configuration

Regulator Server Configuration

$ groupadd -g 501 monkeyfarm

$ useradd monkeyfarm -u 501 -g monkeyfarm

$ yum install nfs-utils monkeyfarm-regulator

$ mkdir /mnt/data/

Add something similar to the following to /etc/fstab:

Worker Build Server Configuration

FIX ME

Project Versions

Table Of Contents

Previous topic

Installation

Next topic

Initial Application Setup

This Page