Release and Run FESA Software

Software written with FESA can be run in different environments, according to the specific needs. In order to make the software available in a specific environment, first it needs to be released.

It is not possible to connect any additional hardware to the asl-cluster! For such use-cases FEC's are available.

In order to release your FESA software to a specific FEC, first make sure you already created an instance-file for this FEC. The FESA3 hands on explains in detail how this can be done. Take care to specify the right FEC in the eclipse dialog-box! Dont add the appendix '.acc.gsi.de' to the name of the FEC.

NOTE: Your Linux user account needs to be in the group "fesa" to be able to deliver your software. Ask CS/CO/IN if your account is not already in the group.

NOTE: After the software is released, the access path to the devices must be made known to the directory server. It has to be checked explicitly that access by RDA/CMW is possible. See at end of this page

(virtual) Frontends ( fcs00a / scuxl0001... )

Release

The state of a FESA-Class, and the FESA-Deployment-Unit is defined in the xml-element "information/state". If this state is set so a value different from 'operational', a development release will be done !

  1. open the deploy-unit of your class
  2. click on the 'Release' icon or right-click on the project and choose FESA --> Release from the menu
  3. Select the correct architecture, according to the boot-image which is used on your FEC
  4. Select the FEC for which you want to release the software
  5. Now eclipse will generate the source code, compile the software and copy it to the correct NFS-location
  6. Details about the NFS can be found here
  7. The operations are logged on the Console View

Run

Depending on where the FESA software is running, different run configurations have to be used: First use ssh to connect to your FEC (assuming you are currently on the asl-cluster) scuxl0123 in this example
# ssh root@scuxl0123

// Ask the FESA-Team or IN for the password if you dont know it yet

SCU 64Bit

For 64Bit frontends development and operative FESA-software is managed in different ways. The state of a FESA-Class, and the FESA-Deployment-Unit is defined in the xml-element "information/state".

development

FESA software in development state will be available in the FEC folder: '/opt/fesa/local/<deploy-unit name>-d'

It will not be managed by a daemon. ( This is indicated by the appendix '-d' in the directory-name )

In order to e.g. run the binary of 'MyDeployUnit', follow these steps:
// Go to the folder where the binary is located:
# cd /opt/fesa/local/MyDeployUnit-d
// execute your binary while providing the needed application-arguments
./MyDeployUnit -confdir /opt/fesa/local/MyDeployUnit-d/ -instance MyDeployUnit.instance -vv
// (-vv = very verbose ) Use the option -h for a full list of possible arguments
// According to your needs it may be required to add additional application-arguments ( .e.g. -usrArgs -WR if you want to use WR-Timing )
./MyDeployUnit -confdir /opt/fesa/local/MyDeployUnit-d/ -instance MyDeployUnit.instance -usrArgs -WR
// You can stop the binary by pressing CTRL + C

operative

On reboot a daemon launches all operative deploy-units in the delivery directory. ( '/opt/fesa/local/<deploy-unit name>' )

It will cleanly detach from the terminal, capture stdout and stderr and restart any crashed binary.

More information on how to control the daemon can be found here.

SCU 32Bit

This and future FESA-versions do not support 32Bit boot-image. Please upgrade your software / SCU-boot-image to 64Bit

development asl cluster (asl730..asl734)

Release

No release is needed if the FESA Software should run on the development system.

Run

The access rights on the asl-cluster are restricted. Therefore FESA software can't be run as root there, the Linux RT priorities can't be used. As an alternative Linux' NICE scheduling is used. To trigger this behaviour use the command line argument -noRTSched when launching the FESA software. Take in mind that the rt-priorities given in the deploy-unit- / instance-file will be converted to NICE-levels [0...99] --> [20 ... -19]. The maximum rt-prio which can be used on the asl cluster is '50'. This value will be converted to a NICE-level of '0'

In order to e.g. run the binary of 'MyDeployUnit', follow these steps:

// Go to the folder where the start-Script is located E.g:
# cd myWorkspaceLocation/MyDeployUnit/src/test/asl73x
// Launch the script:
# ./startManually_MyDeployUnit_X.sh -f -noRTSched -vv
// (-vv = very verbose ) Use the option -h for a full list of possible arguments
// You can stop the binary by pressing CTRL + C

productive asl cluster (asl330..asl334)

Release

The procedure for the productive asl cluster is identical with the release procedure for FEC's

Run

Like in the development asl-cluster the access rights on the asl-cluster are restricted !

TODO: How to configure a Daemon for the prod cluster ?

MCS, Saclay, France ( scuxl0047f, ... )

Release

The system will be installed in Saclay, France and is accessible from GSI via a network/internet connection. To release FESA software to that system, script templates are provided in the Plinac Wiki . These scripts can be adapted to release your FESA software to the MCS system. It is recommended to store the adapted scripts with the FESA deploy-unit in the SVN repository.

Run

Information on how to run FESA Software on the MCS can be found in the Plinac Wiki .

Check architecture

Depending on which machine you want to run your FESA software, you need to release for 'the architecture i686' (32Bit) or 'x86_64' (64Bit).

ASL-Cluster

The architecture of the OS is 'x86_64', however as well 32Bit binaries (i686) will run here.

Frontends

Currently different types of boot-images are available. The 64Bit boot-image should be preferred if possible ! In order to to check which image you are using, login to your FEC and type:
uname -m

If you are still using the old, 32Bit boot-image(i686), check if you can switch to the up-to-date 64Bit image:
  • Are all dependant libraries as well available for 64Bit ?
  • Can you get your FESA software to compile + link for 64 Bit ?
If you can answer both questions with 'yes', please contact the Infrastruture team in order update the boot-image of your FEC.

RDA/CMW Client-Access

Database Entries

For access via RDA/CMW device informaton must be provided for the directory server (nameserver). These device information is stored in the FESA database.

RDA/CMW Testprogram

To verify the access to a device a program is provided: cscosv-device-test. Besides a lot of output at the end the states of the involved access elements is summarized.

It requires two parameters: the name of the device to be tested and the property which is called.

/common/usr/cscosv/opt/cscosv-device-test/bin/cscosv-device-test.sh <device name> <property>
Topic revision: r7 - 03 Sep 2015, SolveighMatthies
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback