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 !
- open the deploy-unit of your class
- click on the 'Release' icon or right-click on the project and choose FESA --> Release from the menu
- Select the correct architecture, according to the boot-image which is used on your FEC
- Select the FEC for which you want to release the software
- Now eclipse will generate the source code, compile the software and copy it to the correct NFS-location
- Details about the NFS can be found here
- 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.