Project

General

Profile

General Description

Overview

The NOvA DAQ software for control rooms consists of the desktop icons and scripts that are on the control room desktops for launching applications and utilities for running and monitoring the DAQ.

Design

There are distinct users (accounts on the operating system) for each control room desktop. These accounts run vnc desktops for each user. The desktops (screens) are populated in the usual way with icons established and controlled by .desktop files in the user's Desktop directory. For example, user novacr01 will have desktop icons corresponding to the .desktop files in the directory /home/novacr01/Desktop. The users directories are distinct at the near and far detectors, but the usernames are the same, novacr01, novacr02, novacr03, ... novacrNN. In general the programs or scripts that are called by the icons live in either the ~/DAQ-Desktop-Utilities directory or the ~/bin/ directory. (Ed: There should only be one directory)

In order to manage the icons and be able to reproduce the system in case of crash, accidental deletion, addition, etc., the files in these directories are stored in the DAQ cvs repository. They belong to the NovaControlRoom package.

Committing changes

If you make any changes to icons or the scripts they call, you MUST commit the changes to the repository. To do so,
  1. Kerberize as yourself (the novadaq or novacrNN users do not have write permissions to the repository - if you don't, ask the DAQ convener for permissions).
  2. Commit (with a helpful message saying what you've changed).
    cvs -d novacvs@cdcvs.fnal.gov:/cvs/nova commit -m "Message here." <file>
    

Implementation details

Each set of files is stored in the structure that starts with the directory: {Desktop,DAQ-Desktop-Utilities,bin} (In addition to these, there are a couple of other directories for bookmarks etc, but they are so ridiculously out of date that we are probably better off forgetting about them.)

Under the directory in the repository there is a subdirectory for each location: {FarDet, NearDet, and TestBeam} (again, some additional vestigial directories in the repository that are not worth mentioning.)

Under the location there is a name corresponding to the number in the username, for example, for novacr01, the directory is nova-daq-01. This is the level where the actual files are stored.

So, for example, the Far Detector user novacr02's desktop icon OnMonProducer.desktop will be in CVS in

root/NovaControlRoom/Desktop/FarDet/nova-daq-02/OnMonProducer.desktop

Historical note

The following bits are historical, and I will try to clarify things and delete what is below here if/when I can make this section make more sense. So, there may be some confusing bits below. They were for me. (Leon 2019-03-07)

Overview

The NOvA DAQ software for control rooms consists of the desktop icons and scripts that are not directly part of the DAQ system, but which facilitate the launching of various DAQ applications and utilities.

Icons launch simple linux commands or shell scripts specified in the icon properties menu (right click)/"Application" tab/"Command" field.

Deployment

The Control Room software files are deployed in the system according to the table below (with some exceptions to be cleaned up)

Items Machine(s) Path Function
Desktop Icons Control Room, DAQ cluster VNC servers ~/Desktop User launch interface
Desktop Icon Auxiliary Scripts Control Room, DAQ cluster VNC servers ~/DAQ-Desktop-Utilities Scripts linking icons to actions on DAQ Cluster
Local scripts Control Room, DAQ cluster VNC servers ~/bin Scripts for local actions
Utility scripts Any temporary user location Utility scripts for managing Control Room software

The above folders are in /home/novacr0X/.

CVS Archive

The Control Room software files are stored in CVS in a hierarchy of
  • Path sub-directory
    • Detector (FarDet, NearDet, etc.)
      • Machine (sans domain)

This hierarchy must be maintained for the deployment utility scripts to work correctly.

Committing changes

If you make any changes to icons or the scripts they call, please commit the changes to the repository. To do so,
  1. Kerberize as yourself (the novadaq user does not have write permissions to the repository - if you don't, ask the DAQ convener for permissions).
  2. Commit (with a helpful message saying what you've changed).
    > cvs -d novacvs@cdcvs.fnal.gov:/cvs/nova commit -m "Message here." <file>
    > 

Path sub-directory

  • Desktop - Contains desktop icons used by the desktop manager
  • DAQ-Desktop-Utilities - Scripts linking icons to DAQ actions
  • bin - Scripts executing functions
  • .mozilla - bookmarks, etc., used by Firefox
  • .s3producer - used by the screen snapshot service
  • graphics - graphics used by icons, etc.

Detectors

Since we have migrated to running the DAQ desktop environments on machines remote to the control rooms, we now have two kinds of environments represented by "Detector" in the CVS file hierarchy:
  • Actual detectors, such as NearDet, FarDet
  • Control Room "detectors", currently FermilabCR and AshRiverCR

The latter have many fewer utilities, currently only for getting kerberos tickets, and for launching VNC viewers to connect to the virtual desktops running on the DAQ clusters.

Machines

As we've started to deploy the DAQ desktop environments to machines other than the original nova-daq-NN ones, there is no longer a direct correspondence between the machine name in the CVS hierarchy and actual machine. To reduce confusion, the CVS "machine" names are different for the two detector types:
  • nova-daq-NN for the actual detectors
  • cr-NN for the control room "detectors"