Sahara Release 2 Installation Guide

excitingwonderlakeInternet και Εφαρμογές Web

13 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

112 εμφανίσεις



UTS Engineering LabShare

excitingwonderlake_9549c40a
-
8928
-
4bde
-
aea7
-
266d1e63d351.doc


Sahara Release 2


Installation Guide
Prepared
by

Tejaswini Deshpande

Title


Version

0.5

Version date

13 December 2013

Status

Draft


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
2

of
39


Document control sheet

Contact for enquiries and proposed changes

If you have any questions regarding this document or if you have a suggestion for
improvements, pl
ease contact:

Process Owner


Phone



Version history


Version no.

Date

Changed by

Nature of amendment

0.1

18/02/10

Tejaswini
Deshpande

Initial draft

0.2

2
5
/02/10

Tejaswini
Deshpande

Update
s after initial review

0.3

2
6
/03/10

Tejaswini
Deshpande

Updates t
o include review comments
,
installation
and uninstallation
steps

0.4

0
7
/04/2010

Tejaswini
Deshpande

Added installation instructions for Scheduling
Server

0.5

1
9
/04/10

Tejaswini
Deshpande

Added Web Interface installation and usage
instructions, Schedulin
g Server database
population instructions





Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
3

of
39



Contents

1

Introduction

................................
................................
................................
................

5

1.1

Purpose of this document

................................
................................
................................
.........

5

1.2

References

................................
................................
................................
................................

5

1.3

Definitions

................................
................................
................................
...............................

5

2

Product overview

................................
................................
................................
........

6

2.1

Rig Client

................................
................................
................................
................................
.

6

2.2

Rig Client CLI

................................
................................
................................
.........................

6

2.3

Scheduling Server

................................
................................
................................
....................

6

2.4

Web Interface

................................
................................
................................
...........................

7

3

Installation overview

................................
................................
................................
..

8

3.1

Supported operating systems

................................
................................
................................
...

8

3.2

Hardware requirements

................................
................................
................................
............

8

3.3

Software requirements

................................
................................
................................
.............

8

4

Installation

................................
................................
................................
................

10

4.1

Windows XP and Windows 2003

................................
................................
..........................

10

4.2

RHEL4/5, Ubuntu 8.04, SUSE Enterprise Linux 10

................................
.............................

10

5

Post
-
install steps

................................
................................
................................
.......

11

5.1

Rig Client

................................
................................
................................
...............................

11

5.2

Scheduling Server

................................
................................
................................
..................

12

5.3

Web Interface

................................
................................
................................
.........................

12

Configuration

................................
................................
................................
..........................

13

5.4

Rig Client

................................
................................
................................
...............................

13

5.5

Scheduling Server

................................
................................
................................
..................

13

5.6

Web interface

................................
................................
................................
.........................

13

6

Getting starting with Sahara

................................
................................
...................

14

7

Uninstallation

................................
................................
................................
...........

15

7.1

Windows XP and Windows 2003

................................
................................
..........................

15

7.2

RHEL4/5, Ubuntu 8.04, SUSE Linux Enterprise Se
rver 10

................................
..................

15

8

Troubleshooting

................................
................................
................................
.......

16

Appendix A: Rig Client CLI commands

................................
................................
..............

17

Appendix B: Details of Rig Client configuration parameters

................................
............

20

Configuration parameters in
rigclient.properties

................................
................................
.

20

Configu
ration parameters in
batch.properties

................................
................................
...........

31


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
4

of
39


Appendix C: Details of Scheduling Server configuration parameters

..............................

34

Appendix D: Detail
s of Web Interface configuration parameters

................................
.....

37

Appendix E: Scheduling Server database population

................................
........................

38



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
5

of
39


1

Introduction


1.1

Purpose of this document

The purpose of this

document is to
describe
the
i
nstallation
/uninstallation

steps
and
configuration details
for Sahara Release 2
components.
It does not include the
installation instructions for prerequisite

softwares that are not part of Sahara Release 2
deliverable.

1.2

Refer
ences


Document Name

Version

Ref 1.
Rig Client Development Handbook

1.1


1.3

Definitions


Term

Definition

SRL2

Sahara Release 2

CLI

Command line interface

Identity
-
token

Scheduling Server issues
a

token to the rig when the rig is
registered with the Sched
uling Server.


Batch control

Control is done by means if an executable file that contains
instructions on controlling the rig. For this type of control the user
does not have to be present while the session exists.

Master user

The user who initiates the

session and can terminate the session.
Also have complete control of the rig.

Slave active
user

The user who is assigned access to an existing rig session.

An
active slave user has similar access to the rig as the master session
user, but may not termin
ate a session and may not assign slave
users.

Slave passive
user


The user who is assigned access to an existing rig session.

A
passive slave has limited access to the experiment and
implementations should interpret this permission as a read
-
only
user (c
an view the experiment control interface and audio/visual
output, but may not control the rig).



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
6

of
39


2

Product overview


2.1

Rig Client

The Rig Client is a software component that provides a software abstraction of a rig.
It is the intermediary between a componen
t that decides whom may have access to the
rigs (the scheduling server) and its physical hardware (the rig itself) which provides:



Session control
-

the mechanism of allowing externally determined users access to
its rig (a mandatory function). The time b
etween granting access to the master
user and revoking access from a master user is termed a ‘
session’.



Rig monitoring


testing of rig devices to ensure rig integrity (a mandatory
function)



Rig control
-

access to rig devices including control from upload
ed instructions
and/or direct control (an optional function). Direct control is named ‘
primitive’

control because it instructs rig devices in terms of primitive units such as (voltages,
degrees or bit register values)


2.2

Rig Client CLI

The Rig Client CLI is

a software component that provides command line interface to
the Rig Client. It includes commands to perform different actions on the Rig Client
(e.g. allocate users, release users, query
r
ig status, etc.)


2.3

Scheduling Server

The scheduling server is a sof
tware component that assigns and manages access to rigs
(
Rig C
lients). It is the intermediary between a user interface and a desired rig, which
provides:



Time slice assignment


assigning a user to a resource. A resource is defined as a
specific rig, rig
type instance or a rig satisfying a rig capability pattern. The use
cases for these are:

o

A student selecting a rig type to obtain a rig to pe
rform some coursework
objective

o

A student selecting a “superset” of two rig type collections defined by a rig
capa
bility pattern to perform some coursework objective. For example to select
a resource with a ‘
RSLogix’

capability (which may be a PLC device or a
‘PLC
-
Factory’ device) to le
arn how to program ladder logic

o

An administrator selecting a specific rig to manua
lly
test it




Rig tracking


allowing rigs to registered, removed and ensuring rigs are existent



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
7

