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.

(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 start-Scripts are located:
# cd /opt/fesa/local/scripts
// Launch the script which starts your deploy-unit:
# ./startManually_MyDeployUnit_X.sh -f -vv
// (-vv = very verbose ) Use the option -h for a full list of possible arguments
// 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

TODO: Add info .. still supported with current plug-in ?

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.
Topic revision: r2 - 02 Apr 2015, AlexanderSchwinn
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