Migrating to Farm 2.0 Standalone#

This guide provides information to help migrate from Omniverse Launcher based installations of Farm 105.x and 106.x to the new Farm Standalone 2.x. It provides information on the key differences as well as additional configuration steps that may be required. It is meant to work in conjunction, as a pre-read, to Deploying Standalone Omniverse Farm.

Key Differences#

Farm 105/106 uses Omniverse Launcher for installation and Omniverse Kit for UIs, token-expansion in configuration files, and convenience in implementing service endpoints. Farm 2.0 has moved to a pure Python implementation resulting in the following differences:

  • Farm 2.0 uses standard Python installation via pip and Python wheel files, rather than the Omniverse Launcher UI.

  • Farm services are launched via the command-line rather than the Launcher.

  • Farm services are configured via configuration files, rather than using the Farm Queue and Agent UI widgets.

  • Single system deployments are still easily available via the farm command.

  • The underlying services are directly accessible for broader deployment options and scalability.

  • Kit-based cross-platform token expansion is no longer supported in configuration files and job definitions.

  • Familiarity with creating configuration files and invoking commands from the shell are now required, as is starting services at start-up if desired.

  • Job definitions are not automatically installed, in particular create-render, used for submitting Kit application based rendering to a Farm instance.

  • The default mechanism used for managing job-definitions has changed.

Migration Steps#

Beyond following the deployment steps in Deploying Standalone Omniverse Farm, the following are likely to be required.

  • Migrate your existing job-definitions to Farm 2.0.
    • Ensure they are accessible by Farm 2.0.

    • Remove Kit-based token expansion, which may require creating job-definition variants.

    • Replace Omniverse Launcher-based command arguments with explicit paths to Kit applications.

  • If using the create-render job definition for Farm rendering, ensure it is installed and configured with an accessible path to a valid Kit application.

Launching Farm#

Launcher-based Farm 105/106 Queue and Agent were started by clicking the “Launch” button in the Omniverse Launcher. These pre-bundled and configured the underlying Farm component services. With Farm 2.0 Standalone, you can more directly specify how the underlying services are launched, while maintaining the convenience that Farm Queue and Farm Agent provided.

Farm 2.0 standalone allows you to individually start each of the individually services, while also starting pre-configured bundles.

Launch Farm Queue and Agent#
farm
Launch Farm Queue without Farm Agent#
farm-api
Launch just Farm Agent#
controller-svc

Each component service can also be started.

Launch just the jobs service#
jobs-svc

Typically, these are started with configuration files specifying exactly how the service should run.

Specify a configuration for how Farm Queue should run#
farm -c farm_queue.toml

This is discussed in more detail as part of the Deploying Standalone Omniverse Farm guide. Guides specific for scaling the jobs, tasks, and agents services are also available.