of
39


2.4

Web Interface

The web interface provides the remote laboratory interface to the following roles:



Users


the nature of their interest is to select and use a r
esource which has been
provided to them.



Tutors


the nature of their interest is to provide monitoring for a list of users
(such as students in their class).



Administrators


the nature of their interest is to ensure correct functioning of the
remote labo
ratory and set up access to which resources a user can access.



Demonstration users


the nature of their interest is to try out the remote
laboratory. Their access should not impede other user roles access.






Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
8

of
39


3

Installation overview


3.1

Supported operating

systems

The installation of Rig Client and Rig Client CLI is supported on following operating
systems:



Windows XP




Windows 2003



Enterprise Linux
1

4



Enterprise Linux 5



Ubuntu 8.04 LTS



SU
SE Enterprise
Linux
10


The installation of Scheduling Server and
Web Interface is supported on following
operating systems:



Windows XP




Enterprise Linux 5



SU
SE Enterprise
Linux
10


3.2

Hardware requirements

No special hardware environments are required for
Sahara Release 2
, provided the
hardware can run the software requi
rements detailed
below
. The software shall be
able to run on a machine with the following minimum specifications:



x86 processor



1 GB of memory



100 Mbit network connection


3.3

Software
requirements


Following softwares must be installed prior to installing
Sa
hara software
:



Java Platform, Standard Edition Runtime Environment version 6 (JRE6)



Visual C++ 2008 redistributable package



MySQL or PostgreSQL




1

‘Ent
erprise Linux’ is
Redhat

Enterprise Linux or a binary compatible clone such as
CentOS
,
Oracle
Unbreakable Linux

or
Scientific Linux
.


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
9

of
39




Apache 2.2+ with mod_rewrite enabled



PHP 5.3



Zend Framework

(version 1.
10
)



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
10

of
39


4

Installation

4.1

Windows XP and Windows

2003

1.

Execute

the self
-
extracting executable
SaharaRigClient.exe
.
Select the directory
where the Sahara software is to be installed. The installer will create a new
directory ‘Sahara’ in the installation directory selected and d
epending upon the
components

selected for installation,
it

will extract the executables/source code



o

RigClient


The installer will create a directory
INSTALL_DIR
/RigClient
which

will

contain

configuration files, Rig
Client and Rig Client CLI jar files and other files required for
i
nstallation/execution. It will also
add RigClient service to the Windows
Services

o

RigClientSource


The installer will create a directory
INSTALL_DIR
/RigClientSource
which

will contain

source code for
Rig Client

o

Scheduling Server
-

The installer will creat
e a directory
INSTALL_DIR
/
SchedulingServer

which

will contain configuration
file, Scheduling Serv
er and other required jar files

o

Web Interface
-

The installer will create a directory
INSTALL_DIR
/WI
which

will contain configuration files and libraries

NOTE
: If one or more components of Sahara are already installed on the machine, the
same
installation
directory will be used for subsequent Sahara installations.

4.2

RHEL4/5, Ubuntu 8.04, SUSE Enterprise
Linux
10

<There will be separate installation package for ea
ch UNIX distribution (e.g. RPM for
Linux) so the installation steps will also vary depending upon the distribution. This
section needs to be updated to add distribution specific installation steps>

1.

Extract the archived file. This will create following dire
ctories


o

RigClient


will
contain configuration files, Rig Client and Rig Client
CLI jar files and other files required for installation/execution

o

RigClientSource


will
contain source code for Rig Client

o

SchedulingServer


will contain configuration file
, Scheduling Serv
er
and other required jar files

o

WebInterface
-

will contain configuration files and libraries





Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
11

of
39


5

Post
-
i
nstall
steps

5.1

Rig Client

1.

Update the Rig Client configuration file
INSTALL_DIR/RigClient/config
/
rigclient.properties

with rig specific
re
quirements. Also update the
Scheduling Server Communication
parameters
in the configuration file as per the

Scheduling Server configuration

file
(e.g. set
Scheduling_Server_Port
to the value of

Listening_Port
in

s
chedulingserver.properties
).

Please r
efer
to the
Configuration

section for
details

5.1.1

Additional steps for Windows XP and Windows 2003

1.

Download
NTEventLogAppender.dll

and copy it to a new directory

2.

Configure the environment

variable PATH to include the directory where
NTEventLogAppender.dll

is copied

3.

In the
INSTALL_DIR/RigClient/config/

directory modify the
rigclient_services.ini

file. Comment out the
JVM_Location

property if not
already done so (the location will be automa
tically detected).

4.

Go to the
Windows
Control Panel
-
>Administrative Tools
-
>Services
.
Confirm that there is a “RigClient” service available.

5.

Select the “RigClient” service and start it.


5.1.2

Additional steps for RHEL4/5, Ubuntu 8.04, SUSE Linux Enterprise
Ser
ver 10

1.

Install
gcc

and
libpthread
-
devel

if not already present

2.

Go to the
INSTALL_DIR/servicewrapper/

directory and run
make

command.

3.

Move the output
rigclientservice

file to the
/usr/local
directory
.

4.

In the
INSTALL_DIR/RigClient/config

directory edit the
r
igclient.properties

file with rig specific requirements

5.

In the copied
/config/

directory modify the rigclient_services.ini file. Ensure
that the
JVM_Location

property is not commented out and set it to the correct
value.

6.

From the command line, run the
rigc
lientservices

file using:

/usr/local/r
igclient
service

7.

In a browser, go to:
localhost:8080/services/RigClientService?wsdl

(where 8080 is the listening port which the rig client has been configured to in
the rigclient.properties file). This should connect
and display the WSDL


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
12

of
39


5.2

Scheduling Server

1.

Create a new database in MySQL or PostgreSQL (e.g. database ‘sahara’)

2.

Execute the following SQL script to create the database schema in this database


For MySQL database
-

INSTALL_DIR/
SchedulingServer
/
mysql
-
schema.
sql


For PostgreSQL
-

INSTALL_DIR/
SchedulingServer
/
postgresql
-
schema.sql

3.

Populate the database tables
as specified in
Appendix E: Scheduling Server
database population
.

4.

Create a new database user with a password

and grant
that user
all the privileges
on the database created in step 1

5.

Update the Scheduling Server configuration file

INSTALL_DIR/
SchedulingServer
/conf
/
schedulingserver.properties
.
Please r
efer
to
the
Configuration

s
ection for details

NOTE: Update the
Database configuration
parameters depending upon

the
database in use (MySQL or P
ostgreSQL)



5.3

Web Interface

1.

Update the
Apache
configuration file
httpd.conf

as follows


o

U
pdate the parameter
DocumentRoot
to point to

