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

  1. 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):

  1. 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

  1. Login as eltdev user.

  2. 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.)

  1. Under eltdev home directory:

$ mkdir modulefiles
$ cd modulefiles
  1. Create and edit the file private.lua under modulefiles directory. 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