Temporal Workflows

View as Markdown

NVIDIA Config Manager uses Temporal for workflow orchestration, providing durability, observability, and complex workflow capabilities. Refer to the Config Manager Temporal documentation for more detailed information on workflows.

Device-facing workflows require reachable devices. A local deployment using mock data can show workflow forms and rendered artifacts, but it does not validate SSH/API device behavior, ZTP, cable validation, password rotation, deploy diffs, backups, reprovisioning, or hardware collection.

For a real lab or production site, start with workflows that prove reachability and visibility before making broad changes.

WorkflowStart here when…
Configuration BackupYou need to confirm credentials, management reachability, and baseline running config capture.
Configuration DeployYou have one reviewed intended-config change to apply to one device.
Multi-Device DeploySingle-device deploy is proven and you need grouped diff approval across a role.
Cable ValidationDevices are reachable and Nautobot cabling needs to be compared against observed LLDP/FDB/ARP data.

Use Controlling Running Workflows before approving, rejecting, retrying, or terminating a live workflow.

Workflow Interface Features

Workflow Details View

  • Workflow name and description
  • Site and user attribution
  • Start time and duration
  • Current state (IN PROGRESS, COMPLETE, FAILED)

Stage Tracking

  • Multi-stage workflows with clear progression
  • Each stage shows:
    • Stage name and description
    • Start and end times
    • Duration
    • Status indicator (COMPLETE, IN PROGRESS)

Output and History

  • Real-time output display
  • State history with timestamps
  • Configuration change summaries

Workflow Types

Config Manager supports multiple workflow categories visible in the Temporal UI:

  • BackupWorkflow
  • BatchDeployWorkflow
  • ConnectedHostMetadataWorkflow
  • DeployWorkflow
  • DeviceCableValidationWorkflow
  • DevicePasswordRotationWorkflow
  • HelloWorld (example/test workflow)
  • HelloWorldApproval (example with approval)
  • InfinibandCableValidationWorkflow
  • InfinibandGetUnhealthyPortsWorkflow
  • InfinibandMlnxOSUpgradeWorkflow
  • MultiDeployWorkflow
  • NVLinkSwitchFirmwareUpgradeWorkflow
  • PortLLDPInfoWorkflow
  • RedfishProvisioningWorkflow
  • ReprovisionWorkflow
  • SiteCableValidationWorkflow
  • SitePasswordRotationWorkflow
  • SwitchOSUpgradeWorkflow
  • TenantDeployWorkflow
  • ValidateHardwareWorkflow
  • VpcAssignmentWorkflow
  • VpcCreationWorkflow
  • VpcDeletionWorkflow
  • VpcTenantChangeWorkflow

Workflow API Endpoints

Workflow Management

Available through REST API at /v1/workflow/:

EndpointMethodDescription
/GETList workflows
/typesGETGet registered workflow types
/{workflow_id}GETGet workflow execution details
/{workflow_id}/approve/{stage_name}POSTApprove a workflow stage
/{workflow_id}/reject/{stage_name}POSTReject a workflow stage
/{workflow_id}/retry/{stage_name}POSTRetry a workflow stage
/{workflow_id}/terminatePOSTTerminate a workflow

Workflow Execution

Each built-in workflow has a concrete POST endpoint, for example POST /v1/workflow/ngc/backup. Examples:

EndpointDescription
/backupExecute BackupWorkflow
/batch_deployExecute BatchDeployWorkflow
/connected_host_metadataExecute ConnectedHostMetadataWorkflow
/cumulus_hardware_validationExecute ValidateHardwareWorkflow
/deployExecute DeployWorkflow
/device_cable_validationExecute DeviceCableValidationWorkflow
/device_password_rotationExecute DevicePasswordRotationWorkflow
/infiniband_cable_validationExecute InfinibandCableValidationWorkflow
/infiniband_get_unhealthy_portsExecute InfinibandGetUnhealthyPortsWorkflow
/infiniband_mlnx_os_upgradeExecute InfinibandMlnxOSUpgradeWorkflow
/multi_deployExecute MultiDeployWorkflow
/nvlinkswitch_firmware_upgradeExecute NVLinkSwitchFirmwareUpgradeWorkflow
/port_lldp_infoExecute PortLLDPInfoWorkflow
/redfish_provisioningExecute RedfishProvisioningWorkflow
/reprovisionExecute ReprovisionWorkflow
/site_cable_validationExecute SiteCableValidationWorkflow
/site_password_rotationExecute SitePasswordRotationWorkflow
/switch_os_upgradeExecute SwitchOSUpgradeWorkflow
/tenant-deployExecute TenantDeployWorkflow
/vpc-tenant-changeExecute VpcTenantChangeWorkflow
/vpc_assignmentExecute VpcAssignmentWorkflow
/vpc_creationExecute VpcCreationWorkflow
/vpc_deletionExecute VpcDeletionWorkflow

Workflow CLI Commands

Execute connected host metadata workflow:

$uv run workflow-cli connected-host-metadata \
> -H config-manager.example.com \
> --device-name rno1-m04-c10-spine1-hss-tan-lab1 \
> --verbose

Validate hardware components:

$uv run workflow-cli validate-hardware \
> -H config-manager.example.com \
> --site datacenter01 \
> --tenant tenant01 \
> --roles leaf-switch,spine-switch \
> --status active \
> --raise-for-invalid true