VOV Registry

The VOV Registry contains the list of all projects 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-2020, 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_46113_Apr15/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 time stamp to the shutdown time and sets the status value to "stopped".

List Projects in the Registry

  1. 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.
  2. 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 status is running but whose time stamp is older than 1800 seconds (1/2 hour).
  3. To determine whether a project's server is running, use the UNIX ps(1) command on the machine that hosts the project.

Registry Concerns

Because creating a VOV project also creates the registry entry, the registry directory must be on a writable file system with permissions permitting VOV users can create files there.

As the vovserver update their registry entry files periodically, the registry directory must be mountable from any machine which hosts a VOV project. The standard registry directory location satisfies this requirement as it is a subdirectory of the registry that contains the VOV software.
Note: A file system that is exported as read-only does not meet the requirements; it will not work.
Multiple versions of VOV 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:
  1. Move the local directory as a sibling to the version directories.
  2. 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 there 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 can not start it using vovproject, because the regentry file that contained the project metadata is gone.
You can recreate the regentry file by starting vovserver manually as follows, starting vovserver from the command line.
+ determine the machine on which to start vovserver 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