Configuration files

Linaro Forge uses two configuration files: the system configuration file system.config file and the user-specific user.config. The system configuration file specifies properties such as MPI implementation. The user-specific configuration file describes user preferences, such as font size. The files are controlled by environment variables:

FORGE_USER_CONFIG

User-specific settings file. Stores GUI settings such as fonts, color schemes, which tabs and columns are shown/hidden. You may wish this file to be shared among all clusters you have access to.

Defaults to ${FORGE_CONFIG_DIR}/user.config.

FORGE_SYSTEM_CONFIG

System-specific settings file. Stores startup settings, breakpoints, enabled/disabled metrics etc. You will wish this file to be specific to each cluster you have access to.

Defaults to ${FORGE_CONFIG_DIR}/system.config.

FORGE_CONFIG_DIR

Directory where Linaro Forge configuration, cache, and temporary files are stored. Defaults to ${HOME}/.allinea.

Warning

These configuration files and directories contain user specific configuration and authentication information.

To prevent unauthorized users modifying sensitive files and directories, and introducing unsafe code into your environment, ensure that you assign only the minimum permissions that are required, and avoid group or world-writable permissions.

Sitewide configuration

If you are the system administrator, or have write-access to the installation directory, you can provide a configuration file which other users are automatically given a copy of the first time that they start Linaro Forge. In this case, users no longer need to provide configuration for site-specific aspects such as queue templates and job submission.

Warning

To prevent unauthorized users modifying sensitive files and directories, and introducing unsafe code into your environment, ensure that you assign only the minimum permissions that are required, and avoid group or world-writable permissions.

Configure Linaro Forge normally and run a test program to make sure all the settings are correct. When you are satisfied with your configuration, execute this command:

forge --clean-config

The --clean-config option removes any user-specific settings from your system configuration file and creates a system.config file that can provide the default settings for all users on your system. Instructions about how to do this are printed when --clean-config completes.

Note

Only the system.config file is generated. Linaro Forge also uses a user-specific user.config, which is not affected.

If you want to use to attach to running jobs, you must also create a file called nodes in the installation directory which lists the compute nodes to which you want to attach. See Attach to running programs for details.

Startup scripts

At startup, Linaro Forge searches for a sitewide startup script called allinearc in the root of the installation directory. If this file exists, the software sources it and then starts the tool. When using the remote client, the software sources this startup script, and then starts any sitewide remote-init remote daemon startup script.

Similarly, you can also provide a user-specific startup script in ~/.allinea/allinearc.

Warning

To prevent unauthorized users modifying sensitive files and directories, and introducing unsafe code into your environment, ensure that you assign only the minimum permissions that are required, and avoid group or world-writable permissions.

Note

If the environment variable is set, the software looks in /allinearc instead. When using the remote client, the software sources the user-specific startup script followed by the user-specific ~/.allinea/remote-init remote daemon startup script.

Importing legacy configuration

If you have used a version of Linaro DDT prior to version 4.0, your existing configuration is imported automatically. If the DDTCONFIG environment variable is set, or you use the --config command-line argument, the existing configuration is imported. However, the legacy configuration file is not modified, and subsequent configuration changes are saved as described in the previous sections.

Converting legacy sitewide configuration files

If you have existing sitewide configuration files from a version of Linaro DDT prior to 4.0 you must convert them to the new 4.0 format. You can do this using the following command line:

Note

Ensure that newconfig.ddt does not exist before you submit the command.

forge --config=oldconfig.ddt --system-config=newconfig.ddt --clean-config

Using shared home directories on multiple systems

If your site uses the same home directory for multiple systems you might want to use a different configuration directory for each system.

You can do this by specifying the FORGE_CONFIG_DIR environment variable before starting Linaro Forge. If you use the module system, you can set FORGE_CONFIG_DIR according to the system on which the module was loaded.

For example, if you have two systems: harvester with login nodes harvester-login1 and harvester-login2, and sandworm with login nodes sandworm-login1 and sandworm-login2, you can add something like the following code to your module file:

case $(hostname) in
  harvester-login*)
    FORGE_CONFIG_DIR=$HOME/.allinea/harvester
    ;;
  sandworm-login*)
    FORGE_CONFIG_DIR=$HOME/.allinea/sandworm
    ;;
esac

Using a shared installation on multiple systems

If you have multiple systems sharing a common installation, you can have a different default configuration for each system. You can use the FORGE_DEFAULT_SYSTEM_CONFIG environment variable to specify a different file for each system. For example, you can add something like the following code to your module file:

case $(hostname) in
  harvester-login*)
    FORGE_DEFAULT_SYSTEM_CONFIG=/sw/forge/harvester.config
        ;;
  sandworm-login*)
    FORGE_DEFAULT_SYSTEM_CONFIG=/sw/forge/sandworm.config
    ;;
  esac