Installation
WS Simulation Deployment
Machine Preparation
Install a real or virtual machine according to the Linux Installation Document
Requirements
For this version, the PDS requires a WS with at least 8Gb of RAM memory to compile modules when doing a manual installation.
ELT Development Environment (DevEnv)
Before installing the PDS it is needed to setup the environment. A very good starting point is this document
Note
The Platform 25.31 shall be used with version 0.1.0 of the PDS SW.
ELT CII Services
The PDS requires the proper installation and configuration of CII services on the machine where it is intended to be deployed. You can just execute the following script as root (see below) or follow the post installation procedure documented here
It is recommened to use the “ownserver” role for the development machine where the PDS SW is going to be installed.
$ /elt/ciisrv/postinstall/cii-postinstall role_ownserver
$ cii-services start all
For more information about CII post installation and other CII related topics, you can visit the ESO knowledge base page
ELT Service GUIs
OLDB and Logging GUIs are not any longer part of the CII/ECOS, please install them separately.
$ dnf install elt-ciigui-oldb-gui*
$ dnf install elt-ciigui-log-gui
IFW components
The PDS requires the proper installation and configuration of the IFW components on the machine where it is intended to be deployed. You can just execute the following script as root (see below)
$ dnf install elt-ifw
For more information about IFW installation, you can visit the IFW installation page
Operational User
It is recommended to install and run the instrument software under the eltdev account to simplify integration with Nomad/Consul that comes configured to run under eltdev.
It is possible to start/shutdown the software from another user but it requires setting properly the environment variables for the account where you want to run your software.
Environment Variables
PDS is relying on the following environment variables:
DATAROOT: Directory on the host machine in which Output Data Products will be generated.
CFGPATH: The “CFGPATH” environment variable, is a colon separated list of paths, pointing to possible Resource Directories in which resource data of different kinds are located.
INTROOT: In this release, the example configuration, libraries, header files and binaries, are installed into the location pointed by “INTROOT”. It is used as “PREFIX” for waf installation location.
PDS_TARGET: It is used to identify which deployment will be used, the options are: WS_SIM, ECM_SIM.
Note
The installation of the PDS RPMs automatically define DATAROOT and CFGPATH environment variables.
Installation Steps
Checking CII services
Check that CII services are properly running:
$ cii-services status
The output of the above command shall be similar to this:
CII Services Tool (20221103) Collecting information........ Status Summary: (Note: '--' means 'not available') OK InternalConfig from Central Server OK OLDB Normal Mode OK OLDB with Blob Values -- Telemetry
If they are not properly running you can execute (as root):
Install PDS components
PDS components are available as RPMs and can be installed using yum install as root.
$ dnf install elt-pds
Warning
This is just temporary location from an specific OBS repository.
This command will install all PDS RPMs:
elt-pds-ics-0.1.0
elt-pds-ics-devel-0.1.0
elt-pds-resource-0.1.0
elt-pds-ics-doc-0.1.0
Login as eltdev user.
Create the directories for the installation area (optional):
$ cd <the location for introot>
$ getTemplate -d introot INTROOT
The environment shall contain the definitions of the relevant environment variables such as INTROOT, DATAROOT, LD_LIBRARY_PATH, PYTHONPATH, etc. These environment variables will be automatically defined by means of the file private.lua, defined here below, which in turn uses the system modulefile definitions in /elt/common/modulefiles/core/introot.lua. (In the following steps, we assume that INTROOT and DATAROOT directories are created in the home directory of the user.)
Under eltdev home directory:
$ mkdir modulefiles
$ cd modulefiles
Create and edit the file
private.luaundermodulefilesdirectory. Use the example file below:
local home = os.getenv("HOME")
local introot = pathJoin(home, "INTROOT")
setenv ("INTROOT", introot)
setenv ("PREFIX", introot)
load ("introot")
setenv ("NOMAD_ADDR", "http://<node ip>:4646")
setenv ("CONSUL_ADDR", "http://<node ip>:8500")
setenv("PDS_TARGET","WS_SIM")
Warning
Log out and then in again so that modulefiles directory becomes known to
the environment and the newly created private.lua is loaded.
This is needed only when the
directory modulefiles and the private.lua are created for the first time.
File private.lua is loaded by default upon login.
In case more .lua files (with different names) will be added to $HOME/modulefiles, they can be made known to the
environment just with:
$ module load <lua file>
You can check which LMOD modules are available after login with:
$ module avail
7. Copy GUI layout configuration files Under eltdev home account create the directory some directories and copy the GUI default layout configuration files inside these directories.
$ mkdir $HOME/.fcf
$ cp /elt/pds/resouce/config/gui/fcs/ini/* $HOME/.fcf
$ mkdir $HOME/.pds
$ cp /elt/pds/resouce/config/gui/pds/ini/* $HOME/.pds
Start nomad and consul services
PDS uses Nomad (see here) to manage the life cycle of the SW components.
Please configure Nomad and Consul accordingly.
Start nomad and consul services
$ systemctl start nomad
$ systemctl start consul
Check status of nomad and consul services
$ systemctl status nomad
$ systemctl status consul
Stop nomad and consul services
$ systemctl stop nomad
$ systemctl stop consul
ECM Deployment
TBC
HW Deployment
TBC