INSTALL_DIR/
WI/public

o

Update the directory
-
path for the Directory section to point to
INSTALL_DIR/
WI/public. e.g.

<Directory "D:/Sahara/WI/public">


NOTE: Do not update the default Directory section. The defaul
t directory
section is the Directory section without any directory
-
path mentioned.

2.

Check the PHP’s initialization file (
php.ini
) for the configurable parameter
short_open_tag

and c
hange its value to

on
if it is set to
off

3.

Copy the
Zend directory from
<Zend

installation directory>/library

to
INSTALL_DIR/
WI/library


4.

Update the Web Interface configuration file
INSTALL_DIR/WI/

application/configs/config.ini
.
Please r
efer
to the
Configuration

section
for details


5.

Start
the
Apa
che
service



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
13

of
39


Configuration

Format of all the items in the configu
ration files is:

#<Descript
ion> A description of the c
o
nfiguration item

#<Name> <Type> Configuration key
-

Configuration value type

# <Example>
E
xample of correct configuration

Key <Value>












5.4

Rig Client

There are two configuration files provided with the Rig Client




rigclient.properties: Rig Client Core configuration file. This file contains generic
Rig Client parameters and common actions



batch.properties:
Rig Client
configuration

file for batch control

execution

Each
r
ig
may

have its own configuration file (e.g.
loadedbeam.properties
)

to
contain

r
ig specific configuration parameters
.


For the details of all the Rig Client configuration parameters, refer to
Appendix
B
:
Details of Rig Client configuration parameters

5.5

Scheduling Server

Configuration file for Scheduling Server is
schedulingserver.properties
.

For the
details of the
Scheduling Server

configuration parameters, refer to
Appendix C:
Details of Scheduling Server configuration parameters

5.6

Web interface

Configuration file for
Web Interface
is
config.ini
.
For the details of the
Web
Interface

configuration parameters, refer to

Appendix D: Details of Web Interface
configuration parameters


Each rig type can have its own customised (partial) web page. Please refer to “Rig
Client Development Handbook” [Ref

1] for more details.


NOTES:



Key
s

and enumerated values
are

case sensitive
.



To remove a configuration par
ameter, use (#) at the start of the line (e.g
.
#
Logger_Type SystemErr
).




Some of the configuration parameters have default values. To use default value
for any of these parameters, comment out the parameter (DO NOT leave it
blank.)

IMPORTANT
: The rig clien
t is not very defensive for valid configuration so

if the
expected configuration value type is specified as an
int

or
integer

and you don't

put
a valid integer as the value, the rig client will most likely crash
.



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
14

of
39


6

Getting starting with Saha
ra

1.

Check that the Scheduling Server database is up and running

2.

Start the Scheduling Server

3.

Start the Rig Client (or Rig Clients)

4.

Check that the Rig Clients could be started successfully and for every Rig Client, there
is an entry in the Scheduling Server d
atabase table
rig

5.

Once all the Rig Clients are started up,
update

the Scheduling Server database table
resource_permission

if required

(e.g.
updates to

request_caps_id
,

type_id

or
name_id

etc.
)

6.

After the Scheduling Server and all the Rig Clients are up and

running with the
database updated correctly, start the Web Interface
-

http://localhost

(if Web Interface
in installed on
the current

machine) or
http://<IPAddress
> (if Web Interface in
in
stalled on different machine. <IPAddress> is the IP address of the machine where
the
Web Interface in installed)



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
15

of
39


7

Uninstallation

7.1

Windows XP and Windows 2003

1.

Go to the
Windows Control Panel
-
>Administrative Tools
-
>Services

and
stop the RigClient service

2.

Go

to the directory
where
Sahara
is installed
and execute
uninstallSaharaRigClient.exe
. This will remove the selected components
from the machine

7.2

RHEL4/5, Ubuntu 8.04, SUSE Linux Enterprise Server 10

<To be updated>


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
16

of
39


8

Troubleshooting

-

Common problems during i
nstallation/execution

of Sahara

with their solutions

o

Problem:

In case of batch
control
execution, if
Sync_Results_Dir

is set to
true and
Batch_Working_Dir

&
Sync_Dir_Destination

point to the same
location then Rig Cl
ient will go into infinite loop.


Reason
:

If results synchronisation is enabled (
Sync_Results_Dir

is set to

true
),

each file

or
director
y in
Batch_Working_Dir

is copied to
Sync_Dir_Destination/Sync_Dir_Name
. When
Batch_Working_Dir

&
Sync_Dir_Destination

point to
the
same location, the Rig Client

creates a
new directory
Sync_Dir_Name

and
copies the
files in
Batch_Working_Dir

to
that

directory
. This new directory

(
Batch_Working_Dir
/Sync_Dir_Name
)

also appears in the list of files/directories in

Batch_working_Dir

and Rig
Client tries to copy
Sync_Di
r_Name

to
Batch_Working_Dir/Sync_Dir_Name
.

This creates a new directory
Batch_Working_Dir/Sync_Dir_Name/Sync_Dir_Name
. This process
continues and eventually the Rig Client goes into infinite loop.


To avoid this,
the batch working directory must be some em
pty directory. It is
assumed the batch executable working directory is initially empty and after
termination of the executable, the files present are generated by the batch
control execution.


Solution:

Set
Batch_Create_Nested_Dir

to true so that the resul
t files
generated for each batch execution will be stored in different directories
.
This
ensures only the generated results files are synchronised as the working
directory is created specific for the execution of the batch executable


o

When configuring para
meters with values as file/directory path
s
(e.g.
Batch_Working_Dir

in
rigclient.properties

or
Exec

in
batch.properties
) on Windows, use forward slash or slash (/)

as the path
separator
. Alternatively, use correct escaping for back slash (
\
) like
(
\
\
)
.



o

Wh
en configuring parameters with values as file/directory path
s

on Windows, the
spaces in the path
s

need to be escaped using back slash (
\
). e.g. if
Batch_Working_Dir

is to be set to (
C:
\
Program Files
\
Sahara
\
Batch
) then
update the configuration file to conta
in:
Batch_Working_Dir

C:
\
\
Program
\

Files
\
\
Sahara
\
\
Batch


-

k
nown issues with the workaround





Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
17

of
39


Appendix A: Rig Client CLI commands


Details mentioned below for each operation can be found by executing Rig Client CLI with
the
help

option followed by the name

of the operation.

e.g. java

jar rigclientcli.jar help allocate

Following arguments are common for all the commands:



host
-

Host or IP
of the rig client to connect to

(
this parameter is
optional if Rig
Client and Rig Client CLI are running on same machine
)



por
t
-

Port number

