Central Install

With Central Install, applications are installed on a central file system. Client computers can then run the applications as if they were installed locally. The benefit is that upgrades can be made on a project by project basis rather than in one complete migration. This minimizes the risk of compatibility problems. It also allows users to switch between various versions of the same application and enables participation in beta software programs without the risk of disrupting production.

Overview

  1. Install the applications on a networked file server or data drive. The installation process writes the application files and creates a custom launcher on the server.
  2. From the client machine that will run the application, run the custom launcher on the server. When launching centrally-installed applications, there is a slight delay during initial setup, after which applications behave as if they were installed locally.

Set up the central installation

  1. If installing a Linux application, use a Linux machine. Same for OS X applications; use a Mac. In a terminal, as root, go to the path containing the application to be centrally installed. The machine hosting the central install can be either Linux or OS X.
  2. Run ./CENTRAL_INSTALL /<path-to-install-file> /<path-on-central-host>.
    • For syntax help run ./CENTRAL_INSTALL.
    • <path-to-install-file>: may be omitted if it's in the current working directory. Do not the packages with app in their name. Use the complete package to create a successful central install build. App packages are those which have common installers for shared packages.
    • <path-on-central-host> is the directory that will contain the installations. Linux and OS X installers cannot be in the same directory.
  3. When the installation is complete, enable SUID on the repository if it will be accessed by any workstations using NFS.

Lustre

Additional setup may be required to use Lustre in a central installation. To specify the location of Lustre projects, users, and other relevant folders/directories, edit init.config in the Lustre installation directory and define:
  • MainProjectHome
  • MainUserHome
  • GlobalGradeBinHome
  • PresetsHome
  • TemplatesHome

Once complete, make sure that all the required directories are accessible with the necessary user permissions for all systems that will run Lustre. For more information, see the Flame User Guide > Flame Premium Grading - Lustre > Configuring System Settings.

Client system requirements and launch

When run from a compatible system, the script specifies the host where the designated application(s) will be stored and accessed before installing the relevant source files. To streamline the process, Autodesk Kickstart may be installed. For both Linux and Mac, the following is needed:

For OSX-based systems, the following software is required: The g++ compiler; usually included with Xcode.

For Linux-based systems, the following package groups are required for system preparation in addition to a Minimal OS install performed on a clean machine:

Launch applications

To launch a centrally-installed application on a workstation, run the launch utility. For example:

Enabling hot keys in a mixed user environment

In environments that employ user accounts other than standard flame family users, some extra customization is required to make application hot keys work correctly. To do this, copy the application's KDE file to the user's personal directory. To copy the KDE file, copy the .kde file to the user's home/.kde directory, for example cp -r /centralinstall/2016/usr/discreet/flame_2016/.kde/* /userpath/username/.kde/

Extracting the launch utility source code

It may be helpful to customize the launch utility. To extract the launcher source code from its wrapper and save it to a file:
  1. In a terminal, go to the application installation folder/directory.
  2. Enter ./CENTRAL_INSTALL -e [filename.cpp] where [filename.cpp] is the name of unwrapped file. The source code is extracted to the specified file. A system administrator can then include the required code before recompiling the custom launcher.