Skip to content

Workload Management

Note

Workload management is restricted to members of 'admin' and 'kuiper' user groups

The workload management page allows users to create, edit, and delete workload templates, including assigning templates to specific groups and projects. Each template row in the table can be expanded to show additional details for the workload.

workload-creation

Pre-requisites

Before continuing, ensure you have installed a workload template schema from Terra. You can find the instructions for this in the Terra Plugin Installation documentation.

Template Creation

Use the Create button at the top left of the table to open the template creation wizard.

workload-creation

Schema Version

The first drop down will list the available schema template versions. These will be grouped by the workload type you are creating the template for. Once selected, the template schema fields will appear for you to fill out.

workload-creation

Schema Fields

The schema fields available may differ between the schema version selected. The UI will prompt you for all required fields for the schema. Once the fields are filled out simply click submit at the bottom right, and the workload template will now be created.

workoad-creation

Schema Field Types

When authoring a workload template via Terra the author of the plugin can define additional fields within the configMaps data. These are then populated into the Genesis front end UI.

Please note

Not all Genesis release versions have full field support. Field type and support is continuously added in newer release versions. See Terra's Plugin Fields documentation for the full list of supported field types and properties.

Template Env Variables

Add Environment Variables to a template, which can be used and accessed directly from within a workload.

Auto Shutdown & Hibernation Fields

Every workload template schema now includes 3 additional fields, letting template authors control if and how an idle Kuiper workload winds itself down.

Field Values Description
autoShutdown Enabled / Disabled Turns the idle shutdown timer on or off.
shutdownMethod Shutdown / Hibernate Whether an idle workload is fully shutdown or hibernated. See below.
shutdownTimeout Integer (minutes) Idle time allowed before shutdown/hibernation. Defaults to 45.

autoshutdown-fields

Disabled by default behavior

shutdownMethod and shutdownTimeout are only used when autoShutdown is Enabled. If autoShutdown is set to Disabled, the workload behaves exactly as it does today, users are responsible for manually shutting the workload down themselves.

Shutdown vs. Hibernate

  • Shutdown - The workload is fully torn down, the same as if a user manually deleted it.
  • Hibernate - The workload's StatefulSets and/or Deployments are scaled to 0 replicas, which deletes the running pods and scales the workload's compute usage down without deleting the workload itself. Users can reactivate a hibernated workload from Hubble, which scales the replicas back up.

Hibernation does not save session state

Scaling replicas to 0 deletes the pod, so anything living only in the pod's filesystem or memory is lost. To persist data across a hibernate/activate cycle, the workload must write to a Persistent Volume Claim (PVC). For Helios workloads, admins can additionally configure an XFCE4 session to save a user's desktop session to their home directory, see the Helios session persistence guide for setup steps.

Read more about how the shutdown timer, warning notifications, and manual hibernate/activate controls behave from a user's perspective in the Hubble Workloads documentation.

Template Group/Project Assignment

During template creation you must assign the template to at least one group. Assigned templates are available only to the selected group(s); you can scope them to a project or to a specific user group. Learn more about user management here

Template Actions

Edit

From the main table, users can choose to edit a workload template by clicking the pencil icon on the template's row. Doing so will pull up the same creation form, pre-filled in with the current template values. Users can edit any field as needed. The schema version will default to the current template's version, and is not editable. If a new version is needed, users can create a new workload via the CREATE WORKLOAD button.

workload-edit

Delete

Users can also choose to delete a workload template by clicking the red trash can icon on the template's row. The user will be prompted with a confirmation before proceeding.

workload-delete

Duplicate

Users can duplicated a template by selecting the duplicate icon on each row.

Note

Deprecated templates cannot be duplicated. See the Deprecated section below.

workload-duplicate

Upgrade

When a chart for a template changes, you will be able to upgrade the template so it matches what changes the chart has. You can upgrade all templates in the table or upgrade a single template by selecting the upgrade button on the row.

workload-upgrade

Deprecated

A template becomes deprecated when the template matching schema is no longer found or if the template associated schema has changed, and it now has required fields the original template never had. You may continue using the template, and workloads can still be launched from it, but you will no longer be able to edit or duplicate the template.

All pre-existing templates were deprecated in this release

Every workload schema now includes the autoShutdown, shutdownMethod, and shutdownTimeout fields described above. Because templates created prior to this release don't have values for these new required fields, they are marked as deprecated as part of this upgrade. Deprecated templates remain fully usable, users can still launch workloads from them, but they cannot be edited or duplicated, and workloads launched from them will not have the automatic idle shutdown timer. Users can still manually hibernate these workloads at any time from Hubble, see Manual Hibernate/Activate. To adopt the automatic auto shutdown/hibernation timer, create a new workload template.

workload-deprecated