BeginningNext

Faban Harness Configuration Overview

One of the central design philosophies of Faban is drop and play. Means no configuration or administration required. All you need is already explained in Installation and Getting Started. Unless you need some of the more advanced - and, actually, rarely used - features of Faban, you can skip this guide. The Faban Harness Configuration Guide will explain the Faban package, configuration files, and independent features that need enabling by configuring the Faban harness.

Structure of the Faban Package

faban
analysis
ant
benchmarks
bin
config
profiles
runq
Linux
cmdmap.xml
toolsets.xml
SunOS
cmdmap.xml
toolsets.xml
Windows
cmdmap.xml
toolsets.xml
faban.policy
harness.xml
logging.properties
sequence
legal
lib
logs
master
bin
common
conf
logs
server
shared
temp
webapps
balancer
faban
fenxi
ROOT
faban.war
fenxi.war
work
LICENSE
NOTICE
RELEASE-NOTES
RUNNING.txt
output
samples
build.properties
build.xml
javadocs.zip
README
release
src.zip

Lets go through the more relevant files and top level directories first (not in any order). The config directory contains Faban configuration files and benchmark configuration files. Files in this directory are the files we work with to configure the Faban harness for different functionality. The benchmarks directory is where benchmarks get deployed. The bin directory, by convention, contains all binaries and scripts, and the lib directory contains the libraries including the jar files. The logs , and the master/logs directory is where Faban writes the log files. This is the place you'll want to look for troubleshooting Faban. The master directory contains the Faban master. This is the Apache Tomcat web server that allows you to access Faban via the web interface. Faban agent installations may not have the master directory, depending on how they were installed. The output directory contains the output of Faban benchmark runs, and the analysis directory has the analysis output from comparing and analyzing run data. Analyses are accessible through the result list page.

The Faban Harness Configuration File

The Faban harness configuration file is located at config/harness.xml. It is the central configuration file for the Faban harness. The included default configuration file is sufficient for most cases. You want to change this file only to enable some of the rarely used features. Below is the content of the default configuration file:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Note: Some parameters have not yet been implemented -->
<FabanHarness>
    <security enabled="false">
        <loginPrompt>User ID</loginPrompt>
        <loginHint>Enter your user id</loginHint>
        <passwordPrompt>Password</passwordPrompt>
        <passwordHint>Enter your password</passwordHint>
        <loginModule>
            <class>com.sun.security.auth.module.UnixLoginModule</class>
            <property>
                <name>debug</name>
                <value>true</value>
            </property>
        </loginModule>
        <!-- Note: The LdapLoginModule is in JDK6 >
        <loginModule><class>com.sun.security.auth.module.LdapLoginModule</class>
            <property>
                <name>userProvider</name>
                <value>ldap://ds1/ou=people,dc=sun,dc=com</value>
            </property>
            <property>
                <name>userFilter</name>
                <value>(&amp;(uid={USERNAME})(objectClass=inetOrgPerson))</value>
            </property>
            <property>
                <name>debug</name>
                <value>true</value>
            </property>
            <property>
                <name>authzIdentity</name>
                <value>monitorRole</value>
            </property>
            <property>
                <name>useSSL</name>
                <value>true</value>
            </property>
        </loginModule-->
        <managePrincipals>
            <!--name>akara</name-->
        </managePrincipals>
        <deployUser>deployer</deployUser>
        <deployPassword>adminadmin</deployPassword>
        <cliSubmitter>CLI</cliSubmitter>
        <submitPassword>canSubmit</submitPassword>
    </security>
    <runDaemon mode="poller">     <!-- poller/pollee/local/disbled -->
        <host enabled="false">     
            <name>master1</name>
            <url>http://master1:9980</url>
            <key>ABCDEFGHIJKLMNOP</key>
            <proxyHost></proxyHost>
            <proxyPort></proxyPort>
        </host>
        <host enabled="false">
            <name>master2</name>
            <url>http://master2:9980</url>
            <key>QRSTUVWXYZABCDEF</key>
            <proxyHost></proxyHost>
            <proxyPort></proxyPort>
        </host>
    </runDaemon>
    <repository>
        <server enabled="false">http://faban.sfbay.sun.com:9980</server>
        <server enabled="false">http://faban.sunsource.net:9980</server>
    </repository>
    <logServer>  <!-- Don't touch this unless you really know what you're doing -->
        <port>9999</port>
        <listenerThreads>1</listenerThreads>
        <listenQueueSize>-1</listenQueueSize> <!-- system default -->
        <serviceThreads>
            <core>2</core>
            <max>10</max>
            <timeOut>300</timeOut>
        </serviceThreads>
        <bufferSize>2048</bufferSize>
    </logServer>
    <logView>
        <bufferSize></bufferSize>
    </logView>
    <rmiPort>9998</rmiPort>
</FabanHarness>

The Faban harness configuration file consists of the following sections:

  1. Security configuration - security is turned off by default. Security features and configuration will be discussed in a later section.
  2. Proxy configuration - proxy is also turned off by default. We will discuss the proxy architecture, its benefits, and how to configure it in a later section.
  3. Result repository - this feature is not yet supported.
  4. Log server configuration - usually, the default log server configuration works in pretty much all cases and has never shown itself to be a bottleneck. Unless you are running a very large rig close in the order of magnitude of 100 systems, the log server section needs no modification.
  5. By default logView/bufferSize is not set any value here. But it will take the default as 20. If this set to  -1, display will have all the logs on a single page without page up/down. You can also set any other value according to your need, say,50. Then the display will have 50 logs per page with page up/down bar.
  6. By default repository/server is disabled. In order to use the upload functionality, set enabled=true and specify the repository url.

BeginningNext