the rig client is listening on


Typical arguments used for the

Rig Client CLI

commands are:



identity
-
token

-

Token identifying the scheduling

se
rver the rig is registered with
.

NOTE: The identity
-
token assigned to a rig by the Schedul
ing Server can be found in
the Rig Clie
nt or Scheduling Server INFO log message
.
E
nclose the token string in
double quotes (“)

when using it in the Rig Client CLI command
.



requestor
-

Session master user or active slave

user

NOTE: One of either
'identity
-
token'
or '
requestor'

should be

provided for the
rig client permission check to succeed,

a
llowing the operation to succeed



Rig Client CLI provides following commands:



allocate

-

Allocates a master user to the rig client, starting a rig session. The
optio
ns for allocate are:


o

identity
-
token

o

name
-

user to assign to the rig client




release

-

Releases a master user from the rig client
,
terminating a rig session. The
options for release are:


o

identity
-
token


o

name

-

user

to release from the rig client




slave
-
a
llocate

-

A
llocate a slave user to an existing rig

session. The options for
slave allocate are:


o

identity
-
token


o

requestor

o

name

-

slave user to allocate to the rig client.

o

slave
-
type

-

Type of slave user, either active or passive.




slave
-
release

-

Releases

a slave user from the rig client.

The options for slave
release are:


o

identity
-
token


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
18

of
39


o

requestor

o

name

-

slave user to allocate to the rig client.



batch

-

Invokes batch control on a rig with a

provided batch instruction file. The
options for batch

control ar
e:


o

identity
-
token

o

requestor

o

file

-

Path to the instruction file to provide.




batch
-
abort
-

Terminates a running batch invocation.

The options aborting batch
are:


o

identity
-
token

o

requestor




batch
-
status
-

Gets the status of a running or last completed

batc
h control
invocation. The options for getting batch

status are:


o

identity
-
token

o

requestor




primitive
-

Request a primitive control operation.


Primitive control is direct synchronous control of hardware.

A request consists of a

'controller', 'action' and '
parameters' which map to a rig client class, method and

method arguments (loosely). The action method is invoked

and the response is the
return parameters from the action

method. The options for primitive control are:


o

identity
-
token

o

requestor

o

controller
-

The primitive controller class name, either a fully qualified
class name or simple

class name of a class in one of the rig client

configured

controller packages (specified by the parameter
Package_Prefixes
in
rigclient.properties)

o

action


Name of the a
ct
ion method, without
the
'Action' postfix.

o

<param name>
-

<param value>
-

Free form parameters

to provide to the
action method. As many of these

can be provided as needed




attribute

-

Gets a configured rig client attribute. The command returns the values
fo
r configuration parameters that are explicitly set in the configuration file. It does not
return the default values used for

the commented/missing
parameters
in the
configuration file
.

The options for getting a rig attribute are:


o

identity
-
token

o

requestor

o

attribute

-

Name of rig client attribute to obtain.




status

-

Gets the rig client status including the following

rig states:


o

monitor

-

Whether the rig is in monitor and for reason.

o

maintenance

-

Whether the rig is in maintenance and for reason.


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
19

of
39


o

session

-

Whether the rig is in session including the master user name and list
of slave user names.




activity

-

Detects if there is session rig activity

present




maintenance

-

Change the maintenance status of the rig client to either put it in
maintenance or take i
t out of

maintenance mode. The options for setting maintenance

status are:


o

identity
-
token

o

offline

-

Boolean flag [true|false] specifying if the rig is to be put offline.

o

run
-
tests

-

Boolean flag [true|false] specifying if the rig is to run tests if it is
in maintenance mode. This is ignored if the rig is being taken out of
maintenance mode




test
-
interval

-

Set the interval the exerciser runs its tests. The interval is a value in
minutes
. The options for the setting the exerciser test interval are:


o

identit
y
-
token

o

interval

-

The exerciser test interval to set in
minutes


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
20

of
39


Appendix
B
:
Details of Rig Client configuration
parameters



Configuration parameters in
rigclient.properties


Rig Identification parameters


Name

Type

Default

Description

Rig_Name

String

N
/A

Uniquely identifies a rig in a local
remote laboratory

Rig_Type

String

N/A

Identifies the rig as an instance of a
fungible replacement of a common
hardware and software configuration

Rig_Capabilit
es

C
omma
separated
list of
tokens

N/A

A list of tokens
specifying
the
descriptive identifier
s of the

rig
attribute
s

which may be, for example,
devices or control software

Rig_Class

Q
ualified
class name

N/A

Qualified class name of rig type class
implementing rig client required
methods. Must be derived class o
f
au.edu.uts.eng.remotelabs.rigclient.ri
g.IRig



Scheduling Server Communication
parameters


Name

Type

Default

Description

Scheduling_Ser
ver_Address

IP Address
or string

N/A

IP address or host name of
Scheduling server


Scheduling_Ser
ver_Port

Int

8080

P
ort to which Scheduling Server
is attached

Scheduling_Ser
ver_Update_Per
iod

Int

30

The time in seconds between
sending status updates from the
Rig Client to Scheduling Server



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
21

of
39


Rig Communication parameters


Name

Type

Default

Description

Rig_Client_IP_
Add
ress

IP Address

Address
of the
first
iterated
network
device

The IP address of the machine the
rig client is running on. This is
needed if the rig client machine
has multiple network interfaces
and you want to ensure the
external IP address is
transmitted

as the communication
address. If left empty, the
address of the first iterated
network device is used.


Listening_Netw
ork_Interface

String

Address
of the
first
iterated
network
device

The name of the network interface
the rig client is listening on.
This

is needed if the rig client
machine has multiple network
interfaces and you want to ensure
a specific network interface is
used. This may be used in
preference to the
'Rig_Client_IP_Address' property
as it allows a specific network
interface to be used wh
ile still
detecting the IP address at
runtime (to support DHCP)


Listening_Port

Int

N/A

The TCP port the rig client is to
listen for communication requests


Concurrent_Req
uests

Int

N/A

The number of concurrent requests
the rig client can service. If
ther
e are more than this number
of requests, the extra requests
are queued

Action_Failure
_Threshold

Int

3

The threshold indicating how many
times a action can fail before
the rig is put off line


Log related parameters


The format of the log messages can be
specifying by providing a format

string with macros
which are be replaced by their actual values.

The following is a list of macros that may be put in format strings.

__MESSAGE__
-

Actual message

__LEVEL__
-

Logging level (FATAL, PRIORITY, ..., DEBUG)

__TIME__
-

Time with hour of day:minute:second

__DATE__
-

Date with day:month:year

__ISO8601__
-

ISO 8601 formatted date

