Argos ICS Installation under Centos 7

These are the instructions to install Argos ICS under Centos 7

Setting up Centos 7

After a fresh installation we need to do the following steps:

Stop and disable the firewall

sudo systemctl disable firewalld

Set SELinux permissive

sudo setenforce permissive 

Set ntp servers and timezone

sudo timedatectl set-timezone UTC

Add these lines to /etc/ntp.conf:
server gps0.mountain.lbto.org
server gps1.mountain.lbto.org
server ntp1.arizona.edu
server ntp2.arizona.edu

Setup maximum number of open files and user processes

Add the following lines to /etc/security/limits.conf
*               soft    core             0
*               hard    core             unlimited
*               soft    nofile            9000
*               hard    nofile           10000
*               soft    nproc            15535
*               hard    nproc            15535

argos            soft    nproc           65535
argos            hard    nproc           65535
argos            soft    nofile           65535
argos            hard    nofile           65535

and to /etc/sysctl.conf
fs.file-max=65535

Mount nfs partition

Add the argos user (if not already created)
sudo adduser argos
sudo passwd argos

Add this line to /etc/fstab (not if a tucson.lbto.org dev system)

192.168.26.149:/home/argos/nfs/ /home/argos/nfs nfs rw,sync,hard,intr 0 0

Then execute (not if a tucson.lbto.org dev system)

sudo mount /home/argos/nfs

Adding additional repositories and installing software dependencies

numpy-devel.x86_64 not (yet?) available on the mpia Centos 7 repo.

Package with dependency problem: h5py-2.3.1-1.frb.x86_64 (@mpia)
Requires: hdf5 = 1.8.12
Removing: hdf5-1.8.12-11.el7.x86_64 (@epel)
hdf5 = 1.8.12-11.el7
Updated By: hdf5-1.10.5-0.el7.x86_64 (lbto)
hdf5 = 1.10.5-0.el7
Available: hdf5-1.8.12-7.frb.x86_64 (mpia)
hdf5 = 1.8.12-7.frb
Used --skip-broken to work around the problem.
May try running: rpm -Va --nofiles --nodigest

cd /etc/yum.repos.d
sudo wget http://www2.mpia-hd.mpg.de/~GULLI/repository/linux/cent/mpia.repo
sudo wget https://zeroc.com/download/rpm/zeroc-ice-el7.repo
sudo yum install ice-all-runtime ice-all-devel qwt4-devel subversion cfitsio cfitsio-devel.x86_64 pexpect pyfits bc bzip2-devel PyQt4-devel boost-devel xorg-x11-server-Xvfb xorg-x11-utils python-astropy.x86_64 libpng.x86_64 libpng-devel.x86_64 libcurl-devel.x86_64 libcurl.x86_64 openssl-devel.x86_64 openssl.x86_64 numpy-devel.x86_64
sudo wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
sudo rpm -ivh epel-release-7-12.noarch.rpm
sudo yum install python2-pip.noarch python-ipython.noarch ds9.x86_64 python-pandas.x86_64 python-simplejson.x86_64
sudo pip install zeroc-ice
sudo yum check-update
sudo yum update

Set up the environment

Add to ~/.bashrc the following entries:
export INSROOT=/home/argos/apps
export ARGOS_WORKSPACE_PATH=/home/argos/workspace/argos_trunk
export QT_PLUGIN_PATH=$INSROOT/lib/plugins
export PATH=$INSROOT/bin:$INSROOT/man:$INSROOT/bin/dx-lalas:$INSROOT/bin/sx-lalas:$INSROOT/bin/dx-lgsw:$INSROOT/bin/sx-lgsw:$PATH
export PYTHONPATH=$INSROOT/lib/python/site-packages:$PYTHONPATH
export LD_LIBRARY_PATH=/home/argos/apps/lib:$LD_LIBRARY_PATH
export HISTSIZE=90000
export HISTFILESIZE=900000

# User specific aliases and functions (optional)

alias ...='cd ../..'
alias ..='cd ..'
alias m='make -j 10'
alias mi='make -j 10 install'
alias mu='make -j 10 uninstall'
alias mc='make check'
alias mcl='make check ENABLE_LONG_RUNNING_TESTS="YES"'

Optional: Zabbix installation / restore from backup

In this example we install zabbix 2.2
sudo yum install httpd.x86_64 postgresql postgresql-libs postgresql-server
sudo yum install zabbix22-agent.x86_64 zabbix22-server.noarch zabbix22-server-pgsql.x86_64 zabbix22-web-pgsql.noarch
sudo postgresql-setup initdb
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
sudo systemctl enable postgresql.service
sudo systemctl start postgresql.service
sudo systemctl enable zabbix-agent.service
sudo systemctl enable zabbix-server.service
sudo systemctl start zabbix-agent.service
sudo systemctl start zabbix-server.service

To setup zabbix from scratch follow these wiki: Zabbix scratch install

To restore a backup these wiki: Zabbix backup instructions

Installing Argos ICS

Check out the latest version of Argos in your workspace
git clone https://github.com/LBTO/argos.git
cd argos
<Take a look to the instructions in README>

Edit accordingly deploy.py and execute:
./deploy.py

Setting up Matplotlib

Edit /usr/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc add/or modify these 3 lines:
backend      : GTKAgg
image.interpolation  : nearest    # see help(imshow) for options
image.origin : lower              # lower | upper

Notes about ICE compatibility

CentOS 7 comes with Ice 3.6 by default. At the moment some Argos devices like the Bonn Unit, aperture wheel, and the WFS Camera run Ice 3.4. Therefore newer clients will not be able to connect to these devices unless forcing them to use Encoding 1.0. Same situation if we run the Argos clients, like GUIs, argos terminal against CentOS 6 servers. The following entries can be added on the client side to solve this situation. --Ice.Default.EncodingVersion=1.0 --Ice.Default.InvocationTimeout=-2

Specifically, in Argos these files were modified to run Ice 3.6 on the client side and Ice 3.4 on the servers:

site/lbt/common/insroot/bin/argos_constants.inc

site/lbt/common/insroot/bin/argos_constants.inc

site/lbt/sx-lgsw/insroot/bin/argos_sx_lgsw_ccd_viewer

site/lbt/dx-lgsw/insroot/bin/argos_dx_lgsw_ccd_viewer
Topic revision: r8 - 13 Dec 2019, CarlHolmberg
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