Installation

Machine Preparation

The ELT gateway will run on a standard ELT INS machine whereas the VLT gateway will run on a standard VLTSW WS. If no workstation is available, it is possible for testing to run the ELT gateway and VLT gateway in two VMs:

Install a VM for the ELT Gateway with:

  • 4x Core Intel CPU.

  • 8 Gb RAM

  • 50GB disk

  • 1 NIC

  • Fedora 38

  • Developement environment: EltDevEnv 5.2.0-1.fc38

Install a VM for the VLT Gateway with:

  • 4x Core Intel CPU.

  • 8 Gb RAM

  • 50GB disk

  • 1 NIC

  • CentOS 8

  • Developement environment: VLT2024

If needed, install a VM for CII services.

Operational User

The infrastructure configuration shall be done for both ELT-GW and VLT-GW as root.

The building of the VLT gateway shall be done as vgwmgr.

The system startup will be done with account eltdev on the ELT-GW host.

Environment Variables

The ELT-GW relies on the following environment variables:

  • ELTGW_ROOT: it shall point to the elt gateway software installation directory, in principle /elt/eltgw.

  • NOMAD_ADDR: it shall point to the nomad server, host name:4646.

  • CONSUL_HTTP_ADDR: it shall point to the consul server, host name:8500

Check beforehand whether these variables are set and whether they are valid. If needed, define them in a .lua file or in .bashrc.

Installing software

On the ELT-GW host:

  • Log-in as root

  • In the download directory, do: dnf install elt-eltgw* puppet-evltgw

  • go to /usr/local/bin/evltgw-install

    • edit data/common.yaml appropriately. The more relevant parameters at this stage are:

      • eltgwip: ip address of eltGW host

      • vltgwip: ip address of vltGW host

      • cii_host: ip of the host where cii services are running.

    • run ./installELTGW

  • If you run the cii services on the same host as the eltgw, execute: /elt/ciisrv/postinstall/cii-postinstall role_groupserver

  • If you run the cii services on another machine, execute: /elt/ciisrv/postinstall/cii-postinstall role_groupclient cii services host

On the VLT-GW host:

  • Log-in as root

  • Download the following rpms: puppet-evltgw-1.0.0-2.fc34.noarch.

  • In the download directory, do: dnf install puppet-evltgw

  • Go to /usr/local/bin/evltgw-install

  • If you want to use local tcs with local tcs database:

    • As vltmgr, setup db with: initacc.sh. It will create an eltgw environment named wvgw and a test tcs environment named wxxtcs.

    • As root: ./installVLTTCSSIM: it will create accounts tcs and tcsmgr.

  • In data/common.yaml set ips for: elt gateway (vgw::eltip), vlt gateway (vgw::vltgwip), telescope ip (vgw::tcsgwip), acc db host (vgw::acchost), tcs ccs env name (vgw::tcs_envname), introot (vgw::introot), insroot (vgw::ins_root), vlt root (vgw::vltroot)

  • Execute the script: ./installVLTGW: the accounts vgw and vgwmgr shall be created.

  • Log-in as vgwmgr

  • Do a git clone of version 1.0.1 from evltgw release

  • Modify the configuration files inMsgVGWConfig.yaml, inScanVGWConfig.yaml, outMsgVGWConfig.yaml, outScanVGWConfig.yaml available at evltgw/vltGW/CONFIG/vgwroots/src/INS_ROOT/SYSTEM/COMMON/CONFIGFILES/ as described in VLT Gateway

  • Go to evltgw/vltGW and do: pkginBuild vgwins -clean. Scanning will fail if TCS environment is not up and running. The scan link creation step may fail even if a TCS environment is available. In this case, you should restart pkginbuild from this step with: pkginBuild vgwins -fromstep CREATE_SCAN

Nomad and consul services

ELT-GW is using the nomad workload manager and the consul service registry. Nomad and consul are stopped and started with systemctl. The nomad and consul services running on the eltGW VM will run in server mode and will be part of a cluster whose clients run on other hosts (e.g. the instrument workstation), see APPENDIX for examples of nomad and consul configuration on both client and server sides. Two important parameters for the nomad client on eltGW VM are defined in the meta stanza of the client stanza in nomad.hcl:

  • eltgw_root: It shall contain the location of the directory where all the executables and configuration files are installed, e.g. /elt/eltgw.

  • host_type: it shall be set to eltgw so that the eltGW is executed on the right server.

The NOMAD_ADDR environment variable points to the nomad server and shall be set in either .bashrc or private.lua file (normally to to http://${HOSTNAME}:4646).

CONSUL_HTTP_ADDR points to the consul server and shall be set either in .bashrc or private.lua file (normally http://${HOSTNAME}:8500). Any of these variable should be modified only if consul or nomad were listening on a different port.