__CLASS__
-

Class where the message originated

__METHOD__
-

Method where the message originated


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
22

of
39


__SOURCE__
-

Source fil
e where the message originated

__LINE_NUM__
-

Line number where the message originated

__TID__
-

Thread id where the message originated


Name

Type

Default

Description

Logger_Type

One

of:



SystemErr



File



RolledFile



Syslog



WinEvents

System
Err

Type of lo
gging method




SystemErr
-

logging messages
printed to standard error stream



File
-

logging messages printed
to file (not rolled)



RolledFile
-

logging messages
printed to a rolled log file



Syslog
-

logging messages sent to
Syslog server



WinEvents
-

logging

messages
sent to the Windows Event Log

NOTE: The WinEvents logger only

runs on Windows and requires the

NTEventLogAppender.dll to placed in
a directory in PATH
(e.g.C:
\
Windows
\
System32)

Log_Level

One

of:



ERROR



WARN



INFO



DEBUG

DEBUG

Level of log messages





FATAL


Messages that are
generated by events that cause
unexpected program termination



PRIORITY


Messages that are not
errors, but should always be
printed



ERROR
-

Messages that are
generated by events that cause
unexpected results and stop the
expect
ed program execution
sequence




WARN
-

Messages that are
generated by events that cause
undesired results but do not
stop the expected program
execution sequence

INFO
-

Messages that are generated by
events that are regular in
occurrence, however are useful

for audit trails




DEBUG
-

Messages specifying
program execution and
progression

Note: FATAL and PRIORITY are always
logged.

Log_File_Name

String

N/A

Log file name that
the

logged
messages are appended to (for File
and RolledFile)

Log_File_Max_
Size

Int

N
/A

For use with the RolledFile logger
.
Maximum file size for the rolled
file logger log file in megabytes.


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
23

of
39


Name

Type

Default

Description

Log_File_Back
ups

Int

N/A

Maximum number of backups for the
rolled file logger log file. After
the maximum number of b
ackups is
exceeded, the oldest log backup
file is deleted. For use with the
RolledFile logger


Syslog_Host

Host Name or
IP Address

N/A

The host name or IP of the Syslog
server. For use with the Syslog
logger


Syslog_Local_
Facility_Num

int between
1 and 7

inclusive

N/A

Syslog log local facility number to
use (between 1 and 7). For use with
the Syslog logger


Default_Log_F
ormat

string

N/A

The default format of logging
messages for those levels which do
not provide their own logging
format


FATAL_Log_For
ma
t

string

N/A

Fatal log format specific to fatal
log messages

PRIORITY_Log_
Format

string

N/A

Priority log format specific to
priority log messages

ERROR_Log_For
mat

string

N/A

Error log format specific to error
log messages

WARN_Log_Form
at

string

N/A

Warn

log format specific to warning
log messages

INFO_Log_Form
at

string

N/A

Info log format specific to
informational log messages

DEBUG_Log_For
mat

string

N/A

Debug log format specific to
debugging log messages



Batch Control parameters



Name

Type

Default

Description

Batch_Downloa
d_Dir

String

system
default
tempora
ry

directo
ry

Batch download directory. Directory
to download uploaded instruction
files to. If this is left blank, the
system default temporary directory is
used


Batch_Timeout

Int

60

Batch tim
eout in seconds. Time to
wait at batch startup before failing
batch control, if the batch process
has not started


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
24

of
39


Name

Type

Default

Description

Batch_Termina
tion_TimeOut

Int

10

Batch termination timeout in seconds.
Time to wait before returning a batch
t
ermination success or failure result


Batch_Working
_Dir

Directory
path

Null

Batch process working directory. If
this is set to null, the working
directory is taken to be the System
temporary directory


Batch_Create_
Nested_Dir

true/false

true

Indicates wh
ether to create nested
working directory.
If this is set to
true, a new directory is created in
the batch working directory and the
batch processes working directory is
set as the new directory


Batch_Clean_U
p

true/false

false

Indicate
s

whether to clean u
p the
batch directory. If this is set to
true, the batch control invocation
generated files are deleted. This
setting is only honoured if the
property Batch_Create_Nester_Dir
property is set to true. If not, it
is ignored and no clean up occurs


Batch_Flu
sh_E
nv

true/false

False

Indicates whether the batch process
should inherit the environment
variables. If true, no inherited
environment variables will be given
to the batch process unless they are
set up manually


Batch_Instruc
t_File_Delete

true/false

tru
e

Indicates whether the uploaded
instruction
file
should be deleted
upon completion of batch execution.
If true, the uploaded batch
instruction file is deleted



Primitive Control parameters


Name

Type

Default

Description

Package_Prefi
xes

Semicolon
separ
ated
list of
Java
packages

N/A

The package names to find primitive
controller classes. Class name
resolution, works by first trying to
resolve the transmitted controller
name. If the transmitted controller
fails, it is appended to a configured
package name

and resolution is
attempted again



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
25

of
39



Configured Rig Type parameters

A configured rig determines required action instances from configuration


Name

Type

Default

Description

Action_Packag
e_Prefixes

Semicolon
separated
list of
Java
packages





N/A

The pack
age names to find action
interface classes. Fully qualified
action class names may be used and if
this fails, the configured packages
are checked


Access_Action
s


N/A

The list of access actions to load


Slave_Access_
Actions


N/A

The list of slave access
actions to
load

Notify_Action
s


N/A

The list of notification actions to
load


Detection_Act
ions


N/A

The list of detection actions to load

Reset_Actions


N/A

The list of reset actions to load

Test_Actions



The list of test actions to load

Test_Light_
Ti
me

<hour>:<mi
nute>

09
:00

The time at which the laboratory
'dark' time starts. The dark time is

when the test frequency is set to be
the specified test run interval
multiplied by the specified dark time
factory for exerciser tests which

enable light
-
dark
exerciser

scheduling. The time should be
configured

with 24 hour time with a
column ':' between the hours and
minute portions

Test_Dark_Tim
e

<hour>:<mi
nute>

18:00

The time at which the laboratory
'dark' time starts. The dark time is
when the test frequenc
y is set to be
the specified test run interval
multiplied by the specified dark time
factory for exerciser tests which
enable light
-
dark exerciser
scheduling. The time should be
configured with 24 hour time with a
column ':' between the hours and
minute po
rtions



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
26

of
39


Action classes
configuration
parameters



Name

Type

Default

Description

Remote_Deskto
p_Windows_Dom
ain

String

N/A

Windows domain the user belongs to

Remote_Deskto
p_Groupname

String

N/A

The name of the user group to which
the user must be added f
or Remote
Desktop access permissions



Ping Test Action parameters

