11.22. 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.

11.22.1. Actions

11.22.1.1. Applying an Application

11.22.1.2. Building an Application

11.22.1.3. Modifying Discovery Classifier

11.22.1.4. Adding Tasks to a Workflow

11.22.1.5. Configuring Callbacks

11.22.1.6. Using Validations

11.22.2. 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.

11.22.2.1. 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.

The default stages for discover are:

  • discover
  • 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

11.22.2.2. 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 universal_classify and Build Baseline.

11.22.2.3. 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.

11.22.2.4. ESXi Kickstart, Install, Config

Installs ESXi through multiple steps.

11.22.2.5. Solidfire RTFI

Handles updating and setting up SolidFire systems through RTFI process

11.22.2.6. 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.

11.22.2.7. 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).

11.22.2.8. Image Deploy

Image Deploy - Handles deploying an image-based system

11.22.2.9. 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

11.23. CloudInit Post Install

Missing

This pipeline is used to bootstrap Digital Rebar Servers.

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

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

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

Stress testing for system verification and validation before production deployment.

Decomission is used to clear, wipe and otherwise reset machines that are being removed from service.

Redrives the system through the process as a reset operation.

Handles decommissioning hardware by removing data from systems and cleans them up for reuse or disposal.

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

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

SledgehammerWait - End state for waiting or debugging