Skip to content

Universal Workflow Operations

This section will address usage of the Universal Workflow system. The architecture and implementation of the Universal Workflow system is described at Universal Workflow Architecture.

Actions

The universal workflow system is assembled from several content packs. The actions below describe how to adapt the provided workflows to your environment; each links to the content pack that implements it.

Applying an Application

Universal application profiles select and configure the operating system and post-install automation applied to a machine. Assign the appropriate universal-application-* profile to a machine (or have a classification rule assign it) to apply it. See the Universal Workflow content pack.

Building an Application

To provision a workload the provided profiles do not cover, build a new universal application profile (and, if required, a matching boot environment) following the content pack conventions. See the Universal Workflow content pack.

Modifying Discovery Classifier

Classification runs during discovery to assign profiles and workflows based on what a machine reports about itself. Adjust the classifier rules to drive additional workflows. See the Classify content pack.

Adding Tasks to a Workflow

FlexiFlow injects additional stages or tasks into a universal workflow at defined points, without editing the workflow itself. See the FlexiFlow content pack.

Configuring Callbacks

Callbacks invoke external REST services at points in a workflow, for example to integrate with IPAM, CMDB, or notification systems. See the Callback content pack.

Using Validations

Validation tasks assert that a machine meets required conditions before a workflow proceeds, and can halt or remediate on failure. See the Validation content pack.

Provided Workflows

The following workflows are the default set of universal workflows. Using these are starting points that do most default operations needed to operate a data center.

Each workflow defines what it requires on start and set on completion. These actions allow for the workflows to work together. For example, Discover should set the needed parameters for driving Hardware and the networking in the other workflows. These are the elements defined by the universal parts of these components.

Universal depends upon:

  • Digital Rebar Community Content Pack
  • Task Library Content Pack
  • FlexiFlow Content Pack
  • Validation Content Pack
  • Callback Plugin
  • Classification Content Pack

Core Universal Workflows are detailed below.

Discover

This workflow handles discovery a machine and inventories the machine. It also will validate the basic initial pieces. The final piece is classification to drive additional workflows if needed.

NOTE: Discover assumes that it is running in sledgehammer.

The default stages for discover are:

  • discover
  • inventory-minimal
  • centos-setup-repos
  • ipmi-inventory
  • bios-inventory
  • raid-inventory
  • network-lldp
  • inventory

A common set of post discover flexiflow tasks would be

  • rack-discover
  • universal-classify
  • universal-host-crt-callback

Start

This workflow handles starting a virtual machine or context that does not need a full bare metal discovery ( see Discover). It also will validate the basic initial pieces. The final piece is classification to drive additional workflows if needed.

NOTE: Unlike Discover, Start does not assume that is running in sledgehammer.

The default stages for start are:

  • start
  • drp-agent
  • inventory-minimal
  • cloud-inventory
  • network-lldp
  • inventory

Hardware IPMI, Flash, RAID and BIOS Configure

This workflow is used to configure hardware and burnin that state. It is also the place where BMC certificates are loaded.

The workflow assumes that the parameters of configuration have been set. See Modifying Discovery Classifier and Build Baseline.

Build Baseline

This workflow is used outside of a universal workflow to snapshot the hardware state of a machine and builds profiles named such they work with the universal-classify stage/task.

ESXi Kickstart, Install, Config

Installs ESXi through multiple steps.

Solidfire RTFI

Handles updating and setting up SolidFire systems through RTFI process

Linux Install

Handles installing a linux operating system via network boot (kickstart or preseed).

Alternative Provisioning process in which disk images are written directly to media instead of being installed via kickstart or preseed.

Linux Join

Runs standard install processes on Linux systems that are being added to Digital Rebar but where installed by another system (like a Cloud).

Image Deploy

Image Deploy - Handles deploying an image-based system

Image Capture

This is not a universal workflow in itself. By altering the linux-install workflow with the following tasks.... this goes in the linux post install pre reboot.

  • image-reset-package-repos
  • image-update-packages
  • image-install-cloud-init
  • image-builder-cleanup
  • image-capture

Digital Rebar Bootstrap

This pipeline is used to bootstrap Digital Rebar Servers.

Runbook Processing

Provides configuration management operations (e.g.: Ansible, Chef, Puppet, Salt) for installed machines.

Cluster Provision

Uses Cluster Managers (v4.8+) to manage clusters of machines.

Resource Broker Provision

Uses Resource Brokers (v4.8+) to provision and decommission cloud and virtual infrastructure.

Burnin

Stress testing for system verification and validation before production deployment.

Rebuild

Redrives the system through the process as a reset operation.

Decommission

Decommission clears, wipes, and otherwise resets machines being removed from service, removing data from systems and cleaning them up for reuse or disposal.

Maintenance

Sets the system to go into non-destructive Hardware and returns to LocalIdle

Local

Starts the existing O/S installed on the system without image or network provisioning.

SledgehammerWait

SledgehammerWait - End state for waiting or debugging