The ping test action ensures one or more hosts are up by 'pinging' a host and ensuring a
response is received.



Name

Type

Default

Description

Ping_Test_Hos
t_<
n
>

IP Address
or
Hostname

N/
A

The host names to test for response
using the ping test. As many hosts
may be

specified as necessary using
1 to n hosts, provided the hosts
are in sequence


Ping_Test_Com
mand

String

ping

The name of the ping command. This
may be a
n

executable in PATH or

the
ful
ly qualified path of the
executable


Ping_Test_Arg
s

List of
arguments
separated
by space

For
Windows:

-
n 1
-
w
5000

For
Linux:
-
c 1
-
q
-
W 5"

Other
OS: N/A

The arguments to supply to the ping
command. The arguments should
ideally

specify one ping
with a
timeout of 5 seconds

Ping_Test_Int
erval

Int

30

The period between test runs in
seconds


Ping_Test_Fai
l_Threshold

Int

3

Number of allowable failures of the
ping command to a host before it
constitutes a test failure




Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
27

of
39


JPEG Camera Test Action param
eters

The JPEG Camera test ensures one or more cameras
are

providing live footage by
downloading a JPEG camera frame and ensuring it is a valid JPEG image


Name

Type

Default

Description

Camera_Test_U
RL_<
n
>

URL

N/A

The camera URLs to test. The URLs must
us
e the HTTP protocol and point to a
JPEG camera frame. The URL should
provide a specific frame, not a
continuous stream of MJPEG (motion
JPEG) frames. As many URLs as needed
may be specified with the n field
replaced with an integer number from 1
to n in se
quence

Camera_Test_F
ail_Threshold

Int

3

The number of times the camera test
can fail before causing a test action
fail

Camera_Test_T
imeout

Int

5

The timeout in seconds to wait for the
camera stream to respond to a HTTP GET
request. If the camera does not

provide a response within this
timeout, it is treated as a camera
fail


Camera_Test_I
mage_Min_Size

Int

10

The minimum size in kilobytes of a
valid JPEG frame from the camera
stream.

If a returned frame is less
than this size, it is treated as a
camera fa
il. The default is 10 kB.
This should be set to within 25 % of
the minimum expected frame size for
efficient functioning of the test


Camera_Test_I
nterval

Int

30

The period between test runs in
seconds

Camera_Test_E
nable_Uniquen
ess_Test

true/false

false

Whether to enable the camera frame
uniqueness test. This may be used to
ensure the feed is live or if the
streaming software has locked up and

is returning the same image
continuously (this has occurred using
VLC to stream a video feed). The
default is not

to enable this as it is
slightly expensive to download JPEG
frames and to compute the frame

hashes.

NOTE: This is unlikely to return
positives as even a bit difference

in
a frame will cause the image hash to
differ


Camera_Test_M
ax_Num_Unique
_Frames

Int

N/A

The number of allowable identical
frames to be sequentially downloaded
for this test to constitute a failure



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
28

of
39


Linux Device Node Test Action parameters

The Linux device node test checks if a device node exists and has the desired attributes.
Device n
odes usually correspond to a hardware device. For example the device node
'/dev/video0' is a character device node with major and minor numbers (identifies the driver)
that correspond to the 'video4linux' driver which interfaces with the hardware. At its m
ost
basic the device node test ensures a file exists in the file system and may optionally test file
attributes (type and permissions) and device node attributes (major and minor numbers). The
driver test checks for the '/proc/devices' file and ensures the

device driver has the same major
number as the device node.


One to many device node files may be configured by sequencing the
LinuxDeviceNode_Test_Path_<n> with a suffix number from 1 to n. The attributes to test of
the device node may be set by suffixin
g the test property with the same number as the
LinuxDeviceNode_Test_Path_<n> property.


NOTE: The Linux device node test will only run on Linux. Running it on any other platform will
cause an error to be raised
.


Name

Type

Default

Description

LinuxDevice
No
de_Test_Inter
val

Int

300

The amount of seconds between
each device node test run in
seconds


LinuxDeviceNo
de_Test_Fail_
Threshold

Int

3

The number of times a device
node test can fail before
causing a test action

failure


LinuxDeviceNo
de_Test_Path_
<
n
>

S
tring

N/A

The device node paths to test.
This is the fully qualified path
to the device

node. The

LinuxDeviceNode_Test_Path_1
property is mandatory and each
subsequent numbered property
(e.g. LinuxDeviceNode_Path_2) is
optional


LinuxDeviceNo
de_Test_Type_
<
n
>

One

of:

'c'
-

Character
device

'b'
-

Block
device

'
-
'
-

Regular
file

'd'
-

Directory

'l'
-

Symbolic
link

's'
-

Socket

'p'
-

Named
pipe

N/A

The file type of the device node
file. If this property is not
set, testing file type is
disabled.


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
29

of
39


Name

Type

Def
ault

Description

LinuxDeviceNo
de_Test_Permi
ssion_<
n
>

String

N/A

The device node file permissions
as three groups of read
-
write
-
execute permissions for owning
user, group and other users in
that order. This is the same
format as shown by 'ls
-
l' (e.g.
rwxr
-
x
--
x). If this property is
not set, testing file
permissions is disabled


LinuxDeviceNo
de_Test_Octal
_Permission_<
n
>

Int

N/A

The device node file permissions
as three octal numbers
specifying

