Project Registry

The Registry contains the list of all project known to an installation of Altair Accelerator software.

The registry is used by the vovproject command, and stores metadata such as the host machine and port number of a project.
% vovproject list
    PROJECT                     OWNER  HOST       PORT  STATUS
1   IDT                         johnak linux33    6425  stopped
2   TEM                         johnak mac05      6430  stopped
3   chip1                       johnak maclap     6250  running
4   chiptest                    johnak mac05      6442  obsolete

The registry is normally in the directory $VOVDIR/local/registry but an alternative location may be specified by setting the environment variable VOV_REGISTRY.

The registry directory contains one entry per project. Each entry is a file with a name of the form project@host. The file is written in Tcl syntax and contains key information about the project. This is known as a regentry file.

As of version 2015.03, the registry places the regentry files for each user's projects under a subdirectory named for their user account. In the following example, the file would be in $VOV_REGISTRY/cadmgr/vnc@rtda01.

The vovproject command should automatically move a project's regentry file into the user-specific subdirectory the first time the project is started on 2015.03. To revert to an earlier release, you must move the regentry file manually.

For example, an entry called vnc@rtda01 may contain the following information:
# -- This registry file is generated automatically. DO NOT EDIT!
# -- Copyright © 1995-2021, Altair Engineering
set host        "rtda01"
set project     "vnc"
set product     "nc"
set owner       "cadmgr"
set startdate    1331080351; # Tue Mar  6 16:32:31 2012
set version     "2015.03"
set protocol    "8.2.1"
set protocolid  "120150304"
set swd         "/remote/proj/cadmgr/vnc"
set port         6271
set pid          3153
set description {}
set status      "running"
set vovdir      "/remote/release/VOV/2015.03/linux64"
set timestamp    1436228536; # Mon Jul  6 17:22:16 2015
set swdmap(keys)    {unix canonical registry windows full }
set swdmap(unix)            {/remote/proj/cadmgr/vnc}
set swdmap(canonical)       {${VNCSWD}}
set swdmap(registry)        {/remote/proj/cadmgr/vnc}
set swdmap(windows)         {r:/VOV/vnc}
set swdmap(full)            {/remote/proj/cadmgr/vnc}

The project's regentry file is initially created by the vovproject create command. Thereafter, the running vovserver updates its registry entry file every 10 to 30 minutes. During normal shutdown, the server updates the timestamp to the shutdown time and sets the status value to "stopped".

To list your project entries in the registry, use the following command:`
% vovproject list
The above command will only list projects belonging to the user who issues the command. To get detailed information about all projects, use this command:
% vovproject list -all -l
Note: If the server stops suddenly because it is killed or its host machine crashes, the registry entry will not reflect the correct status of the project. The vovproject list command will show 'obsolete' for projects whose underlying status is running but whose timestamp is older than 1800 seconds (1/2 hour).
When your project shows an obsolete status, you can get it back into a useful running status by starting it and enabling it.
% vovproject start project-name
% vovproject enable project-name
% vovproject list

To determine whether a project's server is running is to use the UNIX ps(1) command on the machine which hosts the project.

Administrator Concerns about the Registry

Because creating a project also creates the registry entry, the registry directory must be on a writable filesystem with permissions permitting users to create files there.

As the vovserver program updates their registry entry files periodically, the registry directory must be mountable from any machine which hosts a FlowTracer project. The standard registry directory location satisfies this requirement as it is a subdirectory of the registry that contains the Altair Accelerator software.
Note: A filesystem that is exported as read-only does not meet the requirements; it will not work.
Multiple versions of Altair Accelerator software can be set up to access the same set of projects by sharing the registry directory or the entire local directory among the versions. To set this up:
  • Move the local directory as a sibling to the version directories.
  • Create symbolic links from the local directory of each version to the shared directory.

Missing Registry Entry Files

Sometimes a project's regentry file may be absent or corrupted (for example, truncated to zero because the owner is over quota). Here are two cases: vovserver running, and not running.
  • If the vovserver is running, it will re-write the registry file if possible.
  • If the vovserver was not running, you cannot start it using vovproject, because the regentry file that contained the project metadata is gone.
You can re-create the regentry file by starting vovserver manually as follows, starting vovserver from the command line.
+ determine the machine on which to start the vovserver program by
  examining the project's setup.tcl file
+ get a shell as the project owner on that machine
+ change to the parent of the <project>.swd directory
+ enter the project environment by
% ves <project>.swd/setup.tcl
+ start vovserver
% vovserver -jsb $VOV_PROJECT_NAME