permissions for
owning user, group and other
users in that orde
r. Each number
specifies an octal value of a
read
-
write
-
execute bit field
(e.g. 'r
-
x' has the value '5').
If this property is not set,
testing octal file

permissions
is disabled


LinuxDeviceNo
de_Test_User_
<
n
>

User Name

N/A

The owning user name of the
devi
ce node. If this property is
not set,

testing the owning user
by name is disabled


LinuxDeviceNo
de_Test_UID_<
n
>

UID

N/A

The owning user UID of the
device nod
e. If this property is
not set,
testing the owning user
by UID is disabled


LinuxDeviceNo
de_Test_
Group
_<
n
>

User Name

N/A

The owning group name of the
device node. If this property is
not set,

testing the owning
group by name is disabled


LinuxDeviceNo
de_Test_GID_<
n
>

UID

N/A

The owning group GID of the
device node. If this property is
not set,

testing

the owning
group by GID is disabled

LinuxDeviceNo
de_Test_Major
_Number_<
n
>

Int

N/A

The major number of the device
node. If this property is not
set OR the file type property is
not set to 'c' or 'b', the major
number test is

disabled


LinuxDeviceNo
de_Tes
t_Minor
_Number_<
n
>

Int

N/A

The minor number of the device
node. If this property is not
set OR the file type property is
not set to 'c' or 'b', the minor
number test is

disabled



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
30

of
3
9


Name

Type

Default

Description

LinuxDeviceNo
de_Test_Drive
r_<
n
>

String

N/A

Th
e device driver (driver which
has the same major number) for
the device

node with the name as
shown in '/proc/devices'. If
this property is not set OR the
file type property is not set to
'c' or 'b', the device driver
test is disabled


Rig Attributes for
the Web Interface


Name

Type

Default

Description

Remote_Deskto
p_Host

IP Address

N/A

External IP address of the Rig Client
machine to be accessed by other
machines

Number_of_Cam
eras

Int

N/A

Number of cameras set up for this Rig

Camera_<n>

String

N/A

Thi
s is a comma separated list of
different attributes for
the
camera
panel on Web Interface. The attributes
are:

HOST



Specifies the address of the
machine with the camera images

PORT



Port number to access the
camera images on HOST machine

SIZE



Size of
the camera images

FORMAT



Semi
-
colon separated list of
video
formats of the camera images
supported by this Rig (e.g.
j
peg;mms;mmsh)
. This list determines
the options available in the drop
-
down
list for ‘Video Formats’ on the Rig
Web page

POSITION



Speci
fies the position of
the camera panel on the web page

If the FORMAT attribute set above
contains a new format then an entry
needs to be added to config.ini for
that format.



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
31

of
39


Configuration parameters in
batch.properties


Macros can be used to inject run
-
time variables into configuration. They may be used in
configuration variables where noted. Following macros can be used in batch.properties
configuration file.





__FILE__
-

The abso
lute path of the uploaded instruction file



__USER__
-

The user name of the user who initiated batch control



__DAY_OF_MONTH__
-

Current day of the month in two digit numerical
format with leading zeros



__MONTH__
-

Current month in the year in two digit nume
rical format
with leading zeros



__YEAR__
-

ISO
-
8601 year number



__HOUR__
-

24
-
hour format of an hour with leading zeros



__MINUTE__
-

Minutes with leading zeros



__SECOND__
-

Seconds with leading zeros



__ISO8601__
-

ISO 8601 formatted date



__EPOCH__
-

Second
s since the Unix Epoch (Jan 1 1970 00:00:00 GMT)

Batch Process Configuration

parameters


Name

Type

Default

Description

Exec

String

N/A

An absolute reference to the batch
executable that should be invoked for
batch control

Exec_Arg_<Int
eger>

String or
Mac
ro

N/A

Arguments to provide to the batch
executable in order of 1 to n. As many
arguments as needed may be configured
provided they follow the format
'Exec_Arg_<Integer>'. The Exec_Arg_
integers must be correctly sequenced,
missing a number will cause subs
equent
argument configuration to not be
loaded. The arguments are provided to
the batch command in the order they
are sequenced. Macros may be used as
values. To provide the file as a
command li
ne argument use the __FILE__
ma
c
r
o


Env_<Integer>

String or
M
acro

N/A

Environment variables to provide for
the batch executable process. As may
environment variables as needed may be
configured provided they follow the
format 'Env_<Integer>' with the
configuration value as environment
'<Key>:<Value>'. The Env intege
rs must
be correctly sequenced, missing a
number will cause subsequent
environment variable

configuration to
not be loaded. Macros be use using as
the value portion of the environment
variable



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
32

of
39


Instruction File Sanity Check

parameters

Instruction file san
ity checks ensure the uploaded instruction is applicable to what the batch
process may run. The configured batch runner contains three such file sanity tests which may
be run:




File extension
-

if the uploaded file extension matches the configured file ext
ension



File magic number
-

if the uploaded file magic number (a value in up to the first eight
bytes) matc
hes the configured magic number



File maximum size
-

if the uploaded file size is less than the configured maximum file
size


Name

Type

Default

Descrip
tion

Test_File_Exte
nsion

true/false

false

Whether to test the instruction file
extension. If this is set to true,

File_Extension property must be set


File_Extension

String

N/A

Instruction file extension. Should be
configured as a string specified the
ch
aracters of the file extension. The
file extension test will check if the
instruction file name ends with the
configured extension


Test_Max_File_
Size

true/false

false

Whether to test for instruction file
maximum size. If this is set to true,

the
Max_
File
_Size property must be
set with the maximum permissible
instruction file size


Max_File_Size

Int

N/A

Maximum file size of the instruction
file in kilobytes

Test_Magic_Num
ber

true/false

false

Whether to test the instruction file
for magic number. If this
is set to
true, the File_Magic_Number property
must be set with a hexadecimal
representation of the file magic
number


File_Magic_Num
ber

Hexadecima
l value

N/A

File magic number in hexadecimal
format. The prefix '0x' is optional


File Synchronisation para
meters

File synchronisation runs after completion of the batch process and may be# configured to
store the generated results files that are in the batch process working directory. The file may
be stored in a compressed Zip archive or a configured directory


Name

Type

Default

Description

Sync_Results_D
ir

true/false

false

Whether to synchronise the results
directory (batch process working
directory to another directory
)
.
If true, the results directory is
copied to a different directory.
If true the Sync_Dir_
Destination
property and the Sync_Dir_Name

Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
33

of
39


property must be set with the
results destination path name and
result directory name respectively


Sync_Dir_Desti
nation

String

N/A

The absolute path name to the
directory to store the results
file

directory. Mac
ro variables
may be used as path elements. This
directory must exist for storing
results to succeed


Sync_Dir_Name

String or
Macro

N/A

The name of either the results
directory or results file

depending on the

Compress_Dir
setting. If Compress_Dir is true,

this is used as the file

name and
a suitable file extension is
appended to the name


Compress_Dir

true/false

false

Whether to compress the results
directory into a zip archive

Compression_Le
vel

One
of:



BEST
-

Best
compressi
on



DEFAULT
-

Default
compressi
on



FASTEST
-

Fastest
compressi
on

DEFAULT

The compression level of the
results file




Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
34

of
39


Appendix C:
Details of
Scheduling Server

configuration parameters



Embedded Server configuration
parameters


Name

Type

Default

Description

Listening_Port

Int

8080

Serv
er listening port, the TCP port
the Scheduling Server is to listen
for communication requests using the
HTTP protocol


Listening_Port
_HTTPS

Int

8081

Server listening port for HTTPS, the
tcp port the Scheduling Server is to
listen for communication request
s
using the HTTPS protocol


Concurrent_Req
uests

Int

N/A

The number of concurrent requests the
Scheduling Server can service. If
there are more than this number of
requests, the extra requests are
queued


Database

configuration

parameters


Name

Type

Defau
lt

Description

DB_Connection_
URL

String

N/A

The connection URL specifies the host
name and port number needed to
connect to the database. The format
of the connection URL is specific to
the database server in use. The
following are the formats of both
MyS
QL and PostgreSQL:



MySQL
-

jdbc:mysql://<host>:<port>/<datab
ase name>



PostgreSQL
-

jdbc:postgresql://<host>:<port>/<
database name>


DB_Username

String

N/A

User name of user with privilege to
use the database that is being
connected to


DB_Password

String

N/A

Password corresponding to the
configured database user name


DB_Database_Dr
iver

String

N/A

The JDBC driver class to connect to
the database. This is specific to the
database server in use and requires
the driver library to be in use (the
MySQL v4.1+
and PostgreSQL v7.2+
driver libraries are distributed with
the Scheduling Server). The MySQL and

Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
35

of
39


PostgreSQL drivers are:



MySQL
-

com.mysql.jdbc.Driver



PostgreSQL
-

org.postgresql.Driver


DB_Database_Di
alect

String

N/A

Dialect class which allows the
genera
tion of optimised SQL for a
particular relational database. The
dialects for MySQL and PostgreSQL are
(for other databases consult the
Hibernate documentation):



MySQL
-

org.hibernate.dialect.MySQLInnoDB
Dialect



PostgreSQL
-

org.hibernate.dialect.PostgreSQLD
ialect


DB_Conn_Pool_M
in_Size

Int

N/A

The minimum number of database
connections that are always pooled

DB_Conn_Pool_M
ax_Size

Int

N/A

The maximum number of database
connections that are pooled. This
should not exceed the database server
configured maximu
m number of
connections


DB_Conn_Timeou
t

Int

N/A

The length of time in seconds a
connection may be pooled before being
cleaned up


Logging configuration parameters

Scheduling Server Logging configuration parameters are same as the Rig Client Log related
parameters. Please refer to the Rig Client configuration section

Log related parameters

for details of
Logging configuration parameters.


Local rig
parameters


Name

Type

Default

Description

Rig_Timeout_P
eriod

I
nt

300

The period within a rig must provide a
status update in seconds. If they do
not, the rig offline and to inactive.
The assumption is if the a managed rig
does not provide a status update
within this time period, something
serious has occurred and the

rig is no
longer able to provide sessions


Default_Rig_T
ype_Logoff_Gr
ace

Int

180

The default rig logoff grace period.
The grace period is a value in seconds
which specifies how long a user is
given to get off the rig after the
user is notified their sess
ion time
slice has elapsed



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
36

of
39


Name

Type

Default

Description

Default_Rig_T
ype_Is_Code_A
ssignable

true/false

False

This parameter indicates whether the
rig may be code assignable with batch
sessions.
S
et
it
to false

for the

interactive experiments



Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
37

of
39


Append
ix D:
Details of Web Interface configuration
parameters



Name

Type

Default

Description

Institution

String

N/A

Name of the institutions. This value
should match the value of ‘namespace’
field in the Scheduling Server
database table ‘users’

SchedulingServ
er.hostname

IP Address
or string

N/A

IP address or host name of Scheduling
server


SchedulingServ
er.port

Int

8080

Port to which Scheduling Server is
attached

camera.<format
>

String


URL specifying how to access the
camera for each of the video formats
su
pported. It uses attributes
specified in the parameter Camera_<n>
from the Rig Client configuration
file (rigclient.properties) like
HOST, PORT.

There should be separate parameters
for each of the video formats
supported e.g.
camera.jpeg,
camera.mms etc.




Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
38

of
39


Appendix
E
: Scheduling Server database population


NOTE: Do not populate the
id

field in any of the tables

(keep it NULL)
. This

field

is automatically
populated.


o

Add the users in
users

table.
persona

should

be one of
(USER, ADMIN
,
ACADEMIC, DEMO)
.
nam
espace

is

value of the configurable parameter
‘institution’ in Web Interface configuration file

o

Add user classes in
user_class

table



kickable

field indicates whether the user in this user class can be released
from the rig if there is another request for

the resource
assigned

to th
is

user



priority

field sets the priority of this user class for rig allocation. Lower
priority field value indicates that the user class has higher priority



queuable

filed indicates whether the user from this user class can be

queued for a resource if the required resource is in use



users_lockable

field indicates whether a user may be locked from using
a resource

o

Add the user associations in
user_association

table which indicates the
relation between users and user classes

o

Add
the
required
rig capabilities in
request_capabilities

NOTE: If there are rigs already registered with the Scheduling Server (with
their capabilities added in
rig_capabilities
) then while adding a new entry
in
request_capabilities
, the table
matching_capabi
lities

should be
manually updated to add entries for this new capability. The table
matching_capabilities

contains the mapping between requested capabilities
and available rig capabilities.

o

Add a list of permissions in
resource_permission



allowed_extensio
ns

indicates the number of times the session can be
extended after the session time is expired



display_name

indicates the name be displayed on the web page for this
permission



expiry_time

indicates the expiry time for this permission



extension_duration

ind
icates the duration in seconds for each extension
granted after the session is expired



queue_activity_timeout

indicates
the length of time in seconds after
which a queue entry is removed if a heartbeat message isn't received. It is a
timeout to remove user
s that have left and closed their browsers.



session_activity_timeout

indicates the
length of time

in seconds
after
which the session is made inactive if it is idle.


Sahara Release 2

-

Rig Client Installation

UTS Engineering LabShare

Version
0.5

13 December 2013

Page
39

of
39




session_duration

indicates the maximum time in seconds allocated for
the session



start_tim
e indicates

the time from which this permission is available



type

is the type of this permission. Type can be one of (CAPABILITY,
TYPE, RIG). CAPABILITY type indicates that this permission allows
access to the resources with specific capabilities (specifie
d in
request_caps_id

field). TYPE type indicates that this permission allows
access to the resources with specific type (specified in
type_id

field). RIG
type indicates that this permission allows access to the resource with
specific name (specified in

nam
e_id

field). When using CAPABILITY as
type
,
request_caps_id

should be populated

from the
id

field in table
request_capabilities

and
type_id

and
name_id

can be NULL. When
using TYPE as
type
,
type_id

should be populated
from
id

field of
rig_type

table
and
re
quest_caps_id

and
name_id

can be NULL. When
using RIG as
type
,
name_id

should be populated
from the
id

field of
rig

table
and
type_id

and
request_caps_id

can be NULL.



user_class_id

indicates the user class associated with this permission

NOTE:
If there
isn
’t any data available to populate

request_caps_id
,

type_id

or

name_id

then these fields can be updated once this data is
available (e.g. when the rigs are registered with the Scheduling Server) but
before using Web Interface to login to the system.